通过VBA添加Catia零件属性,从CATScript转换

时间:2016-11-09 22:02:03

标签: vba vbscript access catia

我正在尝试使用Access VBA操纵Catia Part属性。我知道CAT脚本语言和VBA之间存在一些不兼容性。我想知道以下内置函数是否有任何解决方法或其他选项。

.CreateString
.SetEnumerateValues

目前我在两个函数上都找到了“找不到方法或数据成员”的代码:

Dim oDoc As Document
Dim oPart As Part
Dim params As Parameters
Dim strParam As StrParam
Dim arrVendorList(1)

Set oDoc = CATIA.ActiveDocument
Set oPart = oDoc.Part
Set params = oPart.Parameters
Set strParam = params.CreateString("VENDOR", "")

arrVendorList(0) = "abc"
arrVendorList(1) = "def"
strParam.SetEnumerateValues arrVendorList

1 个答案:

答案 0 :(得分:1)

在关于可移植性的脚本文档中,我发现简单的解决方法是取消键入应用该方法的变量。以下代码适用于访问。它添加了一个新零件,并在属性中创建了一个自定义供应商下拉列表。

Dim oDoc       '**As Document
Dim i As Integer
Dim param      '**As Paramaters
Dim StrParam   '**As StrParam
Dim arrVendorList(2) As Variant

Set oDoc = CATIA.Documents
Set AddPart = oDoc.Add("Part") ' create new part
Set newPart = AddPart.GetItem("Part1") ' set new part
Set param = newPart.UserRefProperties
Set StrParam = param.CreateString("VENDOR", "") ' create new custom property

' add vender array list to part
arrVendorList(0) = "" ' initial value
arrVendorList(1) = "abc"
arrVendorList(2) = "def"
StrParam.SetEnumerateValues arrVendorList