autocad2007层合并

近期关于autocad2007层合并的讨论热度持续攀升 ,我们通过多方渠道收集整理了相关资讯,并进行了系统化的梳理 。若这些内容恰好能为您提供参考,将是我们最大的荣幸。

AutoCAD合并图层命令laymrg

如果图纸用参照方法导入图元 ,图层名称会有$这样的内容添加 ,会造成图层很多的情况,如果把$后面名称相同的图层合并,手动的话就比较麻烦。

要合并相同后缀的图层 ,可以使用程序来解决,autolisp代码如下:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;一键所有图层去除#及$前缀的命名;;;;

(defun c:tes ( / ss5)

(setvar "cmdecho" 0)

(setvar "blipmode" 0)

(if (null vlax-dump-object) (vl-load-com) )

(setq ss5 (x1812031));检查图层是否有冻结,锁定或者关闭

(s1811301);修改图层名称

(if (car ss5) (x1812032 ss5) );还原图层

(princ)

)

;取得所有图层名称

(defun w1810232 (doc / doc lay obj ss tc)

(setq lay (vla-get-layers doc) ss '())

(vlax-for obj lay

(setq tc (vla-get-name obj));取得图层名称

(setq ss (cons (list tc obj) ss))

)

ss

)

;修改图层名称

(defun s1811301 ( / doc n obj s2 ss1 ss2 ss3 ss4 ss5 tc1 tc2 x y)

(setq doc (vla-get-activedocument (vlax-get-acad-object));取得当前所有对象集合

msp (vla-get-ModelSpace doc);取得模型空间

;ss1 (s1811302 doc msp);取得所有对象

ss2 (w1810232 doc);图层集合

ss3 (mapcar 'strcase (mapcar 'car ss2));图层名称集合

;tc1 (getvar "clayer");取得当前图层名称

)

;(if (or (vl-string-search "\#" tc1 0) (vl-string-search "$" tc1 0)) (setvar "clayer" "0") );如果当前图层需要修改 ,就转换图层为"0"

(setvar "clayer" "0")

(while (setq s2 (car ss2));处理图层

(setq ss2 (cdr ss2) tc1 (car s2) tc2 tc1 obj (cadr s2))

(while (vl-string-search "\#" tc2 0) (setq tc2 (vl-string-subst "" "\#" tc2)));处理有#的图层名称

(while (setq n (vl-string-search "$" tc2 0)) (setq tc2 (substr tc2 (+ 2 n))));处理有$的图层名称

;(while (setq n (vl-string-search "A-" tc2 0)) (setq tc2 (substr tc2 (+ 3 n))));处理有A-的名称

(if (= tc2 "") (setq tc2 "0") );如果是空就修改图层为"0"

(if (/= tc2 tc1);如果名称发生变化

(progn;;1

(if (member (strcase tc2) ss3);2;如果已经有这个图层名称

?(progn;;2

? (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-delete (list obj)));删除这个图层

(progn

(vl-catch-all-apply 'vl-cmdf (list "laymrg" "N" tc1 "" "N" tc2 "Y"))

;(Command "laymrg" "N" tc1 "" "N" tc2 "Y");如果图层不能删除就合并

)

? );if;4

?);progn;2-1

?(progn;;2-2

? (if (null (vl-catch-all-error-p (vl-catch-all-apply 'vla-put-name (list obj tc2))));如果没有相同命名的图层就改变图层名称

(setq ss3 (cons (strcase tc2) ss3))

? );if;3

?);progn;2-2

);if;2

);progn;1

);if;1

);while

)

;还原图层状态

(defun x1812032 (ss / ss x y)

(setq ss (vl-remove-if '(lambda (x) (vlax-erased-p (cadr x))) ss));排除已经删除的图层

(mapcar '(lambda (y) (vla-put-lock y :vlax-true));锁定

(mapcar 'cadr (vl-remove-if-not '(lambda (x) (= (car x) 1)) ss))

)

(mapcar '(lambda (y) (vla-put-Freeze y :vlax-true));冻结

(mapcar 'cadr (vl-remove-if-not '(lambda (x) (= (car x) 2)) ss))

)

(mapcar '(lambda (y) (vla-put-LayerOn y :vlax-false));关闭

(mapcar 'cadr (vl-remove-if-not '(lambda (x) (= (car x) 3)) ss))

)

)

;;提取图层状态

(defun x1812031 ( / lay ss)

(setq ss '())

(vlax-for lay (vla-get-layers (vla-get-activedocument? (vlax-get-acad-object)))

(if (= (vla-get-lock lay) :vlax-true);如果图层锁定

(progn

(vla-put-lock lay :vlax-false) ;解锁

(setq ss (cons (list 1 lay) ss))

)

)

(if (= (vlax-get-property lay "Freeze") :vlax-true);冻结

(progn

(vla-put-Freeze lay :vlax-False);解冻

(setq ss (cons (list 2 lay) ss))

)

)

(if (= (vlax-get-property lay "LayerOn") :vlax-false);关闭

(progn

(vla-put-LayerOn lay :vlax-true);打开

(setq ss (cons (list 3 lay) ss))

)

)

)

ss

)

;;;;;;;;;;;;;;;;;;;;;;程序结束;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;复制以上代码,粘贴到记事本,以.lsp为后缀命名 ,在CAD里面,appload命令添加到启动组,输入命令TES ,就可以一键合并图层,TES命令可以自己修改 。

1 、打开CAD2007版本 。

2、打开CAD后,画一个连续的线。

3、画好线后 ,输入命令PE ,按空格键确定。

4 、确定PE命令后,输入Y确定转换为多段线 。

5 、输入Y后,点击合并或者输入J。

6、点击合并后 ,选择对象,然后按空格键确定。

7、按空格键确定命令后,就合并为多段线了 。

关于autocad2007层合并的相关内容介绍到此告一段落 ,若这些信息对您有所启发,欢迎持续关注本站获取更多优质内容。

本文来自作者[稍册]投稿,不代表亚当斯立场,如若转载,请注明出处:https://www.vydsckz.cn/news/1392.html

(17)

文章推荐

  • 赚钱方法(赚钱方法学生党真实有效)

    文章一览:㊀、在家赚钱的10种方法,总有一个适合你㊁、教你如何在家里赚钱的16种方法㊂、有什么能网上赚钱的方法㊃、十五个偏门赚钱的方法㊄、商业模式27种赚钱方法在家赚钱的10种方法,总有一个适合你在家赚钱的工作有很多种,以下是十种可能适合你的方法:博客或网站广告简

    2025年09月07日
    43322
  • 电话充值Q币的电话号码是什么?

    网上有关“电话充值Q币的电话号码是什么?”话题很是火热,小编也是针对电话充值Q币的电话号码是什么?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。拨打电话充值Q币热线深圳是16885885北京市的是11697999,95001119,96001119

    2025年09月19日
    20304
  • 等边三角形边长公式是什么-

    网上有关“等边三角形边长公式是什么?”话题很是火热,小编也是针对等边三角形边长公式是什么?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。等边三角形边长公式:C=3a。等边三角形三个内角都相等,有一个内角是60度的等腰三角形,三边相等,两个内角为60度的三角形

    2025年09月19日
    21305
  • 从开始划右派到平反是什么时间

    网上有关“从开始划右派到平反是什么时间”话题很是火热,小编也是针对从开始划右派到平反是什么时间寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。1957年4月,6月8日中共中央发出《关于组织力量准备反击右派分子进攻的指示》。《人民日报》也发表了《这是为什么?》的

    2025年09月19日
    26310
  • larva是什么意思

    近期关于larva是什么意思的讨论热度持续攀升,我们通过多方渠道收集整理了相关资讯,并进行了系统化的梳理。若这些内容恰好能为您提供参考,将是我们最大的荣幸。larva意思是:幼虫?;爆笑虫子?;虫子?;臭屁虫?;拉尔瓦?;寄生幼虫。近义词:n.nitnympha。同根词:词根:larva。

    2025年09月21日
    20302
  • 晶方科技股票,晶方科技股票是做什么的

    文章一览:㊀、晶方科技股票值得买吗㊁、晶方科技是国产替代半导体芯片龙头股票㊂、300130股票_603005晶方科技㊃、st股票能买吗(晶方科技)晶方科技股票值得买吗晶方科技股票是否值得购买不能简单判定。一方面,晶方科技是半导体行业的重要企业。半导体行业发展前景广阔,随着科

    2025年09月28日
    19322
  • 什么是债券型基金概念 什么是债券型基金

    文章一览:㊀、什么叫债券型基金㊁、什么是债券型基金㊂、债券型基金是什么意思什么叫债券型基金㊀、债券型基金是指基金资产80%以上投资于债券(国债、金融债和企业债等)的基金。以下是关于债券型基金的详细解释:债券型基金的分类纯债型基金:主要投资于债券,不参与股票市场投资。偏债型基金:

    2025年10月03日
    19300
  • 为什么都不建议买GS8

    关于为什么都不建议买GS8的讨论正在各大平台持续发酵,我们精心筛选了最新资讯,希望能为您带来实质性的帮助。为什么都不建议买帝豪GL在中国卖得最红的车系当属紧凑SUV,由于这个车的室内空间足够,而且价钱也可以让绝大多数家中所接纳。在其中好意头

    2025年10月03日
    23317
  • 沙钢股份股票!联想词}

    文章一览:㊀、沙刚股票费用㊁、数据中心概念股有哪些?㊂、钢筋股票有哪些龙头股㊃、钢铁概念股龙头股㊄、31只资金净流入达3亿以上名单一览,股性活跃!电子行业深受追捧沙刚股票费用已知收盘价数据2025年9月26日收盘价沙钢股份股票:根据公开信息沙钢股份股票,沙钢股份(00

    2025年10月12日
    19313
  • 炒股的术语有哪些

    炒股的术语有哪些炒股的术语有哪些相关话题近期引发广泛关注,我们特别整理了多维度信息,希望能为您提供有价值的参考。一、股票的具体概念股票:股票是股份证书的简称,是股份公司为筹集资金而发行给股东作为持股凭证并借以取得股息和红利的一种有价证券。每股股票都代表股东对企业拥有一个基本单位的所有权。股票是

    2025年11月27日
    17300

发表回复

本站作者才能评论

评论列表(3条)

  • 稍册的头像
    稍册 2025年12月06日

    我是亚当斯的签约作者“稍册”

  • 稍册
    稍册 2025年12月06日

    本文概览:近期关于autocad2007层合并的讨论热度持续攀升,我们通过多方渠道收集整理了相关资讯,并进行了系统化的梳理。若这些内容恰好能为您提供参考,将是我们最大的荣幸。AutoCA...

  • 稍册
    用户120602 2025年12月06日

    文章不错《autocad2007层合并》内容很有帮助

联系我们

邮件:亚当斯@gmail.com

工作时间:周一至周五,9:30-17:30,节假日休息

亚当斯