通过 VBA 添加 Catia 零件属性,从 CATScript 转换而来
Adding Catia part properties through VBA, converted from CATScript
我正在尝试使用 Access VBA 操作 Catia 零件属性。我知道 CAT 脚本语言和 VBA 之间存在一些不兼容性。我想知道以下内置函数是否有任何解决方法或其他选项。
.CreateString
.SetEnumerateValues
目前我得到一个 "Method or Data member not found" 两个函数的代码如下:
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
在关于可移植性的脚本文档中,我发现简单的解决方法是取消键入应用该方法的变量。下面的代码将在访问中工作。它添加了一个新部件并在属性中创建了一个自定义供应商下拉列表。
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
我正在尝试使用 Access VBA 操作 Catia 零件属性。我知道 CAT 脚本语言和 VBA 之间存在一些不兼容性。我想知道以下内置函数是否有任何解决方法或其他选项。
.CreateString
.SetEnumerateValues
目前我得到一个 "Method or Data member not found" 两个函数的代码如下:
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
在关于可移植性的脚本文档中,我发现简单的解决方法是取消键入应用该方法的变量。下面的代码将在访问中工作。它添加了一个新部件并在属性中创建了一个自定义供应商下拉列表。
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