[摘要] 4 IFC文件到3D3S文件的数据转换4 1 数据结构主要采用的几种数据结构有节点、 单元、 楼层三种数据结构。节点的数据结构:C
4. IFC文件到3D3S文件的数据转换
4. 1 数据结构
主要采用的几种数据结构有节点、 单元、 楼层三种数据结构。
节点的数据结构:
Calss Node
{
Int NodeID; / / 节点的索引号
Double CoordinateX, CoordinateY, CoordinateZ;
/ / 节点的三维坐标值
Int ConstraintType; / / 节点的约束类型
Arraylist NodeInElements; / / 节点所属单元链表};
单元的数据结构:
Class Element
{
Int ElementID; / / 单元索引号
Arraylist NodesInElement; / / 单元内节点链表
Int Sect ionType; / / 单元截面类型
Int ProperType; / / 单元材性类型
Int ContainedI nFloor; / / 单元所在楼层
Int ElementType; / / 单元类型
};
楼层的数据结构:
Calss Floor
{
Int FloorID; / / 楼层索引号
Double Elevation; / / 楼层顶标高
Double FloorHeight; / / 楼层层高
Arraylist ElementsInFloor; / / 楼层内单元索引号}
4. 2 算例
本文用 VC# . NET 在 Visual Stuido2005编译环境下编程, 开发出数据转换接口。当建筑师完成建筑模型后,导出建筑模型的 IFC 文件,然后通过本文研究的 IFC 模型文件转换接口,自动提取该建筑模型中结构构件的几何信息、 截面信息和材料信息。本例中,结构构件包括混凝土柱、梁、墙(带门窗洞口)、板构件以及型钢柱、梁构件。将IFC 文件转换成 3D3S数据文件后,利用 3D3S软件的数据导入接口实现该建筑的结构模型的自动生成。
本文所做工作不能完全代替结构工程师的经验与知识,仅仅是帮助工程师摆脱了繁乱复杂的重复建模过程,使得其集中精力于结构的优化设计中,进而提高建筑结构设计的水平和质量。
5 . 结论和待续的工作
本文基于 TNO公司的 IFC engine DLL 开发工具包, 开发了IFC 建筑模型数据转换接口,将 Autodesk 公司的 Revit 软件构建的建筑模型自动生成 3D3S软件的结构模型。
IFC 标准一直在不断的更新和扩展中, 最新版本 IFC2x4 于2010 年 5月发布,因此本文开发的转换接口仍需要做相应的改善。
本转换接口已可提取建筑模型的几何信息、 截面信息和材料信息,但完整的结构模型仍需要荷载、 约束等信息,因此如何从建筑模型最大程度上提取荷载和约束信息将是很值得研究的课题。