You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Catia V5宏获取坐标系所在零件的名称

嘿,我来帮你搞定这个问题!你已经通过搜索定位到了可见的坐标系,现在要自动获取它们所属的零件名称,完全不需要用户手动输入对吧?

解决方案:自动获取坐标系所属零件名称

你可以通过遍历选中的坐标系对象,逐层向上追溯它们的父级元素,最终找到对应的零件。这里给你修改并补充后的宏脚本:

'构建查询字符串
Dim sQuery
sQuery = "CatPrtSearch.AxisSystem.Visibility=Visible,all"
Dim Selection
Set Selection = CATIA.ActiveDocument.Selection
Selection.Search sQuery

'遍历选中的每个坐标系
Dim i As Integer
For i = 1 To Selection.Count
    Dim axisSys As Object
    Set axisSys = Selection.Item(i).Value
    
    '向上追溯找到所属的Part对象
    Dim parentObj As Object
    Set parentObj = axisSys.Parent
    Do While Not TypeName(parentObj) = "Part"
        Set parentObj = parentObj.Parent
    Loop
    
    '输出零件名称(你也可以把这个名称存到变量里做后续处理)
    MsgBox "坐标系" & i & "所属零件名称:" & parentObj.Name
Next i

关键逻辑说明:

  • axisSys.Parent:先获取坐标系的直接父对象(可能是几何集、零件本体这类层级元素)
  • Do While循环:持续向上遍历父对象,直到找到类型为Part的对象——这就是坐标系所属的零件
  • parentObj.Name:提取零件的名称,你可以根据需求把它存进数组、写入文件,或者集成到其他自动化流程里

整个过程完全不需要用户介入,脚本会自动处理所有找到的可见坐标系,并输出对应的零件名称。

内容的提问来源于stack exchange,提问作者XanderVreeswijk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 22:02:40