| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Auflösen von Blöcken (1755 mal gelesen)
|
Detlef Wischmann Mitglied Vermessungstechniker
Beiträge: 95 Registriert: 15.02.2003
|
erstellt am: 16. Sep. 2004 17:40 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, ich verzweifle mal wieder an meinen minimalen Lisp-Kenntnissen. Ich möchte gerne einen bestimmten Block in meiner Zeichnung per Lisp-Programm auflösen. Den Block gibt es mehrfach in der Zeichnung. Ich habe schon mal angefangen: (setq auswahl (ssget "X" (list (cons 2 "tuer")))) (command "_explode" auswahl "") Bei anderen auswahlen ausser Blöcken klappt es eigentlich. Was habe ich hier vergessen? Viele Grüße Detlef Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9732 Registriert: 01.12.2003 One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11
|
erstellt am: 16. Sep. 2004 18:42 <-- editieren / zitieren --> Unities abgeben: Nur für Detlef Wischmann
Zitat: Original erstellt von Detlef Wischmann: Hallo Leute,ich verzweifle mal wieder an meinen minimalen Lisp-Kenntnissen. Ich möchte gerne einen bestimmten Block in meiner Zeichnung per Lisp-Programm auflösen. Den Block gibt es mehrfach in der Zeichnung. Ich habe schon mal angefangen: (setq auswahl (ssget "X" (list (cons 2 "tuer")))) (command "_explode" auswahl "") Bei anderen auswahlen ausser Blöcken klappt es eigentlich. Was habe ich hier vergessen? Viele Grüße Detlef
Ich würde noch den Objekttyp angeben: Code:
(setq auswahl (ssget "X" (list (cons 0 "INSERT") (cons 2 "tuer")))) (command "_explode" auswahl "")
Mit freundlichem Gruß Udo Hübner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 16. Sep. 2004 21:16 <-- editieren / zitieren --> Unities abgeben: Nur für Detlef Wischmann
Probier mal die Übergabe von Einzelobjekten an (command "_explode" .. (setq auswahl (ssget "X" (list (cons 0 "INSERT")(cons 2 "tuer")))) (repeat(sslength AUSWAHL) (command "_explode" (setq OBJ(ssname AUSWAHL 0)) "") (ssdel OBJ AUSWAHL) )
------------------ - Thomas - Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Detlef Wischmann Mitglied Vermessungstechniker
Beiträge: 95 Registriert: 15.02.2003
|
erstellt am: 17. Sep. 2004 07:45 <-- editieren / zitieren --> Unities abgeben:
Super Vielen Dank ihr beide. Bei Udo´s Vorschlag nahm sich das Programm wirklich nur immer ein Block aus der Liste vor, Thomas ergänzung führte dann zum Erfolg. Vielen Dank an Euch beide. Detlef Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 20. Sep. 2004 12:31 <-- editieren / zitieren --> Unities abgeben: Nur für Detlef Wischmann
des Rätsels Lösung: im Gegensatz zum Autocadbefehl über die Kommandozeile/Menü akzeptiert der Befehl URSPRUNG in Lispprogrammen, bzw Scripten immer nur EIN einziges Objekt und keinen Auswahlsatz. -> man muss über einen Auswahlsatz eine Schleife proggen, und die Elemente einzeln dem Urpsrung-Befehl zuführen. Warum die Autodeskler das so implemeniert haben - keine Ahnung ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 20. Sep. 2004 20:33 <-- editieren / zitieren --> Unities abgeben: Nur für Detlef Wischmann
|