在CAD中使用VBA如何获取代理图形中的信息
在CAD中,因为有用到一些第三方软件,图纸的图框和明细栏全部是代理图形,有点像块的形式,但又不是块。如果使用VBA的话,不知如何去获取其中的信息,比如图框中的信息(比例、...
在CAD中,因为有用到一些第三方软件,图纸的图框和明细栏全部是代理图形,有点像块的形式,但又不是块。如果使用VBA的话,不知如何去获取其中的信息,比如图框中的信息(比例、图幅、设计者、审核者),比如明细栏中的信息(件号对应的名称、图号、重量等)。
'--------此部份用于建立选择集
If Not IsNull(ThisDrawing.SelectionSets.Item("Example")) Then
Set SSlect = ThisDrawing.SelectionSets.Item("Example")
SSlect.Delete
End If
Set SSlect = ThisDrawing.SelectionSets.Add("Example")
SSlect.Select acSelectionSetAll
'--------
'--------此部份用于判断是否为代理图形框,如果是的话将其分解
For Each element In SSlect
If element.ObjectName = "AcDbZombieEntity" Then
element.Explode
End If
Next
'--------这一部份出错,不知道应该是怎么写这一部份的代码,element.Explode没有这个方法,不知道该怎么处理。另外,AcDbZombieEntity是我将图纸的除代理图形以外的所有内容都删除后,监视element.ObjectName的值后发现的。但不知道AcDbZombieEntity是什么意思,可以这样用来判断是否代理图形吗? 展开
'--------此部份用于建立选择集
If Not IsNull(ThisDrawing.SelectionSets.Item("Example")) Then
Set SSlect = ThisDrawing.SelectionSets.Item("Example")
SSlect.Delete
End If
Set SSlect = ThisDrawing.SelectionSets.Add("Example")
SSlect.Select acSelectionSetAll
'--------
'--------此部份用于判断是否为代理图形框,如果是的话将其分解
For Each element In SSlect
If element.ObjectName = "AcDbZombieEntity" Then
element.Explode
End If
Next
'--------这一部份出错,不知道应该是怎么写这一部份的代码,element.Explode没有这个方法,不知道该怎么处理。另外,AcDbZombieEntity是我将图纸的除代理图形以外的所有内容都删除后,监视element.ObjectName的值后发现的。但不知道AcDbZombieEntity是什么意思,可以这样用来判断是否代理图形吗? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询