FLASH技术在网络版结构设计软件中的应用

2012-09-17 08:12:48陈庆军李顺辉程思宇刘天露
关键词:纵筋筋率应用程序

陈庆军,何 岸,李顺辉,程思宇,刘天露

(1华南理工大学土木与交通学院,广东 广州 510641;2亚热带建筑科学国家重点试验室,广东 广州 510641)

随着网络技术的不断发展,网络应用程序成为研究的热点。相比于单机软件而言,网络版应用软件具有跨平台、无需下载、可多人同时应用的优点,是目前WEB 2.0技术的重要组成部分。FLASH技术是作为一种集动画、声音等一体的网络多媒体解决方案,在当前的WEB应用中非常流行。而随着智能手机的日益普遍和手机系统的不断更新,一些主流系统,例如Android,都可以很好地支持FLASH,这进一步拓展了WEB的应用空间。

在结构工程专业中,计算机辅助结构分析设计软件是目前结构工程师不可或缺的辅助工具。但如目前主流的理正、世纪旗云、探索者等常用知名软件均为单机软件,这与当前计算机网络的发展很不协调。

其实,FLASH技术已经被比较广泛地用在了多媒体教学上面,但大家更多地是采用其强大的动画制作功能,而 非 其 编 程 功 能[1]-[3],这 其 中 有 较 重 要的因素是ActionScript语言作为一种较新的编程语言尚未被用户迅速掌握。由于FLASH技术已给网络版结构辅助分析设计软件搭设了良好的使用平台,为探索其实例应用,本文作者申报了一项华南理工 大 学 学 生 课 外 科 研 计 划 (SRP 项 目 )[4]-[5]——“FLASH技术在土木工程网络版结构辅助设计软件中的应用”,并较好地实现了项目的预定目标。下文将对其进行具体介绍并以其中一个项目为范例阐述具体的编制过程。

一、FLASH、ActionScript、FLEX 简介

FLASH现在是全球著名媒体软件公司ADOBE的产品,它具有如下一些特性:①FLASH采用矢量图形格式,被广泛应用于互联网网页的矢量动画设计;②FLASH创作出的swf格式的文件在大部分浏览器上均可直接播放运行,具有良好的网络应用环境;③FLASH是一个“富因特网应用”(RIA)概念的实现平台,所编制的程序具有跨平台、可远程交互操作、多人同时在线使用等优点。

ActionScript语言是FLASH的内置开发语言。本项目采用的Actionscript版本是ActionScript 3.0,它具有以下特点:①对面向对象编程(OOP)语言完全支持,对OOP架构深层优化;②新的显示对象系统架构。③采用了先进的E4X,使XML成为ActionScript 3语言的内建数据类型;④标准的DOM3事件实现,FLASH API全面支持事件机制。

FLEX是一个高效率、免费的开放源框架,可以用于构建手机、网络、桌面应用程序,这些应用程序共享一个公共代码库,从而减少了应用程序创建的时间和成本。ActionScript虽然也可以采用ADOBE FLASH软件内置的开发组件进行开发,但更好是采用ADOBE单独的IDE开发平台——FLEX平台(现改名为FLASH BUILDER)进行开发。FLEX平台在代码提示、自动完成、Debug工具、工程集成等方面都比较完善。

二、研究项目的概况

2010年,作者申报了华南理工大学“学生研究计划 (Student Research Program,简 称 SRP)项目——“FLASH技术在土木工程网络版结构辅助设计软件中的应用”。项目主要探索网络版的结构分析设计软件的制作。学生将利用ADOBE公司的FLASH软件中的脚本语言ActionScript,编制一定数量图文并茂、可生成计算书的网络应用程序。经选拔后,研究小组由土木工程专业、工程力学专业、电力学院、电信学院的7名同学组成,各成员均对本项目研究有着浓烈兴趣。

由于此研究项目需要参与的同学懂得编程操作、同时须具有一定的结构分析设计知识,这对于大部分学生来说是个严峻的挑战。为此,指导教师首先统一向学生讲授了ActionScript语言的基本知识,并为每位学生购买了相关的学习书籍。而后为每个学生们制定了不同的目标。经过第一学期的刻苦学习之后,同学们基本掌握了相应的编程技术。第二学期开始面向项目进行程序开发,编制出相关的FLASH在线程序。

至项目结束期间,所指导的学生共编制了10来个界面美观,可实时求解的在线程序。这些程序可以直接通过PC机访问网页进行操作,也可通过支持Flash的手机进行操作。每位参与项目的学生都编制出了一项以上的应用程序。所编制的程序包括桁架内力求解器、混凝土梁受弯受剪求解器、型钢特性查询、土木工程单位制转换、混凝土应力应变曲线查询、混凝土牛腿计算软件、超筋及少筋梁的试验全过程的模拟动画、混凝土选择题库、柱子纵筋及箍筋配筋率程序、简支梁内力求解器等内容。所完成的作品主链接界面如图1所示,也可直接访问钢筋混凝土结构理论省级精品课程教学网站:http://202.38.193.234/hntjg/中学生作品部分。

图1 在线结构辅助分析应用主界面

通过本项目研究,学生拓宽了知识面,一方面加深了对课本中专业知识的了解,一方面也在编程水平方面都有了较大的提高,了解了较新的计算机应用技术。本项目在结构分析软件的网络化方面做了探索研究,为进一步更广泛的应用程序的编制奠定了坚实的基础。

由于FLASH编程技术在结构专业较少看到相关文章,下文将以一个较简单的柱筋配筋率在线计算程序为例,阐述其具体实施流程。

三、程序编制实例

(一)概述

本实例的实现目标是一个可以计算矩形截面柱子纵筋配筋率及箍筋配筋率的在线应用程序。如图2所示。

图2 矩形截面柱配筋率计算程序

程序界面设计为输入区(图2左区)、动态显示区(图2右上区)、输出区(图2右下区)。输入区中包括如构件的截面尺寸输入、纵筋根数以及单根直径等所需要的参数。动态显示区中,直观地根据输入的纵筋、箍筋数量绘制出截面形状和钢筋配置情况,并随参数的变化实时改变。而输出区中有具体的配筋率计算全过程结果,可供用户进行复核。

(二)FLASH程序开发流程

在FLEX平台下开发FLASH程序的流程如下:创建FLEX Project→在界面上布置可视化元件→增加事件处理和脚本处理代码→调试→编译出swf文件。具体实现如下:

1)打开 ADOBE FLEX Builder 3.0,选择 File→New→Flex Project,工程名为“矩形截面配筋率”。点击完成,程序会生成程序目录,并自动生成main.mxml文件。需要说明的是,MXML是一个可以让用户在Adobe Flex中布局界面组件的一种XML语言。用户也可以使用MXML声明来定义程序中的非可视化组件,比如 对服务器端数据源的访问以及用户界面组件和数据源之间的数据绑定。MXML文件以小写的mxml作为扩展名。MXML标签与ActionScript类或者类中的属性是相对应的。当你编译你的FLEX应用程序的时候,FLEX解析MXML标签并且生成相应的ActionScript类。然后这些ActionScript类会被编译成SWF字节码存储到一个SWF文件中。

2)编辑界面的方法有两种,一种是直接在main.mxml文件中直接编写程序界面代码;另一种是切换到“Design”模式,在Components框中把需要的元件拖拽到程序界面上,并且在Flex Properties中设置元件的参数,包括高度、宽度、方法、皮肤等。下面是其中一个HBox容器的代码,内容是建立一个构件宽度输入框combo_b和高度输入框combo_h,其数据内容由数组arrCal绑定,同时为它们建立一个myClick的方法,当输入框的数据改变时触发。

(三)定义参数并初始化

界面元件初步布置完成后,开始编辑元件操作的内容。ActionScript代码可以直接用<mx:Script> 标签嵌入在main.mxml中,但个人建议较好的方法是计算代码与界面代码分离。建立一个Actionscript文件(as文件),在mxml文件中对其进行引用,如本程序建立了一个inidata.as文件。在inidata.as中,通过编写代码,实现各种计算和操控。在main.mxml中采用 <mx:Script source="inidata.as"/>语句即可引用此as代码。

程序中用到的各计算参数可在inidata.as中进行定义及初始化。如上文提到的arrCal的定义及初始化见如下代码。首先通过[Bindable]标签进行数据绑定标识。而后定义类型为ArrayCollection的数组arrCal,通过for循环对其进行赋值。那么之前定义的id为combo_b的combobox,它的dataProvider="{arrCal}",其显示效果如图3所示。

图3 采用数据绑定的ComboBox

(四)配筋率计算代码

以纵筋配筋率为例说明程序编制的过程。纵筋配筋率根据《混凝土结构设计规范 (GB50010-2010)》规定进行计算,受压构件的全部纵向钢筋和一侧纵向钢筋的配筋率应按构件的全截面面积计算,“一侧纵向钢筋”是指沿受力方向两个对边中的一边布置的纵向钢筋。因此,对于纵筋配筋率的计算,需分别计算角部钢筋和左右上下侧钢筋的面积之和,再除以构件的面积。定义角部钢筋、左右侧钢筋和上下侧钢筋的面积如下。

上述代码可进行配筋率计算。而如下代码可在输出区的文本框TextArea1中输出计算结果。

同样道理可编制箍筋配箍率的计算代码。

(五)动态图形显示代码

FLASH的特点是具有强大的图像能力。本例子采用图形编程直观、动态地展示出构件中的配筋情况。本文没有采用第三方的图形编程插件,直接利用FLASH中的画图函数来进行绘制,其中,主要用到的是Canvas容器、graphics.drawRect画矩形函数及graphics.drawCircle画圆函数、并采用lineStyle函数设置线型、beginFill函数设置填充颜色。通过设置事件控制语句,使得任何参数的变化都会引发图形刷新函数,从而实现动态显示。本编程中还需要注意如何确定尺寸的比例缩放和确定各点的坐标值。

动态显示区由Canvas容器构成,定义其id为par,par.width和par.height分别指该容器的宽和高。Canvas的坐标定义如图4所示。原点位置如图所示。由于柱子截面大小的不确定性,过大或过小地在窗口中显示都会导致界面的不美观,甚至发生错误。为了合理显示,可采用定义一个比例参数来确定实际图形显示。截面的绘制可通过graphics.drawRect函数实现。

纵向钢筋用圆绘制。首先根据矩形截面位置,定出四角的纵筋位置,而后,根据各边的纵筋根数,循环绘制出各边纵筋。纵筋的绘制采用graphics.drawCircle函数实现。

箍筋的画法根据箍筋的肢数进行分支判断绘制。若箍筋的肢数为偶数,则箍筋由若干个双肢箍拼合而成;若为奇数,则除若干个双肢箍外,另加一个单肢S箍拼合而成。其中,双肢箍采用画带圆角的矩形语句graphics.drawRoundRect函数进行绘制;单肢箍采用直线、弧线等进行组合,需编制独立的子函数,需注意的是,ActionScript 3.0中没有直接画圆弧的命令,因此必须自己编制画圆弧的函数。

图4柱子截面绘制相关参数

(六)应用程序发布

代码编写完成后,需进行调试,直到无bug后则可以发布程序了。选择File→Export→Release Build,进行相关设置后,最终的swf文件就会出现在发布设置的文件夹中。再上传到网络中,即可供他人使用。

四、结 论

通过以上研究,可得出以下结论。

(1)FLASH是一种很好的 WEB应用程序编写工具,其内置的ActionScript 3.0语言可用来开发在线的结构辅助设计交互式应用程序,所编制的程序具有跨平台,远程使用,多人同时在线使用等优点。本项目在结构分析软件的网络化方面做了探索研究,为进一步更广泛的应用程序的编制奠定了坚实的基础。

(2)学生通过此结合结构工程专业知识与计算机先进编程技术的课外研究项目,拓宽了知识面,一方面加深了对课本中专业知识的了解,一方面也在编程水平方面都有了较大的提高,了解了较新的计算机应用技术。

(3)本文以矩形钢筋混凝土柱纵筋及箍筋配筋率应用实例介绍了程序设计、开发流程、程序发布的具体过程,并且针对mxml文件、图形显示等与常规编程方式有所不同的FLASH编程难点进行了解释,具有编程借鉴意义。

]

[1]季静,陈庆军,蔡健,黄炎生.学生研究计划与混凝土结构课程的教学改革 [J].广州大学学报(自然科学版).2006,5(增刊):60-61.

[2]陈庆军,蔡健,季静,吴建营,张雁.混凝土结构设计课外教学手段探索[J].建筑结构.2008,38(增刊):98-100.

[3]张利.土木工程专业仿真模拟实验教学系统研究[J].华北科技学院学报,2010(1).

[4]李学进,杨微.Flash在教学中的应用[J].电脑学习,2006(2).

[5]胡丰,董正筑,陈俊国.利用Flash技术开发理论力学网络作业[J].力学与实践,2006(1).

[6]梅武成.基于Flash技术的高校网络课程设计与实现[D].浙江工业大学,2011.

猜你喜欢
纵筋筋率应用程序
浅谈计算参数as、c在抗滑桩截面校核时的运用
云南地质(2023年2期)2023-08-14 10:21:04
纵筋配筋率对无腹筋钢筋混凝土梁受剪性能的影响研究
结构构件经济配筋率分析
安徽建筑(2021年9期)2021-09-10 09:05:52
配筋率
北方建筑(2020年1期)2020-12-11 14:47:34
删除Win10中自带的应用程序
电脑报(2019年12期)2019-09-10 05:08:20
钢筋混凝土受弯构件配筋率影响因素及变化规律研究①
一种混凝土框架节点内钢筋的(抗震)锚固的设计与应用
江西建材(2018年14期)2018-03-02 07:45:34
论梁下部纵筋原位标注的识图
浅谈钢筋混凝土烟囱外筒设计
科技视界(2012年15期)2012-08-15 00:54:11
关闭应用程序更新提醒
电脑迷(2012年15期)2012-04-29 17:09:47