millermin 发表于 2011-12-26 05:12:36

不打开dwg文件,关闭指定图层。

大家圣诞快乐。放假在家无聊,应用objectdbx技术,整了个小程序,实现不开图,关闭图层。请多提宝贵意见。

;; this program can turn off the layer you enter.
(defun c:lof ()      
(vl-load-com)
(setq dwgfile (getfiled "Select a drawing" "" "dwg" 0))
(setq lay (getstring "\nENTER A LAYER TO TURN OFF:"))
(setq cadver(substr (getvar "acadver") 1 2))                     
(setq id (strcat "objectdbx.AxDbDocument." cadver))         
(setq dbx(vlax-create-object id))                                       
(vla-open dbx dwgfile)
(vlax-for layer (setq layers (vla-get-layers dbx))               
         (if (not (vl-catch-all-error-p
               (setq vlay(vl-catch-all-apply 'vla-item (list layers lay)))))         
               (if (eq (vla-get-layeron vlay) :vlax-true)                                    
                   (vla-put-layeron vlay :vlax-false)   
                )      
               (print "THIS LAYER DOES NOT EXIST")
             )
)
      
(vla-saveas dbx dwgfile)   
(vlax-release-object dbx)
(prin1)
)

longer1000 发表于 2011-12-26 09:25:29

精神不错

logitechlike 发表于 2011-12-26 11:09:43

不打开图拷贝块,用这个制定不拷贝关闭的图层上的object,
不打开图纸能做的事情很多。
继续其他, 好帖

millermin 发表于 2011-12-26 13:08:22

本帖最后由 millermin 于 2011-12-26 13:09 编辑

这个程序是委托加工的。我自己没用。人家要只好做。我只是觉得能实现不开图操作,那很多功能都不用操心了,基本剩下的活和开图没有两样。所以意义还是很大。没有做过大工程的图纸,无法理解打开一张图需要多少时间。特别是很多外部参考时。

sy100 发表于 2011-12-26 20:29:32

本帖最后由 sy100 于 2011-12-26 20:29 编辑

这个要试用一下,曾经为打开一张550M的地形图耗时1个多小时而苦恼!

langjs 发表于 2011-12-26 22:26:05

好东西,给做很多东西提供了思路,正缺少这方面资料。谢谢。

millermin 发表于 2011-12-26 23:37:47

本帖最后由 millermin 于 2011-12-26 23:43 编辑

sy100 发表于 2011-12-26 20:29 http://bbs.mjtd.com/static/image/common/back.gif
这个要试用一下,曾经为打开一张550M的地形图耗时1个多小时而苦恼!

我客户就是做地形图的。我们的部门是交通。我做桥,基本不需要。他做路,老搞地形图。
这程序本身很简单,主要分享一个dbx操作文件的思路。复杂功能的实现还要靠vlisp。

zwqgdhl 发表于 2012-2-2 11:35:44

太好了,这方面正是我不会的;
再帮我处理在不打开k1.dwg图形的情况下,读取图中词典值(vlax-ldata-put "编号" "钻孔" '"K1")

millermin 发表于 2012-2-3 11:00:09

zwqgdhl 发表于 2012-2-2 11:35 static/image/common/back.gif
太好了,这方面正是我不会的;
再帮我处理在不打开k1.dwg图形的情况下,读取图中词典值(vlax-ldata-put "编 ...

这个功能我也有点需求。有时一套图纸都改一个地方,如合同号码,审核,制图,校对了,发行日期了等等。如能不开图,那也许几分钟就能改好一套图。不过给我点时间。我会通知你的。

lidaxiu 发表于 2012-2-3 11:23:36

恩能提供思路 的好程序!!!
页: [1] 2
查看完整版本: 不打开dwg文件,关闭指定图层。