乐筑天下

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

[编程交流] 在exis中插入“子”块

[复制链接]

7

主题

24

帖子

17

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 10:50:39 | 显示全部楼层 |阅读模式
你好
 
过去几天,我一直在努力实现以下目标:
 
我有一个现有的块定义(blockname可以是:“ParentBlock1”)在这个块中插入另一个块(blockname可以是“ChildBlockOld”)。在ParenBlock1的定义中,我想用ChildBlockNew替换childblockcold。
 
我有一些使用旧AutoLisp的经验,但我认为用于实体操作的“经典”函数无法完成这项工作。VisualLisp(vlax和vla-stuff)和object-apporach是未知领域。因此,我在网上搜索灵感,找到了2个visual lisp例程,似乎就是为了这个目的而做的(多亏了最初发布这些例程的人)
ax:deleteObjectFromBlock和
ax:AddObjectsToBlock
 
“Delete piece”工作正常,并从ParentBlock1中删除ChildBlockOld,但当我尝试添加ChildBlockNew时,会收到各种错误消息。
 
可能是我做错了什么,或者错过了显而易见的事情。
有谁熟悉这两个或类似的程序,将做的工作,可以引导我在正确的方向。
 
B、 R
卡斯滕
回复

使用道具 举报

48

主题

1073

帖子

1043

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
238
发表于 2022-7-6 11:03:15 | 显示全部楼层
我不知道如何使用LISP执行此操作,但在AutoCAD中,您只需要将新的定义文件插入到当前图形中。
 
-插入
childBlockCold=ChildBlockNew
 
当AutoCAD询问您是否要重新定义块时,您会说“是”,然后就完成了。
 
这样做可以保留原始块名,因此必须重命名它。
回复

使用道具 举报

7

主题

24

帖子

17

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 11:13:09 | 显示全部楼层
戴夫,
 
谢谢你的回复。
 
我听从了你的建议,但如果我正确地理解了这个特性,那就不完全是我想要的。
我的示例中的所有块定义都位于当前图形中,而不是来自单独的图形。dwg文件。此外,我想修改“parentBlock1”的定义(用ChildBlockNew替换“nested”或“inserted”ChildBlockOld),但我仍然想保持两个初始ChildBlock定义的形式不变。
我是不是错过了你提案中的一些内容?
 
BR
卡斯滕
回复

使用道具 举报

48

主题

1073

帖子

1043

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
238
发表于 2022-7-6 11:28:47 | 显示全部楼层
我的建议通过更改块内块的定义来修改parentBlock1。如果您想要ParentBlock1的集合,一些具有ChildBlockOld,一些具有ChildBlockNew,则无法使用标准块。您需要ParenBlock2或动态块。
 
但是,如果您希望所有ParentBlock1都包含ChildBlockNew,但仍保留两个子块,那么使用AutoCAD很容易,但超出了我的LISP能力。只需在BEDIT中打开ParentBlock1并在那里交换子块定义。
回复

使用道具 举报

7

主题

24

帖子

17

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 11:35:36 | 显示全部楼层
我正在寻找您回复中2个备选方案中的第二个(图形中所有ParentBlock1实例都应包含ChildBlockNew)。
我只是想看看区块编辑器,请原谅我的一个愚蠢的问题,但是如何从BEDIT内部“交换”2个子区块。
如果我得到了正确的命令,我可能能够通过lisp实现自动化(命令“something”…)功能。
 
卡斯滕
回复

使用道具 举报

48

主题

1073

帖子

1043

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
238
发表于 2022-7-6 11:45:25 | 显示全部楼层
擦除ChildBlockOld,插入ChildBlockNew
回复

使用道具 举报

7

主题

24

帖子

17

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 11:58:08 | 显示全部楼层
戴夫,
 
任务完成。非常感谢您不断的回复,让我走上了正确的轨道。很抱歉回复太晚,但我有几个小时没有上网了。
 
我是通过在块编辑器中启动lisp命令来实现的。
我真希望我三天前和你联系过,然后我就开始为这些vla(x)-的东西而挣扎,我必须承认这对我来说可能有点毛骨悚然:-)
 
卡斯滕
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 17:10 , Processed in 0.647113 second(s), 66 queries .

© 2020-2025 乐筑天下

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