[返回博客](/cn/blog) # 在 Teigha BIM 中使用标签

Alexander Geniatov 六月 01, 2017 [\#rvt](/cn/blog/tag/rvt) [\#rfa](/cn/blog/tag/rfa) [\#extensions](/cn/blog/tag/extensions)

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

LabelUtilsPE 是一个协议扩展 (PE)，它将与标签相关的功能移出 Teigha BIM 核心功能之外，允许 Teigha BIM 成员开发人员实现自己的协议扩展以支持不同的本地化。目前，已实现一个带有英文标签的协议扩展作为示例。

#### LabelUtilsPE 接口

• OdString getLabelFor(&lt;Enum&gt;)  
返回内置枚举值的标签。支持以下枚举：  
OdBm::BuiltInParameter::Enum  
OdBm::BuiltInParameterGroup::Enum  
OdBm::DisplayUnitType::Enum  
OdBm::ParameterType::Enum  
OdBm::UnitSymbolType::Enum  
OdBm::UnitType::Enum  
OdBm::BuiltInCategory::Enum

• OdString format(const OdBmAUnits&amp; aUnits, OdBm::UnitType::Enum unitType, double value, bool editing = false)  
传递的格式值是一个字符串，对应于其单位类型 (OdBm::UnitType::Enum unitType) 和数据库中的单位类型格式设置数组 (OdBmAUnits&amp; aUnits)。

• OdString format(const OdBmAUnits&amp; aUnits, OdBm::UnitType::Enum unitType, double value, const OdBmFormatOptions&amp;  
formatOptions, bool editing = false)  
传递的格式值是一个字符串，对应于其单位类型 (OdBm::UnitType::Enum unitType) 和格式选项 (OdBmFormatOptions&amp; formatOptions)。格式选项包含一个标志 IsUseDefault，如果为 true，则函数会绕过这些格式选项，并从数据库中的单位类型格式设置 (OdBmAUnits&amp; aUnits) 中获取格式。

#### 代码位置

• Include\\Database\\BmLabelUtilsPE.h — 定义所有支持接口的主头文件。  
• Examples\\TB\_LabelUtilsPE\\BmLabelUtilsEnPE.h 和 .cpp — 支持英语的 PE 实现。

#### LabelUtilsPE 方法使用

要使用 PE 方法，首先加载包含 PE 实现的库，例如要使用英语 PE，应调用以下命令：  
::odrxDynamicLinker()-&gt;loadModule(L"TB\_ExLabelUtils");

然后 PE 会与 OdBmElement 类链接，并可以通过以下调用访问：  
OdBmLabelUtilsPEPtr pLabelUtils = OdBmElement::desc()-&gt;getX(OdBmLabelUtilsPE::desc());  
如果没有加载 PE 模块，pLabelUtils 将获得一个空指针。

#### BIM 中 LabelUtilsPE 的使用

目前，LabelUtilsPE 用于构建内置参数 (ParamDef.caption) 和内置类别 (Category.name) 的表格。如果在打开数据库时没有加载 LabelUtilsPE 模块，则内置参数和类别元素将获得与其枚举元素名称对应的名称。

## 今天就开始行动

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

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