GzW: Layer innerhalb eines Blocks anzeigen #481Mit folgendem LISP-Code kann man in BricsCAD die Layer der Objekte innerhalb einer ausgewählten Blockreferenz anzeigen, ohne den Block vorher zu öffnen:
Code:
(vlax-for item
(vla-item
(vla-get-Blocks
(vla-get-ActiveDocument (vlax-get-acad-object))
)
(cdr (assoc 2 (entget (car (entsel)))))
)
(terpri)
(if (vlax-property-available-p item 'Layer)
(princ (vla-get-layer item))
)
(terpri)
)
Anwendung
- Code in die BricsCAD-Befehlszeile kopieren.
- Mit Return bestätigen.
- Eine Blockreferenz auswählen.
- Die Layer der enthaltenen Objekte werden in der Befehlszeile ausgegeben.
Als Button hinterlegen
- Rechtsklick auf ein Icon.
- Anpassen wählen.
- Werkzeugkasten auswählen oder neuen Werkzeugkasten anlegen.
- Neues Werkzeug erzeugen.
- Als Befehl die einzeilige Variante eintragen:
Code:
(vlax-for item(vla-item(vla-get-Blocks(vla-get-ActiveDocument (vlax-get-acad-object)))(cdr(assoc 2(entget(car(entsel))))))(terpri)(if(vlax-property-available-p item 'Layer)(princ(vla-get-layer item)))(terpri))
Hinweis
Eine direkte BricsCAD-Hausfunktion zum Anzeigen oder Ändern der Layer innerhalb eines Blocks, ohne den Block zu öffnen, wurde im Beitrag nicht genannt. Dafür ist ein Zusatztool bzw. LISP-Code erforderlich.