Message 1 of 5
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
possible to write a lisp set all selected block's color = By block
Solved! Go to Solution.
possible to write a lisp set all selected block's color = By block
Solved! Go to Solution.
all inserts' color, not the contents of every block definition.
(defun c:all_inserts_byblock ()
(if (setq insert_sset (ssget '((0 . "insert"))))
(foreach block (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex insert_sset))))
(vla-put-color block 0)
)
)
(princ)
)
custom command set_byblock
;***************************************************************************************************************
(defun set_all_byblock (block_name)
(vlax-map-collection (vla-item (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))) block_name)
'(lambda (object)
(cond
(
(= "AcDbBlockReference" (vla-get-objectname object))
(set_all_0_byblock (vla-get-effectivename object))
)
(
t
(vla-put-color object 0)
)
)
)
)
)
;***************************************************************************************************************
(defun c:set_byblock (/ block_sset block_name block_processed_list)
(prompt "Select block references")
(setq block_sset (ssget '((0 . "insert"))))
(if block_sset
(foreach block (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex block_sset))))
(set_all_byblock (setq block_name (vla-get-effectivename block)))
(princ (strcat "\nBlock \"" block_name "\" entities' color setq to ByBlock."))
)
)
(princ)
)
;***************************************************************************************************************
wow, again a master's program from you @komondormrex
it's perfect. you saved me a ton of time. Thank you so much.