MEP 製造の詳細

いくつかの Revit API クラスが連動することにより、製造用コンポーネントを Revit のドキュメントに追加できるようになります。

製造の詳細クラス

MEP モデルに製造用パーツを配置する前に、製造用部品構成を指定し、モデルに部品種別をロードしておく必要があります。この処理を簡単にするために、Revit API には次のように多数のクラスが用意されています。

MEP 製造用機能に関連する主なクラスの詳細については以下で説明しています。サンプル コードは Revit SDK の FabricationPartLayout サンプルに用意されています。

製造用部品構成<so>せいぞうようぶひんこうせい

FabricationConfiguration クラスを使用すると、ユーザはドキュメントの製造用構成設定を取得、設定できます。さらに、部品種別のロードとロード解除、製造用部品構成の再ロード、ロードされている部品種別の取得、製造用部品仕様の取得、製造用部品構成からのマテリアル情報と断熱材情報の取得、コネクタ情報の取得といった操作も可能です。

製造用部品構成はドキュメントに対して 1 つだけであり、静的 FabricationConfiguration.GetFabricationConfiguration()メソッドを使用して取得できます。構成を変更するには、オーバーロードした SetConfiguration() メソッドを呼び出し、FabricationConfiguration に関する情報を持つ FabricationConfigurationInfo オブジェクトを渡します。SetConfiguration() メソッドの 1 つのオーバーロードでグローバル プロファイルの構成を設定し、また 1 つのオーバーロードでプロファイル名を取り、その特定のプロファイルを使用して構成を設定します。(FabricationConfiguration.GetProfile() メソッドはロードされた構成と関連付けられたプロファイルを返し、FabricationConfigurationInfo.GetProfiles() メソッドはすべての構成と関連付けられたプロファイルを返します)。

ReloadConfiguration()メソッドはソースの製造用部品構成から製造用部品構成を再ロードします。この操作は部品種別をロードする前に実行する必要があります。

ロードされている部品種別をすべて取得する場合は GetAllLoadedServices()メソッドを使用し、使用された部品種別のみを取得する場合は GetAllUsedServices()メソッドを使用します。サービス内の製造用パーツをユーザが作成した場合は、その部品種別は使用中となります。両方のメソッドとも FabricationService オブジェクトのリストを返します。

LoadServices()を使用すると部品種別のリストをロードでき、UnloadServices()を使用すると部品種別のリストのロードを解除できます。

FabricationConfiguration クラスにも、構成データの省略形を取得するメソッドがあります。GetMaterialAbbreviation() メソッドは、マテリアル、断熱材、二重壁材のいずれかの省略形を返します。GetSpecificationAbbreviation() は、指定された仕様に用いられる仕様の省略形を返します。GetInsulationSpecificationAbbreviation() は、指定された断熱材の仕様に用いられる省略形を返します。

製造用部品種別

製造用部品種別は製造用部品構成の一部であり、使用可能な部品種別ボタンを設定します。GroupCount プロパティはサービス内のグループの数を返します。グループのインデックスを使用すると、GetGroupName()を呼び出して、グループの名前を取得できます。GetButtonCount()メソッドは指定したグループ内のボタンの数を返し、グループのインデックスとボタンのインデックスを指定して GetButton()を呼び出すと、実際のボタンを取得できます。

製造用部品種別ボタン

FabricationServiceButton クラスには、製造用ボタンに関する情報が入っています。部品種別ボタンは、FabricationPart を設定するために使用する項目を設定します。これは特定の条件のリストによって異なります。部品種別ボタンは部品種別の一部です。

製造用パーツ

FabricationPart クラスを使用すると、ユーザは Revit モデル内で製造用パーツを作成、配置、移動、位置合わせできます。また、ユーザは製造用パーツの寸法を取得、設定し、製造用パーツのホスト情報とロッド情報を取得できます。

オーバーロードした静的 FabricationPart.Create()メソッドは、部品種別ボタンに基づいて新しい製造用パーツを作成します。オーバーロードした静的 CreateHanger()メソッドは、別の製造用パーツにハンガー部品を作成します。静的 AlignPartByConnectors()メソッドは、いずれかのコネクタを使用して製造用パーツを移動、位置合わせし、別のコネクタに位置合わせします。

FabricationParts は、DesignToFabricationConverter クラスを使用して設計要素から作成することもできます。Convert() メソッドは、MEP 設計要素のセットを製造用パーツに変換します。正常に作成された FabricationParts は、GetConvertedFabricationParts() メソッドを使用して取得することができます。Convert() メソッドが部分的な失敗を示している場合は、GetPartialConvertFailureResults() メソッドは発生する可能性がある失敗のリストを返します。失敗が部分的なタイプ(InvalidConnections など)である場合は、DesignToFabricationConverter クラスの対応するメソッド(GetConvertedFabricationPartsWithInvalidConnections() など)を使用すると、そのエラー タイプを持つ FabricationParts の ElementIds のリストを取得することができます。

さらに、製造用寸法の値を取得して設定する、ホスト要素情報を取得する、製作ロッド情報を取得するなどの機能を持つメソッドがあります。

接続と位置

FabricationPart は、コネクタにアタッチするメソッドや、FabricationPart の位置を変更するメソッドを多数備えています。静的な StretchAndFit() メソッドは、指定したコネクタから製造用パーツをストレッチし、目標のルート端部にフィットさせる操作をサポートします。ルート端部は、FabricationPartRouteEnd オブジェクトとして示されます。そのオブジェクトは、静的な FabricationPartRouteEnd.CreateFromConnector() メソッドか FabricationPartRouteEnd.CreateFromCenterline() メソッドから取得できます。StretchAndFit() メソッドが失敗した場合は、失敗についてより詳細な情報を提供する FabricationPartFitResult 列挙値を返します。

FabricationPart の修正に使用する他のメソッドとしては、Reposition()、RotateConnectedPartByConnector()、PlaceAsTap() があります。

製品リスト

調達したダクト継手や配管継手などの一部の FabricationPart 要素には、「製品リスト」が用意されています。製品リストの項目は、選択したパーツの使用可能なサイズのカタログを表します。ProductListEntry プロパテイは、FabricationPart の製品リスト項目を指定します。IsProductList() メソッドが false を返した場合は、ProductListEntry は -1 になります。

FabricationPart の製品項目のリストを取得するには、GetProductListEntryCount() メソッドおよび GetProductListEntryName() メソッドを使用します。接続に使用されている寸法を変更することなく指定された製品リスト項目にパーツを変換できるかどうかを確認するには、FabricationPart の ProductListEntry を変更する前に、IsProductListEntryCompatibleSize() を呼び出します。