导入 BIM 楼层平面图

适用于 ArcGIS Indoors Pro 或 ArcGIS Indoors Maps 扩展模块。

来自 Autodesk RevitBIM 文件通常用于 2D 和 3D 建筑建模,并可用于创建室内地图。 将 BIM 导入室内数据集工具直接将要素从 Revit 文件导入室内数据集中。

使用创建室内数据集工具创建室内数据集或使用创建室内数据库工具创建 Indoors 地理数据库后,可使用将 BIM 导入室内数据集工具将 Revit (.rvt) 模型中的楼层平面图加载到 Indoors 工作空间中。 然后,您可以手动加载附加要素事件占用者数据。

如果您使用创建室内 3D 数据集工具创建了 3D 室内数据集,则可以选择将 3D 对象从 Revit 模型加载到室内 3D 数据集中。

注:

您可以使用将 BIM 导入室内数据集工具导入单个 Revit 文件中包含的建筑物的一个或多个级别。

转换过程包括以下步骤:

地理配准并添加楼层平面图

请完成以下步骤,将 Revit 文件导入室内数据集:

  1. 如果尚未进行地理配准,请地理配准 Revit 文件
    注:

    在运行该工具之前,必须在 3D 中对 Revit 模型进行地理配准并具有关联的 .wld3 文件。 准确地对楼层平面图进行地理配准非常重要,因为缩放或地理位置错误会导致对 Indoors 要素的位置的计算不正确。

    了解有关在 ArcGIS Pro 中对 Revit 文件进行地理配准的详细信息

  2. 地图选项卡上,单击添加数据按钮 添加数据 以将 Revit 图层添加至地图。
  3. 浏览到存储地理配准 Revit 文件的文件夹位置,然后从 Floorplan 数据集中选择 Floorplan_Polygon 图层。
    注:

    Revit 文件工作空间被组织为以常规构造领域命名的要素数据集。 当将此信息添加到 ArcGIS Pro 地图或场景中时,这些要素类将表示为单个要素图层。

运行将 BIM 导入室内数据集工具

将 Floorplan_Polygon 图层添加至地图后,请运行将 BIM 导入室内数据集工具将建筑物数据导入室内数据集。

导入 2D 数据

该工具使用 Floorplan_Polygon 图层构造“级别”和“单元”要素。 该工具基于 Floorplan_Polygon 图层,使用 Footprint 图层构造设施点要素,并使用 Floorplan_Polyline 图层构造细节要素,访问 Floorplan 数据集中的其他图层。

仅将源 Revit 文件中的房间和楼层建筑类别导入到室内数据集中。 将房间作为单元要素导入,将地板作为级别要素导入。

运行将 BIM 导入室内数据集工具时,默认情况下,系统会将下表中的字段填充到室内数据集中。 您可以将 Rooms 图层(位于源 Revit 文件的建筑数据集中)中的其他属性映射到 Units 要素类中的现有字段。 如果要将属性映射到 Units 要素类中的自定义字段,则必须在运行该工具之前创建自定义字段。

注:

将 BIM 导入室内数据集工具不会填充 HEIGHT_RELATIVE 字段,但可以手动填充。 在准备 3D 场景时,将使用此字段。

Facilities

字段描述

FACILITY_ID

根据将 BIM 导入室内数据集工具中的设施点 ID 参数进行填充。 设施点要素类中的每个要素均必须具有唯一的设施点 ID。 设施点 ID 不能包含空格。

例如,您可以使用 Revit 文件中覆盖区图层的工程信息部分中的建筑物名称(用下划线替换名称中的任何空格)。

NAME

根据将 BIM 导入室内数据集工具中的设施点名称参数进行填充。 这是命名设施点要素时最常用的字段。

Levels

字段描述

LEVEL_ID

基于 FACILITY_ID 字段值和源 Revit 文件中可占用级别名称的智能密钥。

NAME

使用源 Revit 文件中可占用级别的名称填充。

LEVEL_NUMBER

底层级别填充为 0。 还根据其他级别与选定底层的关系来计算其他级别。

VERTICAL_ORDER

底层级别填充为 0。 还根据其他级别与选定底层的关系来计算其他级别。 将向高程小于标识的底层的任何级别分配负垂直顺序。

AREA_GROSS

基于级别几何。

Units

字段描述

UNIT_ID

基于 LEVEL_ID 字段值、源 Revit 文件中房间号和房间的唯一 ID(在 Revit 文件中,该值为 ExtId)的智能密钥。

USE_TYPE

使用在将 BIM 导入室内数据集工具的楼层平面图面使用类型字段参数中选择的字段填充。 如果未提供任何值,则使用源 Revit 文件中的房间名称填充此字段。

注:

USE_TYPE 字段的最大长度为 50 个字符。 长于 50 个字符的值将被截断。

NAME

可以使用源 Revit 文件中的房间号进行填充。

LEVEL_ID

使用关联级别的 LEVEL_ID 字段值填充。

AREA_GROSS

基于单位几何。

细节

字段描述

DETAIL_ID

基于关联级别的 LEVEL_ID 字段值、源 Revit 文件中要素的建筑设计类别和房间的唯一 ID(在 Revit 文件中,该值为 ExtId)的智能密钥。

USE_TYPE

在源 Revit 文件的 Floorplan_Polyline 图层中填充要素的建筑设计类别。

LEVEL_ID

使用关联级别的 LEVEL_ID 字段值填充。

导入 3D 数据

可以选择使用 3D 要素部分中的参数将要素导入使用创建室内 3D 数据集工具创建的 Units 3D、Details 3D 或 Facilities 3D 多面体图层。

警告:

确保对 Revit 模型进行精确地理配准,并确保室内数据集和室内 3D 数据集的坐标系与关联 .wld3 文件中的坐标系相匹配。 水平和垂直坐标系单位必须匹配。 地理配准不精确或者坐标系不匹配可能会导致 3D 要素的缩放问题。

随即将对象导入目标图层,如下所示:

  • 目标 Units 3D 要素 - 将在代表 Revit 模型 Rooms 类别中对象覆盖区的 Units 3D 图层中创建多面体要素。
  • 目标 Details 3D 要素 - 将在 Details 3D 图层中根据以下 Revit 类别的对象创建多面体要素:Doors、Ramps、Stairs、Stair supports、Stair Landings、Columns、Structural Columns、Walls、Curtain Wall Panels、Windows。

    将基于 Revit 模型的符号系统生成 Details 要素的符号系统。

  • 目标 Facilities 3D 要素 - 将根据 Revit 模型的 ExteriorShell 要素类,在代表建筑物设施点外壳的 Facilities 3D 图层中创建多面体要素。

如果您运行该工具,但不包含目标 Facilities 3D 要素目标 Units 3D 要素目标 Details 3D 要素参数的值,则可以稍后重新运行该工具以将 3D 数据添加到 Indoors 模型。

检查输出

您需要检查由室内数据集中的将 BIM 导入室内数据集工具创建的输出要素。

  1. 单击添加数据按钮 添加数据,然后从室内数据集将 Facilities、Levels、Units 和 Details 要素类添加到您加载 Revit 楼层平面图的同一地图中。
    注:

    要在设施点中的楼层之间进行切换,可以通过将地图配置为楼层感知型地图来启用楼层过滤器。

  2. 验证在要导入的楼层参数中选择的所有级别是否都出现在室内数据集中。

    如果您遇到以下两个问题,则可以进行疑难解答:

    问题解决方案

    设施点和级别要素中的错误或间隙

    当在链接到源 Revit 模型的 CAD 工程图中对楼层要素建模时,设施点和级别要素中可能会出现间隙。 确保楼层要素在 Revit 模型中建模,然后再次运行该工具。

    细节和单元要素中的错误或间隙

    当要素与楼层不相关联时,细节和单元要素可能会出现间隙。 确保细节和单元与源 Revit 模型中的楼层相关联,然后再次运行该工具。

  3. 如果您已将楼层平面图数据导入至 Indoors 地理数据库中,请查看 Units 要素类中空间要素的 USE_TYPE 值,以标识不应通过 Indoor Space Planner 应用程序直接分配给占用者的空间。将这些空间的 ASSIGNMENT_TYPE 值设置为“不可分配”。

    以下是空间类型的示例,这些空间类型通常不可以分配给占用者,也不能用于定义办公桌轮用制办公或旅馆式办公区域:

    • 大厅
    • 循环区域
    • 公共区域
    • 卫生间
    • 休息室

    注:
    创建室内数据集工具不会创建 ASSIGNMENT_TYPE 字段。 如果您使用室内数据集进行空间规划,则必须手动添加此字段。 如果您使用 Indoors 地理数据库,此字段将由创建 Indoors 数据库工具创建。
  4. 保存地图。
  5. 如果已加载 3D 数据,请通过完成以下内容来检查 3D 数据:
    1. 插入选项卡上,单击新建地图下拉箭头,然后单击新建局部场景
    2. 单击添加数据按钮 添加数据,然后添加来自室内 3D 数据集的 Units 3D 和 Details 3D 要素类,以及来自室内数据集的 Facilities 和 Levels 要素类。
    3. 将场景配置为楼层感知型场景,然后使用楼层过滤器逐个图层检查数据,以确保所有预期的要素均存在。

将楼层平面图加载到室内数据集或 Indoors 地理数据库后,您可以加载其他要素事件占用者数据。

更新 Revit 楼层平面图

将数据保存在 ArcGIS Indoors 信息模型中之后,您可能需要定期将已更新的 Revit 文件与室内数据集相集成。 这可能用于新建筑物、现有建筑物中的新楼层或现有楼层的改造。 将 BIM 导入室内数据集旨在用于分支版本场景

提示:

在更新 Indoors 数据之前,请考虑备份地理数据库,或者,如果您使用分支版本化要素服务维护数据,请将更新后的数据加载到版本中。

处理已更新的 Revit 文件

您可以运行将 BIM 导入室内数据集工具,以从更新的 Revit 文件更新现有室内数据。

要使用将 BIM 导入室内数据集工具从更新的 Revit 文件更新现有室内数据,目标单元、细节、级别和设施点要素都必须来自相同工作空间。 该工作空间可以为文件地理数据库、企业级地理数据库或要素服务。

当您运行将 BIM 导入室内数据集工具以更新现有室内数据时,会发生以下情况:

  • 对于设施点要素,该工具会对指定设施点 ID设施点名称参数值与室内数据中现有设施点的 FACILITY_IDNAME 字段值进行区分大小写的比较。 如果找到具有匹配 ID 和名称的设施点,则更新现有设施点。 然后,该工具通过将现有室内数据中的级别名称与源 Revit 文件中的级别名称进行比较,在设施点内搜索匹配级别,接着会发生以下情况之一:

    • 如果在室内数据中找到匹配的级别,则将更新与这些级别关联的级别、单元和细节要素。 如果包含目标 Units 3D 要素目标 Details 3D 要素参数的值,则还将更新与这些级别关联的 3D Units 和 Details 要素。 如果包含目标 Facilities 3D 要素的值,则将更新关联的 3D Facilities 要素。
    • 如果找不到匹配的级别要素,则该工具将从 Revit 源文件中导入所选楼层及其关联要素并将其添加为新级别、单元和细节要素。
    注:

    您可以选择要使用待导入楼层参数更新的级别。 如果填充此参数,将仅更新所选楼层。 如果未选择任何楼层,则将导入并更新 Revit 文件中的所有楼层。

  • 如果设施点 ID设施点名称参数值与室内数据集中的现有设施点要素不匹配,则源 Revit 文件中的要素将作为具有指定 ID 和名称的新设施点的一部分进行导入。

系统将保留现有属性字段值(自动更新的属性字段(例如 AREA_GROSS)除外)。 您可以选择覆盖房间属性映射参数的输出字段列表中的属性字段,方法为将这些字段映射到源字段。

允许插入新的重叠设施点参数有助于避免意外将冲突楼层平面图数据导入室内数据。 为新设施点导入 Revit 数据时,如果新设施点的覆盖区与现有设施点要素的覆盖区相交、重叠或接触,该工具将停止运行并向您发出冲突通知,以便您可以对其进行查看。

在某些情况下,您可能希望导入覆盖区与现有设施点要素的覆盖区相交、重叠或接触的新设施点。 为此,请选中允许插入新的重叠设施点参数并运行该工具。

注:

如果 Revit 设计选项 用于更新现有楼层平面图(例如,在改造期间),则 Revit 元素的内部 ID 可能会发生更改。 如果 ID 发生更改,则将 BIM 导入室内数据集工具将删除并重新添加相应的 Units 和 Details 要素,而非修改现有要素。 如果发生这种情况,您可能需要为受影响的要素重新填充业务数据(例如占用、预订或自定义属性)。

更新楼层平面图

要更新楼层平面图,请完成以下步骤:

  1. 从已更新的 Revit 文件向您的地图或场景添加 Floorplan_Polygon 图层
  2. 或者,创建 Indoors 模型的备份副本。

    注:
    如果您未使用分支版本化数据,则通过创建备份副本,您可以检查已更新的数据,而不会丢失数据的生产版本。 如果您使用分支版本化数据,请考虑加载到一个版本中,然后在合并到默认版本之前检查已更新的数据。

  3. 运行将 BIM 导入室内数据集工具。
    注:

    如果要为现有设施点添加或更新要素,则必须从用于创建该设施点的相同 Revit 文件中导入新的或更新的要素。

  4. 检查输出。

相关主题