[ブログに戻る](/ja/blog) # Teigha BIMにおける外部パラメータ定義

Alexander Geniatov 10月 19, 2017 [\#rvt](/ja/blog/tag/rvt) [\#rfa](/ja/blog/tag/rfa) [\#getting started](/ja/blog/tag/getting-started)

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

Teigha BIMは外部パラメータ定義をサポートしています。これらは外部テキストファイルに保存され、プロジェクト/ファミリドキュメントには含まれませんが、ドキュメントにインポートできるエンティティです。ParamElemExternalクラスのパラメータ要素は、外部パラメータ定義のGUIDを格納します。

#### 外部パラメータ定義ファイル構造

これらのファイルの簡単な例を次に示します。

```
*META	VERSION	MINVERSION
META	2	1
*GROUP	ID	NAME
GROUP	1	1
GROUP	2	2
GROUP	3	Exported Parameters
*PARAM	GUID	NAME	DATATYPE	DATACATEGORY	GROUP	VISIBLE	DESCRIPTION	USERMODIFIABLE
PARAM	f5ff6402-9260-4e5a-9f8e-49d14a351e19	Area	AREA		3	1		1
PARAM	1f8f5e6f-f6e9-43a0-a059-d610dfd26402	Param11	TEXT		2	1	Desc1	1
PARAM	844695f1-a33f-40d7-aacf-a0e131d51a97	Param 2	FORCE		1	1	444	1

```

- METAセクションはメタデータに対応し、.rvt/.rfaファイルのすべての最新バージョンで使用されるminversion 2のバージョン2ファイルです。現在、Teigha BIMでサポートされている唯一のバージョンです。
- Groupsセクションは外部パラメータ定義のグループを表します。各グループには名前とIDがあります（両方のフィールドは一意です）。これらのグループは、.rvt/.rfaドキュメント内のパラメータグループやその他のものとは関係がなく、外部パラメータ定義をグループ化するためにのみ使用されます（たとえば、共有パラメータダイアログで）。
- Paramsセクションには外部パラメータ定義が含まれています。

各セクションは「\*」記号で始まるヘッダー文字列で始まり、セクションテーブル内のフィールドのリストを含みます。ヘッダーとエンティティテーブルの両方のフィールドはタブ記号で区切られています。

#### Teigha BIMにおける外部パラメータ定義

外部パラメータファイルを操作するために必要なすべてのインターフェースは、Database/BmExtParamDef.hファイルにあります。このファイルは2つのクラスを定義しています。

- OdBmExtParamDef — 外部パラメータ定義を表します。
- OdBmExtParamDefFile — 外部パラメータとグループを格納するためのファイルを表します。

#### OdBmExtParamDefクラス

このクラスは外部パラメータ定義を表し、そのフィールドはPARAMセクションのエンティティのフィールドに対応します。

- OdString m\_name; — OdBmParamDefのキャプションフィールドに格納されるパラメータの名前。
- OdBm::ParameterType m\_dataType; — OdBmParamDefのどのサブ要素が使用されるか、およびParamDefValueのunitTypeを定義するパラメータタイプ。
- OdInt64 m\_dataCategory; — ファミリタイプカテゴリを定義します（ファミリタイプパラメータにのみ適用可能）。
- OdUInt32 m\_groupId; — パラメータが属するグループのID。
- bool m\_isVisible; — OdBmParamDefのIsUserVisibleフィールドに対応する可視性フラグ。
- OdString m\_description; — ParamElemExternalのdescriptionフィールドに格納される説明。

getおよびsetメソッドに加えて、このクラスには、データベースパラメータ（ParamElemExternal）の作成、つまり外部定義をデータベースにインポートするために使用できるパラメータ定義を作成するメソッドが含まれています。また、このクラスには、データベースから共有パラメータファイルにパラメータをエクスポートするOdBmParamDefを使用して外部定義を作成するためのコンストラクタも含まれています。

```
OdBmParamDefPtr getParamDef(const OdBmDatabasePtr& pDb) const;
OdBmExtParamDef(const OdBmParamDefPtr& pParamDef, OdUInt32 groupId, const OdString& description);

```

#### OdBmExtParamDefFileクラス

このクラスは、外部パラメータ定義のデータベース（ファイル）を表し、ストリームからのデータベースのロードと保存、およびパラメータ定義とグループの追加、削除などのインターフェースを提供します。

- getGroups — グループのID-文字列名マップを定数参照として返します。
- addGroup — グループを追加します。負のIDが渡された場合、インターフェースはIDを自身で割り当てて返します。
- deleteGroup — グループを削除します。グループは、パラメータ定義を含まない場合にのみ削除できます。
- renameGroup — グループの名前を変更します。
- isValidGroup — 渡されたIDを持つグループがデータベースに存在するかどうかを検証します。
- getParams — パラメータ定義のGUID-OdBmExtParamDefマップを定数参照として返します。
- getParamsByGroup — グループに属するパラメータ定義のマップを返します。
- getParamByGUID — GUIDによってパラメータ定義を返します。
- addParam — データベースにパラメータ定義を追加します。GUIDが一意でない場合、またはデータ型やグループが無効な場合は、パラメータ名とともにエラーIDを返します。
- deleteParam — パラメータを削除します。
- moveParam — パラメータを別のグループに移動します。
- getParamTypeByTag — ファイルのPARAMセクションレコードのDATACATEGORYフィールドで使用される文字列タグによってParameterTypeを返します（例：タグAREAはパラメータタイプOdBm::kPT\_Areaに対応します）。
- getParamTypeTag — 文字列タグDATACATEGORYによってParameterTypeを返します。
- loadFromStream — ストリームからデータベースコンテンツをロードします。
- saveToStream — データベースコンテンツをストリームに保存します。

## 今すぐ始める

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

[無料で試す](https://www.opendesign.com/ja/free-trial)
