找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1878|回复: 7

[每日一码] 图层原码,论坛这个有点少,希望对大家有帮助。

[复制链接]
发表于 2014-10-31 14:21:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
;图层关闭
(Defun c:cg()
   (setq v1 (ssget))
   (setq dctc (getvar "clayer"))
   (setq n 0)
   (setq tclb '())
   (while (ssname v1 n)
      (setq tc (cdr (assoc 8 (entget (ssname v1 n)))))
      (setq tcbz (vl-remove-if-not '(lambda (x) (= x tc)) tclb))
      (if (= tcbz nil)
         (setq tclb (cons tc tclb))
      )      
      (setq n (1+ n))   
   )
   (while tclb
      (setq tc (car tclb))
      (if (= tc dctc)
         (command "layer" "off" tc "y" "")
         (command "layer" "off" tc "")
      )
      (setq tclb (cdr tclb))
   )
   (princ)
)
;关闭其它图层
(Defun c:gt()
   (setq v1 (ssget))
   (setq dctc (getvar "clayer"))
   (setq n 0)
   (setq tclb '())
   (while (ssname v1 n)
      (setq tc (cdr (assoc 8 (entget (ssname v1 n)))))
      (setq tcbz (vl-remove-if-not '(lambda (x) (= x tc)) tclb))
      (if (= tcbz nil)
         (setq tclb (cons tc tclb))
      )      
      (setq n (1+ n))   
   )
   (command "layer" "off" "*" "y" "")
   (while tclb
      (setq tc (car tclb))      
      (command "layer" "on" tc "")
      (setq tclb (cdr tclb))
   )
   (princ)
)
;图层显示,解锁
(Defun c:cv()
   (command "layer" "on" "*" "")
   (command "layer" "u" "*" "")
)
;图层锁定
(Defun c:cs()
   (setq v1 (ssget))  
   (setq n 0)
   (setq tclb '())
   (while (ssname v1 n)
      (setq tc (cdr (assoc 8 (entget (ssname v1 n)))))
      (setq tcbz (vl-remove-if-not '(lambda (x) (= x tc)) tclb))
      (if (= tcbz nil)
         (setq tclb (cons tc tclb))
      )      
      (setq n (1+ n))   
   )
   (while tclb
      (setq tc (car tclb))      
      (command "layer" "lo" tc "")            
      (setq tclb (cdr tclb))
   )
   (princ)
)
;锁定其它图层
(Defun c:st()
   (setq v1 (ssget))  
   (setq n 0)
   (setq tclb '())
   (while (ssname v1 n)
      (setq tc (cdr (assoc 8 (entget (ssname v1 n)))))
      (setq tcbz (vl-remove-if-not '(lambda (x) (= x tc)) tclb))
      (if (= tcbz nil)
         (setq tclb (cons tc tclb))
      )      
      (setq n (1+ n))   
   )
   (command "layer" "lo" "*" "")
   (while tclb
      (setq tc (car tclb))      
      (command "layer" "u" tc "")
      (setq tclb (cdr tclb))
   )
   (princ)
)
;指定当前图层
(Defun c:dc()
   (setq e (entsel))
   (setq tc (cdr (assoc 8 (entget (car e)))))
   (command "layer" "s" tc "")
)   

评分

参与人数 1D豆 +3 收起 理由
炫翔 + 3 很给力!经验;技术要点;资料分享奖!

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2014-10-31 15:35:51 | 显示全部楼层
用ActiveX遍历各图层效率更高一些
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-31 16:26:25 | 显示全部楼层
楼上请问用哪个函数

点评

遍历对象集,对每个表达式进行求值(vlax-for symbol collection [expression1 [expression2 ...]])参数symbol符号,将其指定给集合中的每个 VLA 对象。collectionVLA 对象,表示集合对象。expression1, expression2.  详情 回复 发表于 2014-10-31 19:32
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 924个

财富等级: 财运亨通

发表于 2014-10-31 19:32:06 | 显示全部楼层
zhbzhbzhb 发表于 2014-10-31 16:26
楼上请问用哪个函数

遍历对象集,对每个表达式进行求值
(vlax-for symbol collection [expression1 [expression2 ...]])
参数
symbol
符号,将其指定给集合中的每个 VLA 对象。
collection
VLA 对象,表示集合对象。
expression1, expression2...
要计算的表达式。
返回值
集合中最后一个对象的最后一次对表达式的求值结果。

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-1 05:42:36 | 显示全部楼层
谢谢,这个好。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-1 08:37:21 | 显示全部楼层
集合对象如何得到
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1094个

财富等级: 财源广进

发表于 2021-7-19 00:03:13 | 显示全部楼层
感谢楼主分享图层原码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 33个

财富等级: 招财进宝

发表于 2022-6-11 22:15:24 | 显示全部楼层
学习了,谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-28 13:44 , Processed in 0.400934 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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