清清绿茶 发表于 2012-1-5 00:54:58

如何批量修改CAD文件指定图层的颜色?

一批图形文件,一个一个改太费时。文件里随机有图层1、2、3、4、5、6(即这几个图层在有些文件里完全存在,有些文件里部分存在),现在我想把这些图层的颜色分别统一(图层1颜色改为:0,0,255、图层2颜色改为:255,0,0、图层3颜色改为:0,255,0.......)。

夏生生 发表于 2012-1-5 08:09:04

建立模板图,批量插入

byghbcx 发表于 2012-1-5 09:05:49

(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))
    …………
)
)
)
可以用dbx方法对文件夹内所有文件操作

清清绿茶 发表于 2012-1-5 21:49:34

谢谢byghbcx大哥的热心,但是我只会CAD,对LISP一点都不懂,你看可以贴出能直接复制下来就能使用的代码吗?加上你说的dbx方法

1993063 发表于 2012-8-26 22:01:49

本帖最后由 1993063 于 2012-8-26 04:02 编辑

自动修改图层颜色(0层不变)

开1心 发表于 2013-7-19 09:48:36

1993063 发表于 2012-8-26 22:01 static/image/common/back.gif
自动修改图层颜色(0层不变)

这个是否可以过滤一些图层呢~~

bing00 发表于 2020-6-7 09:49:02

哪位大师提供一下源码,谢谢
页: [1]
查看完整版本: 如何批量修改CAD文件指定图层的颜色?