CATIAV5 VBA - 以编程方式隔离曲面和线框

时间:2017-09-28 09:39:40

标签: vba geometry catia

我正在尝试以编程方式检查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也被破坏了,这就是问题所在!

TD; DR

“如何以编程方式在CATVBA中实现isolate命令?”

到目前为止我尝试了什么

我的第一次粗略尝试是使用模式CATPrtResultWithOutLink

剪切/粘贴HybridShapes

但这不可靠并打破其他链接(正如您在长篇解释中所见)

我会使用Isolate命令但我找不到相应的API。我还看到命令本身不能在“电源输入”框中工作,也不能在像这样的VBA脚本中工作

... sel.add myHybridShape CATIA.StartCommand "Isolate"

1 个答案:

答案 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"