Teigha BIMでのラベルの操作

LabelUtilsPE は、ラベル関連の機能をコア Teigha BIM 機能の外に移動させるプロトコル拡張 (PE) であり、Teigha BIM メンバー開発者が異なるローカライズをサポートするための独自のプロトコル拡張を実装できるようにします。現時点では、英語ラベルを持つプロトコル拡張が例として実装されています。

LabelUtilsPE インターフェース

•    OdString getLabelFor(<Enum>)
     組み込みの列挙値のラベルを返します。以下の列挙がサポートされています。
     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& aUnits, OdBm::UnitType::Enum unitType, double value, bool editing = false) 
渡された値は、その単位タイプ (OdBm::UnitType::Enum unitType) とデータベース内の単位タイプ書式設定の配列 (OdBmAUnits& aUnits) に対応する文字列として書式設定されます。

•    OdString format(const OdBmAUnits& aUnits, OdBm::UnitType::Enum unitType, double value, const OdBmFormatOptions&
    formatOptions, bool editing = false)
渡された値は、その単位タイプ (OdBm::UnitType::Enum unitType) と書式設定オプション (OdBmFormatOptions& formatOptions) に対応する文字列として書式設定されます。書式設定オプションには IsUseDefault フラグが含まれており、これが true の場合、関数はこれらの書式設定オプションをバイパスし、データベース内の単位タイプ書式設定 (OdBmAUnits& aUnits) から書式を取得します。

コードの場所

•    Include\Database\BmLabelUtilsPE.h — サポートされているすべてのインターフェースを定義するメインヘッダー。
•    Examples\TB_LabelUtilsPE\BmLabelUtilsEnPE.h および .cpp — 英語をサポートするPE実装。

LabelUtilsPE メソッドの使用法

PEメソッドを使用するには、まずPE実装を含むライブラリをロードします。例えば、英語のPEを使用するには、次のコマンドを呼び出す必要があります。
::odrxDynamicLinker()->loadModule(L"TB_ExLabelUtils");

次に、PEはOdBmElementクラスにリンクされ、次の呼び出しでアクセスできます。
OdBmLabelUtilsPEPtr pLabelUtils = OdBmElement::desc()->getX(OdBmLabelUtilsPE::desc());
PEモジュールがロードされていない場合、pLabelUtilsは結果としてヌルポインタを受け取ります。

BIMにおけるLabelUtilsPEの使用法

現在、LabelUtilsPEは、組み込みパラメータ (ParamDef.caption) および組み込みカテゴリ (Category.name) のテーブルを構築するために使用されています。データベースが開かれたときにLabelUtilsPEモジュールがロードされていない場合、組み込みパラメータとカテゴリ要素は、それらの列挙要素名に対応する名前を取得します。

今すぐ始める

ODAソフトウェアを60日間無料でお試しください。
リスクなし、クレジットカード不要。

無料で試す