天蝎座的兔子 2022-05-03 07:22
浏览 198
已结题

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

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

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

展开全部

  • 写回答

0条回答 默认 最新

      编辑
      预览

      报告相同问题?

      问题事件

      • 系统已结题 5月10日
      • 创建了问题 5月3日
      手机看
      程序员都在用的中文IT技术交流社区

      程序员都在用的中文IT技术交流社区

      专业的中文 IT 技术社区,与千万技术人共成长

      专业的中文 IT 技术社区,与千万技术人共成长

      关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

      关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

      客服 返回
      顶部