« zurück zur Hauptseite...

explode alle


Autor: Claus Tuschick (2004-06-07 21:57:52)

Hallo,
bitte wieder mal Eure Hilfe: AutoCAD2000
ich möchte, daß am Ende einer LISP-Routine alle Elemente der Zeichnung
in den Ursprung zerlegt werden.
mit
(command " explode" "alle")
klappt das aber nicht.
Wie muß es richtig heißen?

Danke!
Claus T.

Autor: thm@krypta.org (Thorsten Meinecke) (2004-06-07 21:05:46)

Claus Tuschick schrieb:
>mit
>(command " explode" "alle")
>klappt das aber nicht.

Du, du, du! Sowas macht man aber nur im
absoluten Notfall, und dann braucht man
kein Lisp dafür...

Dessenungeachtet: Mit der Auswahlmethode "alle"
meinst du wahrscheinlich nur die im aktiven
Layout verhandenen komplexen Objekte. Dann
kannst du mit Visual Lisp (oder VBA) durch
diesen Teil der Objektdatenbank iterieren
und auf jedes komplexe Objekt (Blockreferenzen,
Polylinien...) die Methode Explode anwenden.

ACHTUNG! BENUTZUNG AUF EIGENE GEFAHR!

(vlax-for obj (vla-get-ModelSpace
(vla-get-ActiveDocument (vlax-get-acad-object))
)
(VL-CATCH-ALL-APPLY vla-Explode (LIST obj))
)

Gruß,
--Thorsten

Autor: thm@krypta.org (Thorsten Meinecke) (2004-06-07 21:05:46)


Autor: thm@krypta.org (Thorsten Meinecke) (2004-06-07 21:05:46)

Claus Tuschick schrieb:
>mit
>(command " explode" "alle")
>klappt das aber nicht.

Du, du, du! Sowas macht man aber nur im
absoluten Notfall, und dann braucht man
kein Lisp dafür...

Dessenungeachtet: Mit der Auswahlmethode "alle"
meinst du wahrscheinlich nur die im aktiven
Layout verhandenen komplexen Objekte. Dann
kannst du mit Visual Lisp (oder VBA) durch
diesen Teil der Objektdatenbank iterieren
und auf jedes komplexe Objekt (Blockreferenzen,
Polylinien...) die Methode Explode anwenden.

ACHTUNG! BENUTZUNG AUF EIGENE GEFAHR!

(vlax-for obj (vla-get-ModelSpace
(vla-get-ActiveDocument (vlax-get-acad-object))
)
(VL-CATCH-ALL-APPLY vla-Explode (LIST obj))
)

Gruß,
--Thorsten

Autor: F-Plan (2004-06-08 11:18:12)

Thorsten Meinecke schrieb:

> Du, du, du! Sowas macht man aber nur im
> absoluten Notfall, und dann braucht man
> kein Lisp dafür...
>

erstmal danke für die schnelle Antwort.

Noch eine Erklärung: Es handelt sich um eine DWG, die ausschließlich
verschachtelte Blöcke enthält, die in die Ursprungsblöcke zerlegt werden
müssen.

Zu Fuß geht das natürlich mit ursprung>alle wie gewollt.

Da aber vorher eine Lisp-Routine läuft, wollte ich diese Befehlsfolge
eben dort gleich mit erledigen lassen und kriege es nicht hin.

Gruß Claus T.

Autor: Claus Tuschick (2004-06-08 11:24:24)

Thorsten Meinecke schrieb:

> Du, du, du! Sowas macht man aber nur im
> absoluten Notfall, und dann braucht man
> kein Lisp dafür...

erstmal danke für die schnelle Antwort.

Noch zur Erklärung: Es handelt sich um eine DWG, die ausschließlich
verschachtelte Blöcke enthält, die in die Ursprungsblöcke zerlegt werden
müssen.
Zu Fuß geht das natürlich mit ursprung > alle wie gewünscht.

Da aber vorher eine LISP-Routine läuft, wollte ich diese Befehlsfolge
als letztes darin gleich mit ablaufen lassen und kriege es nicht hin.

Gruß Claus T.

ähnliche Themen