Hi,
Grundsätzlich: JA
Wenn es einigermaßen "allgemeingültig" ist oder große Branchen betrifft in denen eine Aufgabe absoluter Standard ist,
dann gibt es das für gewöhnlich auch schon 100-1000000x und ganz oft auch im Netz zu finden.
"im Block"
>>" lege die Schraffur bitte auf Layer X"
>>" und die Farbe soll VonLayer sein."
Man wird sehr schnell Tools finden, welche eine der Aufgaben bewältigt,
noch mehr Tools welche "irgendwas" mit einer Schraffur im Block anstellen.
Eine Anpassung bereits mit Basiswissen möglich, wer nicht genug Lispkenntnisse hat, der muss genau das passende Tool suchen.
Hier mal ein Beispiel, ich nutzte Google und die Suchanfrage in Englisch - was die Trefferchance deutlich steigert:
autocad lisp block hatch layer
Einer der ersten Ergebnisse war der erste getestet Link von mir:
https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/change-all-hatch-to-a-particular-layer/td-p/4602435
Ich änderte das Verhalten auf "nur in Blöcken suchen" und die Farbe soll "VonLayer" sein,
für einfache Schraffuren sollte es damit funktionieren ("Abstufungen" sind eine andere Geschichte)
Das Programm kann man besser machen, aber ich wollte einmal das Suchen-Editieren-Glücklich sein aufzeigen.
Code:
(defun c:fixhat ( / doc lay )
(setq lay "AHAT" ; <--- HIER DER SCHRAFFUR LAYER NAME
doc (vla-get-activedocument (vlax-get-acad-object))
)
(vla-add (vla-get-layers doc) lay)
(vlax-for blk (vla-get-blocks doc)
(if (and (= :vlax-false (vla-get-isxref blk)) (= :vlax-false (vla-get-isLayout blk)))
(vlax-for obj blk
(if
(and
(= "AcDbHatch" (vla-get-objectname obj))
;(= "AELE" (strcase (vla-get-layer obj)))
(vlax-write-enabled-p obj)
)
(progn
(vla-put-layer obj lay)
(vla-put-color obj 256)
)
)
)
)
)
(vla-regen doc acallviewports)
(princ)
)
(vl-load-com) (princ)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP