找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 548|回复: 6

[求助] 这些代码怎样才能切换图层时都改为 bylayer?

[复制链接]

已领礼包: 42个

财富等级: 招财进宝

发表于 2017-7-12 10:24:01 | 显示全部楼层 |阅读模式

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

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

×
我在网上找了个切换图层的lisp,但测试发现,可以切换图层,但图层特性不是 bylayer ,比如我把图层 6t 的颜色改为 黄色 ,切换到 0 层时,颜色还是黄色而不是bylayer,该怎么改呢?各路大师帮帮忙,我并不会lisp编程,只能看懂一些很简单的东西

;一个图层更改的lisp程序,按对应数字键就可以切换到相应的图层。很方便。
;0————0
;1————OBJ
;2————6t
;3————SCETR
;。。。
;8————BORDER
;如果这些不是你想要的图层,将lisp用笔记本打开,把里边的OBJ,6t等图层名改为你想要的就可以了。以后要切换图层时,按相应的数字键即可。
(defun YH_chlayer (YH_layer / YH_S)
(if (null (tblsearch "LAYER" YH_layer))
     (entmake (list
        '(0 . "LAYER")
        '(100 . "AcDbSymbolTableRecord")
        '(100 . "AcDbLayerTableRecord")
         (cons 2 YH_layer)        ;图层名称
        '(70 . 0)                 ;图层状态
        '(62 . 7)                 ;图层颜色
        '(6 . "bylayer")          ;图层线型
               )
     )
)
(setq YH_S (cadr (ssgetfirst)))
(if YH_S
     (command "CHPROP" YH_S "" "la" YH_layer "c" "bylayer" "")
     (setvar "clayer" YH_layer)
  )
(princ)
)
(defun c:0 ()
   (YH_chlayer "0")
)
(defun c:1 ()
   (YH_chlayer "OBJ")
)
(defun c:2 ()
   (YH_chlayer "6t")
)
(defun c:3 ()
   (YH_chlayer "SCETR")
)
(defun c:4 ()
   (YH_chlayer "HIDD")
)
(defun c:5 ()
   (YH_chlayer "DIM")
)
(defun c:6 ()
   (YH_chlayer "DASH")
)
(defun c:7 ()
   (YH_chlayer "TEXT")
)
(defun c:8 ()
   (YH_chlayer "BORDER")
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 28个

财富等级: 恭喜发财

发表于 2017-7-12 10:39:20 | 显示全部楼层
(defun c:8 ()
   (YH_chlayer "BORDER")
   (command "cecolor" 256)
)

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

使用道具 举报

已领礼包: 42个

财富等级: 招财进宝

 楼主| 发表于 2017-7-12 11:43:09 | 显示全部楼层

刚刚也想到(command "COLOR" "BYLAYER")
还有几个疑问,下面的这几个代码时干啥的,
(if (null (tblsearch "LAYER" YH_layer))
     (entmake (list
        '(0 . "LAYER")
        '(100 . "AcDbSymbolTableRecord")
        '(100 . "AcDbLayerTableRecord")
         (cons 2 YH_layer)        ;图层名称
        '(70 . 0)                 ;图层状态(这些数字啥作用)
        '(62 . 7)                 ;图层颜色(这些数字啥作用)
        '(6 . "bylayer")          ;图层线型(这个bylayer啥作用)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2017-7-12 11:50:51 | 显示全部楼层

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

使用道具 举报

已领礼包: 42个

财富等级: 招财进宝

 楼主| 发表于 2017-7-12 11:57:07 | 显示全部楼层

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-7-12 12:26:13 | 显示全部楼层

去看看函数 entmake 的帮助。

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

使用道具 举报

已领礼包: 812个

财富等级: 财运亨通

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-24 02:31 , Processed in 0.335021 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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