我正在尝试以编程方式检查catparts(包含几何体和FTA)并使用CATVBA或catvbs隔离一些表面和线框。
我的问题是“如何以编程方式隔离CATVBA中的表面线框?”或更确切地说“如何以编程方式实现isolate
命令?”
以此为例:附在表面上的Flag Note。你有这个链接
FlagNote --> Surface --> Surface Construction Elements
如果“隔离”曲面,则只删除其构造元素的链接。但请注意,保留来自 FTA的链接。
FlagNote --> Surface (isolated) -/- Surface Construction Elements
到目前为止,我还不知道一种方法以编程方式。因此,我决定在CATVBA中通过切割/粘贴表面来实现相同的目标。 但这是最终结果
FlagNote (broken link) -/- Surface (cut/paste as result) -/- Surface Construction Elements
链接来自 FTA也被破坏了,这就是问题所在!
“如何以编程方式在CATVBA中实现isolate
命令?”
我的第一次粗略尝试是使用模式CATPrtResultWithOutLink
但这不可靠并打破其他链接(正如您在长篇解释中所见)
我会使用Isolate
命令但我找不到相应的API。我还看到命令本身不能在“电源输入”框中工作,也不能在像这样的VBA脚本中工作
...
sel.add myHybridShape
CATIA.StartCommand "Isolate"
答案 0 :(得分:0)
如果您在支持它的工作台(部件设计或GSD)中,Isolate适用于StartCommand。
Dim wbName as string = "CATShapeDesignWorkbench"
if CATIA.GetWorkbenchId <> wbName then Catia.StartWorkbench wbName
sel.Clear
sel.Add myHybridShape
CATIA.StartCommand "Isolate"