明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1424|回复: 7

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

[复制链接]
发表于 2014-10-29 09:10:17 | 显示全部楼层 |阅读模式
各位好!

       在AutoCAD里面有个操作是对“块”进行分解(或者叫炸开),可以把块分解成基本的图形元素。

        我用程序出入了块,然后用程序把“块”分解,可是出问题了,现在感觉是程序把“块”复制了之后分解的。图形上除了分解后的图形元素外,还重叠了原来的“块”。

        我用了VBA里的explode和ARX中的ExplodeToOwnerSpace,结果都是一样的。

         这个该怎么处理啊!求指教。

         谢谢啊!
发表于 2014-10-29 10:20:45 来自手机 | 显示全部楼层
把原来的块删了不就完事?
发表于 2014-10-29 10:23:24 | 显示全部楼层
你说的块是块记录还是块参考?
发表于 2014-10-29 10:26:59 | 显示全部楼层
我猜你说的是块参考,
ARX 方法的话应该只是生成新的图形实体,甚至没有提交到数据库,对原来的块参考是不动的
VBA 方法则应该是块参考不再存在,生成新的实体
 楼主| 发表于 2014-10-29 10:40:12 | 显示全部楼层
sieben 发表于 2014-10-29 10:26
我猜你说的是块参考,
ARX 方法的话应该只是生成新的图形实体,甚至没有提交到数据库,对原来的块参考是不动的 ...

感谢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
结果还是一样的。
什么问题啊?
我的目的就是像菜单里的功能那样,炸开就行,还请指点。
发表于 2014-10-29 10:51:40 | 显示全部楼层
fatkids 发表于 2014-10-29 10:40
感谢sieben。
你说得对,是BlockReference。
arx中,我用                  Dim BlkRef As BlockRefere ...

VBA我不熟悉,印象中应该和COM方法一样其情况和菜单操作是很类似的,
不过就如二楼朋友说的一样,假如块参考还在,你把它删除不就可以了吗?
 楼主| 发表于 2014-10-29 11:17:52 | 显示全部楼层
本帖最后由 fatkids 于 2014-10-29 11:36 编辑
wangshuping42 发表于 2014-10-29 10:20
把原来的块删了不就完事?


感谢回复!

 楼主| 发表于 2014-10-29 11:25:18 | 显示全部楼层
本帖最后由 fatkids 于 2014-10-29 11:36 编辑
sieben 发表于 2014-10-29 10:51
VBA我不熟悉,印象中应该和COM方法一样其情况和菜单操作是很类似的,
不过就如二楼朋友说的一样,假如块参考 ...


谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 12:54 , Processed in 0.177248 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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