書き出し

書き出し

Revit API を使用すると、Revit ドキュメントまたはその一部を、他のソフトウェアで使用するためにさまざまな形式で書き出すことができます。Document クラスにはオーバーロードされた Export()メソッドがあり、Revit の組み込みの書き出しを使用して(使用可能な場合)ドキュメントの書き出しを開始できます。高度なニーズの場合、一部のタイプの書き出しはIFC への書き出しや Navisworks への書き出しといった Revit アドインを使用してカスタマイズすることができます(注: Navisworks 書き出しはアドイン書き出しとしてのみ使用できます)。

Document.Export()メソッドのオーバーロードの概要は、下の表のとおりです。

表: Document.Export()メソッド

形式

Export()パラメータ

コメント

gbXML

String, String, MassGBXMLExportOptions

マス モデル ドキュメントから gbXML ファイルを書き出します

gbXML String, String, GBXMLExportOptions ドキュメントを Green-Building XML 形式で書き出します。

IFC

String, String, IFCExportOptions

ドキュメントを Industry Standard Classes (IFC)形式で書き出します。

NWC

String, String, NavisworksExportOptions

Revit プロジェクトを Navisworks .nwc 形式で書き出します。この関数を使用するには、互換性のある Navisworks 書き出しアドインを Revit のセッションに登録する必要があります。

DWF

String, String, ViewSet, DWFExportOptions

現在のビューまたは選択したビューを DWF 形式で書き出します。
DWFX String, String, ViewSet, DWFXExportOptions 現在のビューまたは選択したビューを DWFX 形式で書き出します。
FBX String, String, ViewSet, FBXExportOptions ドキュメントを 3D-Studio Max (FBX)形式で書き出します。
DGN String, String, ICollection(ElementId), DGNExportOptions 選択したビューを DGN 形式で書き出します。
DWG String, String, ICollection(ElementId), DWGExportOptions 選択したビューを DWG 形式で書き出します。
DXF String, String, ICollection(ElementId), DXFExportOptions 選択したビューを DXF 形式で書き出します。
SAT String, String, ICollection(ElementId), SATExportOptions 現在のビューまたは選択したビューを SAT 形式で書き出します。
ADSK String, String, View3D, ViewPlan, BuildingSiteExportOptions ドキュメントを Autodesk Civil3D® 形式で書き出します。

gbXML ファイルに書き出す

Green Building XML 形式への書き出しには 2 つのメソッドがあります。最後のパラメータが MassGBXMLExportOptions となるメソッドはコンセプト マス ファミリのインスタンスを 1 つまたは複数含むプロジェクトにのみ使用可能です。このメソッドに渡す MassGBXMLExportOptions オブジェクトは、書き出された gbXML で解析を行う場合はマス ゾーンの ID のみで構成でき、書き出された gbXML でシェーディング サーフェスとして使用する場合はマス ゾーン ID とマス ID で構成できます。マスを使用する場合は、gbXML 出力でサーフェス情報が重複しないように、マス床またはマス ゾーンを持たないようにします。

他の gbXML 書き出しオプションに使用する GBXMLExportOptions オブジェクトには指定する設定はありません。すべて既定の設定を使用します。

IFC に書き出す

IFC オプションを使用した Document.Export()の呼び出しには、Revit のカスタム セッションに登録されている場合は、既定の Revit IFC 書き出しの実装かカスタムの IFC 書き出し機能を使用します。いずれの場合も、Revit が現在サポートしている IFC 標準量の書き出しや、複数レベルの壁や柱をレベルごとに分割するといった書き出しオプションを設定するには、IFCExportOptions クラスを使用します。

Navisworks に書き出す

Navisworks の書き出しメソッドには、現在の Revit セッションに登録されている互換性のある Navisworks 書き出しアドインが必要です。互換性のある書き出しが登録されていない場合は、メソッドが例外をスローします。Navisworks exporter が登録されているかどうかを判断するには、OptionalFunctionalityUtils.IsNavisworksExporterAvailable()メソッドを使用します。

NavisworksExportOptions オブジェクトを使用すると、ファイルをレベルごとに分割する、部屋ジオメトリを書き出すといった、Navisworks への書き出しに関するさまざまな設定が行えるようになります。さらに、NavisworksExportOptions.ExportScope プロパティは書き出しの範囲を指定します。既定はモデルです。他には View や SelectedElements といったオプションがあります。View に設定した場合は、それに応じて NavisworksExportOptions . ViewId プロパティを設定する必要があります。このプロパティは書き出し範囲が View に設定されている場合のみ使用します。SelectedElements に設定する場合は、書き出す要素の ID で NavisworksExportOptions . SetSelectedElementIds()メソッドを呼び出す必要があります。

DWF と DWFX に書き出す

対応する Document.Export()オーバーロードを使用すると、DWF と DWFX ファイルの両方を書き出すことができます。両方のメソッドとも、書き出すビューを表す ViewSet パラメータを持ちます。正常に書き出すには、ViewSet のすべてのビューが印刷可能である必要があります。これは、各ビューの View.CanBePrinted プロパティを使用して確認することができます。最後のパラメータは DWFExportOptions またはDWFXExportOptions のいずれかになります。DWFXExportOptions は DWFExportOptions から派生したものであり、すべて同じ書き出し設定です。トリミング ボックス、イメージ品質、用紙形式を書き出すかどうかのオプションもあります。

コード領域: DWF を書き出す

public bool ExportViewToDWF(Document document, View view, string pathname)
{
    DWFExportOptions dwfOptions = new DWFExportOptions();
    // export with crop box and area and room geometry
    dwfOptions.CropBoxVisible = true;
    dwfOptions.ExportingAreas = true;
    ViewSet views = new ViewSet();
    views.Insert(view);
    return (document.Export(Path.GetDirectoryName(pathname),
        Path.GetFileNameWithoutExtension(pathname), views, dwfOptions));
}

3D-Studio Max に書き出す

FBX 書き出しには、インストールした Revit に含まれていない場合がある省略可能な特定のモジュールが必要であり、OptionalFunctionalityUtils.IsFBXExportAvailable()メソッドを使用すると、FBX 書き出し機能が使用できるかどうかの確認ができます。3D-Studio Max への書き出しのための Export()メソッドには 書き出すビューのセットを表すViewSet パラメータがあります。3D ビューのみが使用できます。FBXExportOptions パラメータを使用すると、境界エッジなしに書き出すかどうか、詳細のレベルを使用するかどうか、ビューの書き出しに失敗したときに書き出し処理を停止するかどうかを指定できます。

CAD 形式に書き出す

DGN、DWG、DXF 形式ファイルへの書き出しには同じような書き出しメソッドとオプションを使用します。

DGN、DWG、DXF 書き出しにはすべて、インストールした Revit の一部に含まれない場合がある省略可能な特定のモジュールが必要であり、対応するメソッドとして OptionalFunctionalityUtils クラスを使用することでこれらの各タイプの書き出し機能が使用できるかどうかを確認できます。

DGN、DWG、DXF 形式への書き出しのための Export()メソッドには、すべて書き出されるビューを表すパラメータ(ビューの ElementIds の ICollection として)が必要です。正常に書き出すには、少なくとも 1 つの有効なビューが存在し、印刷可能である必要があります。これは、各ビューの View.CanBePrinted プロパティを使用して確認することができます。

これらの形式の書き出しオプションは BaseExportOptions から派生したもので、色モードやスコープ ボックスを非表示にするかどうかといった、共通の書き出し設定を多数持ちます。BaseExportOptions はまた GetPredefinedSetupNames()と呼ばれる静的メソッドを持ち、ドキュメントの定義済みの設定を返します。その後、定義済みの設定の名前が、対応するオプション クラス(DWGExportOptions、DGNExportOptions、DXFExportOptions)で使用できる静的メソッド GetPredefinedOptions()に渡されます。ベース クラス ACADExportOptions を共有することから、DWG と DXF ファイルの書き出しオプションにはさらに多くの共通オプションがあります。

次の例では、最初に定義済みの名前と定義済みのオプションを何も変更せずに使用して、アクティブなビュー(印刷可能な場合)を DGN ファイルに書き出します。

コード領域: DGN の書き出し

public bool ExportDGN(Document document, View view)
{
    bool exported = false;
    // Get predefined setups and export the first one
    IList<string> setupNames = BaseExportOptions.GetPredefinedSetupNames(document);
    if (setupNames.Count > 0)
    {
        // Get predefined options for first predefined setup
        DGNExportOptions dgnOptions = DGNExportOptions.GetPredefinedOptions(document, setupNames[0]);

        // export the active view if it is printable
        if (document.ActiveView.CanBePrinted == true)
        {
            ICollection<ElementId> views = new List<ElementId>();
            views.Add(view.Id);
            exported = document.Export(Path.GetDirectoryName(document.PathName),
                Path.GetFileNameWithoutExtension(document.PathName), views, dgnOptions);
        }
 }
           
    return exported;
}

これらのファイル タイプでは、対応するテーブルを作成して、それを BaseExportOptions クラスの適切なメソッドに渡すことで、レイヤ マッピングや文字フォント マッピングなどのさまざまなマッピング設定を修正できます。詳細については、「テーブルの書き出し」トピックを参照してください。

SAT に書き出す

SAT のための Export メソッドは、書き出されるビューを表すパラメータ(ビューの ElementIds の ICollection として)を持ちます。正常に書き出すには、少なくとも 1 つの有効なビューが存在し、印刷可能である必要があります。これは、各ビューの View.CanBePrinted プロパティを使用して確認することができます。SATExportOptions オブジェクトには指定する設定はありません。すべて既定の設定を使用します。

土木設計アプリケーションに書き出す

最後の Export()メソッドは、ドキュメントの 3D ビューを、土木設計アプリケーションの形式で書き出します。このメソッドのパラメータの 1 つに、総面積図を指定する Viewplan があります。ビュー平面のすべての面積が書き出され、「建築面積」エリア平面図となります。エリア スキームが建築面積かどうかを確認するには、AreaScheme.GrossBuildingArea プロパティを使用します。BuildingSiteExportOptions オブジェクトを使用すると、総面積や収容人数合計といった設定にカスタム値を使用することができます。