lostbalance 发表于 2018-8-24 22:00:05

按照1楼的描述,就是把对象移动到指定对象的所在图层的话,AutoCAD自带的命令就可以实现,格式>图层工具>图层匹配,这个功能应该就是你要的效果。
ps,打个广告,如果是快速切换对象到指定的某几个图层的话,可以试试我发布的快速图层切换工具,里面有个简易版可以试试。

taoyi0727 发表于 2018-8-24 22:03:28

看看是不是这样的

669423907 发表于 2018-8-25 08:16:10

多选试图层合并
http://bbs.mjtd.com/thread-91373-1-1.html

namezg 发表于 2018-8-25 08:39:41

本帖最后由 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)
)

wushijieqw 发表于 2018-8-25 12:06:33

taoyi0727 发表于 2018-8-24 22:03
看看是不是这样的

哥们不行会报错 ,最后一步,过程是对的就是移不过去

taoyi0727 发表于 2018-8-25 12:16:38

没有问题呀

taoyi0727 发表于 2018-8-25 12:20:36

难到要在程序前面加一句 (vl-load-com)
我的没有加也能用

namezg 发表于 2018-8-25 12:21:05

本帖最后由 namezg 于 2018-8-25 12:27 编辑

将我前面发的代码中的entsel改为了nentsel,支持块中对象。
vlax-ename->vla-object出错,你在代码最前面加上
(vl-load-com)试试

liunian0524 发表于 2018-8-26 09:03:53


页: 1 [2]
查看完整版本: 求一个移动图层的外挂 有红包