关于VB中炸开块的问题!!
我的程序发下:Private Sub Command4_Click() <BR> For Each Ent In AcadDoc.ModelSpace<BR> If Ent.ObjectName = "AcDbBlockReference" Then<BR> ExpBlock Ent<BR> End If<BR> Next
End Sub
Sub ExpBlock(ByVal Temp1 As AcadBlockReference)<BR> Dim i, objs<BR> Temp1.Explode //这里报错!!!<BR> .......<BR>End Sub
高手都哪去了?怎么没人会啊? 很长时间没用VB了,把代码转到VBA里看看会不会出错,代码好像没什么问题,图形文件可以贴上看看么? 将ExpBlock中的ByVal变为ByRef试一试? 该代码在VBA中运行正常啊! 谢谢大家,我发现是图的原因,自己作个块就没事!!我的目的是把块打散,然后修改打散后的对象的属性,再重新组合成块,大家能提供一个思路吗!我刚这个不久! 修改块的属性不用打散,用GetAttributes 方法获取块的属性数组,再修改 我以前也试过GetAttributes ,发现返回的是空,而我打散后在Autocad里查看了该块有37个对象组成的!我现在要把这37个对象的图层全部改掉!! 高手帮忙啊!!这个东西搞了一个星期了,我都要自杀了! 倒
修改块引用对应的块定义
使用
for each i in thisdrawing.blocks(objblkref.name)
i.layer=sLayer
next i
页:
[1]
2