PKPM 与ETABS 结构模型数据转换接口的实现
2012-08-08董立坤
董立坤 王 徽
(中国建筑科学研究院,北京 100013)
1 引言
PKPM中PMCAD模块采用人机交互方式,逐层布置各层柱、梁、墙等构件及荷载,通过楼层组装建立起一套描述建筑物整体结构的数据[1],是PKPM系列结构设计软件前处理的核心,为后续功能设计模块(如SATWE)提供数据接口。对于层概念清晰的建筑结构,PMCAD建模简便快捷、效率较高。
ETABS(Extented Three-dimensional Analysis of Building Systems)是由CSI公司开发研制的集成化的建筑结构分析与设计软件,是美国乃至全球公认的高层结构计算程序,在世界范围内广泛应用,为世界上主要的标志性建筑所采用,是房屋建筑结构分析与设计软件的业界标准[2]。其适用于各种建筑结构体系,包括框架体系、支撑框架体系、剪力墙体系、坡屋面、多塔建筑等。
建筑抗震设计规范规定,利用计算机进行结构抗震分析时,复杂结构在多遇地震作用下的内力和变形分析,应采用不少于两个合适的不同力学模型,并对其计算结果进行分析比较。结构设计主要包括结构方案、结构内力分析、构件截面设计、构造措施四个层次,对结构安全的影响依次递减。前两个层次是后续设计的基础,为保证结构方案和内力分析的合理与正确,结构设计人员经常需要使用不同软件进行校核。
目前,当结构设计人员使用某种结构设计软件初步完成结构布置方案和内力分析后,若要进行不同程序校核,通常是在其它程序中建立同样的结构模型以完成结构分析。然而重复建模将耗费大量的人力和时间,而且可能由于疏忽遗漏,不能保证两种模型数据信息的一致性,包括结构几何信息、材料及截面信息、荷载信息等。如何实现不同的结构分析程序模型之间的转换,简化建模工作、提高工作效率成为了亟待解决的问题。
本文建立了一种结构模型数据转换的方法,利用该方法使用编写了将PKPM结构模型转换为ETABS模型输入文件e2k格式的接口程序,并通过工程实例验证了模型转换方法的可行性与模型的转换的正确性。
2 建筑结构模型数据描述及转换基本框架设计
建筑结构主要由梁、柱、支撑、板、墙等基本构件类型组成。
使用计算机语言运用面向对象技术中类、对象的概念进行数据的抽象及操作行为的抽象可以建立高度结构化的数据模型。计算分析程序中建筑结构模型基本的实体对象主要包括轴网、楼层、节点、梁、墙、柱、支撑、楼板等;属性对象主要包括设计计算信息、材料特性信息、截面尺寸信息、门窗洞信息、荷载信息等。
建筑结构设计计算分析中常用的有限元软件有 PKPM/SATWE、ETABS、SAP2000、MIDAS 等,各种结构分析软件内部使用各自的数据,这些数据的结构、格式各不相同,通常情况下不能直接实现模型间数据信息的共享与交换。然而这些结构分析软件中基本都实体对象和属性对象是基本相同的,且数据结构基本都基于有限元分析原理,所以数据结构又是相似的,基本包括节点信息、单元信息(单元节点、单元类型、材料、截面等)、荷载信息(点、线、面荷载)、约束信息等。通过定义一种通用建筑结构模型的一般表达方法,可以实现结构模型在各种结构分析软件之间的转换。
结构模型数据主要包括结构的几何数据、结构设计计算参数信息、材料数据、截面数据、约束数据和荷载数据等。建立通用建筑结构模型的主要数据如下:
(1)参数信息(Parameter Information):包括结构类型、模型数据的单位(Units,长度单位和力的单位)等数据。
(2)楼层信息(Floor):楼层的编号、楼层的高度。
(3)节点信息(Node):节点的编号、节点的坐标X、Y、Z。
(4)材料信息(Material):材料的编号(ID)、材料的类型、材料的属性值(弹性模量、泊松比、容重、密度、热膨胀系数等)。
(5)杆件截面(Frame Section):杆件截面的编号、截面的形状(如矩形、圆形、工字形)、截面几何参数、采用的材料编号。
(6)墙截面(Wall Section):墙截面的编号、截面厚度、采用的材料编号;面的类型(如壳、膜)。
(7)单元信息(Element):单元的编号、单元的单元类型、单元的截面编号、单元的材料编号、单元的节点编号等。
(8)约束信息(Constraint):点约束和线约束。
(9)荷载信息(Load):点荷载、线荷载、面荷载、风荷载和地震荷载等信息,荷载作用荷载类型、荷载作用的大小、方向荷载作用的位置。
结构模型主要数据类图[3]如图1所示。
图1 结构模型主要数据类图
接口程序中,对于不同的结构分析程序,对应不同的读写转换函数。结构模型转换接口程序实现流程见图2,首先根据转换需求设置参数,再由程序根据参数信息,调用相应的应用程序数据的读取函数,经过模型数据的准备,根据目标输出程序的设置,调用相应的应用程序数据的输出函数。
图2 接口程序实现流程图
通用结构模型与各种结构分析模型的转换包括两部分:(1)将某种结构分析程序(如 PKPM/SATWE、ETABS、SAP2000、MIDAS 等)的结构模型转换成为通用结构模型数据;(2)将通用结构模型转换成为需求的结构分析软件的结构模型。以上两部分的结合即实现了任意两种建筑结构模型数据之间的相互转换。不同程序建筑结构模型数据转换框架示意图见图3。
图3 不同程序建筑结构模型数据转换框架示意图
模型数据转换中重要的环节是建立通用建筑结构模型数据与各结构分析软件数据之间的映射关系。由于一般情况下两者的对应并不是严格一对一的,从不同结构分析软件模型数据中提取来的对象数据必须映射到通用建筑结构模型数据结构中的对应对象,同样,从通用建筑结构模型数据输出不同结构分析软件模型时也要进行相反过程的映射。这些过程中可能要根据各自模型的特点对数据进行适当的转换或简化处理。
3 模型转换接口的实现
目前,国内高层结构建筑设计通常采用的软件是PKPM/SATWE和ETABS,很多复杂的高层建筑都采用这两种软件进行计算分析和设计作为校核。
PKPM 的模型数据构主要包含[1,4]:结构设计参数、材料信息、构件截面信息、荷载定义信息、节点信息、网格信息、构件布置信息、构件荷载信息等。PKPM建筑模型中构件主要包括柱、梁、支撑、墙、墙洞口、板等,构件的定义方法是描述其截而信息及材料信息。各种构件布置时的参照定位不同,规则如下:柱布置在节点上,每节点上只能布置一根柱;梁、墙的定位是以网格线作为参照,以杆件的中心与网格线的偏心来确定实际位置;洞口布置在布置有墙的网格上;现浇楼板以闭合的网格线作为参照,一般根据结构平面的梁、墙布置信息自动生成,楼板洞口通过基点和转角的方法来描述其相对位置。
ETABS[2]软件以空间有限元分析为基础,针对建筑结构的特点,所有的构件按照几何形状使用“对象”进行模拟。对象是将模型中真实构件及作用在构件上荷载等属性,从空间角度上的抽象,对象包含几何信息、指定属性、指定荷载信息。ETABS有三种对象,即面对象、线对象、点对象。面对象代表的构件有墙肢、连梁、楼板、坡道等。对于面对象,可以指定截面、刚性隔板、局部坐标轴、刚度修正、质量、弹黄、面对象剖分、均布荷载、风荷载等。线对象代表的构件有柱、梁、支撑等。对于线对象,可以指定截面、构件端部约束释放、沿轴线端部偏移、轴线偏移、局部坐标轴、刚度修正、连接属性、质量、集中荷载、线荷载等。
在PKPM中材料属性除重度外,其它属性如弹性模量等都是程序内嵌的[5]。在ETABS中的材料定义是开放性,可以通过参数定义得到各种性能材料。转换中读取到PKPM中各种等级材料后,根据《混凝土结构设计规范》中材料规定生成并记录相应材料的各种属性,用于ETABS材料属性定义。
PKPM和ETABS两者对于墙包含洞口的描述有较大差别,PKPM为洞口布置在有墙的网格上,程序自动识别墙肢和开洞形成的连梁;ETABS中墙肢和连梁在建模时即是区分开来的。因此,在模型数据转换中,根据洞口的位置见开洞墙转换为墙肢和连梁。
ETABS中墙上不能指定线荷载,当PKPM中墙上布置有线荷载时,模型转换时可将线荷载转换为墙端节点荷载或在对应墙上添加虚梁,其中对应材料的密度、重度为0,弹性模量、剪切模量指定成比C30混凝土相应属性低4个量级,保证基本不影响结构质量及刚度,仅起导荷作用。
考虑楼板作为梁翼缘对梁刚度和承载力的影响以及地震作用分析时连梁刚度折减,对梁和连梁刚度进行修正,目前程序采用对话框人工交互输入的方式确定放大或折减系数的取值,可以满足一般工程需要,若需调整可在模型导入后对需要修改的单独指定。
根据PKPM模型数据与ETABS模型数据的描述,基于Microsoft Visual C++程序开发环境,建立结构模型数据,主要数据结构见表1所示,以PKPM的模型数据文件和ETABS.e2k文本文件为对象,编写模型转换接口程序,模型转换流程简图见图4。基本思路为:(1)根据设定的参数信息,读取PKPM的结构模型信息;(2)将各种数据信息进行计算和整合,形成整个结构模型的数据;(3)输出模型ETABS.e2k文本文件。
图4 PKPM-ETABS模型转换流程简图
表1 接口程序中主要数据结构表
ETABS计算用模型数据文件为*.EDB文件,另外提供导入部分格式模型文件,包括ETABS.e2k文本文件、DXF文件、IFC文件、ProSteel.mdb文件等。本文模型输出文件选择ETABS.e2k文本文件。ETABS数据文件以数据块为单位进行组织,数据块由数据行组成。每个数据块的第一行称之为分隔符行,以开头,用以识别该数据块。数据行由一个或多个数据项组成,数据项之间用逗点与空格分隔。模型文本文件的输出主要就是根据ETABS数据文件对应的数据块分别形成相应的信息。输出的ETABS.e2k文本文件数据块主要包括以下内容:
$PROGRAM INFORMATION
PROGRAM"ETABS"VERSION"9.2.0"(程序版本)
$CONTROLS//UNITS"N""MM"(单位制)
$STORIES-IN SEQUENCE FROM TOP(楼层数据)
STORY"STORY1"HEIGHT 3000 MASTERSTORY"Yes"(楼层编号、层高、是否为控制层)
$GRIDS(轴网定义,作为辅助参考,可以不转入,不影响计算分析)
$MATERIAL PROPERTIES(材料属性定义)
$FRAME SECTIONS(框架截面定义)
$CONCRETE SECTIONS(混凝土截面定义)
$WALL/SLAB/DECK PROPERTIES(墙、楼板、组合楼板属性定义)
$LINK PROPERTIES(连接单元属性)
$PIER/SPANDREL NAMES(墙肢、连梁名称定义)
$POINT COORDINATES(节点坐标)
$LINE CONNECTIVITIES(线单元坐标)
$AREA CONNECTIVITIES(面单元连接)
$POINT ASSIGNS(节点指定)
$LINE ASSIGNS(线指定)
$AREA ASSIGNS(面指定)
$STATIC LOADS(荷载定义)
$POINTOBJECT LOADS(节点荷载指定)
$LINE OBJECT LOADS(线荷载指定)
$AREA OBJECT LOADS(面荷载指定)
$ANALYSISOPTIONS(分析选项)
$END OFMODEL FILE
输出ETABS.e2k文本文件后,打开ETABS,选择菜单→文件→导入→ETABS.e2k文本文件,选择生成的文件导入ETABS程序,在计算分析前,可以根据特殊要求对模型进行部分完善,如刚性隔板指定、框架和壳刚度修正、面对象剖分、风荷载定义、反应谱定义、反应谱工况定义等。
4 模型转换接口的正确性验证
使用较多各种结构类型的工程实例对模型转换接口进行了测试和验证,下面选取框架结构、剪力墙结构、框架-剪力墙结构的3个典型工程实例模型,使用开发的转换程序将PKPM模型转换成ETABS模型,分别在 PKPM的 SATWE模块和ETABS中对结构进行弹性计算分析,提取结构的质量、恒活荷载作用下基底竖向反力、振型周期、地震作用下基底剪力和结构顶点位移进行对比验证。
a)某框架结构
某6层框架结构,模型简图见图5,计算振型数为15,两种分析软件计算分析结果比较见表2。
图5 某框架结构模型简图
表2 某框架结构计算分析结果比较表
b)某剪力墙结构
案例2:某24层剪力墙结构,模型简图见图6,计算振型数为21,两种分析软件计算分析结果比较见表3。
图6 某剪力墙结构模型简图
表3 某剪力墙结构计算分析结果比较表
c)某框架-剪力墙结构
某24层框架-剪力墙结构,模型简图见图7,计算振型数为27,两种分析软件计算分析结果比较见表4。
图7 某框架-剪力墙结构模型简图
表4 某框架-剪力墙结构计算分析结果比较表
综上所述,从以上三个典型工程实例结构模型的计算分析结果对比可知,各工程PKPM模型与ETABS模型具有较好的一致性,模型转换效果良好,两种软件计算的结构质量、恒活荷载作用下基底竖向反力、振型周期、地震作用下基底剪力和结构顶点位移接近,误差在工程应用的允许范围内,对比结果表明转换程序是成功的。
5 本章小结
本文建立了一种通过中间通用的结构模型数据实现不同软件结构模型数据转换的方法,并利用该方法使用Microsoft Visual C++编写了将PKPM结构模型转换为ETABS模型输入文件e2k格式的接口程序,初步实现了结构设计所需的构件几何信息、材料信息、截面信息、荷载信息的转换,并通过工程实例验证了模型转换方法的可行性与模型的转换的正确性。该方法可供编写不同软件数据接口的人员参考,下一步可基于该方法建立与其它软件的结构模型转换接口。
[1]中国建筑科学研究院PKPMCAD工程部.PMCAD结构平面CAD软件用户手册及技术条件[M].2009.
[2] 北京金土木软件技术有限公司,中国建筑标准设计研究院.ETABS中文版使用指南[M].北京:中国建筑工业出版社,2004.
[3] 邸元,袁明武.高层建筑结构CAD系统的数据模式[J].计算机辅助设计与图形学学报,2001,13(2):151-157.
[4] 中国建筑科学研究院PKPMCAD工程部.SATWE多层及高层建筑结构空间有限元分析与设计软件用户手册及技术条件[M].2011.
[5] 刘慧鹏,李云贵,周新炜.PKPM与ABAQUS结构模型数据接口开发研究及应用[J].上海:工程三维模型与虚拟现实表现——第二届工程建设计算机应用创新论坛论文集,2009.