最近在自学CATIA VBA二次开发在使用Selection时,发现在选择几何图形集下的几何图形集时就报错,把子集拖到BODY下就可以正常运行,哪位可以帮帮我,非常感谢!
Sub catmain()
'Geometrical set 的选择
Dim iSelection
Set iSelection =CATIA.ActiveDocument.Selection
Dim iStatus, iType(0)
iType(0) = "HybridBody"
iStatus = iSelection.SelectElement2(iType,"选取所要球化的点所在的几何图形集", False)
If iStatus = "Redo" Or iStatus ="Undo" Or iStatus = "Cancel" Then
Exit Sub
End If
Dim iName, iHB, sHB
iName = iSelection.Item(1).Value.Name
Set iHB = CATIA.ActiveDocument.Part.HybridBodies.Item(iName)
Set sHB =CATIA.ActiveDocument.Part.HybridBodies.Add '===Geometrical set 的创建
sHB.Name ="globe weld"
Dim iHSF, iPoint, iSphere, iRadius
iRadius = "3"
Set iHSF =CATIA.ActiveDocument.Part.HybridShapeFactory
For Each iPoint In iHB.HybridShapes '===Geometrical set 的遍历
Set iSphere = iHSF.AddNewSphere(iPoint, Nothing, iRadius, -45, 45, 0,180)
iSphere.Limitation= 1
sHB.AppendHybridShape iSphere '===Geometrical set 中元素的插入
iSphere.Name = iPoint.Name
Next
iSelection.Clear
CATIA.ActiveDocument.Part.Update
End Sub
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
选择任何一个几何图像集都可以正常运行