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

如何识别CATIA当前编辑模式下的PART(非实例)

在CATIA装配环境中获取当前激活的PART对象

在Product装配环境下激活PART进行编辑时,要获取对应的PART对象(而非Component实例),可以通过CATIA的Editor对象直接实现:

解决方案代码(VBA)

Sub GetActiveEditingPart()
    Dim catia As Application
    Dim activeProductDoc As ProductDocument
    Dim activePart As Part
    
    Set catia = CATIA
    Set activeProductDoc = catia.ActiveDocument
    
    ' 判断当前编辑对象是否为PART
    If TypeName(activeProductDoc.Editor.ActiveObject) = "Part" Then
        Set activePart = activeProductDoc.Editor.ActiveObject
        ' 输出激活PART的名称,验证结果
        Debug.Print "当前激活的PART: " & activePart.Name
        
        ' 此处可添加实体创建/编辑操作,示例:基于草图创建凸台
        ' Dim body As Body
        ' Set body = activePart.MainBody
        ' Dim pad As Pad
        ' Set pad = body.Pad(body.Shapes.Item("Sketch.1"), 10)
    Else
        MsgBox "当前未激活任何PART进行编辑"
    End If
End Sub

关键说明

  • 在装配环境中双击PART进入编辑模式后,activeProductDoc.Editor.ActiveObject会直接返回该PART的根对象,而非Product结构中的Component实例。
  • 该方法可精准区分实例与PART本体,完全适配后续实体创建、编辑的操作需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 20:04:55