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://m.vydsckz.cn/news/1392.html

(18)

文章推荐

  • 六年级语文《少年闰土》教案

    网上有关“六年级语文《少年闰土》教案”话题很是火热,小编也是针对六年级语文《少年闰土》教案寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。《少年闰土》这篇文章是小说《故乡》中一段插叙,题目《少年闰土》是选入语文书后后加的,节选出来的章节所表现的中心思想与《故

    2025年09月04日
    24304
  • 华硕K42系列一共有几个不同的型号-具体有哪些?

    网上有关“华硕K42系列一共有几个不同的型号?具体有哪些?”话题很是火热,小编也是针对华硕K42系列一共有几个不同的型号?具体有哪些?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。K42DE(14")-AAMD+ARX881M+SB820

    2025年09月13日
    19321
  • 九阳电磁炉价格表及推荐

    网上有关“九阳电磁炉价格表及推荐”话题很是火热,小编也是针对九阳电磁炉价格表及推荐寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。电磁炉是现在厨房必备的电器之一,但是在众多的电磁炉品牌中,九阳电磁炉一直是销量和口碑俱佳的品牌。消费者最大的疑虑是:“九阳电磁炉到

    2025年09月14日
    24314
  • 001417基金,基金001419

    文章一览:㊀、001417天天基金㊁、001417_600865㊂、[copycat]001417㊃、股票000697_汇添富医疗基金001417001417天天基金㊀、天天基金即信达澳银新能源产业股票基金的相关信息如下:基金代码与类型:信达澳银新能源产业股票基金的代码是0

    2025年09月15日
    25310
  • 玻璃机身手机优缺点你知道吗?

    网上有关“玻璃机身手机优缺点你知道吗?”话题很是火热,小编也是针对玻璃机身手机优缺点你知道吗?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。随着手机市场的不断革新,玻璃材质的手机后壳已经被大批量使用在手机上玻璃后壳和金属后壳本身是没有可比性的,两者各有所长,

    2025年09月17日
    27305
  • 报影视剪辑培训班多少学费

    关于报影视剪辑培训班多少学费的讨论正在各大平台持续发酵,我们精心筛选了最新资讯,希望能为您带来实质性的帮助。报影视剪辑培训班的学费因课程级别、内容以及培训机构的不同而有所差异,大致范围在3000元至30000元之间。具体学费还需根据所选课程和培训机构进行详细咨询。在当今数字化时代,影视剪辑已成为一

    2025年10月03日
    22306
  • 600497股票(600497股票走势图)

    文章一览:㊀、600497前十股东㊁、600497-我看走眼-却没犯错㊂、驰宏锌锗600497的股票怎么样?我很想买600497前十股东截至2023年9月30日,六国化工(600497)的前十股东信息如下:铜陵化学工业集团有限公司:持股比例172%,是公司的控股股东。铜陵化学工业

    2025年10月07日
    20307
  • 利尔化学股票(利尔化学股票代码)

    文章一览:㊀、利尔化学股票现在能入手吗,和之前相比费用如何㊁、利尔化学股吧,利尔化学最新动态及股票分析㊂、关于002258利尔化学股票的信息利尔化学股票现在能入手吗,和之前相比费用如何利尔化学股票是否能入手不能简单判定,需多方面考量。其股价和之前相比也处于动态变化中。首先,要考虑

    2025年10月14日
    14310
  • 有哪些东西台湾人跟咱们的叫法不同?

    近期关于有哪些东西台湾人跟咱们的叫法不同?的讨论热度持续攀升,我们通过多方渠道收集整理了相关资讯,并进行了系统化的梳理。若这些内容恰好能为您提供参考,将是我们最大的荣幸。台湾叫保全.国内叫保安国内叫视频.台湾叫视讯台湾叫光碟.国内叫光盤国内叫U盤.台湾叫随身碟台湾叫印表机.国内叫打印机国内叫数码.台

    2025年10月16日
    18300
  • 什么是基金的净值?基金净值的意思

    文章一览:㊀、基金的净值是什么意思㊁、基金中的净值什么意思㊂、什么叫基金净值?㊃、什么是基金的净值㊄、基金里的净值什么意思㊅、基金净值是什么意思?基金的净值是什么意思基金单位(份额)净值,指每份额基金在某日的价值。它是通过将基金的净资产除以基金总份额得出的。每个

    2025年10月22日
    19321

发表回复

本站作者才能评论

评论列表(3条)

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

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

  • 稍册
    稍册 2025年12月06日

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

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

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

联系我们

邮件:亚当斯@gmail.com

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

亚当斯