zhuxuhong 发表于 2005-6-12 08:09:00

[VBA]为什么不能炸开?

<TABLE height="100%">
<TBODY>
<TR>
<TD colSpan=2><FONT id=text1 style="FONT-SIZE: 10pt" face="宋体,verdana, arial, helvetica">为什么不能炸开?<BR><BR>Dim DwgBlock As AcadBlockReference<BR>Dim insertionPnt(0 To 2) As Double<BR><BR>ThisDrawing.Application.Documents.Open (Text3.Text)<BR><BR>Set DwgBlock = Nothing<BR>'''插入点<BR>insertionPnt(0) = 0#: insertionPnt(1) = 0#: insertionPnt(2) = 0#<BR>Set DwgBlock = ThisDrawing.ModelSpace.InsertBlock(insertionPnt, Text4.Text, 1#, 1#, 1#, 0)<BR><BR>DwgBlock.Explode<BR>''''''''''''DwgBlock并没被炸开<BR><BR>ZoomExtents<BR>ThisDrawing.Save<BR><BR>为什么将一幅图插入另一幅图时无法炸开?</FONT> </TD></TR>
<TR>
<TD vAlign=bottom colSpan=2><BR></TD></TR></TBODY></TABLE>

zhang007 发表于 2005-6-12 11:05:00

<FONT size=2>''''''''''''DwgBlock已经被炸开了,加上一句DwgBlock.Delete</FONT>

zhuxuhong 发表于 2005-6-12 12:32:00

我这样试了,图块上的属 性丢失了,线段上的倒还在。

mccad 发表于 2005-6-12 15:30:00

通过程序炸开的块跟在界面上直接炸开有区别,通过VBA炸开,则是另外产生炸开后的图元,而要炸开的块还是存在,所以必须通过程序删除它。<BR>对于属性块炸开,则属性会变成属性定义,而属性显示的值会变回属性标签。<BR>所以必须在炸开前取得属性值,炸开后用该值替换属性标签的内容。

zhuxuhong 发表于 2005-6-13 11:46:00

谢谢mccad,我再试试

wyj7485 发表于 2005-6-13 12:12:00

既是属性块,又何必要炸开呢?可以做成不带属性的块,这样就不会出现此问题.
页: [1]
查看完整版本: [VBA]为什么不能炸开?