[返回博客](/cn/blog) # BimRv SDK：管理附加文件

Alexander Odnorog 三月 23, 2023 [\#rvt](/cn/blog/tag/rvt) [\#rfa](/cn/blog/tag/rfa) [\#pdf](/cn/blog/tag/pdf)

<a class="a2a_button_facebook"></a><a class="a2a_button_twitter"></a><a class="a2a_button_linkedin"></a>

链接管理器是 OdaBimApp 工具，允许您管理附加到建筑模型的文件。管理器显示已添加的 CAD 文件、DWF 标记和点云文件。您还可以创建指向 RVT 文件的新链接，并在现有链接无效时对其进行编辑。

要在 OdaBimApp 中打开链接管理器：

1. 打开任何 RVT 文件。
2. 选择“格式”&gt;“管理链接”。

![manage link](/files/inline-images/bimrv_odaBimApp_manage_linked_1.png)每个选项卡对应不同的文件格式：Revit (RVT)、IFC、CAD 格式、DWF 标记、点云、地形、PDF 和图像。

对于除 DWF 标记和地形之外的所有文件类型，您都可以看到文件名、保存文件的路径以及路径类型（相对或绝对）。

可以通过选择所需文件并单击“编辑文件路径”来编辑指向 Revit (RVT) 文件的链接。

![edit file path](/files/inline-images/bimrv_odaBimApp_manage_linked_2.png)在新窗口中，您可以更改保存路径和路径类型。

![save](/files/inline-images/bimrv_odaBimApp_manage_linked_3.png)此外，您可以添加指向 RVT 文件的新链接或删除现有链接。这些功能仅适用于 RVT 文件。

#### 扩展功能

##### RVT 和 IFC 文件格式

支持的文件类型扩展名为 .rvt、.ifc、.ifcXML 和 .ifcZIP。

要获取所有可用链接，请使用带有特定参数的 getAppInfo() 方法：

```

pRvtLinkTracking = database()->getAppInfo(OdBm::ManagerType::RvtLinkTracking);
```

要处理指向 RVT 和 IFC 文件的链接，请在数据库中使用 OdBmRvtLinkSymbol 类。要获取有关引用文件的基本信息，请使用以下方法：

- getFullDisplayPath() — 根据路径类型获取显示的 文件路径。
- getOtherDocModelLocation()、getLastKnownModelPath()、getPath() — 获取完整文件路径。
- getSymbolInfo()、getName() — 获取带扩展名的文件名。
- getRelative() — 获取路径类型。如果方法返回 true，则为相对路径；否则为绝对路径。
- getShouldLoadSource() — 获取链接文件的状态。如果方法返回 true（已加载），则链接文件的模型已矢量化；如果方法返回 false（未加载），则链接文件的模型未矢量化。
- getLinkOriginFileType() — 获取文件格式。返回 OdBm::LinkOriginFileType::Enum 枚举中的值。

要复制链接管理器（Link Manager）的用户界面元素行为，请使用以下代码：

- 加载/卸载按钮 — 更改加载状态。要控制状态，请使用 setShouldLoadSource() 方法。
- 添加按钮 — 为 RVT 文件添加新链接。

```
ODBM_TRANSACTION_BEGIN(tr, m_pDb);
tr.start();

// Create RvtLinkSymbol
OdBmRvtLinkSymbolPtr pNewRvtLinkSymbol = OdBmRvtLinkSymbol::createObject();
m_pDb->addElement(pNewRvtLinkSymbol);
pNewRvtLinkSymbol->addNewLinkFile(sPath, 0);

//  Create RvtLinkInstance
OdBmRvtLinkInstancePtr pNewRvtLinkInst = OdBmRvtLinkInstance::createObject();
pNewRvtLinkInst->addNewLinkInstance(pNewRvtLinkSymbol->id());
m_pDb->addElement(pNewRvtLinkInst);

// Add new RvtLinkSymbol to Manager
OdBmRvtLinkTrackingPtr pRvtLinkTracking = m_pDb->getAppInfo(OdBm::ManagerType::RvtLinkTracking);
OdBmSet<odbmobjectid> aRvtLink;
pRvtLinkTracking->getElemIdSet(aRvtLink);
aRvtLink.insert(pNewRvtLinkSymbol->id());
pRvtLinkTracking->setElemIdSet(aRvtLink);

// Add new RvtLinkInstance to Manager
OdBmRvtLinkInstTrackingPtr pRvtLinkInstTracking = m_pDb->getAppInfo(OdBm::ManagerType::RvtLinkInstTracking);
OdBmSet<odbmobjectid> aRvtLinkInst;
pRvtLinkInstTracking->getElemIdSet(aRvtLinkInst);
aRvtLinkInst.insert(pNewRvtLinkInst->id());
pRvtLinkInstTracking->setElemIdSet(aRvtLinkInst);

tr.extend(pNewRvtLinkSymbol->id(), true);
tr.extend(pNewRvtLinkInst->id(), true);
tr.commit();
ODBM_TRANSACTION_END();</odbmobjectid></odbmobjectid>
```

编辑路径按钮 — 允许您编辑现有文件的无效路径。相应的方法是 setNewFilePath()。

##### CAD 文件格式

ODA Bim App 支持的 CAD 文件格式包括 .dwg、DXF、DGN、SAT、SKP 和 3DM。

要获取所有可用链接，请使用带特定参数的 getAppInfo() 方法：

```

pRvtLinkTracking = database()->getAppInfo(OdBm::ManagerType::LinkedFileInfo);
```

要使用 CAD 文件格式，请在数据库中使用 OdBmMasterImportSymbol 类。要获取有关引用文件的基本信息，请使用以下方法：

- getImportFileData(), getFullName() — 获取带文件扩展名的文件名。
- getFullDisplayPath() — 根据路径类型获取显示的文件路径。
- getImportFileData(), getIsRelative() — 获取路径类型。如果方法返回 true，则为相对路径；否则为绝对路径。
- getSize() / 1024 — 获取文件大小（以千字节为单位）。
- getImportFileData(), getLoadedStatus() — 获取链接文件的状态。如果方法返回 true（已加载），则链接文件的模型已矢量化；如果方法返回 false（未加载），则链接文件的模型未矢量化。

##### 点云文件格式

ODA Bim App 支持的点云文件格式包括 RCP 和 RCS。

要获取所有可用链接，请使用带特定参数的 getAppInfo() 方法：

```

pRvtLinkTracking = database()->getAppInfo(OdBm::ManagerType::PointCloudTypeTracking);
```

要使用点云格式，请在数据库中使用 OdBmPointCloudType 类。要获取有关引用文件的基本信息，请使用以下方法：

- getSymbolInfo(), getName() — 获取带文件扩展名的文件名。
- getFullDisplayPath() — 根据路径类型获取显示的文件路径。
- getIsLoaded() — 获取链接文件的状态。如果方法返回 true（已加载），则链接文件的模型已矢量化；如果方法返回 false（未加载），则链接文件的模型未矢量化。

##### PDF 和图像文件格式

支持的 PDF 和图像文件格式包括 PDF 以及 BMP、JPG、JPEG、PNG 和 TIF。

要获取所有可用链接，请使用带特定参数的 getAppInfo() 方法：

```
pRvtLinkTracking = database()->getAppInfo(OdBm::ManagerType::ElementTracking);
```

要使用 PDF 和图像文件格式，请在数据库中使用 OdBmImageSymbol 类。要获取有关引用文件的基本信息，请使用以下方法：

- getSymbolInfo(), getName() — 获取带文件扩展名的文件名。
- getFullDisplayPath() — 根据路径类型获取显示的文件路径。
- getPathType() — 获取文件类型。

## 今天就开始行动

**免费试用 ODA 软件 60 天。  
无风险，无需信用卡。**

[免费试用](https://www.opendesign.com/cn/free-trial)
