工业基础类—利用xBIM提取IFC几何数据
在正式说提取IFC几何信息之前,我想我们应该花点时间了解一下什么是几何,以及IFC标准中是如何描述几何的。生活中的几何无处不在,它是由点、线、面等基本几何图形组合而成,它可以构成一个方方正正的桌子,也可以构成一个错综复杂的沙发。
描述几何体的方法有很多,但大致可以分为两个阵营,一是隐式描述;二是显式描述。凭字面意思,大家也不难猜到隐式描述其实就是不直接说出这个几何体的具体信息,而是拐弯抹角地记录一些特征信息,例如我想描述下面这个几何体,我完全不需要给出所有的顶点坐标和他们的连接关系(拓扑),而是告诉你一个轮廓(轮廓的顶点和顺序),然后再给一个拉伸向量就OK了,但不管是隐式还是显式最后呈现出来的几何体都是唯一的。
IFC几何描述方法
那么IFC到底支持哪几种几何描述方式呢。总结起来有三种:边界表示法(Brep)、实体构造法(CSG)和扫掠法(Sweep)。我们分别解释一下这三种几何描述方法,Brep描述的是几何体的外表面,包括顶点坐标和拓扑关系,这种描述方法适用性很广;CSG法可以用来描述一些规则的形体,例如立方体、球体等,以及通过它们之间的并差交集来表达复杂的几何;Sweep法主要用于线性几何体的表达,例如管道、钢筋等等。需要说明的是,对于Brep描述法,IFC2x3和4存在一些差异,即IFC2x3仅支持封闭面为平面的情况,而IFC4已经支持B样条曲面等复杂的曲面了。这种改进也使得IFC4的几何更加保真,并且在文件体量上也有所改善。因此,通常更加推荐大家使用IFC4标准。
IFC几何描述框架
对于任何一个IfcProduct对象都具有Representation属性,即IfcProductDefinitionShape实体,用于关联整个几何形体的表达,这其中又包含了多个IfcShapeRepresentation,每个IfcShapeRepresentation中记录了其对应的几何环境和几何的具体表达。这里的几何环境主要包括当前绘制环境(2D or 3D)和几何精度。
几何信息提取
这里话不多说,直接上代码。
工业基础类—利用xBIM提取IFC几何数据相关推荐
- matlab如何取对数坐标,利用Matlab提取图片中曲线数据(线性修正,支持对数坐标)
利用Matlab提取图片中曲线数据 前一段时间看到一篇文章"利用Matlab提取图图片中的数据",觉得思路挺好,遂下载下来研究了一番,发现作者所编写的程序没有考虑原始图片非水平放置 ...
- 利用arcgis提取.nc气象数据
利用arcgis提取.nc文件中的降水量数据 1.导入.nc文件 这是18年降水量数据集,可以直接将nc文件拖入arcgis中 2.提取降水量 在工具栏中找到"创建NetCDF表视图&quo ...
- 利用Numpy提取+处理数据
Numpy练习2 练习题 利用Numpy处理csv文档的数据 利用Numpy分析数据+Matplotlib画图 利用Numpy处理csv文档的数据 代码 部分原数据 效果图 利用Numpy分析数据+M ...
- 利用Python提取函数图像数据并拟合曲线
目录 1. 前言 2. 数据提取 2.1 图像预处理 2.2 提取数据 3. 曲线拟合 4. 优化代码 1. 前言 学校导师要求拟合曲线,但只有函数图像没有数据,图像和公式都不懂就负责把系数算出来. ...
- 用Matlab提取图片中泰文,利用Matlab提取图片中的数据
[实例简介] 从事科研或者工程的人员在文档撰写过程中,常需要将文献中的曲线与自己的结果对比,为获取原始数据,一种常用的办法是手动描点,即将原始曲线放大然后打印出来,选取一定数量的点,读出其横纵坐标,然 ...
- 利用python提取网站曲线图数据
文章目录 数据1 数据2 数据1 数据目标:曲线图 F12,如图位置输入JSON.stringify(dataSeries.dataPoints) copy,粘贴到data.txt 数据是一个列表,里 ...
- 工业基础类IFC—提取模型结构树
首先,抱歉,很久没有更新文章了,也来不及解释了,我们直接进入正题吧.这篇还是接上之前挖坑的IFC系列,前面的几篇文章我们聊了IFC的一些概念.数据结构和可视化工具等等,有了这些铺垫之后,我们基本就可以 ...
- 工业基础类IFC—如何阅读物理文件
文章目录 ==01== 确定IFC标准 ==02== IFC实体快速定位 ==03== 属性查询 ==04== 关于物理文件中 **$** 的解释 ==05== 总结 前两期的内容 : <工业基 ...
- python爬百度翻译-Python爬取百度翻译(利用json提取数据)
本篇文章给大家带来的内容是关于Python爬取百度翻译(利用json提取数据),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 工具:Python 3.6.5.PyCharm开发工具. ...
最新文章
- Intel Code Challenge Elimination Round (Div.1 + Div.2, combined) B. Verse Pattern 水题
- ios 简书 获取通讯录信息_iOS 13获取用户通讯录需要注意的
- 如何着手学习一个新的PHP框架
- 【源码解析】HashMap源码跟进(红黑树的实现)
- Windows 8.1 轻量接触接触方式部署(二)
- coreldraw linux版本好用,CorelDRAW哪个版本最好用
- Regester 正则表达式测试工具
- Java千百问_05面向对象(003)_java中抽象概念如何体现的
- linux yum用法,Linux系统yum的使用与说明
- Laravel中使用dingo
- 如何用计算机进行绘画,怎么用电脑画画-PS电脑手绘的5个基本步骤,轻松自学成PS手绘达人...
- python关闭文件os_python_文件的打开和关闭
- ADI公司高速PCB布板指南
- 长安链---从零到一部署Chainmaker-2.0.0
- chroot的使用方法
- FBTFT driver St7789v LCD 移植简介
- CentOS7-命令-创建用户(useradd)
- 基于COMSOL Multiphysics的静电场仿真分析
- 游戏里WASD移动控制人物的操作,用js写出的效果,简单易上手!
- 初学华为HCIA笔记(一)