296715530 发表于 2019-11-25 11:59:32

求大神修改一键切换图层代码(图层切换)(沙盘模型画图)

本帖最后由 296715530 于 2019-11-30 07:53 编辑

以下是在明经上找的两个代码{:1_1:}
第一个

(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 "_10")
)
(defun c:1 ()
(YH_chlayer "_1")
)
(defun c:2 ()
(YH_chlayer "_2")
)
(defun c:3 ()
(YH_chlayer "_3")
)
(defun c:4 ()
(YH_chlayer "_4")
)
(defun c:5 ()
(YH_chlayer "_5")
)
(defun c:6 ()
(YH_chlayer "_6")
)
(defun c:7 ()
(YH_chlayer "_7")
)
(defun c:8 ()
(YH_chlayer "_8")
)
(defun c:9 ()
(YH_chlayer "_9")
)



第二个

(defun lyh(mylsp / ss)
(setvar"cmdecho"0)
(if(setq ss(ssget"i"))
(command"_.change"SS"""p""LA"mylsp"")
(setvar"clayer"mylsp))
(princ))

(defun C:1 ()
(lyh"_1"))
(defun C:2 ()
(lyh"_2"))
(defun C:3 ()
(lyh"_3"))
(defun C:4 ()
(lyh"_4"))
(defun C:5 ()
(lyh"_5"))
(defun C:6 ()
(lyh"_6"))
(defun C:7 ()
(lyh"_7"))
(defun C:8 ()
(lyh"_8"))
(defun C:9 ()
(lyh"_9"))
(defun C:0 ()
(lyh"_10"))

上班时基本上用这几个图层画沙盘模型图,本人不懂代码,求大神帮忙修改下。。。方便的加好友留下联系方式,以便感谢。。。
1,第一个代码可以实现没有此图层可以自动建立一个图层,但是图层颜色是白色的,能否实现跟图片上一样建立的图层不同颜色。(能实现就不用复制模板了)
*2,两个代码哪个都行,能否实现空选时按1+空格改变当前层为“_1” (此功能已经实现) 。
选择图元后按1+空格,把图元变到"_1"图层,当前层不变。(_1是自己设置的图层名字)(需要这个功能)
感谢明经,感谢热心人士。。

sharetow 发表于 2019-12-13 18:56:04

命令:te;图层号0~254区间

(defun C:TE(/ dx aa a1)
(setq
    aa (getint "\n 输入图层号:")
    a1 (strcat "_" (itoa aa))
)
(if (not(tblobjname "layer" a1))
    (command "-layer" "n" a1 "C" aa a1 "L" "Continuous" a1 "LW" "0.25" a1 "")
)
(if(setq dx (cadr (ssgetfirst)))
    (command "Chprop" dx "" "LA" a1 "")
)
(princ)
)

296715530 发表于 2019-12-2 10:38:16

cqf1980 发表于 2019-12-2 10:31
选择图元后按1+空格,把图元变到"_1"图层,当前层不变。(_1是自己设置的图层名字)(需要这个功能)
第一 ...

这倒无所谓,建个模板复制粘贴就行了

cqf1980 发表于 2019-12-2 10:31:32

选择图元后按1+空格,把图元变到"_1"图层,当前层不变。(_1是自己设置的图层名字)(需要这个功能)
第一个代码可以实现。

就是新建图层时颜色是固定白色,能自定义颜色就完美了

296715530 发表于 2019-11-25 15:43:44

有好心人帮忙改下吗,可以留下联系方式详谈的

296715530 发表于 2019-11-25 20:26:52

wyl219 发表于 2019-11-25 22:17:56

本帖最后由 wyl219 于 2019-11-26 10:26 编辑

内容更新 编辑掉

296715530 发表于 2019-11-26 08:45:59

{:1_1:},,,,,,,,,,,,,,,,,,,,

love1030312 发表于 2019-11-26 16:13:43

楼主 做模型的???同行呀

296715530 发表于 2019-11-26 20:03:51

love1030312 发表于 2019-11-26 16:13
楼主 做模型的???同行呀

建筑沙盘画图,你也是干这个的吗

maiko 发表于 2019-11-26 20:21:26

我觉得楼主应该换过一个思路,先把图层建好再切换

296715530 发表于 2019-11-26 20:28:48

maiko 发表于 2019-11-26 20:21
我觉得楼主应该换过一个思路,先把图层建好再切换

是建好的,就用10个图层不到,别的图层都锁上的,用不着

296715530 发表于 2019-11-30 08:01:33

本帖最后由 296715530 于 2019-11-30 08:03 编辑

有大神帮忙吗,例如,空选时按1切换图层,选择图元时按1(而不是11)改变图元的图层,当前层不变,当前层不变,当前层不变。之前用某工具箱可以实现,换电脑还要注册,太麻烦了。
页: [1] 2 3
查看完整版本: 求大神修改一键切换图层代码(图层切换)(沙盘模型画图)