基于MATLAB-GUI的大跨空间结构复杂节点智能分析系统设计

2014-08-08 02:36曹正罡周传波周观根
土木建筑工程信息技术 2014年1期
关键词:空间结构控件调用

曹正罡 周传波 周观根 范 峰

(1哈尔滨工业大学土木工程学院,哈尔滨150090;2浙江东南网架集团有限公司,杭州311209)

引言

节点连接设计是空间结构设计中较为重要和繁琐的环节之一[1],通用的土木工程软件基本未涉及特殊节点的有限元分析,所以在此环节中存在大量的重复性劳动。若能利用计算机智能分析程序实现复杂节点分析的一体化分析,便可以将空间结构设计者从繁杂的节点设计中解脱出来,大大提高工作效率。因而如何实现节点设计的全自动化,成为我们亟须解决的重要工程技术问题。

完成复杂节点的设计,首先需要保证节点的有效几何尺寸、材质、边界条件等参数输入的直观方便;其次需要解决节点三维实体建模分析的快速精确;最后需要实现分析结果的精确化和直观化。如果解决了以上三个问题,复杂节点一体化分析的目标就可以迎刃而解。

ANSYS是一款具有强大分析功能的有限元软件,其内嵌的命令流分析模式[2]让快捷精确的节点建模成为可能;Microsoft Office是微软公司的一个文字处理器应用程序,它预定义的部件和样式使分析结果的可视化和精确化问题迎刃而解。此时如何找到一个好的平台成为一项难题,该平台能将各种软件融合一处,彼此间信息传递顺畅,同时能让节点参数输入直观、简洁,Matlab GUI将成为解决这项难题最理想的程序平台。

Matlab GUI(Graphic User Interface)是内置于Matlab中进行图形界面开发的模块[3]。直观地说,GUI就是由各种图形对象组成的用户界面,在这种用户界面下,用户的命令和对程序的控制是通过“选择”各种图形对象来实现的。GUI的使用可以使我们要传达的信息变得更为简便、高效。此外编程语言也十分严谨,每个句柄的属性都非常详细,无论从界面属性还是回调函数等功能属性上讲,Matlab的GUI编程都非常紧凑。

图1 钢结构复杂节点智能化分析系统总体架构

1 系统总体设计

1.1 功能需求

为实现空间结构复杂节点智能化分析,该系统应该包括以下功能:自定义工作空间、几何尺寸和材质等参数输入、参数化建模[4]、分析结果的输出、特性查询、自动调用其他软件等。其中几何尺寸和材质等的输入要包括各个不同节点的尺寸、连接方式、所用材料强度、分析单元等输入信息;参数化建模得实现实体有限元结构模型的建立、网格划分、约束施加和加载以及分析的全程自动化。分析结果的输出则要生成具有内嵌数据、图表和分析结论的Word文档;特性查询得包含钢材特性、螺栓特性、焊缝特性等特性的查询;此外,程序必须要能自动调用ANSYS和Word软件,而且拥有保存路径功能。

1.2 总体构架

根据空间结构复杂节点智能化分析系统的功能要求,该程序共分为三层,其整体构架如图1所示。

该程序由三个结构层次组成,实际也就是三个独立的界面,主界面、选择界面和节点分析界面,三个界面的转换实际也就实现了三个结构层的转换。

1.3 系统界面设计

主界面的背景为东南网架的标志性图片,界面中有3个按钮(Push Buttom),分别调用Word文档、选择界面以及退出程序。

分析界面添加16个按钮(Push Buttom)和1个显示标题静态文本(Static Text),16个按钮键分别控制调用15个节点分析界面和1个返回上一级子程序。

节点分析界面由数据输入区、工作空间及接口文件控制区和工具栏组成。数据输入区主要由静态文本(Static text),编辑框(Edit text)和列表框(Listbox)等控件组成;工作空间及接口文件控制区有静态文本(Static text),编辑框(Edit text);工具栏分为分析系统、后处理系统、数据清理、查询/辅助四个部分,由Menu editor进行编写。

图2 主界面

图3 选择界面

图4 节点分析界面

2 人机交互界面的开发与实现

2.1 独立界面相互调用

界面的切换实际在进行各个独立界面之间的相互调用。在Matlab语言中,可以用run(‘被调用界面名’),同时close(‘当前界面名’),这样就能成功实现界面的跳转。本程序中,大量运用了此方法来保证整体连贯性。以下是截取的一小段程序代码:

2.2 基本几何、材料参数输入控件

按钮(push buttm)、静态文本(static text)、编辑框(edit text)、列表框(listbox)和面板(panel)五类控件在界面编写过程中被广泛使用,其中编辑框是人机交互功能实现的关键,外界数据都从此控件接入系统。每个控件的控制包括以下两方面的内容:

2.2.1 控件风格和外观

(1)BackgroundColor:设置控件背景颜色,使用[RGB]或颜色定义。(2)CData:在控件上显示的真彩色图像,使用矩阵表示。(3)ForegroundColor:文本颜色。(4)String属性:控件上的文本,以及列表框和弹出菜单的选项。(5)Visible:控件是否可见。

2.2.2 对象的常规信息

(1)Enable属性:表示此控件的使能状态,设置为“on”,表示可选,为“off”时则表示不可选。(2)Style:控件对象类型。(3)Tag:控件表示(用户定义)。(4)TooltipString属性:提示信息显示。当鼠标指针位于此控件上时,显示提示信息。(5)User-Data:用户指定数据。(6)Position:控件对象的尺寸和位置。(7)Units:设置控件的位置及大小的单位。(8)有关字体的属性,如FontAngle,FontName等。

2.3 生成W ord报告

图5 控件参数调整

Matlab可以连接Word,故而可以实现自动生成分析报告的功能,此报告中包括该节点的基本尺寸信息、依据的标准和Ansys分析结果图片等,在生成报告的过程中,输入的基本数据和分析的结果图片会自动插入到其中,同时显示生成报告的进程(见图6)。该功能的实现是利用自己编写的子程序Generate Report.m,其内部的编写命令类似VBA编写excel,开头程序代码如下所示:

图6 节点分析报告

2.4 分析程序的编译与发布

为了对程序代码进行保密,以及方便用户发布可以在不同平台运行的可执行程序,Matlab提供了Matlab程序编译与发布功能。在此,我们的Matlab程序通过其内置的编译发布工具箱生成可执行程序。具体方法是在Matlab命令窗口中运行deploytool命令,调出该工具窗口,在工具中导入要打包发布的工程,包括各种.m文件和Matlab组件运行环境(Matlab Component Runtime,MCR)[5],然后进行打包即可生成可执行程序SSXNIAS.exe,通过该工具可以方便、快捷地编译发布本程序。

图7 编译发布工具窗口

3 应用实例

本节通过开发的空间结构复杂节点智能分析程序对网架圆形底板抗拉支座受力分析的全过程进行演示。图8为该例的分析流程图,图9为工作空间及接口文件控制区;图10为菜单栏;图11为数据输入区相应的尺寸参数;图12为生成的Ansys接口文件[6],文件中记录了自动分析所需要的全部信息供Ansys软件读取;图13为Ansys分析模型以及分析结果。

图8 节点分析流程图

图9 工作空间及接口文件控制区

图10 菜单栏

图11 相关尺寸数据

图12 Ansys接口文件

图13 ANSYS分析模型和分析结果

4 结论

基于Matlab-GUI开发的空间结构复杂节点一体化分析系统,可以初步实现部分复杂节点几何信息、材料信息、荷载信息的人机交互修改,交互界面简单、直观;系统可以调用功能强大的ANSYS程序进行模型转化和分析,并自动提取分析结果,转化成图形和表格,自动生成WORD格式的报告,这一程序的开发可有效提高结构设计者的工作效率和分析精度,具有良好的工程应用前景。同时也为大跨空间结构复杂节点的快速分析开辟一条崭新的途径。

[1]朱恒,夏绪勇,马恩成.面向对象方法在钢框架节点设计程序开发中的应用[A].第十五届全国工程设计计算机应用学术会议论文集[C],哈尔滨:2010.

[2]龚超,王玉银,郭海山等.大吨位铸钢万向铰支座受压力学性能分析[J].哈尔滨工业大学学报,2011,43(4):17-22.

[3]师访.ANSYS二次开发及实例详解[M].北京:中国水利水电出版社,2012.

[4]包陈,王呼佳.ANSYS工程分析进阶实例[M].北京:中国水利水电出版社,2009.

[5]张志勇,杨祖樱.Matlab教程[M].北京:北京航空航天大学出版社,2010.

[6]包陈,王呼佳.ANSYS工程分析进阶实例[M].北京:中国水利水电出版社,2009.

[7]罗华飞.MATLAB GUI设计学习手记[M].北京:北京航空航天大学出版社,2009.

[8]周建兴,岂兴明.MATLAB从入门到精通[M].北京:人民邮电出版社,2008.

[9]周观根,陈志祥,程志敏等.大连国际会议中心钢结构工程关键技术研究[J].建筑结构,2011,41(增刊):967-971.

[10]杜文风.网架网壳结构设计[M].北京:中国电力出版社,2012.

猜你喜欢
空间结构控件调用
象山港内湾潮汐应变对横向流及其余环流垂向空间结构的调控研究
基于角尺度模型的林业样地空间结构分析
基于.net的用户定义验证控件的应用分析
格绒追美小说叙事的空间结构
核电项目物项调用管理的应用研究
系统虚拟化环境下客户机系统调用信息捕获与分析①
关于.net控件数组的探讨
国内城市空间结构优化战略研究——以沈阳为例
利用RFC技术实现SAP系统接口通信
基于嵌入式MINIGUI控件子类化技术的深入研究与应用