提取 BIM 文件楼层平面图 (转换)

摘要

将 2.5D 楼层平面图数据从 BIM 文件工作空间提取到地理数据库数据集中。

使用情况

  • Revit 文件不同,工业基础类 (IFC) 格式的文件不包含楼层平面图定义。 因此,在 IFC 文件的 ArcGIS AllSource BIM 文件工作空间中不包含楼层平面图要素类。 此工具将从其他 BIM 要素构建楼层平面图信息,并从 Revit 文件中筛选楼层平面图数据。

    使用此工具可以将一个或多个 BIM 文件工作空间(Revit 或 IFC 文件)合并为一个地理数据库数据集。 当要素类具有相同的名称和几何类型时,该工具将追加并合并要素类及其几何和属性。

  • 在处理 Revit 文件的楼层平面图数据时,该工具非常有用,因为可以包括或排除输出楼层平面图数据的内容,并且可以在不依赖地图或场景的情况下运行该工具。

  • 包含楼层或故事参数根据输入 BIM 模型中的指定的建筑物层数列出可能的楼层,可能与建筑物楼层直接对应,也可能不对应。 选择要用于组装楼层平面图的一层或多层楼层。 默认情况下,如果未选择任何建筑物楼层,则将包括所有楼层的要素。 如果 BIM 文件工作空间中不包含一个或多个所选楼层,则将生成警告。 如果 BIM 文件工作空间中不包含任何所选楼层,则将生成错误。

  • 输出感兴趣点要素类将包括以下类别的要素:

    • 家具
    • 家具系统
    • 专用设备
    • 机械设备
    • 火灾警报装置(仅限 Revit
    • 安全设备(仅限 Revit
    • 呼叫设备(仅限 Revit
    • 通信设备(仅限 Revit
    • 电气设备(仅限 Revit

  • 输出覆盖区要素类将包括以下类别:

    • 合并楼板 (IFC)
    • 合并楼层 (Revit)

  • 使用附加折线类别参数在楼层平面图折线要素类中包括附加的折线要素。 可以包括以下类别的要素:

    • Furniture
    • Furniture System
    • Windows
    • (All)

  • 使用附加面类别参数在楼层平面图面要素类中包括附加的面要素。 可以包括以下 Revit 类别的要素:

    • Areas
    • Rooms
    • Roofs

    可以包括以下 IFC 类别的要素:

    • Spaces
    • Roofs

  • 如果为输出数据集名称参数提供了现有数据集,则具有唯一名称的新要素类将被添加到该数据集。 如果输出数据集中存在具有相同名称的要素类,则系统将在该要素类名称的末尾追加一个数字,以使其具有唯一性(例如 Walls_1)。 为确保创建新的要素类,请对输出数据集名称参数值使用唯一的名称。

  • 可将此工具的输出用作创建建筑物图层工具的输入,以根据组合数据创建单个建筑物图层

参数

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

包含要提取建筑物信息的 BIM 文件工作空间。

BIM File Workspace
输出地理数据库

将创建输出要素数据集的地理数据库。 该地理数据库必须是现有的地理数据库。

Workspace
输出数据集名称

将创建输出要素类的数据集名称。 如果要素数据集不存在,将使用输入 BIM 文件工作空间的空间参考进行创建。

String
输出折线要素类名称

输出折线要素类的名称。 折线要素将提取到此要素类中。

String
输出面要素类名称

输出面要素类的名称。 面要素将提取到此要素类中。

String
输出感兴趣点要素类名称

输出感兴趣点要素类的名称。 感兴趣点要素将提取到此要素类中。

String
输出覆盖区要素类名称

输出覆盖区要素类的名称。 将在此要素类中创建 BIM 文件工作空间中的覆盖区面。

该要素类将包括以下类别:

  • 合并楼板 (IFC)
  • 合并楼层 (Revit)
String
附加折线类别

将包括在楼层平面图折线要素类中的附加折线要素。 可以包括以下类别的要素:

  • 家具
  • 家具系统
  • 窗口
  • (全部)

String
附加面类别

指定将包括在楼层平面图面要素类中的附加面要素。 Revit 数据可以包括以下类别的要素:

  • 区域
  • 房间
  • 屋顶

IFC 数据可以包括以下类别的要素:

  • Spaces
  • 屋顶

String
包含的楼层或故事

要包括在输出要素类中的建筑物楼层或故事。 默认情况下,如果未提供任何建筑物楼层,则将包括所有楼层的要素。

String

派生输出

标注说明数据类型
输出要素数据集

包含新要素类的输出地理数据库要素数据集。

Feature Dataset

arcpy.conversion.ExtractBIMFileFloorplan(in_bim_file_workspace, output_workspace, out_feature_dataset_name, out_polyline_featureclass_name, out_polygon_featureclass_name, out_poi_featureclass_name, out_footprint_featureclass_name, additional_polyline_categories, additional_polygon_categories, included_levels)
名称说明数据类型
in_bim_file_workspace

包含要提取建筑物信息的 BIM 文件工作空间。

BIM File Workspace
output_workspace

将创建输出要素数据集的地理数据库。 该地理数据库必须是现有的地理数据库。

Workspace
out_feature_dataset_name

将创建输出要素类的数据集名称。 如果要素数据集不存在,将使用输入 BIM 文件工作空间的空间参考进行创建。

String
out_polyline_featureclass_name

输出折线要素类的名称。 折线要素将提取到此要素类中。

String
out_polygon_featureclass_name

输出面要素类的名称。 面要素将提取到此要素类中。

String
out_poi_featureclass_name

输出感兴趣点要素类的名称。 感兴趣点要素将提取到此要素类中。

String
out_footprint_featureclass_name

输出覆盖区要素类的名称。 将在此要素类中创建 BIM 文件工作空间中的覆盖区面。

该要素类将包括以下类别:

  • 合并楼板 (IFC)
  • 合并楼层 (Revit)
String
additional_polyline_categories
[additional_polyline_categories,...]

将包括在楼层平面图折线要素类中的附加折线要素。 可以包括以下类别的要素:

  • 家具
  • 家具系统
  • 窗口
  • (全部)

String
additional_polygon_categories
[additional_polygon_categories,...]

指定将包括在楼层平面图面要素类中的附加面要素。 Revit 数据可以包括以下类别的要素:

  • 区域
  • 房间
  • 屋顶

IFC 数据可以包括以下类别的要素:

  • Spaces
  • 屋顶

String
included_levels
[included_levels,...]

要包括在输出要素类中的建筑物楼层或故事。 默认情况下,如果未提供任何建筑物楼层,则将包括所有楼层的要素。

String

派生输出

名称说明数据类型
out_feature_dataset

包含新要素类的输出地理数据库要素数据集。

Feature Dataset

代码示例

ExtractBIMFileFloorplan 示例(独立脚本)

以下 Python 脚本示例展示了如何在脚本中调用 ExtractBIMFileFloorplan 函数。

import arcpy

arcpy.conversion.ExtractBIMFileFloorplan(
    in_bim_file_workspace=r"\\BIM\DATA\Example_DA\HUT\HUT_DA_vr2_2023.rvt",
    output_workspace=r"C:\Projects\MyProject136\MyProject136.gdb",
    out_feature_dataset_name="HUT_DA_vr2_2023",
    out_polyline_featureclass_name="HUT_DA_vr2_2023_planline",
    out_polygon_featureclass_name="HUT_DA_vr2_2023_planPolygon",
    out_poi_featureclass_name="HUT_DA_vr2_2023_planPOI",
    out_footprint_featureclass_name="HUT_DA_vr2_2023_Footprint",
    additional_polyline_categories=["ARCHITECTURAL_COLUMN", "STRUCTURAL_COLUMN", "WINDOWS", "FURNITURE", "FURNITURE_SYSTEM"],
    additional_polygon_categories=["AREAS", "ROOMS", "ROOFS"],
    included_levels=["Level 1" "Roof"])

相关主题