いくつかの Revit API クラスが連動することで、製作コンポーネントを Revit MEP ドキュメントに追加できるようになります。
Revit MEP モデルに製作パーツを配置する前に、製作構成を指定し、モデルに製作サービスをロードする必要があります。この処理を簡単にするために、Revit API には次のように多数のクラスが用意されています。
MEP の製作に関連する主なクラスの詳細については以下で説明しています。サンプル コードは Revit SDK の FabricationPartLayout サンプルに用意されています。
FabricationConfiguration クラスを使用すると、ユーザはドキュメントの製作構成設定を取得、設定できます。さらに、サービスのロードとロード解除、製作構成の再ロード、ロードされたサービスの取得、製作仕様の取得、構成からのマテリアル情報と断熱材情報の取得、コネクタ情報の取得と言った操作も可能です。
製作構成はドキュメントに対して 1 つだけであり、静的 FabricationConfiguration.GetFabricationConfiguration()メソッドを使用して取得できます。構成を変更するには、SetConfiguration()メソッドを呼び出し、FabricationConfiguration に関する情報を持つ FabricationConfigurationInfo オブジェクトを渡します。
ReloadConfiguration()メソッドはソースの製作構成から製作構成を再ロードします。この操作は製作サービスをロードする前に実行する必要があります。
ロードされたすべてのサービスを取得する場合は GetAllLoadedServices()メソッドを使用し、使用された製作サービスのみを取得する場合は GetAllUsedServices()メソッドを使用します。サービス内の製作パーツをユーザが作成した場合は、そのサービスは使用中となります。両方のメソッドとも FabricationService オブジェクトのリストを返します。
LoadServices()を使用すると製作サービスのリストをロードでき、UnloadServices()を使用すると製作サービスのリストのロードを解除できます。
製作サービスは製作構成の一部であり、使用可能な製作サービス ボタンを設定します。GroupCount プロパティはサービス内のグループの数を返します。グループのインデックスを使用すると、GetGroupName()を呼び出して、グループの名前を取得できます。GetButtonCount()メソッドは指定したグループ内のボタンの数を返し、グループのインデックスとボタンのインデックスを指定して GetButton()を呼び出すと、実際のボタンを取得できます。
FabricationServiceButton クラスには、製作ボタンに関する情報が入っています。製作サービス ボタンは、さまざまな条件に応じて使用する項目を設定します。製作サービス ボタンは製作サービスの一部です。
FabricationServiceButton クラスには、製作ボタンに関する情報が入っています。製作サービス ボタンは、FabricationPart を設定するために使用する項目を設定します。これは特定の条件のリストによって異なります。製作サービス ボタンは製作サービスの一部です。
FabricationPart クラスを使用すると、ユーザは Revit モデル内で製作パーツを作成、配置、移動、位置合わせできます。また、ユーザは製作パーツの寸法を取得、設定し、製作のホスト情報とロッド情報を取得できます。
オーバーロードした静的 FabricationPart.Create()メソッドは、製作サービス ボタンに基づいて新しい製作パーツを作成します。オーバーロードした静的 CreateHanger()メソッドは、別の製作パーツに吊材を作成します。静的 AlignPartByConnectors()メソッドは、いずれかのコネクタを使用して製作パーツを移動、位置合わせし、別のコネクタに位置合わせします。
さらに、製作寸法の値を取得して設定する、ホスト要素情報を取得する、製作ロッド情報を取得するなどの機能を持つメソッドがあります。