fatkids 发表于 2014-10-29 09:10:00

菜鸟求教:关于块分解的问题?

各位好!
       在里面有个操作是对“块”进行分解(或者叫炸开),可以把块分解成基本的图形元素。
      我用程序出入了块,然后用程序把“块”分解,可是出问题了,现在感觉是程序把“块”复制了之后分解的。图形上除了分解后的图形元素外,还重叠了原来的“块”。
      我用了VBA里的explode和ARX中的ExplodeToOwnerSpace,结果都是一样的。
         这个该怎么处理啊!求指教。
         谢谢啊!

wangshuping42 发表于 2014-10-29 10:20:00

把原来的块删了不就完事?

sieben 发表于 2014-10-29 10:23:00

你说的块是块记录还是块参考?

sieben 发表于 2014-10-29 10:26:00

我猜你说的是块参考,
ARX 方法的话应该只是生成新的图形实体,甚至没有提交到数据库,对原来的块参考是不动的
VBA 方法则应该是块参考不再存在,生成新的实体

fatkids 发表于 2014-10-29 10:40:00


感谢sieben。
你说得对,是BlockReference。
arx中,我用                  Dim BlkRef As BlockReference = ent ' trans.GetObject(ID, OpenMode.ForWrite)
                        BlkRef.ExplodeToOwnerSpace()
就像你说的,块参照是不动的,还在那里。
VBA中,我用Dim ddd As AcadObject
      For Each ddd In acadDoc.ModelSpace
                     ddd.explode()
      Next
结果还是一样的。
什么问题啊?
我的目的就是像菜单里的功能那样,炸开就行,还请指点。

sieben 发表于 2014-10-29 10:51:00


VBA我不熟悉,印象中应该和COM方法一样其情况和菜单操作是很类似的,
不过就如二楼朋友说的一样,假如块参考还在,你把它删除不就可以了吗?

fatkids 发表于 2014-10-29 11:17:00


感谢回复!

fatkids 发表于 2014-10-29 11:25:00


谢谢!
页: [1]
查看完整版本: 菜鸟求教:关于块分解的问题?