| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY bietet das umfangreichste Ökosystem von B2B als auch B2C-Lösungen für IT-Akteure auf dem Markt, eine Pressemitteilung
|
Autor
|
Thema: Elemnte auf neuen Layer kopieren und unter die alten legen (1484 mal gelesen)
|
tomturbos Mitglied architektur
Beiträge: 149 Registriert: 28.03.2003
|
erstellt am: 28. Aug. 2004 09:25 <-- editieren / zitieren --> Unities abgeben:
Morgen, Hätte da ein kleines Problem: ich möchte mit einem kleinen Lisp alle Elemente des Layers M_A29Abbr auf den Layer L_gelb kopieren und in der Anzeigenreihenfolge unter M_A29Abbr legen. Der Layer L_gelb soll automatisch angelegt werden. Sollte es den Layer L_gelb in der Zeichnung schon geben sollen alle daraufliegenden Elemente mit vorheriger j/n-Abfrage gelöscht werden. Da mein Lisp wissen leider sehr beschränkt ist hoffe ich da auf eure kompetente Hilfe! THX tom Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 28. Aug. 2004 16:35 <-- editieren / zitieren --> Unities abgeben: Nur für tomturbos
Hallo Tom, sind die Elemente des Layers A nicht in irgendwelchen Blöcken verschachtelt, dann kannst du mit (setq aws(ssget "_X" '((8 . "A")))) die Elemente in einem Auswahlsatz zusammen fassen. Layer B erzeugen: (command "_.-layer" "_M" "B" "") Diesen Auswahlsatz kannst du nun für den Kopierbefehl benutzen. (command "_.copy" aws "" '(0.0 0.0) '(0.0 0.0)) mit (command "_.CHPROP" aws "" "_LA" "B" "") kannst du die zuvor kopierten Elemente auf den Layer B packen. Bei Fragen ... Grüße Holger PS: Klammern etc musst du prüfen, habe das hier nur so 'aus dem Bauch' geschrieben.
------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man's hat! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tomturbos Mitglied architektur
Beiträge: 149 Registriert: 28.03.2003
|
erstellt am: 28. Aug. 2004 16:55 <-- editieren / zitieren --> Unities abgeben:
|
double_m Mitglied
Beiträge: 7 Registriert: 12.08.2005
|
erstellt am: 29. Aug. 2005 11:53 <-- editieren / zitieren --> Unities abgeben: Nur für tomturbos
Hallo, Habe ein ähnliches Problem, nur bräuchte ich eine Lisp Programm, dass mir ausgewählte Elemente auf einen anderen Layer kopiert. Desshalb habe ich folgendes gemacht: (setq auswahl (ssget)) (command "_copy" auswahl "" p1 p2) Damit wird auswahl aber auf den gleichen Layer kopiert, desshalb mache ich dann noch: (command "_.chprop" auswahl "" "_LA" "NeuerLayer" "") Dabei wird allerdings das originale Element auf den Neuen Layer kopiert und nicht, wie ich es bräuchte, die Kopie. Desshalb meine Frage: Was muss ich machen, dass es so wird wie ich es möchte? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 29. Aug. 2005 11:57 <-- editieren / zitieren --> Unities abgeben: Nur für tomturbos
|
double_m Mitglied
Beiträge: 7 Registriert: 12.08.2005
|
erstellt am: 29. Aug. 2005 12:07 <-- editieren / zitieren --> Unities abgeben: Nur für tomturbos
|
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 30. Aug. 2005 09:52 <-- editieren / zitieren --> Unities abgeben: Nur für tomturbos
@Double Wir sind zwar im Selbstbastelforum, aber es kann ja nicht schaden zu erwähnen, falls es dem einen oder anderen nicht bekannt ist, auf 2 Funktionen der ExpressTools hinzuweisen: laymch & laycur sollte man sich diesbezüglich mal ansehen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |