Hallo!
Verzeihung vorne weg, falls ich zum Thema über die Suchfunktion (inkl. Google) einen Beitrag übersehen habe und es bereits einen Beitrag gibt, aber die diversen Suchbezeichnungen haben leider noch zu keinem funktionierenden Ergebnis geführt.
Folgendes Thema:
Ich bastle an einer LISP, die Umgrenzungen für alle SOLID-Schraffuren erstellen soll auf Basis abgefragter Layer (soweit noch nichts neues).
Für im Modell enthaltenen Schraffuren klappt das recht unproblematisch mit:
Code:
...
(setq aws(ssget ...))
(command "_HATCHGENERATEBOUNDARY" aws "")
...
Nun möchte ich dies innerhalb der Blockdefinitionen ebenfalls machen.
Die Blöcke durchsuchen funktioniert auch wie gewohnt:
Code:
...
(vlax-for BLOCK (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object)))
(vlax-for ITEM BLOCK
(if ...
(progn
...
???
...
); end progn
) ;end if
) ;vlax-for ITEM BLOCK
) ;vlax-for BLOCK
...
Die Frage ist nun, was muss anstelle der ??? stehen, dass er für ITEM die Umgrenzung erzeugt?
Simpel, wie bei der Abfrage im Modell mit (command) hat erwartungsgemäß nicht funktioniert :D
Das die Schleife aber korrekt funktioniert, zeigt mir der Test mit diesen Zeilen um entweder die Schraffuren zu löschen oder zu färben:
Code:
(vla-delete ITEM)
(vla-put-Color ITEM 1)
Kann mir eventuell jemand weiterhelfen bzw. auf die richtige LISP-Spur bringen?
Bzw. gibt es für _HATCHGENERATEBOUNDARY einen vla-... Ersatz?
Bin für jeden Input dankbar!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP