最近在自学CATIA VBA二次开发在使用Selection时,发现在选择几何图形集下的几何图形集时就报错,求解答

最近在自学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

运行结果及报错内容

img

img

我的解答思路和尝试过的方法
我想要达到的结果

选择任何一个几何图像集都可以正常运行