如何快速变换到指定图层?
本帖最后由 szxgsh 于 2016-2-19 15:26 编辑如题,如何快速变换到指定图层?
有这样一个需求:
画图过程中,经常碰到图层切换问题,有时候图层列表里图层太多,寻找好困难。
比如当前层是:
层名:345;
线型:dash
颜色 :8
我想去另外一个层:
层名:369
线型:hidden
颜色 :3
想实现这样一个功能,输入命令:1a,立即将369改为当前层,这里有个问题,如果当前图没有这个图层,要按上述369的图层设置,生成一个新的图层,然后再改369为当前层。
===============================
我在网上找到一个类似的,不会修改:
;;;;;;;;;尺寸线归为DIM层
(defun hh:dim(/ ss)
(command "layer" "make" "DIM" "Color" 3 "" "")
(setq ss (ssget "X" '((0 . "DIMENSION"))))
(command "Chprop" ss "" "layer" "DIM" "")
)
;;;;;;;;;尺寸线归为DIM层
===============================
弱弱的问一下,hh:dim,中的冒号是干嘛的?
命令: -LAYER
当前图层:0
输入选项 [?/生成(M)/设置(S)/新建(N)/重命名(R)/开(ON)/关(OFF)/颜色(C)/线型(L)/线宽(LW)/透明度(TR)/材质(MAT)/打印(P)/冻结(F)/解冻(T)/锁定(LO)/解锁(U)/状态(A)/说明(D)/协调(E)]: M
输入新图层的名称 (成为当前图层) <0>: 1
输入选项 [?/生成(M)/设置(S)/新建(N)/重命名(R)/开(ON)/关(OFF)/颜色(C)/线型(L)/线宽(LW)/透明度(TR)/材质(MAT)/打印(P)/冻结(F)/解冻(T)/锁定(LO)/解锁(U)/状态(A)/说明(D)/协调(E)]:
Linhay 发表于 2016-2-19 12:09 static/image/common/back.gif
命令: -LAYER
当前图层:0
输入选项 [?/生成(M)/设置(S)/新建(N)/重命名(R)/开(ON)/关(OFF)/颜色(C)/线型 ...
这个不科学,有些图层名是很怪的名字,或者特别长,那还不如直接去菜单去找。
意思是,我输入1a,就能直接去那个层。简单高效 ;;;更改当前图层为所选物体所在的图层
(defun c:as (/ ent entlay err old-osmode old-ortho old-cmdecho)
(setvar "cmdecho" 0)
(setvar "errno" 0)
(setq ent (entsel "\n选择一个对象,将其所在的图层设置为当前图层 :"))
(setq err (getvar "errno"))
(while (/= err 52)
(if (= err 7)
(progn
(setvar "errno" 0)
(setq ent (entsel "没有选中.\n选择一个对象,将其所在的图层设置为当前图层 :"))
(setq err (getvar "errno"))
)
(setq err 52)
)
)
(if (= (getvar "errno") 52)
(exit)
)
(setq entlay (cdr (assoc 8 (entget (car ent)))))
(command "_.layer" "set" entlay "")
(princ)
) chg 发表于 2016-2-19 12:38 static/image/common/back.gif
;;;更改当前图层为所选物体所在的图层
(defun c:as (/ ent entlay err old-osmode old-ortho old-cmdecho) ...
这个也不是我的诉求。我改变层的时候,不用点一个物体来改当前层,是先搜索当前图有没有,如果没用要自己生成一个。 szxgsh 发表于 2016-2-19 13:06 static/image/common/back.gif
这个也不是我的诉求。我改变层的时候,不用点一个物体来改当前层,是先搜索当前图有没有,如果没用要自己 ...
别人怎么知道你要切换到那一个图层去?叫你输入图层名你嫌麻烦,叫你点取你说可能没有,程序知道你想切换到一个你臆想的图层去?你说你怎么给出要切换的图层名?无非是输入或选取。简直无理取闹
陈进佳 发表于 2016-2-20 17:14 static/image/common/back.gif
别人怎么知道你要切换到那一个图层去?叫你输入图层名你嫌麻烦,叫你点取你说可能没有,程序知道你想切换 ...
你理解错了,我只是要高手们提供一个样板,比如图层1,然后我自己去定义很多层。然后才可以用命令去到指定的图层。我们的图层有200多个,用鼠标去选,会比较浪费时间。
已经找人解决了。谢谢大家关心。
页:
[1]