工业基础类—利用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


几何信息提取


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


相关文章
|
数据可视化 C# C++
工业基础类IFC—提取模型结构树
工业基础类IFC—提取模型结构树
工业基础类IFC—提取模型结构树
|
运维 Java 应用服务中间件
BIMserver入门安装部署 - 环境搭建、数据导入及预览
BIMserver入门安装部署 - 环境搭建、数据导入及预览
2258 0
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
【4月更文挑战第9天】本文对比了Python三大Web框架Django、Flask和Pyramid。Django功能全面,适合快速开发,但学习曲线较陡;Flask轻量灵活,易于入门,但默认配置简单,需自行添加功能;Pyramid兼顾灵活性和可扩展性,适合不同规模项目,但社区及资源相对较少。选择框架应考虑项目需求和开发者偏好。
665 0
|
2月前
|
SQL 关系型数据库 MySQL
排除通过IP访问MySQL时出现的连接错误问题
以上步骤涵盖了大多数遇到远程连接 MySQL 数据库时出现故障情形下所需采取措施,在执行每个步骤后都应该重新尝试建立链接以验证是否已经解决问题,在多数情形下按照以上顺序执行将能够有效地排除并修复大多数基本链接相关故障。
337 3
|
搜索推荐 数据挖掘 PyTorch
Py之albumentations:albumentations库函数的简介、安装、使用方法之详细攻略续篇
Py之albumentations:albumentations库函数的简介、安装、使用方法之详细攻略续篇
Py之albumentations:albumentations库函数的简介、安装、使用方法之详细攻略续篇
基于若依ruoyi-nbcio支持flowable流程角色,同时修改流转用户为username,流程启动做大调整(二)
基于若依ruoyi-nbcio支持flowable流程角色,同时修改流转用户为username,流程启动做大调整(二)
335 0
|
自然语言处理 Rust JavaScript
多语言环境下的正则表达式实战:校验整数、小数
多语言环境下的正则表达式实战:校验整数、小数
180 0
|
人工智能 监控 数据挖掘
数字化转型中的项目管理架构:创新与挑战
【8月更文第7天】简述数字化转型对企业的重要性及其对项目管理带来的影响。 - 概述数字化转型下项目管理架构所面临的机遇与挑战。
752 0
|
Python C# C++
工业基础类IFC—开源库汇总
工业基础类IFC—开源库汇总
工业基础类IFC—开源库汇总
|
小程序 前端开发 开发者
微信小程序——跳转方式
微信小程序——跳转方式
371 0