顽固的颜色块!!
偶想改变整体图的颜色,就用鼠标全选后,改颜色,后发现仍有一部分图形我行我素,双击后就出现一个“高级属性编辑器”对话框。里面是一些线形和颜色的选项,但还是无法改变图块颜色,请问怎么修改阿?要打碎图块吗?我是血统纯正的菜鸟族,大家可能见到过我前面发的帖子了,都是一些没常识的问题,看了之后拿板砖拍我也无所谓,但请一定赐教,谢谢:) qq 58064939 愿和大家结为图友 那个块不是你自己做的吧?看来只能分解了。 不是我做的,是别人的图,我想改,改不过来,怎么办啊?炸开吗?谁能给我讲讲炸开怎么用阿 用EXPLODE分解。 ;;用LISP遍歷修改物件属性;;(chh (ssget '((0 . "insert"))));;这是一个简单例子--只修改图块(COLOR=BYBLOCK)
;;(因它不支持---嵌套块 & 标註 & 公差 & 引线)
;;希望对你有帮助
;;BY LUCAS
(defun CHH (SS / ENTT ENT COL ATT CATT ENT1 EN N COL LST)
(if (and SS
(setq COL (acad_colordlg 7))
)
(progn
(setq N 0)
(repeat (sslength SS)
(setq ENT (vlax-ename->vla-object (ssname SS N)))
(vla-put-color ENT COL)
(if (= (vl-catch-all-apply 'vla-get-hasattributes (list ENT))
:vlax-true
)
(progn
(setq ATT (vlax-variant-value (vla-getattributes ENT))
CATT (vlax-variant-value
(vla-getconstantattributes ENT)
)
)
(if(safearray-value ATT)
(foreach ENT1 (vlax-safearray->list ATT)
(vla-put-color ENT1 COL)
)
)
(if(safearray-value CATT)
(foreach ENT1 (vlax-safearray->list CATT)
(vla-put-color ENT1 COL)
)
)
)
)
(if (not (member (vla-get-name ENT) LST))
(progn
(setq LST (cons (vla-get-name ENT) LST))
(vlax-for EN
(vla-item (vla-get-blocks
(vla-get-activedocument
(vlax-get-acad-object)
)
)
(vla-get-name ENT)
)
(vla-put-color EN 0)
)
)
)
(setq N (1+ N))
)
)
)
(princ)
)
真有办法!! 用 龙大虾 的方法也太高明了。不过,好像有个 burst 命令,分解属性块也可以。 EXPLODE和burst有什么区别? 当然有了,burst 炸开带块属性时,将属性分解为 文本 ,而EXPLODE是分解为属性标签 偶谢谢!受教!
页:
[1]
2