有没有什么插件或者方法,能从CAD里复制的图到新的CAD里放在指定图层
有没有什么插件或者方法,能从CAD里复制的图到新的CAD里放在指定图层,或者0层的。每次粘图过来后,会带着很多新的图层,很杂乱,求各位大佬指点。先在原图上复制对象,修改好图层,再拷贝过去 这个功能确实好,我居然没想过,只是想到了合并.
流程如果是:记录一次本图全图图层,然后粘贴过来之后把全部改为0,再删除多余图层.那么,深度克隆会拷贝字典过来,会直接删除图层失败.
然后方案改为CAD官方的,
先把块拷贝到临时文件,改临时文件全部为0层,再粘贴. 不知道用dbx能行不。
可以写个插件,复制一遍选择集,将其改为0层,再剪切就OK了
本帖最后由 小王在学lisp 于 2024-12-17 11:30 编辑
D1选中对象复制到剪切板D2到其他位置粘贴到0层
(defun c:D1 (/ SS )
(setq SS (SSGET))
(command "COPY" SS "" "0,0" "0,0")
(command "chprop" SS "" "la" "0" "")
(command "_cutclip" SS "")
)
(defun c:D2 ( )
(command "_pasteclip")
)
感觉是问题没描述清楚,最简单的理解就是,选择要复制的内容,归0,打块,W另存到指定位置用指定名,另一个文档可插入指位置下的指定文件及内容,插入到指定点,再归层,结束。 基本可用,但没有考虑图块、属性块的情况,见笑:(defun c:fzcl( / ss i len ent)
(vl-load-com)
(setq ss (ssget))
(if ss
(progn
(setq i 0)
(setq len (sslength ss))
(repeat len
(setq ent (vlax-ename->vla-object (ssname ss i)))
(vla-put-layer ent "0") ;到0层
(setq i (+ 1 i))
)
(princ "改为0层已完成。")
(command "_copyclip" "p" "")
(princ (strcat "已复制"(itoa len)"个对象到剪贴板。"))
)
(princ "没有选择对象。")
)
(princ)
) 本帖最后由 小王在学lisp 于 2025-1-13 19:39 编辑
学的多就会的多 小王在学lisp 发表于 2024-12-16 09:42
D1选中对象复制到剪切板D2到其他位置粘贴到0层
(defun c:D1 (/ SS )
(setq SS (SSGET))
谢谢大哥,我试试
页:
[1]
2