cad在绘图过程中如何快速的切换图层。
通常各个公司或者个人都会有自己的一套标准图层。
切换图层一般都是点击图层下拉列表,然后选择图层。
但是这样做有时候因为图层太多,光找图层就要花点时间。
另外大家画图多了就会遇到有时候在点击图层的时候会有卡顿。
那么怎么能够快速的切换图层呢?
方法一:
下面为大家演示一下
本图体现了三个功能。
第一、原图中只有0图层,加载插件后,输入命令可以自动建立预设好的图层(包括颜色、线型)。
第二、输入命令后,空格两次(右键也可以),就把对应的图层置为当前图层。
第三、输入命令后,选中对象,就可以将对象图层改为对应图层,但当前图层不变。
配合数字键改对象颜色插件来使用,能够大大提升绘图效率。
下面是插件代码,大家可以根据自己的图层模板,设置常用图层切换快捷键。
代码如下:
(Defun C:AQ ()
(if (= (TBLOBJNAME “LAYER” “001-建筑-墙体”) nil)
(entmake (list
‘(0 . “LAYER”)
‘(100 . “AcDbSymbolTableRecord”)
‘(100 . “AcDbLayerTableRecord”)
‘(70 . 0)
‘(62 . 7)
(cons 2 “001-建筑-墙体”))))
(setq SS (ssget))
(if (/= ss nil)
(Command “CHANGE” SS “” “P” “la” “001-建筑-墙体” “”)
(setvar “clayer” “001-建筑-墙体”))
(princ)
)
这个插件有个弊端,如果我们的图层很多,那就需要设置很多的快捷命令一一对应我们的图层,这样就比较麻烦了。
那么就只设置几个我们需要经常用到的图层即可。
方法二:
或者将几个同类型的图层设置在一个快捷命令里,如下:图
可以按照自己的想法将同类图层整合在一个快捷键内,然后选择需要的图层。
代码如下:
(Defun C:JD (/ key lay ss)
(initget “1 2 3 4 5 6”)
(setq key (getkword “n选择图层[墙体粗线(1)/完成面中粗(2)/基层中细(3)/细线(4)/填充淡显(5)/尺寸细线(6)]:<基层中细>”))
(cond
((= key “1”)(setq lay “8-节点-墙体粗线”))
((= key “2”)(setq lay “8-节点-完成面中粗”))
((= key “3”)(setq lay “8-节点-基层中细”))
((= key “4”)(setq lay “8-节点-细线”))
((= key “5”)(setq lay “8-节点-填充淡显”))
((= key “6”)(setq lay “8-节点-尺寸细线”))
((= key nil)(setq lay “8-节点-基层中细”))
)
(prompt (strcat “***切换到【” lay “】”))
(if (= (TBLOBJNAME “LAYER” lay) nil)
(entmake (list ‘(0 . “LAYER”) ‘(100 . “AcDbSymbolTableRecord”) ‘(100 . “AcDbLayerTableRecord”) ‘(70 . 0) ‘(62 . 7)(cons 2 lay)))
)
(setq SS (ssget))
(if (/= ss nil)
(Command “CHANGE” SS “” “P” “la” lay “”)
(setvar “clayer” lay)
)
(princ)
)
最好的方法是建立个包含自己标准图层的模板,这样新建的文件都是已经包含了需要的图层,就可以用这个插件进行切换了。