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

如何通过CATIA VBA获取选定产品质量并弹窗显示?

在CATIA VBA中获取产品质量的实现方法

CATIA VBA有直接获取产品质量的方法,核心是通过Product对象的GetTechnologicalObject("Mass")方法获取质量技术对象,再读取其Mass属性值。

以下是满足需求的完整宏代码,运行后会让你选择目标产品,最终弹出消息框显示质量:

Sub GetProductMass()
    Dim objSel As Selection
    Dim targetProduct As Product
    Dim massObj As AnyObject
    Dim productMass As Double
    
    ' 获取当前选择对象
    Set objSel = CATIA.ActiveDocument.Selection
    
    ' 提示用户选择产品
    objSel.Clear
    If objSel.SelectElement2("请选择目标产品", "产品", False) = False Then
        MsgBox "未选择任何产品,宏已退出。", vbExclamation
        Exit Sub
    End If
    
    ' 确认选择的是Product对象
    Set targetProduct = objSel.Item(1).Value
    
    ' 获取质量技术对象
    On Error Resume Next
    Set massObj = targetProduct.GetTechnologicalObject("Mass")
    On Error GoTo 0
    
    If massObj Is Nothing Then
        MsgBox "无法获取该产品的质量信息,请检查产品是否已定义材料或完成质量计算。", vbCritical
        Exit Sub
    End If
    
    ' 确保质量数据是最新的(强制更新)
    massObj.Update
    
    ' 读取质量值(单位为千克)
    productMass = massObj.Mass
    
    ' 弹窗显示质量
    MsgBox "所选产品的质量为:" & Format(productMass, "0.000") & " 千克", vbInformation
End Sub

代码说明:

  • 先清空当前选择,引导用户选择目标产品,若未选择则直接退出。
  • 通过GetTechnologicalObject("Mass")获取质量对象,若获取失败则提示检查产品材料或计算状态。
  • 调用massObj.Update强制更新质量数据,避免读取旧值。
  • 最后格式化质量值并通过消息框展示,单位默认是千克(CATIA默认单位)。

内容的提问来源于stack exchange,提问作者Ahmet Hakan Yıldırım

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 20:57:04