工业基础类—利用xBIM提取IFC几何数据

简介: 工业基础类—利用xBIM提取IFC几何数据

在正式说提取IFC几何信息之前,我想我们应该花点时间了解一下什么是几何,以及IFC标准中是如何描述几何的。生活中的几何无处不在,它是由点、线、面等基本几何图形组合而成,它可以构成一个方方正正的桌子,也可以构成一个错综复杂的沙发。


b4f06eb071e39b302fa7c94ea3ddf8f9.png


描述几何体的方法有很多,但大致可以分为两个阵营,一是隐式描述;二是显式描述。凭字面意思,大家也不难猜到隐式描述其实就是不直接说出这个几何体的具体信息,而是拐弯抹角地记录一些特征信息,例如我想描述下面这个几何体,我完全不需要给出所有的顶点坐标和他们的连接关系(拓扑),而是告诉你一个轮廓(轮廓的顶点和顺序),然后再给一个拉伸向量就OK了,但不管是隐式还是显式最后呈现出来的几何体都是唯一的。


0c37879db91e806ba35622c95e7e7cd3.png


IFC几何描述方法


那么IFC到底支持哪几种几何描述方式呢。总结起来有三种:边界表示法(Brep)、实体构造法(CSG)和扫掠法(Sweep)。我们分别解释一下这三种几何描述方法,Brep描述的是几何体的外表面,包括顶点坐标和拓扑关系,这种描述方法适用性很广;CSG法可以用来描述一些规则的形体,例如立方体、球体等,以及通过它们之间的并差交集来表达复杂的几何;Sweep法主要用于线性几何体的表达,例如管道、钢筋等等。需要说明的是,对于Brep描述法,IFC2x3和4存在一些差异,即IFC2x3仅支持封闭面为平面的情况,而IFC4已经支持B样条曲面等复杂的曲面了。这种改进也使得IFC4的几何更加保真,并且在文件体量上也有所改善。因此,通常更加推荐大家使用IFC4标准。


1c76652b0da84a5027d15e39cac8fed5.png


IFC几何描述框架


对于任何一个IfcProduct对象都具有Representation属性,即IfcProductDefinitionShape实体,用于关联整个几何形体的表达,这其中又包含了多个IfcShapeRepresentation,每个IfcShapeRepresentation中记录了其对应的几何环境和几何的具体表达。这里的几何环境主要包括当前绘制环境(2D or 3D)和几何精度。

3e86d743039a89ffbba384b1803c3cd6.png


8c810d5b13795a182fc14389597e5e84.png


几何信息提取


这里话不多说,直接上代码。


相关文章
|
10月前
|
传感器 机器人 物联网
传感器类型分类
传感器类型分类
643 0
|
数据可视化 C# C++
工业基础类IFC—提取模型结构树
工业基础类IFC—提取模型结构树
工业基础类IFC—提取模型结构树
|
2月前
|
Unix 定位技术
GEE(ccdc-1)——利用Landsat系列影像获取研究区范围的多波段影像(包含ccdc中已经定义的多波段)
GEE(ccdc-1)——利用Landsat系列影像获取研究区范围的多波段影像(包含ccdc中已经定义的多波段)
140 0
|
2月前
|
传感器 XML 数据处理
Landsat Collection 2 T1一级数据详细介绍(数据处理过程和几何精度)
Landsat Collection 2 T1一级数据详细介绍(数据处理过程和几何精度)
52 0
|
9月前
基于DEM提取坡度、坡向方法汇总
基于DEM提取坡度、坡向方法汇总
341 0
基于DEM提取坡度、坡向方法汇总
|
数据挖掘
ArcGIS:如何进行栅格数据的拼接和裁剪、坡度坡向的提取、地形透视图的建立、等高线的提取、剖面图的创建?
ArcGIS:如何进行栅格数据的拼接和裁剪、坡度坡向的提取、地形透视图的建立、等高线的提取、剖面图的创建?
320 0
|
监控 数据可视化
工业基础类IFC—概述
工业基础类IFC—概述
工业基础类IFC—概述
工业基础类IFC—总体架构和空间结构
工业基础类IFC—总体架构和空间结构
工业基础类IFC—总体架构和空间结构
|
Python C# C++
工业基础类IFC—开源库汇总
工业基础类IFC—开源库汇总
工业基础类IFC—开源库汇总
|
搜索推荐 数据可视化 数据库
工业基础类IFC—如何阅读物理文件
工业基础类IFC—如何阅读物理文件
工业基础类IFC—如何阅读物理文件