乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 92|回复: 4

[编程交流] 将块复制到所有层

[复制链接]

8

主题

52

帖子

44

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 06:39:50 | 显示全部楼层 |阅读模式
大家好,
 
我很久没来这里了。希望你仍然像以前一样提供令人敬畏的支持。
 
无论如何,我想知道复制块的最快方法——比如说BLOCKX,并将其复制到所有现有层上——包括层0。
 
任何帮助都将不胜感激!
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:08:06 | 显示全部楼层
有COPYTOLAYER命令;或者你可以用这样的东西:
  1. (defun c:copy2lay ( / lal lan lay sel )
  2.    (if (ssget "_:L")
  3.        (progn
  4.            (while (setq lay (tblnext "LAYER" (null lay)))
  5.                (setq lal (cons (cdr (assoc 2 lay)) lal))
  6.            )
  7.            (vlax-for obj
  8.                (setq sel (vla-get-activeselectionset (vla-get-activedocument (vlax-get-acad-object))))
  9.                (setq lan (vla-get-layer obj))
  10.                (foreach lay lal
  11.                    (if (/= lay lan)
  12.                        (vla-put-layer (vla-copy obj) lay)
  13.                    )
  14.                )
  15.            )
  16.            (vla-delete sel)
  17.        )
  18.    )
  19.    (princ)
  20. )
  21. (vl-load-com) (princ)
回复

使用道具 举报

8

主题

52

帖子

44

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 07:17:59 | 显示全部楼层
谢谢你,李。我刚刚测试过。工作起来很有魅力。如果我需要指定块名,我不确定您将如何按自己的方式进行编码。“L”-我不熟悉这条捷径。无论如何,我插入了这段代码来指定块,它运行良好。
 
;(如果(ssget“_:L”)
(if(setq blk(ssget“x”(列表(cons 0“插入”)(cons 2“BLOCKX”)))
 
你的世界末日怎么样?希望一切顺利。一如既往,我们非常感谢您的帮助和支持!
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:39:01 | 显示全部楼层
 
太好了,不客气。
 
 
“:L”模式字符串排除锁定层上的对象;下划线前缀确保此模式字符串在AutoCAD的所有语言版本上都有效。
 
 
您也可以简单地使用:
  1. (if (ssget "_X" '((0 . "INSERT") (2 . "BLOCKX")))

 
由于程序通过ActiveX检索activeselectionset对象,因此不需要将初始选择集分配给变量;此外,过滤器列表中没有要计算的表达式,因此可以将其引用为文字列表。
 
但是,请注意,如果块的任何引用位于锁定层上,或者如果块是动态的,则经过修改后,程序将出错。
 
 
很好,谢谢,我希望你也一切顺利
回复

使用道具 举报

8

主题

52

帖子

44

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 07:50:14 | 显示全部楼层
谢谢你的解释,李!我会确保层没有被锁定,以防止发生任何错误。干杯
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-10 15:13 , Processed in 1.128558 second(s), 62 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表