我有一些DWG文件,文件里随机有图层1、图层2、图层3、图层4、图层5、图层6(即这几个图层在有些文件里存在,有些文件里部分存在),现在我想把这些图层的颜色分别统一(图层1颜色改为:0,0,255、图层2颜色改为:255,0,0、图层3颜色改为:0,255,0.......),麻烦高手写个LISP进行批量修改。要是有用追加100分,决不食言!
自己去图层管理器中改一下就好了???那我还来这里问什么问。
各位大哥,小弟需要处理的是上千个文件,一个一个开,一个一个改,我的神啊
下面的LISP代码能实现,但是我不知道怎么用。
(defun tt()
(setq acmCol (vla-getinterfaceobject
(vlax-get-acad-object) (strcat "AutoCAD.AcCmColor." (substr (getvar "ACADVER") 1 2))))
(vlax-for x (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)))
(cond
((= (vla-get-name x) "1") (vla-setrgb acmCol 0 0 255) (vla-put-TrueColor x acmCol))
((= (vla-get-name x) "2") (vla-setrgb acmCol 255 0 0) (vla-put-TrueColor x acmCol))
((= (vla-get-name x) "3") (vla-setrgb acmCol 0 255 0) (vla-put-TrueColor x acmCol))
)
)
)
不是特性匹配,我要的是不用一个文件一个文件去打开手工改,我要的是批量自动改。
追答2010以上版本都没呢?Auto公司还没有 编这个CAD功能。 还有种方法是全中文件后,点开图层,赋予这个图层,文件就变成了这个图层设置的颜色了
加载后输什么命令?
追答输tt,“defun tt”就是定义“tt”为快捷键。
追问早试过了,加载后输入tt 显示未知命令
追答那就是你编的程序不对。