土木在线论坛 \ BIM技术 \ BIM专业软件 \ 关于Revit与3D3S建筑信息模型的数据转换

关于Revit与3D3S建筑信息模型的数据转换

发布于:2018-05-28 00:00:28 来自:BIM技术/BIM专业软件 0 38 [复制转发]

随着计算机硬件与软件技术的迅猛发展, 计算机辅助设计在建筑领域的应用也得到了长足的发展, 大量的计算机建筑辅助设计软件相继涌入市场, 尽管各个软件都基于唯一的建筑实体模型, 却因为仅仅支持自己的数据标准, 因而本专业软件间、相关专业软件间的数据交换与共享成为建筑设计集成化技术的瓶颈。针对以上问题, 不外乎两种解决之道: 各应用软件自行开发相互数据交换与共享的接口, 如同济大学的3D3S 软件9. 0 版本便提供了由 PKPM 软件的SAT W E 模型文件的导入接口和至A NSYS,SAP2000 模型文件的导出接口。然而此解决方案并未根本解决建筑模型的数据交换与共享问题; 一个真正的完全开放的建筑产品数据表达与交换国际标准的产生才是充分实现数据交换与共享的基础。IAI( International A lliance for I nteroperability) 组织定义的IFC(Industry Foundatio n Classes) 标准便是一个获得建筑领域专业人士广泛支持的ISO 标准。本文研究的内容就是介绍如何应用IF C 标准实现建筑模型自动生成结构模型文件。

IFC 标准与Revit

IFC 标准本质上是建筑物和建筑工程数据的定义, 值得注意的是其建立在拥有大量成熟研究结果的ST EP 项目基础上, 例如ST EP 的几何定义和建筑工程核心模型, 全世界基于EXPRESS的领先研究成果都可以很容易地引入I FC。尤其是ST EP 中的建筑结构模型的发展能够有效应用在IFC 项目中。1997 年1 月,IAI 发布了IF C 信息模型的第一个完整版本( IFC 1. 0 版本) ,2006 年2 月发布了IFC2x 版本3( 简称IF C2x3) , 本文就是基于该版本实现数据转换。国际上三大CAD 应用软件开发商Autodesk 公司、Bentley 公司和Graphisoft 公司均已经接受并支持IFC 标准, 本文就是采用Autodesk 公司的Revit ar chitecture 和Revit structure 软件导出的IFC 模型文件转换为结构模型文件。尽管IFC 的文档是完全开放的, 然而其所采用的ST EP 文件格式的复杂性以及IF C 建筑模型本身的复杂性都使得IFC 开发并非易事。因此很多公司开发了旨在为IF C 开发者提供方便的IFC 工具包, 通过这种工具包开发者就不需要将大量的时间花在底层支持平台的研发上。目前常用的IF C 工具包有EPM T echnology AS 公司的EDM modelConver ter , Eur ostep 公司的IF C Classic T oolbo x, T N O Environment and Geosciences 公司的IF C engineDL L 等。本文就是基于IF C engine DLL 工具包实现IFC 文件的建筑模型信息提取。

3D3S 与结构模型文件

3D3S 的结构模型文件的一般表达格式如下:

1) 注释:

以$ 或! 或 或/ 开头的字符串表示是注释, 注意其中不能有空格。

2) 定义结构体系:

ST RU N o。

3) 定义长度单位:

U NIT No。

4) 生成节点:

N 节点号 坐标x 坐标y 坐标z。

5) 生成单元:

E 单元号 节点1 节点2。

6) 定义节点约束:

Con 节点号 X( 0 1) Y( 0 1) Z( 0 1)

RX( 0 1) RY( 0 1) RZ( 0 1) 。

因篇幅限制, 文件的表达格式在此未表示完全, 可查阅3D3S使用手册。

IFC 文件到3D3S 文件的数据转换

数据结构:

主要采用的几种数据结构有节点、单元、楼层三种数据结构。

节点的数据结构:

Calss Node

{

Int NodeI D; / / 节点的索引号

Double CoordinateX, CoordinateY , CoordinateZ;

/ / 节点的三维坐标值

Int ConstraintT ype; / / 节点的约束类型

A rraylist NodeInElements; / / 节点所属单元链表

} ;

单元的数据结构:

Class Element

{

Int ElementI D; / / 单元索引号

A rraylist NodesInElement; / / 单元内节点链表

Int Sect ionT y pe; / / 单元截面类型

Int ProperT y pe; / / 单元材性类型

Int ContainedI nF loor; / / 单元所在楼层

Int ElementT y pe; / / 单元类型

} ;

楼层的数据结构:

Calss Floor

{

Int FloorI D; / / 楼层索引号

Double Elevation; / / 楼层顶标高

Double F loorHeig ht; / / 楼层层高

评论帖子
评论即可得
+1经验值
+10土木币

请先 登录,再参与讨论!

相关推荐

BIM专业软件

返回版块

7965 条内容 · 177 人订阅

猜你喜欢

阅读下一篇

【Revit使用技巧】Rhino和Revit配合使用(三)

用Rhino为Revit做族在Rhino里我们能快速地创建组建用以制作Revit的族。我们能导入几何体到Revit族文件将其用于一个项目中。这么做的原因有几个:1.项目团队中有熟练的Rhino用户,能快速地创建各种组件;2.组件不需要被(几何)参数化;3.组件拥有独特的造型,在Revit里制作可能比较困难;4.组件的设计已经完成不再需要修改;虽然文件格式能够互相导入导出,但是跨平台的数据交换需花费额外的精力和时间,隐性地提高管理成本。在交换的过程中对数据版本的控制要求更高。要求项目在策划和实施阶段要有清晰的思路。

请选择删除原因

回帖成功

经验值 +10