Hallo,
kann mir jemand helfen?
Ich arbeite mit Zeichnungen die sehr viele Blöcke beinhalten.
Nun ist es oft notwendig diese Blöcke Aufzulösen. Dies mache ich immer mit dem Befehl Ursprung.
Da die Blöcke oft sehr verschachtelt sind bedeutet das sehr viel arbeit.
Ich habe den Befehl XXPLODE gefunden, der ist super man kann sogar die Anzahl der Ebenen bestimmen. Leider kann man diesen Befehl nur Global anwenden.
Nun würde ich mir zwei Sachen wünschen:
Wäre es möglich den Befehl auf eine Auswahl zu beschränken?
Kann man diesen Befehl so umbauen das alle dem Block untergeodrneten Blöcke aufgelöst werden und der oberste erhalten bleibt?
Leider kann ich kein Lisp, kann mir jemand einen neuen Befehl erstellen. Vielen Dank.
Hier der Befehl:
(defun C:XXPLODE (/ INDEX ONAME SGET WIE-OFT)
(setq SGET (ssget "X" (list (cons 0 "INSERT")))) ;_ end setq
(if (not SGET)
(princ
"\nKeine Blöcke in Zeichnung vorhanden, Funktionsende."
) ;_ end of princ
(progn
(initget 7)
(setq WIE-OFT (getint "\nWieviele Ebenen explodieren?"))
(repeat WIE-OFT
(setq SGET (ssget "X" (list (cons 0 "INSERT")))
INDEX 0
) ;_ end setq
(if SGET
(progn
(while (< INDEX (sslength SGET))
(setq ONAME (ssname SGET INDEX)) ;_ end setq
(command "_.explode" ONAME)
(setq INDEX (1+ INDEX))
) ;_ end of while
) ;_ end of progn
) ;_ end of if
) ;_ end of repeat
) ;_ end of progn
) ;_ end of if
(princ)
)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP