文档

ST_ImportIFC

更新时间:

将IFC文件导入到数据库中。

语法

  • 语法一:

    boolean ST_ImportIFC(cstring prefix, cstring url, cstring options default '{}');
  • 语法二:

    boolean ST_ImportIFC(cstring prefix, bytea content, cstring options default '{}');

参数

参数名称

描述

prefix

ifc表名前缀。

url

如果IFC文件存储在OSS等对象存储服务中,使用此参数。更多信息,请参见对象存储服务路径

content

如果通过二进制方式提供IFC文件,使用此参数,与参数url任选其一即可。

options

导入选项:

  • schema:目标表schema,字符串类型,默认为public。

  • project:项目名,字符串类型。将填充在每一条记录的project_name字段。

描述

将IFC文件导入到数据库中。

说明
  • 支持将存储在OSS等对象存储服务中的IFC文件导入数据库。

  • 支持将IFC文件的二进制数据读取到内存,然后导入数据库。

导入限制说明:

  • 将忽略IfcOpeningElement类型数据。

  • 将忽略最终不挂载到IfcProject节点的孤儿节点。

  • 暂时忽略IfcElementType类型的数据。

导入成功后,将在数据库中生成三张表:

IFC对象表

表名格式:[prefix]_ifc_elem

作用:存储所有实际的IFC对象及其相关属性。

表结构:

字段

类型

说明

id

serial

唯一ID。

family

text

所在族。

一般来自IfcBuildingElementIfcSpatialStructureElement

project_uuid

text

项目ID。

IFC文件根节点组件的UUID。

project_name

text

项目名称。

若用户不指定project_name,则该列值为空。

常用于存储多个子项目的表。

parent_uuid

text

父组件的UUID。

若组件为IfcProject类型,则其parent_uuid约定为root

uuid

text

组件的UUID。

与IFC中该组件的UUID保持一致。

name

text

组件的名称。

每个组件继承自IfcRoot的Name属性。

attrs

jsonb

组件的固定属性。

可以随用户需要添加支持的类型及其属性。

props_set

jsonb

组件的非固定的性质集。

更多信息,请参见IfcRelDefinesByProperties

element

sfmesh

组件实体。

几何组件表

表名格式:[prefix]_ifc_geom_elem

作用:存储所有几何对象。

表结构:

字段

类型

说明

id

serial

唯一ID。

project_uuid

text

项目ID。

与IFC对象表中一致。

project_name

text

项目名称。

若用户不指定project_name,则该列值为空。

常用于存储多个子项目的表。

geometry_id

text

组件的几何ID。

由组件的几何特性和材质特征生成。

geom_element

sfmesh

组件的几何信息。

IFC材质表

表名格式:[prefix]_ifc_material_elem

作用:存储所有关联的材质对象。

表结构:

字段

类型

说明

id

serial

唯一ID。

project_uuid

text

项目ID。

与IFC对象表中一致。

project_name

text

项目名称。

若用户不指定project_name,则该列值为空。

常用于存储多个子项目的表。

material_name

text

材质名称。

material_element

material

组件的材质信息。

示例

示例一:不指定项目名称。

SELECT ST_ImportIFC('Building', 'OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/path_to_ifc');

---------
t

示例二:指定项目名称。

SELECT ST_ImportIFC('Building', 'OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/path_to_ifc','{"project":"building_1"}');

---------
t
  • 本页导读 (0)
文档反馈