xsso 发表于 2013-5-1 23:05:24

fire9527 发表于 2013-4-30 23:45 static/image/common/back.gif
刚又测试了下,程序6对于关闭当前图层来说会出现一个选择菜单,感觉不太好,如果能处理当前图层问题那就锦 ...

其实我是知道它对当前图层会有问题,只是我还未想怎样去绕开它

xsso 发表于 2013-5-2 22:41:45

重新加载这个再执行,应该解决了当前层的问题

sicky111 发表于 2013-5-3 09:57:49

xsso 发表于 2013-5-2 22:41 static/image/common/back.gif
重新加载这个再执行,应该解决了当前层的问题

版块新规,不让发编译过的代码。

xsso 发表于 2013-5-3 23:00:26

sicky111 发表于 2013-5-3 09:57 static/image/common/back.gif
版块新规,不让发编译过的代码。

帮忙解决问题也要发源码!!

sicky111 发表于 2013-5-3 23:09:50

xsso 发表于 2013-5-3 23:00 static/image/common/back.gif
帮忙解决问题也要发源码!!

http://bbs.mjtd.com/thread-100603-1-1.html版规第一条和第三条好像是这么说的,如果没理解错的话,帮助别人可以发解决问题的方法和思路,如果要发代码,就不能发编译过的代码,要开源让大学一起学习。不知道是不是这么理解,呵呵。

夏生生 发表于 2013-5-4 09:06:39

本帖最后由 夏生生 于 2013-5-4 09:08 编辑

想帮助别人又不愿意发源码就讲思路,或直接和求助者联系就是,且这么简单的东西编译干嘛?

半听可乐 发表于 2013-5-4 20:46:07

我有个类似的程序,貌似缺点东西,同求解
;; 关闭专业图层
(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所有图层均被关闭!")
)

)

fire9527 发表于 2013-5-4 21:03:58

kwok 发表于 2013-5-1 12:23 static/image/common/back.gif
来个简单的,
(defun c:Lay2 ();;关闭特定层外的
(setvar 'cmdecho 0)


不好意思,没有及时回复你,程序用了,效果非常好!谢谢您!同时非常感谢“xsso”这位朋友的热心跟帖相助,问题已经解决了 ,真高兴!

a20031079 发表于 2013-8-20 15:08:50

学习了 谢谢各位
页: 1 [2]
查看完整版本: 求一个控制特定几个图层的程序!