如何批量修改CAD文件指定图层的颜色?
我有一些DWG文件,文件里随机有图层1、图层2、图层3、图层4、图层5、图层6(即这几个图层在有些文件里存在,有些文件里部分存在),现在我想把这些图层的颜色分别统一(图层...
我有一些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))
)
)
) 展开
自己去图层管理器中改一下就好了???那我还来这里问什么问。
各位大哥,小弟需要处理的是上千个文件,一个一个开,一个一个改,我的神啊
下面的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))
)
)
) 展开
5个回答
2012-01-17
展开全部
appload加载,输入命令tt()或者修改代码(defun tt()为defun c:tt()后输入命令tt
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在命令中输入”ma“ 首先点中你所要的颜色(”源“),然后再点你所要修改颜色的目标(块文件不行哈)
追问
不是特性匹配,我要的是不用一个文件一个文件去打开手工改,我要的是批量自动改。
追答
2010以上版本都没呢?Auto公司还没有 编这个CAD功能。 还有种方法是全中文件后,点开图层,赋予这个图层,文件就变成了这个图层设置的颜色了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自己去图层管理器中改一下就好了....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
图层管理器里修改很简单的,比编写Lisp方便多了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把这个编码存为一个*.lsp文件,cad加载
更多追问追答
追问
加载后输什么命令?
追答
输tt,“defun tt”就是定义“tt”为快捷键。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询