刚又测试了下,程序6对于关闭当前图层来说会出现一个选择菜单,感觉不太好,如果能处理当前图层问题那就锦 ...
其实我是知道它对当前图层会有问题,只是我还未想怎样去绕开它 重新加载这个再执行,应该解决了当前层的问题
xsso 发表于 2013-5-2 22:41 static/image/common/back.gif
重新加载这个再执行,应该解决了当前层的问题
版块新规,不让发编译过的代码。 sicky111 发表于 2013-5-3 09:57 static/image/common/back.gif
版块新规,不让发编译过的代码。
帮忙解决问题也要发源码!! xsso 发表于 2013-5-3 23:00 static/image/common/back.gif
帮忙解决问题也要发源码!!
http://bbs.mjtd.com/thread-100603-1-1.html版规第一条和第三条好像是这么说的,如果没理解错的话,帮助别人可以发解决问题的方法和思路,如果要发代码,就不能发编译过的代码,要开源让大学一起学习。不知道是不是这么理解,呵呵。 本帖最后由 夏生生 于 2013-5-4 09:08 编辑
想帮助别人又不愿意发源码就讲思路,或直接和求助者联系就是,且这么简单的东西编译干嘛? 我有个类似的程序,貌似缺点东西,同求解
;; 关闭专业图层
(defun c:lay1 ()
(lm_ini T)
(lm_of '(wcmatch lay laystr))
(lm_roe T)
(princ)
)
;;关闭非专业图层
(defun c:lay2 ()
(lm_ini T)
(lm_of '(not (wcmatch lay laystr)))
(lm_roe T)
(princ)
)
;;
;;
(defun lm_of (cond / cde ept olderr dxf lay offlst onlst lst nn)
(setq laystr (strcat
"A-*,";; 这里添加若干图层信息
"A1-*,A2-*,A3-*,A123,辅助定位," ;; 这里继续添加若干图层信息
"B1-*,B2-*,B3-*,B123,专业标注";; 这里再添加若干图层信息^_^
)
offlst nil
onlst nil
dxf (tblnext "LAYER" T)
)
(while dxf
(setq lay (strcase (ai_val 2 dxf)))
(if (> (ai_val 62 dxf) 0)
(if (eval cond) ;Condition
(setq offlst (append (list lay) offlst))
(setq onlst (append (list lay) onlst))
)
)
(setq dxf (tblnext "LAYER"))
)
(command "_.LAYER")
(foreach nn offlst (command "_OFF" nn))
(command "")
(if onlst
(if (not (member (getvar "clayer") onlst)) (progn
(setq lay (car (acad_strlsort onlst)))
(setvar "clayer" lay)
(prompt (strcat "\n图层" lay "是当前层."))
))
(alert "\n所有图层均被关闭!")
)
) kwok 发表于 2013-5-1 12:23 static/image/common/back.gif
来个简单的,
(defun c:Lay2 ();;关闭特定层外的
(setvar 'cmdecho 0)
不好意思,没有及时回复你,程序用了,效果非常好!谢谢您!同时非常感谢“xsso”这位朋友的热心跟帖相助,问题已经解决了 ,真高兴! 学习了 谢谢各位
页:
1
[2]