| |
| 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: Abdeckungen entfernen (6976 mal gelesen)
|
MarcoSVB Mitglied Elektroplaner
Beiträge: 14 Registriert: 14.10.2010 AutoCAD2011
|
erstellt am: 25. Nov. 2010 09:48 <-- editieren / zitieren --> Unities abgeben:
So nun noch ein Mal am richtigen Ort... Hallo zusammen, Habe ein etwas nerviges Problem. Ich arbeite mit einem Architekten zusammen, der Vektorworks nutzt. Wenn er Pläne als DWG abspeichert hat es desöfteren Abdeckungen drinnen, die mein Gezeichnetes verdecken. Gibt es ein Script mit dem ich sämtliche Abdeckungen in einem Plan entfernen kann? (auch die in Blöcken oder in Blöcken, welche wiederum in Blöcken stecken). Google war dieses mal nicht mein Freund und Helfer ;-) Danke und Gruss Marco
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kramer24 Ehrenmitglied V.I.P. h.c. Architekt
Beiträge: 5896 Registriert: 09.11.2001 Acad Architecture 2023 WIN 10
|
erstellt am: 25. Nov. 2010 10:13 <-- editieren / zitieren --> Unities abgeben: Nur für MarcoSVB
|
MarcoSVB Mitglied Elektroplaner
Beiträge: 14 Registriert: 14.10.2010 AutoCAD2011
|
erstellt am: 25. Nov. 2010 10:24 <-- editieren / zitieren --> Unities abgeben:
Hallo, erst ein Mal danke. Leider ist mein Englisch da etwas begrenzt. Verstehe nur die Hälfte vom geschriebenen... aber hab mal das Script aus probiert: (defun C:FILLET-ALLPL(/ AWS I OBJ) (if(and(setq AWS(ssget '((0 . "*POLYLINE")))) (setq R(getreal "\nRundungsradius: ")) ) (progn (setvar "FILLETRAD" R) (setq I -1) (repeat (sslength AWS) (setq OBJ(ssname AWS(setq i (1+ I)))) (command "_fillet" "_p" OBJ) (while (/= 0 (getvar "CMDACTIVE"))(command)) ) ) ) (princ) ) wenn ich jetzt deleteblockwipeouts eingebe kommt: Befehl: deleteBlockWipeouts ; Fehler: no function definition: VLAX-GET-ACAD-OBJECT
Was mach ich falsch?
PS: ja in Vektorworks kann man das ändern, aber für 1, 2 Pläne ist es leider zu spät. Aufwand den kompletten Grundriss neu anzupassen und einzufügen ist grösser als die Abdeckungen entfernen. Gerade, wenn ich eine schlaue Routine dafür finde/bekomme :-)
[Diese Nachricht wurde von MarcoSVB am 25. Nov. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8086 Registriert: 09.03.2006 Kinder, kauft Kämme! Es kommen lausige Zeiten.
|
erstellt am: 25. Nov. 2010 10:26 <-- editieren / zitieren --> Unities abgeben: Nur für MarcoSVB
|
Kramer24 Ehrenmitglied V.I.P. h.c. Architekt
Beiträge: 5896 Registriert: 09.11.2001 Acad Architecture 2023 WIN 10
|
erstellt am: 25. Nov. 2010 10:31 <-- editieren / zitieren --> Unities abgeben: Nur für MarcoSVB
Marco, ich verstehe gar nichts. Wo kommt der Code her? Lispcode von meinem Link:
Code: ;; 10/3/2005 Delete raster wipeouts in block definitions. (defun c:DeleteBlockWipeouts ( / cnt blocks flag) (setq cnt 0) (setq blocks (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object)))) (vlax-for x blocks (if (and (not (wcmatch (strcase (vlax-get x 'Name)) "*MODEL*,*PAPER*,*|*")) (= :vlax-false (vla-get-IsXRef x)) ) (vlax-for item x (if (= "AcDbWipeout" (vlax-get item 'ObjectName)) (if (not (vl-catch-all-error-p (vl-catch-all-apply 'vla-delete (list item)))) (setq cnt (1+ cnt)) (setq flag T) ) ) ) ) ) (princ (strcat "\nNumber of wipeouts deleted: " (itoa cnt))) (if flag (princ "\nSome items could not be deleted. Check for locked layers. ") ) (princ) ) ;end
Getestet mit ADT2004. Lothar Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MarcoSVB Mitglied Elektroplaner
Beiträge: 14 Registriert: 14.10.2010 AutoCAD2011
|
erstellt am: 25. Nov. 2010 10:42 <-- editieren / zitieren --> Unities abgeben:
@runkelruebe, sorry versteh ich nicht. Was muss ich wo eingeben? ">" und enter bringt nur eine Fehlermeldung @Kramer, hab das LSP aus dem Forum kopiert. Aber gut, danke dir. Jedoch auch mit dem Code von dir kommt: Befehl: deleteblockwipeouts ; Fehler: no function definition: VLAX-GET-ACAD-OBJECT Befehl:
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8086 Registriert: 09.03.2006 Kinder, kauft Kämme! Es kommen lausige Zeiten.
|
erstellt am: 25. Nov. 2010 10:44 <-- editieren / zitieren --> Unities abgeben: Nur für MarcoSVB
|
MarcoSVB Mitglied Elektroplaner
Beiträge: 14 Registriert: 14.10.2010 AutoCAD2011
|
erstellt am: 25. Nov. 2010 10:47 <-- editieren / zitieren --> Unities abgeben:
|
MarcoSVB Mitglied Elektroplaner
Beiträge: 14 Registriert: 14.10.2010 AutoCAD2011
|
erstellt am: 25. Nov. 2010 13:01 <-- editieren / zitieren --> Unities abgeben:
Ein kleiner Nachtrag. Das mit in den Blöcken entfernen funktioniert prima. Habt mir viel arbeit abgenommen, Danke dafür noch ein Mal! Gibts es nun die Möglichkeit, dass er auch die "Wipeouts" entfernt, die nicht in einem Block, sondern direkt im Plan sind? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8086 Registriert: 09.03.2006 Kinder, kauft Kämme! Es kommen lausige Zeiten.
|
erstellt am: 25. Nov. 2010 13:12 <-- editieren / zitieren --> Unities abgeben: Nur für MarcoSVB
|
MarcoSVB Mitglied Elektroplaner
Beiträge: 14 Registriert: 14.10.2010 AutoCAD2011
|
erstellt am: 25. Nov. 2010 13:26 <-- editieren / zitieren --> Unities abgeben:
|
Ex-Mitglied
|
erstellt am: 25. Nov. 2010 13:29 <-- editieren / zitieren -->
Hi, wenn Du diese Zeile aus dem vorigen LISP siehst:
Code: (not (wcmatch (strcase (vlax-get x 'Name)) "*MODEL*,*PAPER*,*|*"))
und das '*MODEL*' rausnimmst, das folgende damit verbleibt:
Code: (not (wcmatch (strcase (vlax-get x 'Name)) "*PAPER*,*|*"))
Dann sollte das doch auch damit funken. Nehm ich mal an. - alfred - ------------------ www.hollaus.at |
MarcoSVB Mitglied Elektroplaner
Beiträge: 14 Registriert: 14.10.2010 AutoCAD2011
|
erstellt am: 25. Nov. 2010 15:04 <-- editieren / zitieren --> Unities abgeben:
|