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

如何通过VB.NET API在CATIA V5中创建跨零件模型参数

CATIA V5 VB.NET API 创建参数

一、单个零件内创建参数

要在CATIA零件中创建参数,核心是操作PartDocument、Part和Parameters对象。以下是基础示例,展示创建不同类型参数的代码:

Imports CATIAV5TypeLib

Module CATIAParamCreator
    Sub CreateParametersInPart()
        ' 获取当前激活的CATIA实例
        Dim catia As INFITF.Application = GetObject(, "CATIA.Application")
        
        ' 确保当前文档是零件文档
        If TypeOf catia.ActiveDocument Is PartDocument Then
            Dim partDoc As PartDocument = CType(catia.ActiveDocument, PartDocument)
            Dim part As Part = partDoc.Part
            Dim params As Parameters = part.Parameters
            
            ' 创建长度参数(单位默认继承零件设置)
            Dim lengthParam As Parameter = params.Add("MyLength", catLength, 100.0)
            ' 创建整数参数
            Dim intParam As Parameter = params.Add("MyInteger", catInteger, 5)
            ' 创建字符串参数
            Dim strParam As Parameter = params.Add("MyString", catString, "CATIA Custom Param")
            
            ' 刷新零件并保存
            part.Update()
            partDoc.Save()
        Else
            MsgBox("当前激活文档不是零件文档!")
        End If
    End Sub
End Module

常用参数类型枚举:

  • catLength:长度参数
  • catInteger:整数参数
  • catString:字符串参数
  • catReal:实数参数
  • catBoolean:布尔参数

二、零件间创建关联参数

要在多个零件模型之间建立参数关联(让B零件参数跟随A零件参数变化),可通过CATIA的外部引用和公式实现。以下示例展示跨零件参数关联的代码:

Imports CATIAV5TypeLib

Module CATIAInterPartParam
    Sub LinkParametersBetweenParts()
        Dim catia As INFITF.Application = GetObject(, "CATIA.Application")
        
        ' 假设两个目标零件文档已打开,分别获取实例
        Dim partADoc As PartDocument = CType(catia.Documents.Item("Part1.CATPart"), PartDocument)
        Dim partBDoc As PartDocument = CType(catia.Documents.Item("Part2.CATPart"), PartDocument)
        Dim partA As Part = partADoc.Part
        Dim partB As Part = partBDoc.Part
        
        ' 获取零件A中已存在的源参数(示例参数名为"SourceLength")
        Dim sourceParam As Parameter = partA.Parameters.Item("SourceLength")
        
        ' 在零件B中创建关联参数
        Dim paramsB As Parameters = partB.Parameters
        Dim linkedParam As Parameter = paramsB.Add("LinkedLength", catLength, 0.0)
        
        ' 创建公式,让零件B的参数关联到零件A的参数
        Dim formulas As Formulas = partB.Relations.Formulas
        formulas.Add("LinkToPartA", linkedParam, sourceParam.ValueAsString)
        
        ' 刷新并保存零件
        partA.Update()
        partB.Update()
        partADoc.Save()
        partBDoc.Save()
    End Sub
End Module

关键注意事项

  • 运行代码前需确保CATIA已启动,目标零件文档处于打开状态
  • 项目需添加CATIA类型库引用(COM组件 -> CATIA V5 Type Library)
  • 若需批量操作参数,可结合Selection对象实现批量选择与关联

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 00:32:46