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月发布,因此本文开发的转换接口仍需要做相应的改善。
本转换接口已可提取建筑模型的几何信息、 截面信息和材料信息,但完整的结构模型仍需要荷载、 约束等信息,因此如何从建筑模型最大程度上提取荷载和约束信息将是很值得研究的课题。
0人已收藏
0人已打赏
免费0人已点赞
分享
BIM专业软件
返回版块9072 条内容 · 253 人订阅
阅读下一篇
REVIT 2015 新功能介绍(一)从Revit2012版本以来, Autodesk 针对Revit明细表功能的部分陆续逐版改进,而在 Revit2015 版本上,其明细表的功能有4项很大的强化 : 1. 墙的部分把顶底部限制与偏移,列入可加入的字段,此用来在数量计算中分层计算隔间墙的数量与面积有相当的帮助(过去都要自建楼层的项目参数克服)。 2. 明细表中可以插入图片链接,此图片会在明细表放置于图纸后显示,缺点是每一笔资料要一笔一笔加入,没有办法依据族群一次加入。
回帖成功
经验值 +10
全部回复(0 )
只看楼主 我来说两句抢沙发