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

CATIA脚本导出参数问题:长度类型参数无法识别导出

CATIA参数导出VBScript中长度参数类型问题修复

问题说明

你编写的VBScript脚本可正常导出布尔、整数类型参数,但长度类参数(如Bobbin_thickness、Core_offset)被标记为“Unsupported parameter type”,核心原因是代码中对长度参数的类型判断使用了错误的类型名称。

解决方案

CATIA中,长度参数的TypeName返回值为Length(不带Param后缀),而非你代码中的LengthParam。同理,其他带物理单位的参数(如角度、质量、面积等)的TypeName也不带Param后缀。

修改后的核心判断代码片段如下:

Select Case TypeName(parameter)
    Case "RealParam"
        file.WriteLine parameter.Name & ": " & parameter.Value & " (Double)"
    Case "StrParam"
        file.WriteLine parameter.Name & ": " & parameter.Value & " (String)"
    Case "IntParam"
        file.WriteLine parameter.Name & ": " & parameter.Value & " (Integer)"
    Case "BoolParam"
        file.WriteLine parameter.Name & ": " & parameter.Value & " (Boolean)"
    Case "Length"  ' 修正为正确的类型名
        file.WriteLine parameter.Name & ": " & parameter.Value & " (Length)"
    Case "Angle"   ' 修正为正确的类型名
        file.WriteLine parameter.Name & ": " & parameter.Value & " (Angle)"
    Case "Mass"    ' 修正为正确的类型名
        file.WriteLine parameter.Name & ": " & parameter.Value & " (Mass)"
    Case "Area"    ' 修正为正确的类型名
        file.WriteLine parameter.Name & ": " & parameter.Value & " (Area)"
    Case "Volume"  ' 修正为正确的类型名
        file.WriteLine parameter.Name & ": " & parameter.Value & " (Volume)"
    Case "Time"    ' 修正为正确的类型名
        file.WriteLine parameter.Name & ": " & parameter.Value & " (Time)"
    Case "Density" ' 修正为正确的类型名
        file.WriteLine parameter.Name & ": " & parameter.Value & " (Density)"
    Case "Frequency" ' 修正为正确的类型名
        file.WriteLine parameter.Name & ": " & parameter.Value & " (Frequency)"
    Case Else
        file.WriteLine parameter.Name & ": " & "Unsupported parameter type"
End Select

完整修正后的脚本

Sub CATMain()
    ' Declare variables
    Dim CATIA
    Dim partDocument
    Dim part
    Dim parameters
    Dim parameter
    Dim fileName
    Dim fso
    Dim file

    ' Initialize CATIA and get the active document
    Set CATIA = GetObject(, "CATIA.Application")
    Set partDocument = CATIA.ActiveDocument
    Set part = partDocument.Part
    Set parameters = part.Parameters

    ' Specify the file to write the parameters to
    fileName = "C:\Users\zezul001\parameters.txt"
    
    ' Create FileSystemObject
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    ' Create or open the file for writing
    Set file = fso.OpenTextFile(fileName, 2, True)

    ' Loop through each parameter and write its name and value to the file
    For i = 1 To parameters.Count
        Set parameter = parameters.Item(i)
        Select Case TypeName(parameter)
            Case "RealParam"
                file.WriteLine parameter.Name & ": " & parameter.Value & " (Double)"
            Case "StrParam"
                file.WriteLine parameter.Name & ": " & parameter.Value & " (String)"
            Case "IntParam"
                file.WriteLine parameter.Name & ": " & parameter.Value & " (Integer)"
            Case "BoolParam"
                file.WriteLine parameter.Name & ": " & parameter.Value & " (Boolean)"
            Case "Length"
                file.WriteLine parameter.Name & ": " & parameter.Value & " (Length)"
            Case "Angle"
                file.WriteLine parameter.Name & ": " & parameter.Value & " (Angle)"
            Case "Mass"
                file.WriteLine parameter.Name & ": " & parameter.Value & " (Mass)"
            Case "Area"
                file.WriteLine parameter.Name & ": " & parameter.Value & " (Area)"
            Case "Volume"
                file.WriteLine parameter.Name & ": " & parameter.Value & " (Volume)"
            Case "Time"
                file.WriteLine parameter.Name & ": " & parameter.Value & " (Time)"
            Case "Density"
                file.WriteLine parameter.Name & ": " & parameter.Value & " (Density)"
            Case "Frequency"
                file.WriteLine parameter.Name & ": " & parameter.Value & " (Frequency)"
            Case Else
                file.WriteLine parameter.Name & ": " & "Unsupported parameter type"
        End Select
    Next

    ' Close the file
    file.Close
    
    ' Notify the user
    MsgBox "Parameters exported successfully to " & fileName
End Sub

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 23:49:57