将 BIM 导入室内数据集 (Indoors)

摘要

将要素从 Revit 文件 (.rvt) 导入到符合 ArcGIS Indoors 信息模型的 Indoors 工作空间中。 可使用该工具的输出创建楼层感知型地图和场景,以及生成用于路由的室内网络。

使用情况

  • 可以使用此工具将楼层平面图数据加载到使用创建室内数据集工具或创建 Indoors 数据库工具创建的 Indoors 工作空间中。

  • 源 BIM 数据必须在运行该工具之前进行地理配准。

    警告:

    Ensure that the BIM data is accurately georeferenced (including any linked Revit models) and the coordinate system of the indoor dataset and indoor 3D dataset match the coordinate system in the associated .wld3 file. Both the horizontal and vertical coordinate system units must match, and any linked Revit models must have the same horizontal and vertical coordinate systems as the host Revit model. 地理配准不精确或者坐标系不匹配可能会导致 3D 要素的缩放问题。

    了解有关将 BIM 数据添加到 ArcGIS Pro 的详细信息

  • 将根据下表将要素从 Revit 文件导入到室内数据集中:

    Revit 类别Indoors 模型要素类

    Footprint

    设施点

    地板和屋顶(可选)

    楼层

    房间、楼梯和竖井

    单元

    门、坡道、楼梯、楼梯支架、楼梯平台、柱、承重柱、墙壁、幕墙板和窗户

    细节

  • 输入 BIM 文件工作空间参数值使用 .rvt 文件。 或者,如果将 .rvt 文件添加到地图,请使用源 BIM 文件工作空间中的 Floorplan 数据集中的 Floorplan_Polygon 要素图层作为此参数的输入。

    • 可以选择链接 Revit 文件作为链接文件参数的输入,如果输入 BIM 文件工作空间具有链接文件的主 Revit 模型,该选项将自动显示。
    • 链接 Revit 文件必须位于与主 Revit 模型相同的文件夹或该文件夹的嵌套文件夹中,工具才能检测到该文件。

      注:

      该工具仅支持导入作为 .rvt 文件的链接模型。

  • 当在 Revit 绘图中检测到 Autodesk Revit 设计选项 时,将启用设计选项参数。 设计选项与主要 Revit 模型并存,通常在建设项目的设计阶段使用。 设计选项被组织成集,每个集中只有一个选项可以指定为主要选项。

    选择链接 Revit 文件时,其设计选项将自动出现在设计选项参数下,以供选择。

    该工具始终从 Revit 绘图的主模型中导入要素。 如果需要,可视化场景中的 Revit 绘图以确定还应导入哪些设计选项。 例如,使用定义查询逐层过滤 BIM 平面图多边形;然后使用 Option_SetDesign_Option 字段中的唯一值对图层进行符号化。

    注:

    运行该工具后,检查导入的单位和详细信息要素。 根据设计选项的组织方式,您可能会发现额外或缺失的要素。 运行验证规则可以帮助识别与设计选项相关的问题,例如重叠要素。

  • 目标 Units 要素目标 Detail 要素目标 Facility 要素目标楼层要素目标 Unit 3D 要素目标 Detail 3D 要素目标 Facility 要素参数必须参考符合 Indoors 模型的要素类或要素图层。

    注:

    目标 2D 要素必须全部来自同一文件地理数据库、企业级地理数据库或要素服务。

    目标 3D 要素可以来自与目标 2D 要素不同的工作空间。

  • 设施点 ID 参数用于为室内数据集中导入的设施要素填充 FACILITY_ID 字段。 在设置此参数时,请牢记以下内容:

    • 不允许输入空格。 可以使用下划线字符替换空格。 例如,将 Building XYZ 改为 Building_XYZ。
    • 要将输入 BIM 数据添加为现有室内数据集中的新设施点,请指定未分配给目标设施点要素中其他设施点的设施点 ID。
    • 要更新现有设施点,请使用目标设施点要素中该设施点要素的 FACILITY_ID 字段值。
      注:

      要更新现有设施点要素,设施点 ID 参数值必须与设施点要素的 FACILITY_ID 字段值匹配,而设施点名称参数值必须与设施点要素的 NAME 字段值匹配。 匹配区分大小写。

  • 设施点名称参数用于为室内数据集中导入的设施要素填充 NAME 字段。

  • 将一楼高程设置为零参数指定是否将一楼高程定义为 0 或使用一楼地理参考高程。

    • 默认情况下,一楼高程设置为 0,其他楼层和室内设施的 z 值则根据其与一楼的关系进行定义。 选中此参数后,将共享楼层感知型场景,并且高程表面图层将关闭。
    • 当未选中此参数时,楼层的高程将与地理参考 BIM 模型中的楼层高程相匹配。 取消选中此参数允许您与高程表面共享楼层感知型场景。 在取消选中此参数之前,请确保 BIM 模型相对于地面具有准确的地理参考。
  • 一楼名称参数用于定义建筑物的一楼。 目标楼层要素中每个楼层的垂直顺序、楼层编号和 z 值均派生自此输入。 将向高程小于定义的一楼的任何楼层分配负垂直顺序。

    注:
    • 无需将设置为一楼的楼层导入室内数据集。
    • 此参数仅接受可占用的楼层作为输入。

  • 如果您为目标要素参数设置的位置中存在数据,则会将源 BIM 文件中的“设施点”和“楼层”名称与要素中的“设施点”和“楼层”名称进行比较,以确定要更新的要素。

    • 如果设施点 ID设施点名称参数值分别与目标设施要素的 FACILITY_IDNAME 字段值匹配,则将更新设施点要素。
    • 如果源 BIM 文件中 Levels 要素的 BldgLevel 字段值与目标 Levels 要素的 NAME 字段值相匹配,则将更新 Levels 要素及其关联的 Details 和 Units 要素。
    注:

    如果设施点 ID设施点名称参数值与现有设施点要素的 FACILITY_IDNAME 字段不匹配,并且 BIM 楼层平面图面不与现有设施点要素相交,则该工具会将 BIM 数据作为具有指定设施点 ID设施点名称值的新设施点导入。

  • 楼层平面图面使用类型字段参数定义 Floorplan_Polygon 要素图层中的字段,该字段将用于填充目标单元要素的 USE_TYPE 字段。 如果未提供任何字段,则将使用 Floorplan_Polygon 图层中的 RoomName 字段值。

  • 可以使用以下参数将其他属性从源 BIM 文件中的房间图层映射到目标单元要素的现有字段:

    • 输入 BIM 房间图层参数定义位于源 BIM 文件中建筑数据集中的房间图层。
    • 房间属性映射参数可用于将字段从输入 BIM 房间图层映射到目标单元要素字段。 运行该工具之前,字段必须存在。 建议将源 BIM 房间图层中的字段映射到具有相同数据类型的目标字段。
    • 如果使用链接文件参数选择了要导入的链接文件,则可以将 Units 图层中的字段与多个 Rooms 图层的字段进行映射。 所选 Rooms 图层必须源自主 Revit 模型或任何选定的链接 Revit 文件。 如果字段是从一个 Rooms 图层映射而来,而该字段存在于多个链接文件中,则该字段将在工具运行期间映射到在链接文件创建的任何单元。
    • 房间属性映射参数中不能使用具有相同名称的多个输入图层。 相反,请使用地理处理窗格中的浏览按钮浏览到每个 Rooms 图层的完整路径位置。
  • 如果以下字段存在于 Units 要素类中且无法使用房间属性映射参数进行映射,则默认情况下会对其进行映射:AREA_GROSSAREA_NETAREA_UMELEVATION_ABSOLUTEELEVATION_RELATIVEFACILITY_IDFACILITY_NAMELEVEL_IDLEVEL_NAMELEVEL_NUMBERNAMEUNIT_IDUSE_TYPEVERTICAL_ORDER

  • 通过以下方式,可以使用要导入的楼层参数定义将导入的输入 BIM 文件中的楼层:

    • 在室内数据中添加或更新特定楼层。
    • 导入具有关联楼层或屋顶元素的楼层。

    如果为此参数提供了输入,则仅会导入该数据子集。 如果未提供输入,则将导入 BIM 文件中的所有楼层。 仅作为此参数输入提供时,才会导入屋顶元素。

  • 使用面积测量单位参数可指定“楼层”和“单元”要素类中 AREA_GROSS 字段的单位。

  • 使用允许插入新的重叠设施点参数来防止意外导入冲突的平面图数据。

    • 默认情况下,此参数处于未选中状态。 取消选中此参数时,该工具将测试输入 BIM 楼层平面图是否与目标设施点要素中的任何现有设施点面相交。 如果检测到相交,该工具将检查指定的设施点 ID设施点名称参数值是否与相交设施点要素的 FACILITY_IDNAME 字段值匹配。 如果值匹配,该工具将更新现有设施点。 如果值不匹配,该工具将发出警告消息并停止运行。
    • 选中此参数时,该工具将不会测试输入 BIM 楼层平面图是否与目标设施点要素中的任何现有设施点面相交。 选中此参数以导入与现有设施点重叠或接触的建筑物。
  • 使用目标设施点 3D 要素目标单元 3D 要素目标细节 3D 要素参数分别将要素导入设施点 3D、单元 3D 和详细信息 3D 多面体图层。 要素将按如下方式导入到目标图层:

    • 目标设施点 3D 要素 - 多面体要素将在设施点 3D 图层中创建,表示来自 ExteriorShell 要素类的建筑物的设施外壳。
    • 目标单元 3D 要素 - 多面体要素将在单元 3D 图层中创建,表示 Revit 模型的房间类别中对象的轮廓线。
    • 目标细节 3D 要素 - 多面体要素将在详细信息 3D 图层中根据以下 Revit 类别的对象创建:门、坡道、楼梯、楼梯支撑、楼梯平台、柱、结构柱、墙壁、窗户、檐口和幕墙面板。

    • 符号系统是根据 Revit 模型的符号系统生成的。

参数

标注说明数据类型
输入 BIM 文件工作空间

.rvt 文件中已添加到当前地图的源 .rvt 文件或 Floorplan_Polygon 要素图层。

Composite
目标单元要素

符合 Indoors 模型并与目标 Units、Levels 或 Facilities 要素位于同一工作空间中的目标 Units 要素图层、要素类或要素服务。

Feature Layer
目标细节要素

符合 Indoors 模型并与目标 Units、Levels 或 Facilities 要素位于同一工作空间中的目标 Details 要素图层、要素类或要素服务。

Feature Layer
目标楼层要素

符合 Indoors 模型并与目标 Units、Levels 或 Facilities 要素位于同一工作空间中的目标 Levels 要素图层、要素类或要素服务。

Feature Layer
目标设施点要素

符合 Indoors 模型并与目标 Units、Levels 或 Facilities 要素位于同一工作空间中的目标 Facilities 要素图层、要素类或要素服务。

Feature Layer
设施点 ID

将分配给输出 Indoors 要素的唯一设施点 ID。 设施点 ID 不能包含空格。

String
设施点名称

建筑物常用名称。

String
一楼名称

建筑物的一楼。 楼层的垂直顺序派生自此值。 将向高程小于指定的一楼的任何楼层分配负垂直顺序。

String
房间使用类型字段
(可选)

Rooms 要素图层中的字段,将用于填充目标单元要素的 USE_TYPE 字段。 如果未提供任何字段,则将使用 RoomName 字段值。

String
要导入的楼层
(可选)

输入 .rvt 文件中将导入目标要素的楼层。 如果未提供楼层,则将导入所有楼层(不包含屋顶元素)。

String
面积测量单位
(可选)

指定将用于楼层和单元要素类中的面积字段的测量单位。

  • 平方米面积单位将为平方米。
  • 平方英尺面积单位将为平方英尺。 这是默认设置。
String
输入 BIM 房间图层
(可选)

来自输入 .rvt 文件的建筑数据集的房间图层。 该图层将用于获取扩展字段值,这些值可以使用房间属性映射参数映射到 Units 要素类中的现有字段。

Feature Layer
房间属性映射
(可选)

控制将使用来自输入 .rvt 房间图层的字段值填充 Units 要素类中的哪些属性字段。 运行该工具之前,字段必须存在。 建议将输入 .rvt 房间图层中的字段映射到具有相同字段类型的 Units 要素类中的字段。

Field Mappings
允许插入新的重叠设施点
(可选)

指定如果在建筑物的楼层平面图和目标设施点要素中的现有设施点要素之间检测到相交,是否将导入来自输入 .rvt 文件的建筑物。

  • 未选中 - 该工具将检查输入 BIM 楼层平面图面是否与目标要素中的任何现有设施点面相交。 如果检测到相交,该工具将检查指定的设施点 ID设施点名称参数值是否与相交设施点要素的 FACILITY_IDNAME 字段值匹配。 如果值匹配,该工具将更新现有设施点。 如果值不匹配,该工具将发出警告消息并停止运行。 这是默认设置。
  • 选中此 - 该工具将不会检查输入 BIM 楼层平面图面是否与目标设施点要素中的任何现有设施点面相交。 可以使用此选项导入与现有设施点重叠或接触的建筑物。
Boolean
设计选项
(可选)

导入要素时将包括的输入 .rvt 文件中的 Revit 设计选项。 如果未指定值,则只会导入主模型。 当输入 .rvt 文件包含 Revit 设计选项时启用此参数。

String
目标单元 3D 要素
(可选)

符合 Indoors 模型的目标 3D Units 要素图层、要素类或要素服务。 多面体单元要素将在代表输入 .rvt 文件中每个房间底部的目标 3D 单元图层中创建。

Feature Layer
目标细节 3D 要素
(可选)

符合 Indoors 模型的目标 3D Details 要素图层、要素类或要素服务。 多面体细节要素将在输入 .rvt 文件的以下类别的目标 3D 细节图层中创建:门、坡道、楼梯、楼梯支撑、楼梯平台、柱、结构柱、墙壁、窗户、飞檐和幕墙面板。

Feature Layer
目标设施点 3D 要素
(可选)

符合 Indoors 模型的目标 3D Facilities 要素图层、要素类或要素服务。 将在输入 .rvt 文件的 ExteriorShell 类别的目标 3Dfacilities 图层中创建多面体设施要素。

Feature Layer
链接文件
(可选)

与同一建筑物输入 .rvt 文件相关联的链接 Revit 文件。 所选链接文件将与主模型一起导入到 Indoors 模型中。 如果未指定值,则只会导入主模型。 仅当输入 .rvt 文件包含链接 Revit 文件时,此参数才可用。

String
将一楼高程设置为零

指定是否将一楼的高程设置为 0 或设置为地理参考 BIM 模型中楼层要素的高程。

  • 选中 - 一楼高程将设置为 0,其他楼层的 z 值则根据其与一楼的关系进行定义。 这是默认设置。
  • 未选中 - 楼层的高程将与地理参考 BIM 模型中的楼层高程相匹配。
Boolean

派生输出

标注说明数据类型
更新的 Units

更新后的目标 Units 要素。

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}, {linked_files}, ground_elevation_zero)
名称说明数据类型
in_bim_floorplan_layer

.rvt 文件中已添加到当前地图的源 .rvt 文件或 Floorplan_Polygon 要素图层。

Composite
target_unit_features

符合 Indoors 模型并与目标 Units、Levels 或 Facilities 要素位于同一工作空间中的目标 Units 要素图层、要素类或要素服务。

Feature Layer
target_detail_features

符合 Indoors 模型并与目标 Units、Levels 或 Facilities 要素位于同一工作空间中的目标 Details 要素图层、要素类或要素服务。

Feature Layer
target_level_features

符合 Indoors 模型并与目标 Units、Levels 或 Facilities 要素位于同一工作空间中的目标 Levels 要素图层、要素类或要素服务。

Feature Layer
target_facility_features

符合 Indoors 模型并与目标 Units、Levels 或 Facilities 要素位于同一工作空间中的目标 Facilities 要素图层、要素类或要素服务。

Feature Layer
facility_id

将分配给输出 Indoors 要素的唯一设施点 ID。 设施点 ID 不能包含空格。

String
facility_name

建筑物常用名称。

String
ground_floor_name

建筑物的一楼。 楼层的垂直顺序派生自此值。 将向高程小于指定的一楼的任何楼层分配负垂直顺序。

String
floorplan_polygon_use_type_field
(可选)

Rooms 要素图层中的字段,将用于填充目标单元要素的 USE_TYPE 字段。 如果未提供任何字段,则将使用 RoomName 字段值。

String
floors_to_import
[floors_to_import,...]
(可选)

输入 .rvt 文件中将导入目标要素的楼层。 如果未提供楼层,则将导入所有楼层(不包含屋顶元素)。

String
area_unit_of_measure
(可选)

指定将用于楼层和单元要素类中的面积字段的测量单位。

  • SQUARE_METERS面积单位将为平方米。
  • SQUARE_FEET面积单位将为平方英尺。 这是默认设置。
String
in_bim_rooms_layer
[in_bim_rooms_layer,...]
(可选)

来自输入 .rvt 文件的建筑数据集的房间图层。 该图层将用于获取扩展字段值,这些值可以使用房间属性映射参数映射到 Units 要素类中的现有字段。

Feature Layer
room_properties_mapping
(可选)

控制将使用来自输入 .rvt 房间图层的字段值填充 Units 要素类中的哪些属性字段。 运行该工具之前,字段必须存在。 建议将输入 .rvt 房间图层中的字段映射到具有相同字段类型的 Units 要素类中的字段。

Field Mappings
allow_insert_new_facility
(可选)

指定如果在建筑物的楼层平面图和目标设施点要素中的现有设施点要素之间检测到相交,是否将导入来自输入 .rvt 文件的建筑物。

  • NO_ALLOW_INSERT_NEW_FACILITY该工具将检查输入 BIM 楼层平面图面是否与目标设施点要素中的任何现有设施点面相交。 如果检测到相交,该工具将检查指定的 facility_idfacility_name 参数值是否与相交设施点要素的 FACILITY_IDNAME 字段值匹配。 如果值匹配,该工具将更新现有设施点。 如果值不匹配,该工具将发出警告消息并停止运行。 这是默认设置。
  • ALLOW_INSERT_NEW_FACILITY该工具将不会检查输入 BIM 楼层平面图面是否与目标设施点要素中的任何现有设施点面相交。 可以使用此选项导入与现有设施点重叠或接触的建筑物。
Boolean
design_options
[design_options,...]
(可选)

导入要素时将包括的输入 .rvt 文件中的 Revit 设计选项。 如果未指定值,则只会导入主模型。 当输入 .rvt 文件包含 Revit 设计选项时启用此参数。

String
target_unit3d_features
(可选)

符合 Indoors 模型的目标 3D Units 要素图层、要素类或要素服务。 多面体单元要素将在代表输入 .rvt 文件中每个房间底部的目标 3D 单元图层中创建。

Feature Layer
target_detail3d_features
(可选)

符合 Indoors 模型的目标 3D Details 要素图层、要素类或要素服务。 多面体细节要素将在输入 .rvt 文件的以下类别的目标 3D 细节图层中创建:门、坡道、楼梯、楼梯支撑、楼梯平台、柱、结构柱、墙壁、窗户、飞檐和幕墙面板。

Feature Layer
target_facility3d_features
(可选)

符合 Indoors 模型的目标 3D Facilities 要素图层、要素类或要素服务。 将在输入 .rvt 文件的 ExteriorShell 类别的目标 3Dfacilities 图层中创建多面体设施要素。

Feature Layer
linked_files
[linked_files,...]
(可选)

与同一建筑物输入 .rvt 文件相关联的链接 Revit 文件。 所选链接文件将与主模型一起导入到 Indoors 模型中。 如果未指定值,则只会导入主模型。 仅当输入 .rvt 文件包含链接 Revit 文件时,此参数才可用。

String
ground_elevation_zero

指定是否将一楼的高程设置为 0 或设置为地理参考 BIM 模型中楼层要素的高程。

  • SET_GROUND_ELEVATION_ZERO一楼高程将设置为 0,其他楼层的 z 值则根据其与一楼的关系进行定义。 这是默认设置。
  • NO_SET_GROUND_ELEVATION_ZERO楼层的高程将与地理参考 BIM 模型中的楼层高程相匹配。
Boolean

派生输出

名称说明数据类型
updated_units

更新后的目标 Units 要素。

Feature Layer

代码示例

ImportBIMToIndoorDataset 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 ImportBIMToIndoorDataset 函数。

import arcpy
arcpy.indoors.ImportBIMToIndoorDataset('C:/ExampleCampus.rvt', 
                                        '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', 'ROOF'],
                                        'SQUARE_FEET',
                                        'C:/ExampleCampus.rvt/Architectural/Rooms',
                                       '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',
                                       'ExampleCampus - Structure.rvt',
                                       'SET_GROUND_ELEVATION_ZERO')
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'
in_bim_floorplan_layer = arcpy.management.MakeFeatureLayer(in_bim_floorplan_fc, 'floorplan_polygon')

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', 'ROOF']
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'

# Select any linked Revit models that contain information relevant to your GIS data
linked_files = 'ExampleCampus - Structure.rvt'

# Set elevation method
ground_elevation_zero = 'SET_GROUND_ELEVATION_ZERO'

# 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, 
                                       linked_files, ground_elevation_zero)

许可信息

  • Basic: 否
  • Standard: 否
  • Advanced: 需要 ArcGIS Indoors Pro 或 ArcGIS Indoors Maps

相关主题