半听可乐 发表于 2013-1-4 21:11:41

切换图层状态

保存了一些图层状态,每次都要通过点击图层状态管理器去切换状态,操作多了感觉有点麻烦,能不能通过程序切换图层状态?比如输入快捷键001,就切换到名为001的图层状态。下面是一个相关问题的链接,感觉有点不了了之,供参考


http://bbs.mjtd.com/forum.php?mod=viewthread&tid=48565

yjr111 发表于 2013-1-4 21:11:42

本帖最后由 yjr111 于 2013-3-13 13:37 编辑

好像还不好搞,搞了一个多小时,惭愧,看看是不是需要的?

(defun c:laman(/ ladict1 ladict n statenemelst num )
(setq ladict1(vla-GetExtensionDictionary (vla-get-layers (vla-get-ActiveDocument (vlax-get-acad-object)))))
(repeat (setq m(vla-get-count ladict1))
    (setq ladict(vla-item ladict1 (setq m(1- m))))      
    (repeat (setq n(vla-get-count ladict))
      (setq statenemelst(cons (vla-get-name(vla-item ladict(setq n(1- n))))statenemelst))
    )
)
(xsdhk)
(if num(command "layer" "a" "r" (nth (atoi num) statenemelst) "" "" ))
(princ)
)
;;;******************************************
;;;添加列表框内列表
;;;******************************************
(defun adlst (key lst)
(start_list key 3)
(mapcar 'add_list lst)
(end_list)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun xsdhk (/ replace lsdcl fn dclid)
(setq fn (open (setq lsdcl (VL-FILENAME-MKTEMP "tmp" "" ".dcl")) "w"))
(foreach x
           '("yyy : dialog{"
             "label=\"StateManager\";"
             ":list_box{key=\"9\";height=18;width=12;}"
             ":button{key=\"cancel\";label=\"Cancel\";is_cancel=true;width=1;height=2;}"
             "}"
          )
    (write-line x fn)
)
(close fn)
(setq dclid (load_dialog lsdcl))
(vl-file-delete lsdcl)
(new_dialog "yyy" dclid "" screenpt)
(adlst "9" statenemelst)
(action_tile "9" "(setq num $value)(setq screenpt(done_dialog))")
(start_dialog)
(unload_dialog dclid)
)
(princ"\n图层状态简易切换,命令LAMAN.")
(PRINC)

半听可乐 发表于 2013-1-4 21:28:51

回严大的话: 输入“道路、管线"则切换到道路、管线状态
如果可以出现一个类似第二张截图的列表,通过单击列表里的状态名(不用进一步单击“恢复”)切换相应的图层状态更佳

半听可乐 发表于 2013-1-5 09:38:09

本帖最后由 半听可乐 于 2013-1-5 09:39 编辑

yjr111 发表于 2013-1-5 00:09 http://bbs.mjtd.com/static/image/common/back.gif
好像还不好搞,搞了一个多小时,惭愧,看看是不是需要的?

正是这个效果!感谢严大又帮了我个大忙!,能不能给个源码或者将命令搞长一点,命令有冲突~~

xiabin68 发表于 2013-1-5 11:37:00

不错哦,,,,

yjr111 发表于 2013-1-5 14:55:57

可以吗?可以就上源码!免币下载!

㊣▁▂▃▄▅ 发表于 2013-1-5 17:24:51

大棒了,,楼主大人。

半听可乐 发表于 2013-1-5 21:04:54

yjr111 发表于 2013-1-5 14:55 static/image/common/back.gif
可以吗?可以就上源码!免币下载!

何止是可以,简直酷得不行!今天用了不下30次!

xiaxiang 发表于 2013-3-13 10:34:28

yjr111 发表于 2013-1-5 14:55 static/image/common/back.gif
可以吗?可以就上源码!免币下载!

严兄,似乎过了很久了也没上源码?现在可以上了吗?

chleiwu 发表于 2013-3-13 13:00:30

严老大在2楼的程序,下载了怎么只能弹出界面,无法输入任何文字啊
页: [1] 2 3 4
查看完整版本: 切换图层状态