- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hello Forum ,
I found this lisp changes colors all SOLID pattern hatches inside blocks to white ,
how can i change color to byblock or bylayer or selected color ( red, magenta etc. )
(defun c:sol2white (/ doc)
(or *colorobject*
(setq *colorobject*
(vla-getinterfaceobject
(vlax-get-acad-object)
(strcat "AutoCAD.AcCmColor." (substr (getvar "acadver") 1 2))
)
)
)
(if
(null (vl-catch-all-error-p (vl-catch-all-apply 'vla-setrgb (list *colorobject* 255 255 255))))
(progn (vlax-for blk (vla-get-blocks (setq doc (vla-get-activedocument (vlax-get-acad-object))))
(if (= :vlax-false (vla-get-isxref blk))
(vlax-for obj blk
(if (and (= "AcDbHatch" (vla-get-objectname obj))
(= "SOLID" (strcase (vla-get-patternname obj)))
(vlax-write-enabled-p obj)
)
(vl-catch-all-apply 'vla-put-truecolor (list obj *colorobject*))
)
)
)
)
(vla-regen doc acallviewports)
)
)
(princ)
)
(vl-load-com)
(princ)
Best regards
Victor
Solved! Go to Solution.