0 Members and 1 Guest are viewing this topic.
(defun c:ATTColor (/ blkobj lays ss) (setq lays (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)) ) ss (ssget "x" '((0 . "INSERT") (66 . 1))) ) (if ss (progn (setq ss (mapcar 'vlax-ename->vla-object (mapcar 'cadr (ssnamex ss))) ) (mapcar '(lambda (b) (if (eq (vla-get-lock (vla-add lays (vla-get-layer b))) :vlax-false ) (progn (mapcar '(lambda (a) (vla-put-color a 256) ) (vlax-invoke b 'getattributes) ) (vlax-for blkobj (vla-item (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object) ) ) (vla-get-name b) ) (mapcar '(lambda (c) (vla-put-color blkobj 256) ) (vlax-invoke b 'getattributes) ) ) ) (princ (strcat "\n Block " (vla-get-name b) " on locked layer " (vla-get-layer b) " not updated..." ) ) ) ) ss ) ) ) (princ))
([color=BLUE]defun[/color] c:Ins2Layer ( [color=BLUE]/[/color] acblk acdoc acsel done layer name ) ([color=BLUE]vl-load-com[/color]) [color=GREEN];; Example © Lee Mac 2011 - www.lee-mac.com[/color] ([color=BLUE]setq[/color] acdoc ([color=BLUE]vla-get-ActiveDocument[/color] ([color=BLUE]vlax-get-acad-object[/color])) acblk ([color=BLUE]vla-get-Blocks[/color] acdoc) ) ([color=BLUE]setq[/color] layer [color=MAROON]"0"[/color]) [color=GREEN];; Layer for Block Objects[/color] ([color=BLUE]if[/color] ([color=BLUE]ssget[/color] [color=MAROON]"_:L"[/color] '((0 . [color=MAROON]"INSERT"[/color]))) ([color=BLUE]progn[/color] ([color=BLUE]vlax-for[/color] block ([color=BLUE]setq[/color] acsel ([color=BLUE]vla-get-ActiveSelectionSet[/color] acdoc)) ([color=BLUE]foreach[/color] attrib ([color=BLUE]append[/color] ([color=BLUE]vlax-invoke[/color] block 'getattributes) ([color=BLUE]vlax-invoke[/color] block 'getconstantattributes)) ([color=BLUE]vla-put-layer[/color] attrib layer) ([color=BLUE]vla-put-color[/color] attrib [color=BLUE]acbylayer[/color]) ) ([color=BLUE]if[/color] ([color=BLUE]not[/color] ([color=BLUE]member[/color] ([color=BLUE]setq[/color] name ([color=BLUE]vla-get-name[/color] block)) done)) ([color=BLUE]vlax-for[/color] object ([color=BLUE]vla-item[/color] acblk ([color=BLUE]car[/color] ([color=BLUE]setq[/color] done ([color=BLUE]cons[/color] name done)))) ([color=BLUE]vla-put-layer[/color] object layer) ([color=BLUE]vla-put-color[/color] object [color=BLUE]acbylayer[/color]) ) ) ) ([color=BLUE]vla-delete[/color] acsel) ([color=BLUE]vla-regen[/color] acdoc [color=BLUE]acallviewports[/color]) ) ) ([color=BLUE]princ[/color]))
You may want to look at this one too:http://www.cadtutor.net/forum/archive/index.php/t-47075.html