基于CATIA钢结构节点设计软件开发与应用
0 引言
CATIA是法国达索公司的CAD/CAE/CAM一体化软件,在世界CAD/CAE/CAM领域居领先地位,广泛应用于制造业。CATIA在建筑工程行业领域首次且最具代表性的应用是我国国家体育场“鸟巢”的设计,其表面看起来随意,实则具有规则性。鸟巢设计是利用CATIA在造型的复杂性和精确性方面的突出表现,实现了鸟巢钢结构几何形状的精确界定,成功地解决了复杂结构及其节点的建模难题
通过CATIA软件可以创建参数化的三维实体模型,模型具有精细、可通过修改参数实时更新的优点。然而,一个钢结构整体模型往往包含许多杆件和节点,手动创建工作量巨大,基本不可能完成。为此,笔者利用基于V5 Automation的CATIA二次开发技术
1 系统总体结构设计
以CATIA V5为平台,利用Microsoft Visual Basic 6.0对CATIA V5进行二次开发,开发出一款钢结构节点设计软件。该软件的系统构架图如图1所示。整个系统大体分为三个模块:前处理模块、设计计算模块和后处理模块。
(1)前处理模块:
读取常用结构设计软件的模型数据,包括几何、材料信息及设计内力信息。目前,软件能够利用VB语言自动读取SAP2000模型的s2k文件,生成节点设计的前处理模型,为后续钢结构节点的设计提供基础模型。
(2)设计计算模块:
根据项目整体数据中的几何数据和杆件内力数据进行节点区设计计算,并结合规程
(3)后处理模块:
生成节点承载力验算的计算书,创建每个区的装配模型并结合模型完成一系列的工作。每个区的装配模型由该分区所有节点模型和连接杆件装配形成,将所有区的装配模型转化为轻量化文件进行整合即可得到项目的整体三维模型。整体三维模型可用于进行碰撞检查、三维漫游及施工模拟等工作。软件在分区装配模型的基础上创建节点三维几何模型,该几何模型可利用ABAQUS软件的文件导入功能直接生成ABAQUS几何模型,随后进行划分网格、添加荷载、约束等操作后,便可进行有限元分析。
2 软件开发的关键技术
2.1 CATIA二次开发技术
CATIA 给用户提供了二次开发接口和相应的帮助文档,为用户二次开发定制个性化和专业化的工具提供了极大的方便。通过编程来访问CATIA的对象有很多种方法,任何可以访问COM对象的程序或脚本都能访问CATIA的对象并对其进行开发。本研究对CATIA的二次开发采用的是进程外通过用Microsoft Visual Basic 6.0访问CATIA对象的技术。
CATIA软件具有非常严谨的文档结构,如图2所示。掌握CATIA的文档结构是对CATIA进行二次开发的基础。根据CATIA文档结构图,利用Microsoft Visual Basic 6.0 对CATIA V5进行二次开发的一般流程为:
(1)获取CATIA根对象。
CATIA的根对象是CATIA文档的最上层结构,外部程序可以直接对其进行访问。对CATIA任何模块的开发,均需先获取CATIA的根对象,获取方式为在添加与CATIA相关的所有类库后,通过“Set CATIA=GetObject("CATIA.Application")”这一语句直接得到当前CATIA文档的根对象。
(2)获取CATIA文档。
CATIA根对象Application向下派生的Documents对象为CATIA中所有文档的集合。Documents对象再向下派生不同模块的文档,如装配体文档ProductDocument和零件文档PartDocument。零件和装配体均是在上述文档中创建的,CATIA文档通过将CATIA根对象的属性赋值给程序中的变量得到。
(3)编辑CATIA文档。
在整体模型中每个节点零件文件均为装配体文档ProductDocument的下一级部件,每个节点文件构成一个Products集合,PartDocument表示的零件文档的下一级为Part,包括体集合Bodies和混合元素集合HybridBodies等集合,创建节点实体、轴线的具体操作均是在Part下进行的。通过编辑CATIA文档可以创建精细化的节点模型,进而创建整体结构模型。CATIA文档的编辑通过一系列的函数和变量的调用来实现。
利用Microsoft Visual Basic 6.0 对CATIA V5进行二次开发,实现上述流程所用到的部分关键变量见表1。
部分关键变量及其含义 表1
变量名称 |
变量含义 |
CATIA |
CATIA根对象 |
CDocuments |
CATIA软件所有打开的文档集合 |
CProductDocument |
装配体总文件 |
CPartDocument |
单独的零件文件 |
CProducts |
装配体总文件下的部件 |
Cpart1 |
零件文件下的几何体 |
2.2 生成精细化三维模型
根据现有的电脑配置,不能在CATIA中一次性生成整个项目的三维模型,软件采用的是先生成每个节点组的整体装配文件,最后将所有装配文件整合的方法获得整个项目的三维模型。每个组的模型均通过节点信息分组得到该组的参数信息后,按照“自底向上”的建模顺序创建。创建每个组的三维模型的流程图如图3所示。
软件创建不同类型节点的三维模型的方式有两种。建模方式一为按照手动创建节点的步骤编码循环创建,适用于建模过程相对简单的节点;按照此种方法创建的典型节点类型有相贯焊节点和焊接空心球节点。建模方式二适用于建模过程相对繁杂的节点,这种方式采用先创建节点参数化模板,通过程序驱动模板中的参数得到需要的节点模型;支座节点、拉索节点和部分梁柱连接节点等均按照建模方式二创建。部分节点采用这两种方式结合创建,如分叉柱节点。图4为四分叉柱节点的模板文件三维图,左侧框中为该节点模板的部分参数。
通过上述两种建模方式,开发的软件可以批量创建的部分节点类型三维模型图如图5所示。软件创建三维模型运用的主要函数见表2。
软件创建三维模型运用的函数 表2
函数名称 |
函数功能 |
Fsketch1.OpenEdition() |
开始创建截面草图 |
CreateProjections |
在草图中创建三维图形的投影 |
CreateClosedCircle |
在草图中创建封闭圆弧 |
AddNewPadFromRef |
创建拉伸体 |
AddNewShaft |
创建旋转 |
UpdateObject |
更新模板文件中的几何体 |
AddComponentsFromFiles |
将节点添加到整体装配文件中 |
CPartDocument.SaveAs |
将更新参数后零件文件单独存储 |
2.3 生成节点精细有限元模型
直接在有限元软件中建立节点的计算模型,建模过程非常复杂,而且计算模型修改也比较困难。结合CATIA在建立复杂节点精细化模型方面的优势,开发的软件可以生成能直接用于有限元计算的分析模型,流程图如图6所示。软件创建的实体模型及在有限元软件中划分网格如图7所示。
杆件壁厚较小的节点进行有限元分析时,由于节点实体模型在壁厚方向划分网格数较少,有限元计算精度不高,因此需要建立节点的壳模型。
节点的壳模型往往会因为杆件与杆件之间的壳相互接触部位不精确而无法在有限元计算软件中划分网格,或者划分的网格相互独立从而得到错误的计算结果。如图8(a)所示,两根杆件均划分了网格,但杆件与杆件之间的网格并无联系,按照此模型计算将无法得到正确的计算结果。因此在创建节点壳模型时,需要使杆件与杆件之间具有精确的分界线,才可以在有限元软件中正确地划分网格,如图8(b)所示,两杆件之间的网格不是独立的。使节点壳模型杆件与杆件之间具有精确的分界线这一过程在ABAQUS中操作复杂且很难实现。
根据已创建完成的节点实体模型,软件按照该实体模型杆件的生成顺序依次提取杆件实体表面,得到每个杆件的壳模型,然后将节点杆与杆之间连接部分壳自动分离出来,使面与面的接触部分具有精确的分界线,最后整合所有的壳得到节点的壳有限元模型。按照这种处理壳模型的方式,软件导出节点的壳模型用于有限元计算时均能正确地划分网格,图9为软件创建的一个节点壳模型及划分网格图。
软件批量生成的节点精细有限元计算模型通过与结构分析模型耦合建立结构多尺度分析模型,如图10所示。
2.4 用户界面设计
用户界面作为软件与用户交互的方式,是软件重要的组成部分,Microsoft Visual Basic 6.0中通过“添加窗体”的方式添加对话框。根据参数设置和操作需要在对话框上添加一些控件,组成实现程序功能的用户界面,图11为软件的部分主要界面。
用户界面与实现相应功能的函数之间主要运用了Click事件相互联系,用户界面主要运用的Click事件如表3所示。
用户界面中的主要Click事件 表3
事件名称 |
功能 |
CommandRead_Click |
读取选择的s2k文件 |
CommandSave_Click |
设置保存节点文件的位置 |
CommandRun_Click |
生成装配体文件 |
CreatBan_Click |
创建插板 |
3 工程实例
3.1 实例1:某火车站三维模型的创建与分析
该火车站建筑面积共约10万m2,站房主体采用框架结构形式,整体结构由钢结构屋盖、高架夹层、正面拱形结构及底部结构组成。
整体三维模型分19组创建,其中屋盖部分14组,屋盖支撑1组,突出正立面钢结构1组,混凝土部分3组。创建的三维模型中包含6 379个焊接空心球节点、304个相贯焊节点、38个柱支撑节点、41 750根连接杆件。
图12为火车站钢结构屋盖部分三维模型图,图13是火车站屋盖支撑分叉柱节点三维模型图。软件创建的各个分组的CATIA模型可以在Navisworks中进行整合,将每个分组的文件保存为后缀名“.nwd”或“.nwc”的文件,通过模型组装的方式生成精细化钢结构BIM模型,如图14所示。完整的可视化模型可进行一系列的应用,如效果展示、三维漫游等,如图15所示。
利用开发软件的计算功能对屋盖网架部分6 224个焊接空心球节点进行承载力验算,得到每个节点的计算书文本,并得到统计验算结果的文本文件,如图16所示。
取屋盖网架部分特殊的节点进行单独验算。选取基础部分杆件轴力最大分叉柱节点进行有限元分析,将软件创建的该节点的实体计算模型直接导入ABAQUS中进行有限元计算分析,计算结果如图17所示。
3.2 实例2:某体育馆投标项目
结合开发的钢结构节点设计软件,创建了某开合屋盖体育场的整体结构模型(图18,19)。该体育场方案由钢筋混凝土看台结构、格构钢结构拱、吊索和钢结构屋盖组成。钢筋混凝土看台结构、格构钢结构拱及吊索共同为屋盖结构提供支撑;屋盖则是由固定屋盖和活动屋盖组成,为保证活动屋盖运行顺畅,固定屋盖为整体大跨度钢结构。
创建的整体三维模型由13 199根杆件、4 327个节点组成,分为19个组创建。程序按照分组依次创建各组的装配模型,并通过参数化驱动模板文件创建结构模型中不具有的构件,如台车轨道、台车等,手动装配到整体模型中,如图18,19所示。建立的整体结构可视化模型可用于开合屋盖的运动模拟及三维漫游,如图20所示。
4 结论
(1)根据CATIA二次开发知识和建模特点,利用Microsoft Visual Basic语言开发了基于CATIA的钢结构节点设计软件。该软件可以批量生成精细化的节点三维实体模型,进而创建整体结构的三维模型。细节化的三维模型可以用于结构工程师和建筑工程师之间的交流,从而使建筑结构更好地满足美学要求,也可用于三维漫游和运动模拟,便于及时发现设计和施工过程中可能存在的问题。
(2)开发的软件具有节点承载力验算和创建节点有限元计算分析模型的功能。节点承载力验算功能可以批量对项目中能通过规范公式验算的节点进行验算。创建节点有限元计算分析模型功能解决了复杂节点有限元计算模型创建的难题,并且可以用于创建项目的多尺度分析模型。结合这两种功能,可以实现对项目中所有节点的分析验算。
(3)基于CATIA钢结构节点设计软件的开发,是对BIM技术应用于结构工程的积极探索,极大地简化了复杂钢结构BIM模型的建立,为结构BIM模型的进一步应用以及工程下游阶段的实施奠定了良好的基础。
[2] 李华峰,崔建华,甘明,等.BIM技术在绍兴体育场开合结构设计中的应用[J].建筑结构,2013,43(17):144-148.
[3] 崔建华.钢结构节点的BIM技术研究与应用[D].北京:北京建筑大学,2013.
[4] 陆学君,朱寻焱,杨律磊,等.华谊苏州通天大佛结构设计[J].建筑结构,2015,45(14):35-39.
[5] 彭欢.基于 V5 Automation 的CATIA二次开发技术研究[J].电子机械工程,2012,28(2):61-64.
[6] 胡适,吴立军.CATIA 二次开发技术基础[M].北京:电子工业出版社,2006.
[7] 陈靖芯,徐晶,陆国民,等.基于 CATIA 的三维参数化建模方法及其应用[J].机械设计,2003,20(8):48-50.
[8] 钢管结构技术规程:CECS 280∶2010[S].北京:中国计划出版社,2010.
[9] 空间网格结构技术规程:JGJ 7—2010 [S].北京:中国建筑工业出版社,2010.