CATIA V5 - 将常规/文档CATSetting转储为catvbs

时间:2017-08-03 13:35:57

标签: automation settings catia

在CATIAV5 R26中,我试图将与General --> Document标签相关的CATSettings转储为catvbs。

考虑到这应该是迈向我最终目标的第一步:使用宏完全自动化设置,正如官方文档(http://www.maruf.ca/files/caadoc/CAAScdInfTechArticles/CAAInfSettings.htm)中所建议的那样

我希望dump函数创建一个包含此选项卡所有设置的catvbs,但只写入DLName设置:结果是General-Document.catvbs只包含CATSysDLNameSettingCtrl <的设置/ p>

大多数设置,例如&#34;文档环境&#34;或&#34;链接文件本地化&#34;部分(见下图)不会导出。

这是有意的吗?这是一个错误吗?我怎样才能确保将所有设置导出到catvbs?

CATSettings选项卡

General Document tab

转储General-Document.catvbs

Language="VBSCRIPT"

Sub CATMain()

Set settingControllers1 = CATIA.SettingControllers

Set dLNameSettingAtt1 = settingControllers1.Item("CATSysDLNameSettingCtrl")

Dim boolean1
boolean1 = dLNameSettingAtt1.DLNameCreationRight
'--------------------------------------------------
' Returned value : (Boolean) True
'--------------------------------------------------

Dim bSTR1
bSTR1 = ""
Dim bSTR2
bSTR2 = ""
Dim boolean2
boolean2 = dLNameSettingAtt1.GetDLNameCreationRightInfo(bSTR1, bSTR2)
'--------------------------------------------------
' Parameter 1 : (String) "Set at Admin Level 1"
' Parameter 2 : (String) "Locked at Admin Level 1"
' Returned value : (Boolean) False
'--------------------------------------------------

Dim boolean3
boolean3 = dLNameSettingAtt1.RootDLNameCreationRight
'--------------------------------------------------
' Returned value : (Boolean) True
'--------------------------------------------------

Dim bSTR3
bSTR3 = ""
Dim bSTR4
bSTR4 = ""
Dim boolean4
boolean4 = dLNameSettingAtt1.GetRootDLNameCreationRightInfo(bSTR3, bSTR4)
'--------------------------------------------------
' Parameter 1 : (String) "Default value"
' Parameter 2 : (String) "Unlocked"
' Returned value : (Boolean) False
'--------------------------------------------------

Dim arrayOfVariantOfBSTR1
arrayOfVariantOfBSTR1 = dLNameSettingAtt1.GetDLNameList()
'--------------------------------------------------
' Returned value : (Array) 
'    Array[0] : (Variant) (String) "My Sample DL Name"
'--------------------------------------------------

Dim bSTR5
bSTR5 = ""
Dim bSTR6
bSTR6 = ""
Dim bSTR7
bSTR7 = ""
dLNameSettingAtt1.GetDLName "My Sample DL Name", bSTR5, bSTR6, bSTR7
'--------------------------------------------------
' Parameter 1 : (String) "My Sample DL Name"
' Parameter 2 : (String) "/tmp/here"
' Parameter 3 : (String) "${MY_SAMPLE_VAR}"
' Parameter 4 : (String) ""
'--------------------------------------------------

Dim bSTR8
bSTR8 = ""
Dim bSTR9
bSTR9 = ""
Dim boolean5
boolean5 = dLNameSettingAtt1.GetDLNameInfo("My Sample DL Name", bSTR8, bSTR9)
'--------------------------------------------------
' Parameter 1 : (String) "My Sample DL Name"
' Parameter 2 : (String) "Set at Admin Level 1"
' Parameter 3 : (String) "Unlocked"
' Returned value : (Boolean) False
'--------------------------------------------------

End Sub

2 个答案:

答案 0 :(得分:0)

我的错误,我误解了你的问题。我会删除自己这个答案,但我似乎无法做到。

对于你的情况,似乎只允许DLNames,我想你只会得到那些catvbs。

如果你想要所有猫咪的所有catvbs,那么你需要做下面的图片(见红色箭头)。

enter image description here

答案 1 :(得分:0)

我担心并非所有的CATSetting都会暴露给自动化(正如gdir正确指出的那样),包括我正在寻找的那些。

正如您在文档中看到的那样(强调我的)

  

除了使用Tools-&gt; Options ...命令外,还可以使用许多设置   使用自动化管理和管理......

很多,不是全部。 据我所知,这可悲地阻止了CATSettings的完全自动化。