| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: XRef - abgreifen (2328 mal gelesen)
|
steppe2000 Mitglied
Beiträge: 108 Registriert: 03.04.2006 windows 7 64bit autodesk 2011 64bit office 2010 32bit ms-(sql) server 2008 R2
|
erstellt am: 04. Jan. 2011 13:59 <-- editieren / zitieren --> Unities abgeben:
hallo lisp'ler! ich habe mir eine Funktion gebastelt... (aus aus einigen andern Lisp zusammengetragen, daher schwimm ich auch einwenig..) Über: (setq sntlist_blkdef (tblnext "block" T)) und (if (member (cdr (assoc 70 entlist_blkdef)) '(4 12)) .... bzw. (if (member (cdr (assoc 70 entlist_blkdef)) '(36 44)) komme ich mit (cdr (assoc 1 entlist_blkdef)) und (cdr (assoc 2 entlist_blkdef)) auf den Namen und Pfad von XRefs... leider kann ich mit den Listen '(4 12) und '(36 44) nichts anfangen??? kann mir da jemand erklären.. und dann sollte ich die Auswahl dahingehend unterscheiden: gleaden/entfernt/nicht gefunden! wie kann ich das noch machen?? DANKE! steppe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 04. Jan. 2011 14:05 <-- editieren / zitieren --> Unities abgeben: Nur für steppe2000
|
steppe2000 Mitglied
Beiträge: 108 Registriert: 03.04.2006 windows 7 64bit autodesk 2011 64bit office 2010 32bit ms-(sql) server 2008 R2
|
erstellt am: 04. Jan. 2011 15:25 <-- editieren / zitieren --> Unities abgeben:
|
Sanru Mitglied
Beiträge: 24 Registriert: 23.07.2010
|
erstellt am: 04. Jan. 2011 15:42 <-- editieren / zitieren --> Unities abgeben: Nur für steppe2000
|
steppe2000 Mitglied
Beiträge: 108 Registriert: 03.04.2006 windows 7 64bit autodesk 2011 64bit office 2010 32bit ms-(sql) server 2008 R2
|
erstellt am: 04. Jan. 2011 16:29 <-- editieren / zitieren --> Unities abgeben:
|
Sanru Mitglied
Beiträge: 24 Registriert: 23.07.2010
|
erstellt am: 05. Jan. 2011 11:17 <-- editieren / zitieren --> Unities abgeben: Nur für steppe2000
|
steppe2000 Mitglied
Beiträge: 108 Registriert: 03.04.2006 windows 7 64bit autodesk 2011 64bit office 2010 32bit ms-(sql) server 2008 R2
|
erstellt am: 05. Jan. 2011 11:22 <-- editieren / zitieren --> Unities abgeben:
|
Sanru Mitglied
Beiträge: 24 Registriert: 23.07.2010
|
erstellt am: 05. Jan. 2011 11:28 <-- editieren / zitieren --> Unities abgeben: Nur für steppe2000
|
steppe2000 Mitglied
Beiträge: 108 Registriert: 03.04.2006 windows 7 64bit autodesk 2011 64bit office 2010 32bit ms-(sql) server 2008 R2
|
erstellt am: 05. Jan. 2011 11:42 <-- editieren / zitieren --> Unities abgeben:
nah ja... ein Block ist ja da... das steht ja wunderprächtig da aber im hintergrund kann halt die Datei, die das XRef darstellt nicht gefunden werden... weil z.b gelöscht/umbenannt/verschoben aber das Objekt als solches ist ja da? (zumindest auf der zeichenseite ob der ssget da einen unterschied macht weiss ich leider nicht ?! lasse mich aber gerne darüber aufklären)?! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 - 2014 Arcibem System: Windows 2000, XP, NO VISTA Internet-Startseite: http://www.archi.de
|
erstellt am: 05. Jan. 2011 12:14 <-- editieren / zitieren --> Unities abgeben: Nur für steppe2000
|
steppe2000 Mitglied
Beiträge: 108 Registriert: 03.04.2006 windows 7 64bit autodesk 2011 64bit office 2010 32bit ms-(sql) server 2008 R2
|
erstellt am: 05. Jan. 2011 12:21 <-- editieren / zitieren --> Unities abgeben:
das geht schon... ich will in Dateien ggf. falsche xrefpfade nachführen, so dass der user möglichst wenig Aufwand hat... Fall: 2 xrefs: eine ist z.b. entfernt, eine nicht gefunden (in beiden Fällen wird aber die dahinterliegende Datei auch nicht gefunden. damit liefert der findfile ein nil und der Status auch beide: nicht gefunden... jetzt kann ich zwar beide pfade wieder herstell .... ich kann das nur über (command "xref" "pfad"...) und das kommt einem Neuladen gleich... damit wird auch das entfernte Xref geladen... und das würde ich gerne vermeiden... ausse es kann mir jemand sagen wie ich in den korrigierten Pfad direkt reinschreiben kann? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 - 2014 Arcibem System: Windows 2000, XP, NO VISTA Internet-Startseite: http://www.archi.de
|
erstellt am: 05. Jan. 2011 12:29 <-- editieren / zitieren --> Unities abgeben: Nur für steppe2000
Wenn Du die Xref nur entfernst, die Datei aber weiterhin existiert, liefert FINDFILE den Dateinamen korrekt zurück. Hast Du schon mal mit ENTMOD versucht, die 70er [EDIT] bzw. 1er [/EDIT] Gruppe zu ändern? Grüsse, Henning ------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de
[Diese Nachricht wurde von wronzky am 05. Jan. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sanru Mitglied
Beiträge: 24 Registriert: 23.07.2010
|
erstellt am: 05. Jan. 2011 12:37 <-- editieren / zitieren --> Unities abgeben: Nur für steppe2000
Äh, irgendwie geht da was nicht also: Zitat: nah ja... ein Block ist ja da... das steht ja wunderprächtig da aber im hintergrund kann halt die Datei, die das XRef darstellt nicht gefunden werden
Das kann nicht da stehen wenn die XRef gelöscht wurde, nur wenn du dir mit tblnext das Element anguckst, spuckter dir tblnext die Daten aus die du mit "Block" meinst aber du musst jetzt zusätzlich mit ssget nach dem "INSERT" suchen in verbindung mit dem Namen deiner XRef. Du schaust mit tblnext wie in einen Produktkatalog ob dein gewünschtes Element drin steht.(XRef vohanden / XRef nicht vohanden) Willst du dieses Produkt haben rufst du beim Lieferanten an und fragst nach ob er es dir Liefern kann (ssget). Erst jetzt erfährst du 100% was los ist, es könnte ja sein : Produkt auf Lager (XRef in Zeichnung) oder Produkt nicht Lieferbar (XRef nicht in Zeichnung). Vielleicht wäre das ein Ansatz für Dich.
Code: (setq entlist_blkdef (tblnext "block" T) blkdef_name (assoc 2 entlist_blkdef) block_Flag (cdr (assoc 70 entlist_blkdef)) ) (if (= block_Flag 36) (if (ssget "X" (list (cons 0 "insert") blkdef_name)) (princ "\n Geladen") (princ "\n Enfernt") ) (if (= block_Flag 4) (princ "\n Nicht geladen") () ) )
Gruß Wolfgang [Diese Nachricht wurde von Sanru am 05. Jan. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 05. Jan. 2011 12:57 <-- editieren / zitieren --> Unities abgeben: Nur für steppe2000
|
steppe2000 Mitglied
Beiträge: 108 Registriert: 03.04.2006 windows 7 64bit autodesk 2011 64bit office 2010 32bit ms-(sql) server 2008 R2
|
erstellt am: 05. Jan. 2011 15:03 <-- editieren / zitieren --> Unities abgeben:
da wird ja geprüft ob die Referenz als Block glöscht wurde... es geht mir darum, den Status abzufragen... also das was man im xrefmanager so toll sieht! aber ich hab jetzt eine andere Idee: kann ich in dem Teil: (cdr (assoc 1 entlist_blkdef)) .... =>Pfad nicht einfach den neuen Pfad auf Auge drücken (ggf. davor mit findfile checken)? aber wie bring ich den Wert Pfadneu dort hinein?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
steppe2000 Mitglied
Beiträge: 108 Registriert: 03.04.2006 windows 7 64bit autodesk 2011 64bit office 2010 32bit ms-(sql) server 2008 R2
|
erstellt am: 05. Jan. 2011 15:04 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 05. Jan. 2011 15:12 <-- editieren / zitieren --> Unities abgeben: Nur für steppe2000
|
steppe2000 Mitglied
Beiträge: 108 Registriert: 03.04.2006 windows 7 64bit autodesk 2011 64bit office 2010 32bit ms-(sql) server 2008 R2
|
erstellt am: 05. Jan. 2011 15:17 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von CADmium: .. nee ... Programme sollten für den Zweck, für den sie geschrieben wurden, schon realtiv Fehlertolerant arbeiten ...
aber nur so lange sie nicht gegen definierten Standard verstoßen... und den lass ich eh viel zu breit treten... es gibt auch Grenzen und die wäre damit definitf überschritten... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
steppe2000 Mitglied
Beiträge: 108 Registriert: 03.04.2006 windows 7 64bit autodesk 2011 64bit office 2010 32bit ms-(sql) server 2008 R2
|
erstellt am: 05. Jan. 2011 17:23 <-- editieren / zitieren --> Unities abgeben:
Jetzt hab ich versucht mit meinen Mitteln (=geringes lispeln) den neuen Refnamen hineinzubekommen... die Funktion schein für mich fast logisch aber dat ding will nich so wie ich's will: (entmod (subst (cons 1 fPathn) (assoc 1 entlist_blkdef) entlist_blkdef)) ich bekomm das mit dem ENTMOD nicht gebacken... da kommt immer NIL??? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 05. Jan. 2011 17:51 <-- editieren / zitieren --> Unities abgeben: Nur für steppe2000
|
Sanru Mitglied
Beiträge: 24 Registriert: 23.07.2010
|
erstellt am: 05. Jan. 2011 17:57 <-- editieren / zitieren --> Unities abgeben: Nur für steppe2000
|
steppe2000 Mitglied
Beiträge: 108 Registriert: 03.04.2006 windows 7 64bit autodesk 2011 64bit office 2010 32bit ms-(sql) server 2008 R2
|
erstellt am: 05. Jan. 2011 18:12 <-- editieren / zitieren --> Unities abgeben:
Code:
(defun c:reflist () (setq alTxt "") (setq entlist_blkdef (tblnext "block" T)) (while entlist_blkdef (if (member (cdr (assoc 70 entlist_blkdef)) '(4 12 36 44)) (progn (setq fPath (cdr (assoc 1 entlist_blkdef))) (setq fPathn (strcat (substr fPath 1 (- (strlen fpath) 4)) "_.dwg")) (setq alTxt (strcat alTxt (chr 10) "70-" (itoa (cdr (assoc 70 entlist_blkdef))) (chr 09) bFlag (chr 09) "2-" (cdr (assoc 2 entlist_blkdef)) (chr 09) "1-" (cdr (assoc 1 entlist_blkdef)) ) ) (if (findfile (strcat (substr fPath 1 (- (strlen fpath) 4)) "_.dwg")) (entmod (subst (cons 1 fPathn) (assoc 1 entlist_blkdef) entlist_blkdef)) (princ (strcat "\n" (strcat (substr fPath 1 (- (strlen fpath) 4)) "_.dwg") " nicht gefunden\n")) ) );progn );if (setq entlist_blkdef (tblnext "block")) ) (alert alTxt) )
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sanru Mitglied
Beiträge: 24 Registriert: 23.07.2010
|
erstellt am: 06. Jan. 2011 09:04 <-- editieren / zitieren --> Unities abgeben: Nur für steppe2000
|
steppe2000 Mitglied
Beiträge: 108 Registriert: 03.04.2006 windows 7 64bit autodesk 2011 64bit office 2010 32bit ms-(sql) server 2008 R2
|
erstellt am: 06. Jan. 2011 16:42 <-- editieren / zitieren --> Unities abgeben:
wenn mein Vorhaben funktioniert hätte, dann hätte ich das schon mit Freuden hier gepostet.... aber leider weiss ich nicht wie das mit dem ENTMOD geht... in diesem Fall...?! das mit dem bFlag ist hier nicht tragisch... aber das andere würde ich schon gerne ändern... denn ich denke wenn ich den Pfad einfach änderen kann, dann kann mir der Status egal sein, der wird dann auf die weise wieder richtig erkannt?! Also ich bin um jede Hilfe froh!!! DANKE! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sanru Mitglied
Beiträge: 24 Registriert: 23.07.2010
|
erstellt am: 06. Jan. 2011 18:51 <-- editieren / zitieren --> Unities abgeben: Nur für steppe2000
Zitat: .. nee ... Programme sollten für den Zweck, für den sie geschrieben wurden, schon realtiv Fehlertolerant arbeiten ...
Zitat: tblnext "BLOCK" .. liefert IMHO keine Liste zum entmoden ... da brauchste (entget(tblobjname "BLOCK" BLOCKAME))
Mal probiert ? :) Warum denn nicht das altbewährte?
Code: (command "-xref" "p" XRefBlockname NeuerPfad)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
steppe2000 Mitglied
Beiträge: 108 Registriert: 03.04.2006 windows 7 64bit autodesk 2011 64bit office 2010 32bit ms-(sql) server 2008 R2
|
erstellt am: 06. Jan. 2011 19:38 <-- editieren / zitieren --> Unities abgeben:
das werd ich gleich mal probieren... dass das unterschiedliche Typen sind, hab ich mir schon irgendwie gedacht (wäre ja zu einfach gewesen!) das mit dem Command hab ich bis jetzt schon so drinne... das Problem ist nur, dass ich mit dem Befehl ein Reload verursache... damit weiss ich nicht mehr, ob das Xref wirklich notwendig war, also geladen oder vielleicht nur als Kontrolle darin war und eigentlich ausgeblendet "also Status entfernt" hatte. Über das ENTMOD erhoffe ich mir, nur den einen Wert zu ändern, aber nich den Zustand/Status...?! Mal Sehen... ich halte euch auf dem Laufenden! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
steppe2000 Mitglied
Beiträge: 108 Registriert: 03.04.2006 windows 7 64bit autodesk 2011 64bit office 2010 32bit ms-(sql) server 2008 R2
|
erstellt am: 06. Jan. 2011 20:37 <-- editieren / zitieren --> Unities abgeben:
jetzt wäre ich eigentlich überzegt gewesen richtig zu kochen... aber leider Code:
(defun c:xrlist () (setq entlist_blkdef (tblnext "block" T)) (while entlist_blkdef (if (member (cdr (assoc 70 entlist_blkdef)) '(4 12 36 44)) (progn (setq xrname (cdr (assoc 2 entlist_blkdef)) xrpfad (cdr (assoc 1 entlist_blkdef)) xrelm (entget (tblobjname "BLOCK" xrname)) ) (setq xrpfadn (strcat (substr xrpfad 1 (- (strlen xrpfad) 4)) "_.dwg")) (if (findfile xrpfadn) (progn (setq xrelm (subst (cons 1 xrpfadn) (assoc 1 xrelm) xrelm)) (if (entmod xrelm) (princ (strcat "\nDatei <" xrname "> ersetzt.\n")) (princ (strcat "\nDatei <" xrname "> konnte nicht ersetzt werden!\n")) ) ) () ) ) () ) (setq entlist_blkdef (tblnext "block")) ) )
Aber leider ist mit dem Ersetzen nicht viel?! Eine IDEE? oder zwei? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sanru Mitglied
Beiträge: 24 Registriert: 23.07.2010
|
erstellt am: 07. Jan. 2011 14:32 <-- editieren / zitieren --> Unities abgeben: Nur für steppe2000
Eine Idee, JA ! 1. Mit dem entmoden solltest du dich vielleicht an CADmium wenden der dir den Ratschlag gegeben hat. 2. Ich hätte es so gelöst. Code: (vla-put-path (vlax-ename->vla-object(cdr(assoc 330 xrelm))) xrpfadn )
Nur denke daran der Externe Referenz Manager wird dir die Änderungen des Pfades erst nach dem neuladen der XRefs anzeigen.3. Hier noch damit das ganze was ich angefangen habe auch mit Blocks funktioniert in denen sich eine XRef befindet. Code: (setq Entfernt nil entlist_blkdef (tblnext "block" T) blkdef_name (assoc 2 entlist_blkdef) block_Flag (cdr (assoc 70 entlist_blkdef)) ) (if (= block_Flag 36) (progn (setq t1 (entget (cdr (assoc 330 (entget (tblobjname "block" (cdr blkdef_name))))))) (while (setq T1 (member (assoc 331 t1) t1)) (if (entget (cdr (car T1))) (setq T1 (cdr T1)) (setq T1 (cdr T1) Entfernt "Entfernt") ) ) (if Entfernt (princ "\n Enfernt") (princ "\n Geladen") ) ) (if (= block_Flag 4) (princ "\n Nicht geladen") () ) )
Bedenke das alles ohne Sicherheitsabfragen hier geschierben wurde und nur ansätze sind. Gruß WolfgangEine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
steppe2000 Mitglied
Beiträge: 108 Registriert: 03.04.2006 windows 7 64bit autodesk 2011 64bit office 2010 32bit ms-(sql) server 2008 R2
|
erstellt am: 07. Jan. 2011 16:06 <-- editieren / zitieren --> Unities abgeben:
hallo Wolfgang, ich werd das gleich mal probieren... in der Zwischenzeit hab ich mit mit den restlichen Ref-Typen (Immage,DWF und PDF) gespielt das hab ich dann zusammen gebracht.
Code:
Siehe Dateianhang
Die Sprotliche Lispler unter euch können das bestimmt viel besser und eleganter... aber mir reichts... aber Frage: kann man den die SSGET Abfrge der 3 Typen in eine Auswahl zusammenfahren, sodass ich eigentlich die erste Funktion "c:irefakt" nicht brauche?!lg Steppe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 - 2014 Arcibem System: Windows 2000, XP, NO VISTA Internet-Startseite: http://www.archi.de
|
erstellt am: 07. Jan. 2011 16:27 <-- editieren / zitieren --> Unities abgeben: Nur für steppe2000
|
Sanru Mitglied
Beiträge: 24 Registriert: 23.07.2010
|
erstellt am: 07. Jan. 2011 16:36 <-- editieren / zitieren --> Unities abgeben: Nur für steppe2000
Ja genau wie Henning beschrieben hat (ssget "x" '((0 . "IMAGE,PDFUNDERLAY,DWFUNDERLAY"))) Code: (defun reflist () (setq sset_iRefs (ssget "x" '((0 . "IMAGE")))) (setq sset_iRefs (ssget "x" '((0 . "PDFUNDERLAY")))) (setq sset_iRefs (ssget "x" '((0 . "DWFUNDERLAY"))))
denn bei soetwas überschreibst du immer jede var ansonsten wenn du das so benötigst musst du mit (ssadd) arbeiten um die auswahsätze zusammen zuführen. GrußEine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
steppe2000 Mitglied
Beiträge: 108 Registriert: 03.04.2006 windows 7 64bit autodesk 2011 64bit office 2010 32bit ms-(sql) server 2008 R2
|
erstellt am: 07. Jan. 2011 16:40 <-- editieren / zitieren --> Unities abgeben:
das mit SSADD habe ich versucht... aber leider ohne erfolg...? Aus meien Unterlagen heraus hätte ich gesagt... damit dann ich nur Entyties an eine Auswahl anhängen, aber nicht eine Auswahl an eine Auswahl?! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sanru Mitglied
Beiträge: 24 Registriert: 23.07.2010
|
erstellt am: 07. Jan. 2011 17:10 <-- editieren / zitieren --> Unities abgeben: Nur für steppe2000
|
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 - 2014 Arcibem System: Windows 2000, XP, NO VISTA Internet-Startseite: http://www.archi.de
|
erstellt am: 07. Jan. 2011 17:18 <-- editieren / zitieren --> Unities abgeben: Nur für steppe2000
|
Sanru Mitglied
Beiträge: 24 Registriert: 23.07.2010
|
erstellt am: 07. Jan. 2011 17:56 <-- editieren / zitieren --> Unities abgeben: Nur für steppe2000
Genau super einfach mit der such von Henning. Code: (while (> n 0) (setq n (1- n) ss3 (ssadd (ssname ss2 n) ss3) ) )
und was haltet ihr von dem ? mir gerade so eingefallen was ohne counter :)
Code: (while (ssname sset_iRefs 0) (ssadd (ssname sset_iRefs 0) ss_Refs) (ssdel (ssname sset_iRefs 0) sset_iRefs) )
wird aber wohl eher keine anwendung finden.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 - 2014 Arcibem System: Windows 2000, XP, NO VISTA Internet-Startseite: http://www.archi.de
|
erstellt am: 07. Jan. 2011 18:27 <-- editieren / zitieren --> Unities abgeben: Nur für steppe2000
und noch eine kurze Ergänzung zu ssadd: ssadd fügt einen Auswahlsatz Objekte hinzu. Eine erneute Zuweisung ist nicht nötig, ebenso kein "3." Auswahlsatz. Um also die Elemente von ss2 dem Auswahlsatz ss1 hinzuzufügen reicht folgendes: (setq z -1) (repeat (sslength ss2) (ssadd (ssname ss2 (setq z (1+ z))) ss1)) Grüsse, Henning ------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
steppe2000 Mitglied
Beiträge: 108 Registriert: 03.04.2006 windows 7 64bit autodesk 2011 64bit office 2010 32bit ms-(sql) server 2008 R2
|
erstellt am: 08. Jan. 2011 10:19 <-- editieren / zitieren --> Unities abgeben:
@ henning: da mit: Code:
Code: (vla-put-path (vlax-ename->vla-object(cdr(assoc 330 xrelm))) xrpfadn )
hat super funktioniert... vielleicht nicht elegant, aber zz. ausreichend! NACHTRAG: dass zusammenfassen der Auswahl:
Code:
(setq sset_iRefs (ssget "x" '((0 . "IMAGE,PDFUNDERLAY,DWFUNDERLAY"))))
Ist hier in meinem Fall nicht Zielführend, da ich es gruppenweise machen muss, sonst komm ich immer nur auf die Dictionary-Liste des ersten Element-Typen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |