明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2010|回复: 9

做了一个改图层的命令,选择对象改到指定图层

[复制链接]
发表于 2019-7-6 10:17 | 显示全部楼层 |阅读模式
感觉没啥大用处,也许图层比较多,又懒得找可以试试这个,或者自己做了工具
这个可以方便集成进去。

(defun C:GTC()
(vl-load-com)
(print "\n请选择需要转换图层的对象:")
(setq ss (ssget))

(setq xx nil T_Nil t)

(while (eq t T_Nil)
  (setq xx (getstring "\n输入图层名字:"))
  (setq T_Nil (null (tblsearch "layer" xx)))
)

(setq n (sslength ss))
(setq i 0)
(while (< i n)
  (setq ent (ssname ss i))
  (setq        obj (vlax-ename->vla-object ent))
  (vla-put-Layer obj xx)
  (setq ent nil)
  (setq obj nil)
  (setq i (+ i 1)))
(princ))

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2019-8-19 14:51 | 显示全部楼层
谢谢分享 。 下载试试
发表于 2019-8-25 16:40 | 显示全部楼层
Thanks for sharing :*
发表于 2021-1-7 21:03 | 显示全部楼层
谢谢分享 。 下载试试
发表于 2021-3-23 17:13 | 显示全部楼层
(command "layer" "set" (cdr (assoc 8 (entget (car (entsel))))))直接将对象设为当前图层
发表于 2021-3-31 15:04 | 显示全部楼层
还不错,如能加上先选择对象,再输入图层就更好了
发表于 2021-8-5 11:07 | 显示全部楼层
k1nger 发表于 2021-3-23 17:13
(command "layer" "set" (cdr (assoc 8 (entget (car (entsel))))))直接将对象设为当前图层

这个命令要是能指定图层(不一定是当前图层)就简单明了
发表于 2021-8-9 13:48 | 显示全部楼层
定义两个变量,赋下值就可以
发表于 2021-8-13 11:04 | 显示全部楼层
(defun c:ccM (/ ss ent layr)
(princ "\移动到层目标层")
(setq ent (Cdr(Assoc 8 (Entget (Car(Entsel))))))
  (setq ss (ssget))
  (if ss
    (progn
      (vl-cmdf "CHANGE" ss "" "P" "LA" ent "");"WEDM"
    )
  )
  (princ)
)
发表于 2021-8-13 14:12 | 显示全部楼层
2496653555 发表于 2021-8-13 11:04
(defun c:ccM (/ ss ent layr)
(princ "\移动到层目标层")
(setq ent (Cdr(Assoc 8 (Entget (Car(Entsel) ...

(vl-cmdf "CHANGE" (ssget) "" "P" "LA" (Cdr(Assoc 8 (Entget (Car(Entsel))))))"") 这样应该也可以
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-19 20:02 , Processed in 0.228310 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表