明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2735|回复: 7

读取块参照中的对象是否只能用Explode方法

[复制链接]
发表于 2011-6-3 15:53:07 | 显示全部楼层 |阅读模式
请教:
1、图纸中定义了块A,块A中定义了多个多段线,VBA要取图纸中多个块A参数中的多段线坐标,是否只能取到一个块A的参照后,Explode再取出多个多段线对象的坐标。不Explode可以取得到不?
2、VBA中如何执行Undo。因为我目前的方法是采用了Explode,取到多段线坐标后,需要Undo回图纸的原始状态。(因为有多个块参照,所以用到了ThisDrawing.StartUndoMark和ThisDrawing.EndUndoMark)
发表于 2011-6-7 20:56:49 | 显示全部楼层
同问,希望高手解答,谢谢!
发表于 2011-9-20 14:48:17 | 显示全部楼层
好象对于块这个东西,高手还没有出现哦。我也是对这个块很茫然啊。正在学习这个块的操作。望高手解答,谢谢!
发表于 2013-7-23 22:19:29 | 显示全部楼层
不需要Undo,Explode后的实体在一对象数组里,而原块还在。你再对象数组里完成操作后删除对象数组就OK
发表于 2013-7-25 13:58:40 | 显示全部楼层
楼上正解。
发表于 2013-9-9 10:57:26 | 显示全部楼层
不需要,看这段
                For Each sub_Ent In ACADDoc.Blocks(Ent.Name)
      
                                   If sub_Ent.ObjectName = "AcDbBlockReference" Then
   
。。。。。。可以遍历块中的子块,当然也可以访问块中的其他图形对象,只要将sub_Ent.ObjectName 的值改一下即可。
发表于 2018-9-26 18:10:36 | 显示全部楼层
对象数组  新名词需要学习下
发表于 2019-2-8 06:37:35 | 显示全部楼层
For Each sub_Ent In ACADDoc.Blocks(Ent.Name)  这个可以
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 07:38 , Processed in 0.153086 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表