| |
| 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: Block auflösen im script (196 mal gelesen)
|
BBecker Mitglied
Beiträge: 133 Registriert: 05.06.2002 Windows 7, Acad 2012 MEP
|
erstellt am: 12. Sep. 2006 15:57 <-- editieren / zitieren --> Unities abgeben:
Hallo, leider kann ich nicht lispeln. Daher meine Frage, ob es möglich ist einen benannten Block in der Zeichnung aufzulösen (keine Benutzereingabe) und das in einem Script einzubauen? Das Script läuft dann weiter und setzt alle Linientypfaktoren auf 1,0. Das geht nur, wenn der Block aufgelöst ist. Gruß Beate Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BBecker Mitglied
Beiträge: 133 Registriert: 05.06.2002 Windows 7, Acad 2012 MEP
|
erstellt am: 12. Sep. 2006 17:06 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe im Lisp-Forum eine Routine gefunden, die genau das macht, was ich möchte. Doch leider wiederholt sie sich, sodaß mein Script dann nicht mehr weiterläuft. Hier was ich gefunden habe: (setq auswahl (ssget "X" (list (cons 0 "INSERT")(cons 2 "pb-gr-raster_neu")))) (repeat(sslength AUSWAHL) (command "_explode" (setq OBJ(ssname AUSWAHL 0)) "") (ssdel OBJ AUSWAHL) ) Vielleicht wisst Ihr wie die Wiederholung abgestellt werden kann. Vielen Dank und Gruß Beate Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3336 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 12. Sep. 2006 22:39 <-- editieren / zitieren --> Unities abgeben: Nur für BBecker
Hi, ohne den Code getestet zu haben bin ich der Meinung, dass er eher in einer Lisp-Funktion verwendet werden sollte als in einem Skript. Schon die Lesbarkeit des Skripts leidet doch gewaltig für No-Lisplers, wenn man Code einbaut, der sich über mehrere Zeilen erstreckt. Ich würde vorschlagen, so wenig Lisp wie möglich aber so viel wie nötig zu verwenden: Code: (setq ss (ssget "_X" '((0 . "INSERT")(2 . "DEINBLOCKNAME")))) _explode !ss ltscale 1
Obacht, wie bei dem von dir gefunden Lisp-Code findet auch hier keine Prüfung statt, ob der Block wirklich eingefügt wurde! Gruß CADchup
------------------ CADmaro.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BBecker Mitglied
Beiträge: 133 Registriert: 05.06.2002 Windows 7, Acad 2012 MEP
|
erstellt am: 13. Sep. 2006 09:38 <-- editieren / zitieren --> Unities abgeben:
Hallo CADchup, vielen Dank für den Code. Läuft super! Was ich nicht wußte ist, dass die Lispzeilen auch in einem Script abgearbeitet werden können. Ich dachte es läuft nur mit dem LOAD Aufruf und Angabe der DAtei im Script. Nun bin ich schlauer! DAnke und Gruß Beate Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |