寂静回声 发表于 2018-7-7 09:28:02

CATIA BIM模型底层数据获取

一般而言,3D模型以三角面为基本单位,所有东西都是由三角面拼凑出来的,三角面越多,模型显示越精细,也就越接近现实物体。利用 CATIA 进行建模,就是在不断创建点、线、面等基础图形要素,并进行一定的布尔计算、拓扑操作,最后得到三维可视化 BIM 模型。如何能够取得这些构建该模型的底层数据,以在其他平台环境中应用,而避免重新构建底层数据呢?
CATIA Part 文件可直接另存为 ASCII 格式的 STL 文件,可利用记事本直接查看。
STL 是用三角网格来表现 3D CAD 模型,其格式简单,只能描述三维物体的几何信息,不支持颜色材质等信息,是计算机图形学处理 CG,数字几何处理如CAD, 数字几何工业应用,如三维打印机支持的最常见文件格式,也是快速原型系统所应用的标准文件类型。
ASCII 码格式的 STL 文件逐行给出三角面片的几何信息,每一行以1个或2个关键字开头。在 STL 文件中的三角面片的信息单元 facet 是一个带矢量方向的三角面片,STL 三维模型就是由一系列这样的三角面片构成。整个 STL 文件首行给出了文件路径及文件名。在一个 STL 文件中,每一个 facet 由 7 行数据组成,facet normal 是三角面片指向实体外部的法矢量坐标,outer loop 说明随后的3行数据分别是三角面片的 3 个顶点坐标,3 顶点沿指向实体外部的法矢量方向逆时针排列。
解析生成的 stl 文件,即可得到顶点坐标、法线坐标及拓扑关系等底层数据,利用这些数据可在其他平台如 GIS 中重构可视化模型,实现“BIM+GIS”数据集成应用。该方式得到的模型比较精细,三角面片数较多,不支持属性、颜色、材质等信息。

将三维实体离散化为一系列的三角面片,从细分结果中取得顶点、法线及索引信息等基础数据。详见 CAA 技术文章及示例代码。该方式的话,数据量的大小与细分参数有关,合理设置参数,可在不影响可视化效果的基础上,降低 BIM 模型的精细程度,显著减少模型的三角面片数,同时可取的材质属性等信息,信息完整度较高。将细分结果中的数据按照不同文件格式的规则以文件流的方式输出,便可得到其他三维格式文件,可在其他平台应用。
CAA 百科全书 CAAGemBrowser 示例中,系通过细分结果获取顶点、法线、索引等数据后重新创建几何,并在视窗中显示出来。由 CATProduct 或 CATPart 文档获取三维可视化接口,从而获得实体模型的几何表达,进而得到模型的底层数据。
页: [1]
查看完整版本: CATIA BIM模型底层数据获取