首页 > 解决方案 > 查找粘贴了链接源的 Hybrishape 是否存在

问题描述

我在几何集合中几乎没有用链接粘贴的形状。我想知道这些形状的来源是否仍然存在。我找不到 hybridshape 的任何功能来做到这一点。

在这张图片中,第一个形状的来源存在,但第二个形状的来源被删除了,我如何区分它们

在此处输入图像描述

标签: vbashapescatia

解决方案


可以判断引用的文档是否存在。

如果您需要检查引用的表面是否仍然存在......不是那么容易。

这是获取和检查链接文档的方法:

Dim oStiEngine As StiEngine
Set oStiEngine = CATIA.GetItem("CAIEngine")

Dim oDoc As Document
Set oDoc = CATIA.ActiveDocument

Dim oStiDBItem As StiDBItem
Set oStiDBItem = oStiEngine.GetStiDBItemFromCATBSTR(oDoc.fullName)

Dim ochildrenList As StiDBChildren
Set ochildrenList = oStiDBItem.GetChildren

Dim lChildrenNumber As Long
lChildrenNumber = ochildrenList.count

For i = 1 To lChildrenNumber

    Dim child As Variant
    Set child = ochildrenList.item(i)
    Dim linkType As String
    linkType = ochildrenList.linkType(i)
    Debug.Print vbTab & child.name & " " & child.GetDocumentFullPath & " " & linkType & " FILE " & IIf(CATIA.FileSystem.FileExists(child.GetDocumentFullPath), "EXISTS", "MISSING")

Next 

您可能需要特定的许可证才能使用 StiEngine 对象。SmartTeam 本身不是必需的。

从长远来看,您可能应该开始将已发布的元素用于文档间链接,以使您的生活更轻松。有一个设置可以强制执行此操作。


推荐阅读