明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: fire9527

求一个控制特定几个图层的程序!

[复制链接]
发表于 2013-5-1 23:05:24 | 显示全部楼层
fire9527 发表于 2013-4-30 23:45
刚又测试了下,程序6对于关闭当前图层来说会出现一个选择菜单,感觉不太好,如果能处理当前图层问题那就锦 ...

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

点评

看看dxf组码62  发表于 2013-5-3 01:09
System Var. Expert  发表于 2013-5-2 08:26
回复

使用道具 举报

发表于 2013-5-2 22:41:45 | 显示全部楼层
重新加载这个再执行,应该解决了当前层的问题

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

点评

楼上的兄弟您好 能否把 图层控制2013_05_02.fas 的源代码给我,在这里万分感谢 因为是日文系统加载之后有乱码,在这里谢谢了  发表于 2014-3-25 10:41
回复

使用道具 举报

发表于 2013-5-3 09:57:49 | 显示全部楼层
xsso 发表于 2013-5-2 22:41
重新加载这个再执行,应该解决了当前层的问题

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

使用道具 举报

发表于 2013-5-3 23:00:26 | 显示全部楼层
sicky111 发表于 2013-5-3 09:57
版块新规,不让发编译过的代码。

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

使用道具 举报

发表于 2013-5-3 23:09:50 | 显示全部楼层
xsso 发表于 2013-5-3 23:00
帮忙解决问题也要发源码!!

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

点评

刚刚看了一次版规,我觉得个贴应该发到编程申请会比较好  发表于 2013-5-3 23:14
回复

使用道具 举报

发表于 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所有图层均被关闭!")
  )

)
回复

使用道具 举报

 楼主| 发表于 2013-5-4 21:03:58 | 显示全部楼层
kwok 发表于 2013-5-1 12:23
来个简单的,
(defun c:Lay2 ();;关闭特定层外的
  (setvar 'cmdecho 0)

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

使用道具 举报

发表于 2013-8-20 15:08:50 | 显示全部楼层
学习了 谢谢各位
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-26 09:30 , Processed in 0.173550 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表