准备要导入到 ArcGIS Indoors 信息模型的建筑信息模型 (BIM)数据时,必须遵守适用于 BIM 数据准备的某些要求和最佳做法。 Indoors 工具支持从 Revit 文件 (.rvt) 或 IFC 文件 (.ifc) 导入 BIM 数据。
地理配准 BIM 模型
必须对 BIM 模型进行地理配准,才能确保建筑物和楼层平面图要素正确定位和缩放。 以下步骤介绍了对 BIM 模型进行地理配准的高级工作流:
地理配准过程中创建和保存在同一文件夹中作为具有相同文件名的对应 BIM 文件(.rvt 或 .ifc)的投影文件 (.prj) 和坐标定位文件 (.wld3)。 或者,如果存在多个具有相同坐标系或坐标变换的模型,则可以创建适用于文件夹中所有 CAD 和 BIM 文件且未关联坐标文件的通用投影文件或坐标定位文件。 为此,需将 .prj 文件重命名为 esri_cad.prj 并将 .wld3 文件重命名为 esri_cad.wld3。
准备要导入到 Indoors 模型的 BIM 数据
可使用不同的工具将 BIM 数据导入 Indoors 模型,具体取决于存储 BIM 数据的文件类型。 可以使用将 BIM 导入室内数据集工具导入 Revit 文件,使用将 IFC 导入室内数据集工具导入 .ifc 文件。 有关准备用于导入每个文件类型的指导,请参考以下各部分。
准备 Revit 模型
在使用将 BIM 导入室内数据集工具从 Revit 模型导入 BIM 数据时,Indoors 模型使用 BIM 文件工作空间中的以下元素和属性进行填充:
- 设施点 - 设施点是根据覆盖区面创建的。 轮廓线面通过聚合 Revit 模型中的楼层要素进行创建。
- 楼层 - 楼层是基于与同一 BldgLevel 属性关联的楼层元素和楼梯元素创建的。 当您在 ArcGIS Pro 中打开 Revit 模型时,可以检查将包含在 Floorplan 数据集中的 Floorplan_Polygon 要素类中的要素。 通过在将 BIM 导入室内数据集工具中指定要导入的楼层参数的屋顶楼层,在 Indoors 工作空间中创建楼层要素时,您可以将屋顶元素与楼层元素一起包含在内。
注:
如果在 .rvt 文件中定义的级别在 .rvt 文件中配置了是建筑物楼层选项并且具有相关楼层或屋顶元素,则这些级别被视为 Indoors 模型中的级别。 定义的建筑物楼层会影响 Level、Short Name、Level Number 和 Vertical Order 属性以及 3D 细节图层元素导入 Indoors 模型的方式。 可以使用 .ebc 文件修改此配置或重命名楼层。
单元 - 单元是基于 Revit 模型中的房间元素和楼梯元素创建的。 在导入之前,确保所有室内空间都建模为 Revit 中的房间,以将它们作为 Indoors 模型中的单元要素导入。 运行提取 BIM 文件楼层平面图工具并将面要素类添加到地图以检查将要添加的要素。
将使用 Revit 模型中的房间元素中的以下信息填充 Units 图层中的属性:
- Revit 中房间元素的“名称”属性用于填充 Units 图层中的 USE_TYPE 字段。
- Revit 中房间元素的“房间号”属性用于填充 Units 图层中的 NAME 字段。
- 关联级别要素的 BldgLevel 值用于填充 LEVEL_ID 字段。
- 如果字段已经存在,则可以将 Rooms 要素的其他属性映射到 Units 图层的字段,包括自定义字段。
注:
如果不存在房间元素,则附加属性映射不会应用于基于楼梯元素创建的单元。
- 细节 - 细节基于以下 Revit 类别元素创建:门、坡道、楼梯、楼梯支架、楼梯平台、柱、承重柱、墙壁、窗户和幕墙板。 可以在 Floorplan 数据集中的 Floorplan_Polyline 要素类中检查将要导入的这些类别元素。
- 设施点 3D - 将根据 BIM 文件工作空间中的 ExteriorShell 要素类,在代表建筑物外墙的 Facilities 3D 图层中创建多面体要素。 ExteriorShell 要素是基于 BIM 文件中将“功能”属性设置为“外部”的元素派生的。
- 单元 3D - 将在代表 Revit 模型房间类别中对象轮廓线的 Units 3D 图层中创建多面体要素。
- Revit 中 Rooms 元素的 Name 字段用于填充 Units 图层中的 USE_TYPE 字段。
- Revit 中 Rooms 元素的 Room Number 字段用于填充 Units 图层中的 NAME 字段。
- 关联级别要素的 BldgLevel 值用于填充 LEVEL_ID 字段。
- 细节 3D - 将在 Details 3D 图层中根据以下 Revit 类别的对象创建多面体要素:Doors、Ramps、Stairs、Stair supports、Stair Landings、Columns、Structural Columns、Walls、Windows 和 Curtain Wall Panels。
- 在运行将 BIM 导入室内数据集工具之前,必须将 3D 元素与一个楼层关联。
- 在导入过程中,跨越多个楼层的 3D 要素(例如 Walls 或 Curtain panels)将采用切片形式,这样该要素跨越的每个楼层都有一个 3D 细节要素。
提示:
ArcGIS Pro 会将 Revit 文件的内容临时转换为符合内存中的最新文件格式,然后才会读取内容。 为了提高性能,建议将 Revit 模型升级到 ArcGIS Pro 支持的最新 Revit 文件版本。
准备 IFC 模型
在使用将 IFC 导入室内数据集工具从 IFC 模型导入 BIM 数据时,Indoors 模型使用 BIM 文件工作空间中的以下元素和属性进行填充:
- 设施点 - 设施点通过聚合 IFC 模型中的楼板要素进行创建。
- 楼层 - 楼层是通过组合与同一 BldgLevel 属性关联的板元素、空间元素和楼梯元素创建的。 在 Indoors 工作空间中创建楼层要素时,您可以通过选中将 IFC 导入室内数据集工具中的加载屋顶参数来包含屋顶元素。
注:
如果在 .ifc 文件中定义的级别在 .ifc 文件中配置了是建筑物楼层选项并且具有相关楼板或屋顶元素,则这些级别被视为 Indoors 模型中的级别。 定义的建筑物楼层会影响 Level、Short Name、Level Number 和 Vertical Order 属性以及 3D 细节图层元素导入 Indoors 模型的方式。 可以使用 .ebc 文件修改此配置或重命名楼板。
单元 - 单元是基于 IFC 模型中的空间元素和楼梯元素创建的。 在导入之前,确保所有室内空间都建模为空间,以将其作为单元导入 Indoors 模型中。
将使用 IFC 模型中的空间元素中的以下信息填充 Units 图层中的属性:
- .ifc 文件中空间元素的 LongName 属性用于填充 Units 图层中的 USE_TYPE 字段。
- .ifc 文件中空间元素的 Name 属性用于填充 Units 图层中的 NAME 字段。
- 关联级别要素的 BldgLevel 值用于填充 LEVEL_ID 字段。
- 如果字段已经存在,则可以将 Spaces 要素的其他属性映射到 Units 图层的字段,包括自定义字段。
注:
如果不存在空间元素,则附加属性映射不会应用于基于楼梯元素创建的单元。
- 细节 - 细节基于以下 IFC 类别元素创建:门、坡道、楼梯、楼梯支架、楼梯平台、柱、承重柱、墙壁、窗户和幕墙板。
- 设施点 3D - 将根据 IFC 文件工作空间中的 ExteriorShell 要素类,和代表建筑物外墙的 Facilities 3D 图层中创建多面体要素。 ExteriorShell 要素是基于 IFC 文件中将“功能”属性设置为“外部”的元素派生的。
- 单元 3D - 将在代表 IFC 模型 Spaces 类别中对象轮廓线的 Units 3D 图层中创建多面体要素。
- .ifc 文件中空间元素的 LongName 属性用于填充 Units 图层中的 USE_TYPE 字段。
- .ifc 文件中空间元素的 Name 属性用于填充 Units 图层中的 NAME 字段。
- 关联级别要素的 BldgLevel 值用于填充 LEVEL_ID 字段。
- 如果 Units 图层中存在相同的字段,则映射到 2D 单元图层的任何其他属性都将自动映射到 Units 3D 图层。 工具中配置的字段映射适用于 Units 和 Units 3D 图层。
- 细节 3D - 将在 Details 3D 图层中根据以下 IFC 类别的对象创建多面体要素:Doors、Ramps、Stairs、Stair supports、Stair landings、Columns、Structural Columns、Walls、Windows 和 Curtain Wall Panels。
在导入过程中,跨越多个楼层的 3D 要素(例如 Walls 或 Curtain panels)将采用切片形式,这样该要素跨越的每个楼层都有一个 3D 细节要素。
必须根据上述字段配置 .ifc 文件中的元素属性,才能确保在导入过程中正确转换要素。
用于配置 BIM 数据的高级选项
为了进一步准备 BIM 数据以进行导入,请考虑以下高级配置选项:
- 对于 Revit 模型,可以导入链接的 .rvt 文件以及主机模型。 链接的 .rvt 文件必须位于与主机 Revit 模型相同的文件夹或同一文件夹内的嵌套文件夹中。
使用将 BIM 导入到室内数据集工具时,在为输入 BIM 文件工作空间参数添加主机 Revit 模型后,会自动检测链接的 Revit 文件。 如果导入带有设计选项的链接 Revit 模型,则可以在设计选项参数中选择链接模型设计选项。
注:
任何链接的 Revit 模型都必须正确进行地理配准,并且具有与主机 Revit 模型相同的水平和垂直坐标系。
- 如果 Revit 文件包括设计选项中要导入 Indoors 模型的要素,可以使用设计选项参数导入这些要素。 默认情况下,将仅导入主模型中的要素。
- 使用 .ebc 文件为 BIM 文件配置级别。
导入无效级别(例如平台、夹层或空白楼板)可能导致大量的后处理工作以纠正可能的数据问题。
.ebc 文件是简单的 JSON 文件,工作原理类似于 .wld3 文件或 .prj 文件,并且包括 BIM 文件的配置信息。 需要将其保存在 BIM 文件所在的文件夹中并且具有相同名称。 可以将 .ebc 文件配置为从 .rvt 或 .ifc 源文件中的定义修改是建筑物楼层参数配置和级别名称。
- 对于需要视为建筑物楼层的级别,将 isFloor 参数设置为 true,对于不需要视为建筑物楼层的级别,设置为 false。 例如,您可能想要将楼层之间针对平台建模的级别设置为 false 以在导入时将其排除。
如果某个级别在 BIM 文件中存在但是在 .ebc 文件中不存在,则将采用 BIM 文件中的配置。
- 将 name 参数设置为更新级别的名称。 例如,对于名为 "BD_302_2" 的级别,可以将名称设置为更简单的名称,例如级别 2。
下面是示例 .ebc 文件 JSON 配置:
{
"version": {
"version": "1.0",
"minVersion": "1.0"
},
"floors": {
"01 - Entry Level":{
"name": "Level 1",
"isFloor": true
},
"02 - landing": {
"isFloor": false
},
"02 - Floor": {
"name": "Level 2"
"isFloor": false
},
"Roof": {
"isFloor": false
}
}
}