BIM を Indoor データセットにインポート (Import BIM To Indoor Dataset) (Indoors)

ArcGIS Indoors Pro または ArcGIS Indoors Maps エクステンションで利用できます。

サマリー

フィーチャを BIM ファイルから、ArcGIS Indoors Information Model に準拠する Indoor データセットにインポートします。 このツールの出力を使用して、フロア対応マップおよびシーンを作成したり、ルート検索用の Indoor ネットワークを生成したりすることができます。

使用法

  • このツールを使用すると、Indoor データセット ([Indoor データセットの作成 (Create Indoor Dataset)] ツールを使用して作成) または Indoors ジオデータベース ([Indoors データベースの作成 (Create Indoors Database)] ツールを使用して作成) にフロア プラン データを読み込むことができます。

  • ソース BIM データは、このツールの実行前にジオリファレンスする必要があります。

    ArcGIS Pro への BIM データ追加の詳細

  • [入力 BIM フロアプラン ポリゴン レイヤー] パラメーター値は、ソース BIM ファイルの Floorplan データセットの Floorplan_Polygon フィーチャ レイヤーになります。

    • このツールは、Floorplan_Polygon レイヤーを使用して、Levels フィーチャと Units フィーチャを構築します。
    • [入力 BIM フロアプラン ポリゴン レイヤー] パラメーター値に基づき、ツールは、同じ [Floorplan] データセットの追加のレイヤーにアクセスして、Indoor データセットを構築します。 Footprint レイヤーを使用して Facilities フィーチャを構築し、Floorplan_Polyline レイヤーを使用して、Details フィーチャを構築します。
  • [デザイン オプション] パラメーターは、Autodesk Revit デザイン オプション Revit のドローイングで検出された場合に有効になります。 デザイン オプションは、メインの Revit モデルとともに存在し、通常、建設プロジェクトの設計段階で使用されます。 デザイン オプションはセットに編成され、セットごとに 1 つのオプションのみをプライマリとして割り当てることができます。

    このツールは常に、Revit のドローイングのメイン モデルからフィーチャをインポートします。 必要に応じて、Revit のドローイングをシーンで視覚化し、同様にインポートする必要があるデザイン オプションを決定します。 たとえば、フィルター設定を使用して、BIM フロアプラン ポリゴン レイヤーをフロア別にフィルター処理します。次に、Option_Set および Design_Option フィールドの一意の値を使用してレイヤーをシンボル表示します。

    注意:

    ツールの実行後に、インポートされた Units および Details フィーチャを検査します。 デザイン オプションの編成方法によっては、余分なフィーチャや欠落しているフィーチャが見つかることがあります。 整合チェック ルールを実行すると、重複するフィーチャなど、デザイン オプションに関連する問題の特定に役立ちます。

  • [ターゲット ユニット フィーチャ][ターゲット詳細フィーチャ][ターゲット レベル フィーチャ]、および [ターゲット施設フィーチャ] パラメーターは、Indoors モデルに準拠するユニット、詳細、レベル、および施設フィーチャを含むフィーチャクラスまたはフィーチャ レイヤーを参照する必要があります。

    注意:

    ターゲット フィーチャはすべて、同じファイル ジオデータベース、エンタープライス ジオデータベース、またはフィーチャ サービスから生成される必要があります。

  • [施設 ID] パラメーターは、Indoor データセットにインポートされる施設フィーチャの FACILITY_ID フィールドの入力に使用します。 このパラメーターを設定する際には、次の点に留意してください。

    • 空白文字は使用できません。 空白文字はアンダースコア文字で置換できます。 たとえば、Building XYZ の代わりに Building_XYZ を使用します。
    • 入力 BIM データを既存の Indoor データセットの新しい施設として追加するには、ターゲット施設フィーチャの別の施設に割り当てられていない施設 ID を指定します。
    • 既存の施設を更新するには、ターゲット施設フィーチャにあるその施設フィーチャの FACILITY_ID フィールド値を使用します。
      注意:

      既存の施設フィーチャを更新するには、[施設 ID] パラメーター値がその施設フィーチャの FACILITY_ID フィールド値に一致する必要があり、また、[施設名] パラメーター値がその施設フィーチャの NAME フィールド値に一致する必要があります。 この一致では大文字と小文字が区別されます。

  • [施設名] パラメーターは、Indoor データセットにインポートされる施設フィーチャの NAME フィールドの入力に使用します。

  • [グラウンド フロア名] パラメーターは、建物の地上階を決定します。 ターゲット レベル フィーチャの各レベルの垂直方向の順序、レベル数、Z 値は、この入力から取得されます。 特定された地上階より標高が少ないレベルは、マイナスの垂直順序が割り当てられます。

    注意:
    • 地上階として設定したフロアを Indoor データセットにインポートする必要はありません。
    • 占有可能なレベルのみがこのパラメーターの入力として使用可能です。

  • ターゲット フィーチャ パラメーターに設定した位置にデータが存在する場合、ソース BIM ファイルの施設およびレベルの名前がフィーチャの施設およびレベルの名前と比較され、更新するフィーチャが決定されます。

    • [施設 ID] および [施設名] パラメーター値がそれぞれ、ターゲット施設フィーチャの FACILITY_ID および NAME フィールド値に一致する場合は、Facilities フィーチャが更新されます。
    • ソース BIM ファイルのレベル フィーチャの BldgLevel フィールド値がターゲット レベル フィーチャの NAME フィールド値に一致する場合は、Levels フィーチャとその関連する Details および Units フィーチャが更新されます。
    注意:

    [施設 ID] および [施設名] パラメーター値が、既存の施設フィーチャの FACILITY_ID および NAME フィールドに一致せず、BIM フロアプラン ポリゴンが既存の施設フィーチャと交差しない場合、ツールは、指定された [施設 ID] および [施設名] の値を使用する新しい施設として BIM データをインポートします。

  • [Floorplan ポリゴン Use Type フィールド] パラメーターは、ターゲット ユニット フィーチャの USE_TYPE フィールドの入力に使用される Floorplan_Polygon フィーチャ レイヤーのフィールドを定義します。 フィールドを指定しない場合、Floorplan_Polygon レイヤーの RoomName フィールド値が使用されます。

  • 次のパラメーターを使用すると、ソース BIM ファイルの Rooms レイヤーからターゲット ユニット フィーチャの既存のフィールドへ追加の属性をマッピングできます。

    • 入力 [BIM Rooms レイヤー] パラメーターは、ソース BIM ファイルの Architectural データセット内にある Rooms レイヤーを定義します。
    • [ルーム プロパティのマッピング] パラメーターを使用すると、入力 BIM Rooms レイヤーのフィールドをターゲット ユニット フィーチャのフィールドにマッピングできます。 ツールを実行する前に、フィールドが存在している必要があります。 ソース BIM Rooms レイヤーのフィールドは、同じデータ タイプのターゲット フィールドにマッピングすることをお勧めします。
  • 次のフィールドは、Units フィーチャクラスに存在する場合にデフォルトでマッピングされ、[ルーム プロパティのマッピング] パラメーターを使用してマッピングすることはできません: AREA_GROSSAREA_NETAREA_UMELEVATION_ABSOLUTEELEVATION_RELATIVEFACILITY_IDFACILITY_NAMELEVEL_IDLEVEL_NAMELEVEL_NUMBERNAMEUNIT_IDUSE_TYPEVERTICAL_ORDER

  • [インポートするフロア] パラメーターは、インポートされる入力 BIM ファイルのフロアを定義します。 このパラメーターを使用して、屋内データの特定のレベルを追加または更新できます。 このパラメーターが指定されないと、BIM ファイルのすべてのフロアがインポートされます。

  • [Area Unit of Measure] パラメーターを使用すると、Levels および Units フィーチャクラスの AREA_GROSS フィールドの単位を指定できます。

  • [新しい重複施設の挿入を許可] パラメーターを使用すると、競合するフロア プラン データが誤ってインポートされるのを防ぐことができます。

    • このパラメーターはデフォルトでオフになっています。 このパラメーターがオフの場合、ツールは、入力 BIM フロアプラン ポリゴンがターゲット施設フィーチャの既存の施設ポリゴンに交差しているかどうかをテストします。 交差が検出された場合、ツールは、指定した [施設 ID] および [施設名] パラメーター値が、交差している Facilities フィーチャの FACILITY_ID および NAME フィールド値に一致するかどうかをチェックします。 値が一致する場合、ツールは既存の施設を更新します。 値が一致しない場合、ツールは警告メッセージを出力して、実行を停止します。
    • このパラメーターがオンの場合、ツールは、入力 BIM フロアプラン ポリゴンがターゲット施設フィーチャの既存の施設ポリゴンに交差しているかどうかをテストしません。 このパラメーターは、既存の施設に重複するか、接する建物をインポートする場合にオンにします。
  • [ターゲット施設 3D フィーチャ][ターゲット ユニット 3D フィーチャ]、および [ターゲット詳細 3D フィーチャ] パラメーターを使用すると、フィーチャを Facilities 3D、Units 3D、および Details 3D マルチパッチ レイヤーにインポートできます。 オブジェクトは、次のようにしてターゲット レイヤーにインポートされます。

    • [ターゲット施設 3D フィーチャ] - マルチパッチ フィーチャが Facilities 3D レイヤーに作成され、ExteriorShell フィーチャクラスからの建物の施設シェルを表します。
    • [ターゲット ユニット 3D フィーチャ] - マルチパッチ フィーチャが Units 3D レイヤーに作成され、Revit モデルの部屋カテゴリに含まれるオブジェクトのフットプリントを表します。
    • [ターゲット詳細 3D フィーチャ] - マルチパッチ フィーチャが、Revit カテゴリ (ドア、ランプ、階段、階段の手すり、階段の踊り場、柱、構造柱、壁、窓、コーニス、カーテン壁パネル) に含まれるオブジェクトから Details 3D レイヤーに作成されます。

      シンボルが、Revit モデルのシンボルに基づいて生成されます。

    注意:

    Indoor 3D データセットの座標系が Revit モデルの座標系と一致し、かつそのモデルが正確にジオリファレンスされていることを確認してください。 座標系が一致しないか、ジオリファレンスが正確でない場合は、3D フィーチャの拡大/縮小の問題が発生することがあります。

パラメーター

ラベル説明データ タイプ
入力 BIM フロアプラン ポリゴン レイヤー

現在のマップに追加されているソース BIM ファイルの Floorplan_Polygon フィーチャ レイヤーです。

Feature Layer
ターゲット ユニット フィーチャ

ArcGIS Indoors Information Model に準拠し、ターゲット Facilities、Levels、および Details フィーチャと同じワークスペースに存在するターゲット Units フィーチャ レイヤー、フィーチャクラス、またはフィーチャ サービス。

Feature Layer
ターゲット詳細フィーチャ

ArcGIS Indoors Information Model に準拠し、ターゲット Facilities、Levels、および Units フィーチャと同じワークスペースに存在するターゲット Details フィーチャ レイヤー、フィーチャクラス、またはフィーチャ サービス。

Feature Layer
ターゲット レベル フィーチャ

ArcGIS Indoors Information Model に準拠し、ターゲット Facilities、Units、および Details フィーチャと同じワークスペースに存在するターゲット Levels フィーチャ レイヤー、フィーチャクラス、またはフィーチャ サービス。

Feature Layer
ターゲット施設フィーチャ

ArcGIS Indoors Information Model に準拠し、ターゲット Levels、Units、および Details フィーチャと同じワークスペースに存在するターゲット Facilities フィーチャ レイヤー、フィーチャクラス、またはフィーチャ サービス。

Feature Layer
施設 ID

出力 Indoors フィーチャに割り当てられる一意の施設 ID。 施設 ID に空白文字を含めることはできません。

String
施設名

建物の一般名。

String
グラウンド フロアの名前

グラウンド フロア名 レベルの垂直順序は、この入力から取得されます。 指定された地上階より標高が少ないレベルは、マイナスの垂直順序が割り当てられます。

String
Floorplan ポリゴン Use Type フィールド
(オプション)

ターゲット ユニット フィーチャの USE_TYPE フィールドの入力に使用される Floorplan_Polygon フィーチャ レイヤーのフィールド。 フィールドを指定しない場合、Floorplan_Polygon レイヤーの RoomName フィールド値が使用されます。

String
インポートするフロア
(オプション)

ターゲット フィーチャにインポートされる入力 BIM ファイルのフロア。 フロアを指定しない場合、すべてのフロアがインポートされます。

String
計測の面積単位
(オプション)

Levels および Units フィーチャクラスのエリア フィールドで使用される計測単位を指定します。

  • 平方メートル面積単位は平方メートル。
  • 平方フィート面積単位は平方フィート。 これがデフォルトです。
String
入力 BIM Rooms レイヤー
(オプション)

入力 BIM ファイルの Architectural データセットにある Rooms レイヤー。 このレイヤーは、[ルーム プロパティのマッピング] パラメーターを使用して Units フィーチャクラスの既存のフィールドにマッピングできる拡張フィールド値の取得に使用されます。

Feature Layer
ルーム プロパティのマッピング
(オプション)

入力 BIM Rooms レイヤーのフィールド値が入力される Units フィーチャクラスの属性フィールドを制御します。 ツールを実行する前に、これらのフィールドが存在している必要があります。 入力 BIM Rooms レイヤーのフィールドは、同じフィールド タイプの Units フィーチャクラスのフィールドにマッピングすることをお勧めします。

Field Mappings
新しい重複施設の挿入を許可
(オプション)

入力 BIM ファイルの建物のフロア プランとターゲット施設フィーチャの既存の Facilities レイヤーの交差が検出された場合に、その建物をインポートするかどうかを指定します。

  • オフ - ツールは、入力 BIM フロアプラン ポリゴンがターゲット フィーチャの既存の施設ポリゴンに交差しているかどうかをテストします。 交差が検出された場合、ツールは、指定した [施設 ID] および [施設名] パラメーター値が、交差している Facilities フィーチャの FACILITY_ID および NAME フィールド値に一致するかどうかをチェックします。 値が一致する場合、ツールは既存の施設を更新します。 値が一致しない場合、ツールはメッセージを出力して、実行を停止します。 これがデフォルトです。
  • オン - ツールは、入力 BIM フロアプラン ポリゴンがターゲット施設フィーチャの既存の施設ポリゴンに交差しているかどうかをテストしません。 このオプションは、既存の施設に重複するか、接する建物をインポートするために使用できます。
Boolean
デザイン オプション
(オプション)

フィーチャのインポート時に含められる、入力 BIM ファイルの Revit デザイン オプション。 値を指定しないと、メイン モデルのみがインポートされます。 このパラメーターは、入力 BIM ファイルに Revit デザイン オプションが含まれている場合に有効になります。

Field Mappings
ターゲット ユニット 3D フィーチャ
(オプション)

ArcGIS Indoors Information Model に準拠し、ターゲット 3D Details およびターゲット 3D Facilities フィーチャと同じワークスペースに存在するターゲット 3D Units フィーチャ レイヤー、フィーチャクラス、またはフィーチャ サービス。 マルチパッチ ユニット フィーチャが、入力 BIM ファイルの各部屋のベースを表すターゲット 3D ユニット レイヤーに作成されます。

Feature Layer
ターゲット詳細 3D フィーチャ
(オプション)

ArcGIS Indoors Information Model に準拠し、ターゲット 3D Units およびターゲット 3D Facilities フィーチャと同じワークスペースに存在するターゲット 3D Details フィーチャ レイヤー、フィーチャクラス、またはフィーチャ サービス。 マルチパッチ詳細フィーチャが、入力 BIM ファイルのカテゴリ (ドア、ランプ、階段、階段の手すり、階段の踊り場、柱、構造柱、壁、窓、コーニス、カーテン壁パネル) からターゲット 3D 詳細レイヤーに作成されます。

Feature Layer
ターゲット施設 3D フィーチャ
(オプション)

ArcGIS Indoors Information Model に準拠し、ターゲット 3D Units およびターゲット 3D Details フィーチャと同じワークスペースに存在するターゲット 3D Facilities フィーチャ レイヤー、フィーチャクラス、またはフィーチャ サービス。 マルチパッチ施設フィーチャが、入力 BIM ファイルの ExteriorShell カテゴリからターゲット 3D 施設レイヤーに作成されます。

Feature Layer

派生した出力

ラベル説明データ タイプ
更新されたユニット

更新されたターゲット ユニット フィーチャ。

Feature Layer

arcpy.indoors.ImportBIMToIndoorDataset(in_bim_floorplan_layer, target_unit_features, target_detail_features, target_level_features, target_facility_features, facility_id, facility_name, ground_floor_name, {floorplan_polygon_use_type_field}, {floors_to_import}, {area_unit_of_measure}, {in_bim_rooms_layer}, {room_properties_mapping}, {allow_insert_new_facility}, {design_options}, {target_unit3d_features}, {target_detail3d_features}, {target_facility3d_features})
名前説明データ タイプ
in_bim_floorplan_layer

現在のマップに追加されているソース BIM ファイルの Floorplan_Polygon フィーチャ レイヤーです。

Feature Layer
target_unit_features

ArcGIS Indoors Information Model に準拠し、ターゲット Facilities、Levels、および Details フィーチャと同じワークスペースに存在するターゲット Units フィーチャ レイヤー、フィーチャクラス、またはフィーチャ サービス。

Feature Layer
target_detail_features

ArcGIS Indoors Information Model に準拠し、ターゲット Facilities、Levels、および Units フィーチャと同じワークスペースに存在するターゲット Details フィーチャ レイヤー、フィーチャクラス、またはフィーチャ サービス。

Feature Layer
target_level_features

ArcGIS Indoors Information Model に準拠し、ターゲット Facilities、Units、および Details フィーチャと同じワークスペースに存在するターゲット Levels フィーチャ レイヤー、フィーチャクラス、またはフィーチャ サービス。

Feature Layer
target_facility_features

ArcGIS Indoors Information Model に準拠し、ターゲット Levels、Units、および Details フィーチャと同じワークスペースに存在するターゲット Facilities フィーチャ レイヤー、フィーチャクラス、またはフィーチャ サービス。

Feature Layer
facility_id

出力 Indoors フィーチャに割り当てられる一意の施設 ID。 施設 ID に空白文字を含めることはできません。

String
facility_name

建物の一般名。

String
ground_floor_name

グラウンド フロア名 レベルの垂直順序は、この入力から取得されます。 指定された地上階より標高が少ないレベルは、マイナスの垂直順序が割り当てられます。

String
floorplan_polygon_use_type_field
(オプション)

ターゲット ユニット フィーチャの USE_TYPE フィールドの入力に使用される Floorplan_Polygon フィーチャ レイヤーのフィールド。 フィールドを指定しない場合、Floorplan_Polygon レイヤーの RoomName フィールド値が使用されます。

String
floors_to_import
[floors_to_import,...]
(オプション)

ターゲット フィーチャにインポートされる入力 BIM ファイルのフロア。 フロアを指定しない場合、すべてのフロアがインポートされます。

String
area_unit_of_measure
(オプション)

Levels および Units フィーチャクラスのエリア フィールドで使用される計測単位を指定します。

  • SQUARE_METERS面積単位は平方メートル。
  • SQUARE_FEET面積単位は平方フィート。 これがデフォルトです。
String
in_bim_rooms_layer
(オプション)

入力 BIM ファイルの Architectural データセットにある Rooms レイヤー。 このレイヤーは、[ルーム プロパティのマッピング] パラメーターを使用して Units フィーチャクラスの既存のフィールドにマッピングできる拡張フィールド値の取得に使用されます。

Feature Layer
room_properties_mapping
(オプション)

入力 BIM Rooms レイヤーのフィールド値が入力される Units フィーチャクラスの属性フィールドを制御します。 ツールを実行する前に、これらのフィールドが存在している必要があります。 入力 BIM Rooms レイヤーのフィールドは、同じフィールド タイプの Units フィーチャクラスのフィールドにマッピングすることをお勧めします。

Field Mappings
allow_insert_new_facility
(オプション)

入力 BIM ファイルの建物のフロア プランとターゲット施設フィーチャの既存の Facilities レイヤーの交差が検出された場合に、その建物をインポートするかどうかを指定します。

  • NO_ALLOW_INSERT_NEW_FACILITYツールは、入力 BIM フロアプラン ポリゴンがターゲット施設フィーチャの既存の施設ポリゴンに交差しているかどうかをテストします。 交差が検出された場合、ツールは、指定した facility_id および facility_name パラメーター値が、交差している Facilities フィーチャの FACILITY_ID および NAME フィールド値に一致するかどうかをチェックします。 値が一致する場合、ツールは既存の施設を更新します。 値が一致しない場合、ツールはメッセージを出力して、実行を停止します。 これがデフォルトです。
  • ALLOW_INSERT_NEW_FACILITYツールは、入力 BIM フロアプラン ポリゴンがターゲット施設フィーチャの既存の施設ポリゴンに交差しているかどうかをテストしません。 このオプションは、既存の施設に重複するか、接する建物をインポートするために使用できます。
Boolean
design_options
[design_options,...]
(オプション)

フィーチャのインポート時に含められる、入力 BIM ファイルの Revit デザイン オプション。 値を指定しないと、メイン モデルのみがインポートされます。 このパラメーターは、入力 BIM ファイルに Revit デザイン オプションが含まれている場合に有効になります。

Field Mappings
target_unit3d_features
(オプション)

ArcGIS Indoors Information Model に準拠し、ターゲット 3D Details およびターゲット 3D Facilities フィーチャと同じワークスペースに存在するターゲット 3D Units フィーチャ レイヤー、フィーチャクラス、またはフィーチャ サービス。 マルチパッチ ユニット フィーチャが、入力 BIM ファイルの各部屋のベースを表すターゲット 3D ユニット レイヤーに作成されます。

Feature Layer
target_detail3d_features
(オプション)

ArcGIS Indoors Information Model に準拠し、ターゲット 3D Units およびターゲット 3D Facilities フィーチャと同じワークスペースに存在するターゲット 3D Details フィーチャ レイヤー、フィーチャクラス、またはフィーチャ サービス。 マルチパッチ詳細フィーチャが、入力 BIM ファイルのカテゴリ (ドア、ランプ、階段、階段の手すり、階段の踊り場、柱、構造柱、壁、窓、コーニス、カーテン壁パネル) からターゲット 3D 詳細レイヤーに作成されます。

Feature Layer
target_facility3d_features
(オプション)

ArcGIS Indoors Information Model に準拠し、ターゲット 3D Units およびターゲット 3D Details フィーチャと同じワークスペースに存在するターゲット 3D Facilities フィーチャ レイヤー、フィーチャクラス、またはフィーチャ サービス。 マルチパッチ施設フィーチャが、入力 BIM ファイルの ExteriorShell カテゴリからターゲット 3D 施設レイヤーに作成されます。

Feature Layer

派生した出力

名前説明データ タイプ
updated_units

更新されたターゲット ユニット フィーチャ。

Feature Layer

コードのサンプル

ImportBIMToIndoorDataset の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで ImportBIMToIndoorDataset 関数を使用する方法を示しています。

import arcpy
arcpy.indoors.ImportBIMToIndoorDataset('C:/ExampleCampus.rvt/Floorplan/Floorplan_Polygon', 
                                        'C:/Indoors/ExampleCampus.gdb/Indoor/Units', 
                                        'C:/Indoors/ExampleCampus.gdb/Indoor/Details', 
                                        'C:/Indoors/ExampleCampus.gdb/Indoor/Levels', 
                                        'C:/Indoors/ExampleCampus.gdb/Indoor/Facilities', 
                                        'Building_A',
                                        'Building A',
                                        'LEVEL 01',
                                        'RoomName',
                                        ['BASEMENT', 'LEVEL 01', 'LEVEL 02'],
                                        'SQUARE_FEET',
                                        'C:/ExampleCampus.rvt/Architectural/Rooms',
                                       'UNIT_ID "Unit ID" true true false 255 Text 0 0,First,#,Rooms,ObjectId,0,255;'
                                       'NAME "Name" true true false 100 Text 0 0,First,#;'
                                       'NAME_LONG "Long Name" true true false 255 Text 0 0,First,#,Rooms,Department,0,255;LEVEL_ID "Level ID" true true false 255 Text 0 0,First,#;'
                                       'AREA_GROSS "Gross Area" true true false 8 Double 0 0,First,#;'
                                       'HEIGHT_RELATIVE "Relative Height" true true false 8 Double 0 0,First,#,Rooms,SourceHeight,-1,-1',
                                       'NO_ALLOW_INSERT_NEW_FACILITY',
                                       '',
                                       'C:/Indoors/ExampleCampus.gdb/Indoor3D/Units3d',
                                       'C:/Indoors/ExampleCampus.gdb/Indoor3D/Details3d',
                                       'C:/Indoors/ExampleCampus.gdb/Indoor3D/Facilities3d')
ImportBIMToIndoorDataset の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトで、ImportBIMToIndoorDataset 関数を使用する方法を示します。

# Name: ImportBIMToIndoorDataset_example2.py
# Description: Imports features from a BIM file into the indoor dataset

import arcpy

# Set tool parameters 
in_bim_floorplan_fc = 'C:/ExampleCampus.rvt/Floorplan/Floorplan_Polygon'
arcpy.management.MakeFeatureLayer(in_bim_floorplan_fc, 'in_bim_floorplan_layer')

target_unit_features = 'C:/Indoors/ExampleCampus.gdb/Indoor/Units' 
target_detail_features = 'C:/Indoors/ExampleCampus.gdb/Indoor/Details' 
target_level_features = 'C:/Indoors/ExampleCampus.gdb/Indoor/Levels' 
target_facility_features = 'C:/Indoors/ExampleCampus.gdb/Indoor/Facilities' 
facility_id = 'BUILDING_A'
facility_name = 'Building A'
ground_floor_name = 'LEVEL 01'
floorplan_polygon_use_type_field = 'Category'
floors_to_import = ['BASEMENT', 'LEVEL 01', 'LEVEL 02']
area_unit_of_measure = 'SQUARE_FEET'
in_bim_rooms_layer = 'C:/ExampleCampus.rvt/Architectural/Rooms'
room_properties_mapping = ""
allow_insert_new_facility = 'NO_ALLOW_INSERT_NEW_FACILITY'

# Create field mapping object
room_properties_mapping = arcpy.FieldMappings()
#set target schema
TargetSchema = 'C:/Indoors/ExampleCampus.gdb/Indoor/Units'
room_properties_mapping.addTable(TargetSchema)

# Map the target field "NAME_LONG", using values from "RoomNumber" field from source BIM file
fldMap = arcpy.FieldMap()
fldMap.addInputField(in_bim_rooms_layer, 'RoomNumber')
RoomNumber = fldMap.outputField
RoomNumber.name, RoomNumber.aliasName, RoomNumber.type = 'NAME_LONG', 'Long Name', 'TEXT'
fldMap.outputField = RoomNumber
room_properties_mapping.addFieldMap(fldMap)

# Map the target field "HEIGHT_RELATIVE", using values from "SourceHeight"
fldMap = arcpy.FieldMap()
fldMap.addInputField(in_bim_rooms_layer, 'SourceHeight')
SourceHeight = fldMap.outputField
SourceHeight.name, SourceHeight.aliasName, SourceHeight.type = 'HEIGHT_RELATIVE', 'Relative Height', 'DOUBLE'
fldMap.outputField = SourceHeight
fldMap.addInputField(in_bim_rooms_layer, 'SourceHeight')
room_properties_mapping.addFieldMap(fldMap)

# Prepare the design option strings
option_set_name1 = "Option Set 1"
design_option_name1 = "Design 1"
option_set_name2 = "Option Set 2"
design_option_name2 = "Design 2"
design_options = [option_set_name1 + " | " + design_option_name1, option_set_name2 + " | " + design_option_name2]

# Set target layers for 3D features
target_unit3d_features = 'C:/Indoors/ExampleCampus.gdb/Indoor3D/Units3D' 
target_detail3d_features = 'C:/Indoors/ExampleCampus.gdb/Indoor3D/Details3D' 
target_facility3d_features = 'C:/Indoors/ExampleCampus.gdb/Indoor3D/Facilities3D'

# Run the tool
arcpy.indoors.ImportBIMToIndoorDataset(in_bim_floorplan_layer, target_unit_features, target_detail_features,
                                       target_level_features, target_facility_features, facility_id, facility_name,
                                       ground_floor_name, floorplan_polygon_use_type_field, floors_to_import,
                                       area_unit_of_measure, in_bim_rooms_layer, room_properties_mapping,
                                       allow_insert_new_facility, design_options, target_unit3d_features, target_detail3d_features, target_facility3d_features)

ライセンス情報

  • Basic: No
  • Standard: No
  • Advanced: 次のものが必要 ArcGIS Indoors Pro or ArcGIS Indoors Maps

関連トピック