ps,打个广告,如果是快速切换对象到指定的某几个图层的话,可以试试我发布的快速图层切换工具,里面有个简易版可以试试。 看看是不是这样的 多选试图层合并
http://bbs.mjtd.com/thread-91373-1-1.html 本帖最后由 namezg 于 2018-8-25 12:20 编辑
;将对象移动到指定层(多选),并使用指定层颜色,线型,线宽(也就是将对象匹配到指定层)
(defun c:ZG_LayMCH (/ ss en lay)
(setvar "cmdecho" 0)
(command "_undo" "be")
(princ "\n请选择要更改图层的对象: ")
(if (setq ss (ssget))
(progn
(if (setq en (car (nentsel "\n选择目标图层上的对象或 <当前层>:")))
(setq lay (cdr (assoc 8 (entget en))))
(setq lay (getvar "clayer"))
)
;(command "chprop" ss "" "la" lay "");仅改变图层,不理会颜色,线型,线宽
(command "chprop" ss "" "la" lay "color" "bylayer" "ltype" "bylayer" "lweight" "bylayer" "")
)
)
(command "_undo" "e")
(setvar "cmdecho" 1)
(princ)
) taoyi0727 发表于 2018-8-24 22:03
看看是不是这样的
哥们不行会报错 ,最后一步,过程是对的就是移不过去
没有问题呀
难到要在程序前面加一句 (vl-load-com)
我的没有加也能用 本帖最后由 namezg 于 2018-8-25 12:27 编辑
将我前面发的代码中的entsel改为了nentsel,支持块中对象。
vlax-ename->vla-object出错,你在代码最前面加上
(vl-load-com)试试
页:
1
[2]