IFC 标准在PKPM 结构软件中的实现(二)5d8中国BIM门户 - ChinaBIM.com
张剑涛1 ,刁 波1 ,唐春风1 ,张汉义25d8中国BIM门户 - ChinaBIM.com
(11 北京航空航天大学土木工程系,北京100083 ;21 中国建筑科学研究院,北京100013)5d8中国BIM门户 - ChinaBIM.com
4 基于自主平台实现IFC到PKPM的数据转换5d8中国BIM门户 - ChinaBIM.com
中国建筑科学研究院 PKPM软件研究所 ,还与北京子路公司共同开发了一个自主的 IFC 支持平台。这个平台通过手工创建了 65 个类 ,满足从 IFC文件中提取建筑模型的几何信息和材料属性信息的需要。5d8中国BIM门户 - ChinaBIM.com
平台的原理是在 Visual C + + 环境下创建与IFC类相一致的C + + 类 ,并为每一个类编写Add()函数和Construct ()函数 ,Add 函数将 IFC文件中的实例读入到内存 ,并将 IFC文件数据流中的字符解析成类所能理解的临时参数 ,Construct ()函数则按照临时参数的索引提取内存中对象相对应的地址 ,并分别给属性赋值。5d8中国BIM门户 - ChinaBIM.com
自主平台的不足之处是很明显的 ,如前面所说 ,它只创建了65个类 ,因此能实现的功能具有很大的局限性 ,如几何与材料之外的信息都不能获取 ,而且即使 是 几 何 信 息 , 它 也 只 能 获 取 扫 射 体( IfcSweptAreaSolid)和Brep 描述的实体 ,而不能实现对 CSG方法描述的实体信息的获取。尽管如此 ,自主平台具有程序文件小的优点 ,没有 EDM那么多累赘的代码 ,更重要的是它确实很好地实现了常用建筑模型的几何信息和材料属性信息的获取 ,而且运行速度非常快 ,这对于首次尝试来说已经非常不简单了。5d8中国BIM门户 - ChinaBIM.com
从平台获取信息的过程与“基于 EDM工具包的数据交换”基本相同 ,而自主平台方案还完成了对获取的构件信息的相交分析和节点归并 ,相交分析是判断构件与相邻构件之间的连接关系 ,对于相互连接的构件 ,将其交叉的节点和网格进行归并整理 ,得到最少个数的节点及相应的网格 ,这些网格就是SpasCAD中构件的定位基准 ,它们是 PKPM 进行后续结分析的基础。自主平台方案的后期工作流程如图4所示。 5d8中国BIM门户 - ChinaBIM.com
5d8中国BIM门户 - ChinaBIM.com
图4 节点分析思路5d8中国BIM门户 - ChinaBIM.com
虽然自主平台具有提取所有扫射体和Brep 实体的几何信息的功能 ,但是在具体的实现过程中还是进行了一些简化:5d8中国BIM门户 - ChinaBIM.com
(1)该方案只获取了底面为四个顶点的拉伸体墙体;5d8中国BIM门户 - ChinaBIM.com
(2)没有实现旋转体( IfcRevolvedAreaSolid)描述实体 ,如旋转体圆弧梁的获取;5d8中国BIM门户 - ChinaBIM.com
(3)没有实现Brep 描述实体向 PKPM的参数化映射 ,而是将Brep 的每一块面片当作一块薄板进行显示。5d8中国BIM门户 - ChinaBIM.com
结合前面使用的两种读入 IFC 文件的实现方法 ,在实现建筑模型的几何数据的交换上通过大量实例的测试 ,取得了很好的效果。其中从零开始的方案对 IFC的熟悉程度要求高 ,工作量大 ,而且创建的类数量有限 ,今后的可拓展性差。而使用 EDM工具包的方案则更加稳定 ,性能更可靠 ,将来可拓展性更好 ,但是这种方案体系庞大 ,生成的许多类完全用不着 ,另外 EDM价格昂贵也是不得不考虑的一个因素。5d8中国BIM门户 - ChinaBIM.com
5 PKPM数据生成 IFC文件的实现5d8中国BIM门户 - ChinaBIM.com
生成 IFC文件是前面获取 IFC 信息的逆过程 ,与前面两个过程相比 , IFC 输出要求开发者对 IFC文件的 EXPRESS描述语言非常熟悉 ,对 IFC文件中各个实例的描述语句的组成结构非常清楚。输出文件的内容格式如图5所示。5d8中国BIM门户 - ChinaBIM.com
5d8中国BIM门户 - ChinaBIM.com
图5 IFC 文件组成结构5d8中国BIM门户 - ChinaBIM.com
图 5 中 ,文件标头节是对整个 IFC文件的总体说明 ,包含文件名、文件生成的日期和时间、文件作者、制作单位及软件版本等信息。这部分的生成相对较简单 ,只需进行正常的写文件操作就可完成。文件数据节的生成是关键 ,几乎所有建筑模型信息都储存在这个部分。数据节的生成采用由上到下的方法 ,按照描述层次依次输出 ,使用一个全局变量(如IFCNO)控制实例号。首先形成时间、长度单位实例( IfcSIUnit) ,然后形成项目实例( IfcProject) 、场所实例( IfcSite) ,建筑物实例( IfcBuilding) ,对于有楼层定义的模型 ,形成楼层实例( IfcBuildingStorey) ,然后形成这些实例的关系实例 ( IfcRelAggregates) 。对于具体的实例 ,如墙体IfcWall ,则要先将其引用的属性实例进行输出 ,以保证所有的实例在被引用之前都已经存在。以标准墙体为例 ,在 IFC文件中描述如下:5d8中国BIM门户 - ChinaBIM.com
# 59 = IFCWALLSTANDARDCASE(′ 1RlowLpm1AiwyVFbFKmn61′ , # 16 , S| ,″ , S| , # 42 , #58 , S|) ;5d8中国BIM门户 - ChinaBIM.com
括弧中引用了16 ,42和 58 三个实例 ,分别指向括弧中引用了16 ,42和 58 三个实例 ,分别指向历史、局部坐标、形状描述三个属性 ,因此 ,在输出实例59之前 ,这三个实例必须已经被形成了。在将PKPM数据输出 IFC 的过程中 ,也作了一些简化工作 ,如截面类型中的箱形截面、标准型钢截面、圆管等都简化为矩形或者圆形输出。这些在以后的工作中将一一完善。5d8中国BIM门户 - ChinaBIM.com
6 结 语5d8中国BIM门户 - ChinaBIM.com
IFC是国际协作联盟( IAI)发布的建筑信息数据标准 ,其目的是支持建筑设计、施工、建筑操作的各个独立的专业的应用程序通过获取建筑生命周期内所有不同的方面的信息进行协同工作。本文介绍了中国建研院 PKPM软件与 IFC之间的数据交换的具体实现 ,包含 IFC 数据的输入和 PKPM 数据的 IFC文件输出 ,实现了对建筑模型主要构件几何信息和材料信息的获取和 IFC格式输出 ,对碰到的一些具体问题提出了处理方法。PKPM与 IFC标准的数据交换是国内建筑软件对实现 IFC支持的首次尝试 ,随着协同工作日益提上日程 ,软件之间的数据交换将会越来越多 ,因此对统一标准的需求将会更加迫切 , IFC 作为一种通用的建筑模型和统一的数据格式标准将会受到越来越多的关注。5d8中国BIM门户 - ChinaBIM.com
[参考文献]5d8中国BIM门户 - ChinaBIM.com
[ 1 ] ISO10303P11 ,21 ,41 ,42. 工业自动化系统与集成2产品数据表达与交换[ S] . 1994.5d8中国BIM门户 - ChinaBIM.com
[ 2 ] 邱奎宁. IFC 标准的实现方法[J ] . 建筑科学,2004 ,20(3) :76.5d8中国BIM门户 - ChinaBIM.com
[ 3 ] 葛松培. IFC 实现方法综述. 计算机技术在工程建设中的应用论文集[M] . 北京:知识产权出版社,2004. 11.5d8中国BIM门户 - ChinaBIM.com
[ 4 ] Antti Karola. BSPro COM2Server ———interoperability betweensoftware tools using industrial foundation classes [ J ] . Energy and Building. 2002 ,34 :901~907.5d8中国BIM门户 - ChinaBIM.com
|