基于C#.NET的渔业船舶结构计算软件研发

2018-09-14 07:53金娇辉
渔业现代化 2018年4期
关键词:型材船型选型

张 怡, 王 靖 , 金娇辉

(1 中国水产科学研究院渔业机械仪器研究所,上海 200092;2 农业部远洋渔船与装备重点实验室,上海 200092;3 青岛海洋科学与技术试点国家实验室深蓝渔业工程装备技术联合实验室,山东 青岛 266237)

随着经济社会的发展,渔业船舶(以下简称渔船)设计的要求会越来越向商船靠拢。渔船结构设计的基础是船体结构计算书的编制及基本结构图的设计。以往渔船设计中的船体结构计算主要是依据规范手工计算或者编制Excel表格计算,每个船型的计算都需要重新对照规范条文逐行编制计算公式并校核。在整个船舶设计领域,很多船型都有相对应的结构设计软件。如针对内河钢质船,浙江省交通科学研究院曾在1996年开发了《内河钢船建造规范》计算机管理系统[1];针对散货船、双壳油船共同结构规范,中国船级社开发了CSR-SDP软件[2];针对海上单体高速客船,武汉理工大学王瑶等[3]开发了海上单体高速客船结构规范设计系统;针对玻璃钢游艇,江苏科技大学张新生[4]开发了玻璃钢游艇结构与强度设计校核及优化系统。

在渔船结构设计领域,针对原中华人民共和国渔业船舶检验局《钢制海洋渔船建造规范(2015版)》(以下简称2015版建造规范)[5]开发的设计校核软件还未见公开报道。此外,中国船级社在机构调整前颁布的规范,也并无渔船结构的相应章节。考虑到将来颁布新的建造规范是在2015版建造规范基础上进行更新,故针对2015版建造规范开发渔船结构计算软件是有必要的。

为满足渔船结构规范设计要求,渔船结构计算软件包含所有使用该软件的船型数据库,以便归纳整理及基于母型船的渔船结构设计,附带规范校核计算与材料选型模块,便于设计人员选择合适的结构件进行设计,自动生成送审结构计算书等,便于将计算结果装订成册。因此,该软件具有易于使用、计算准确、可及时根据规范要求更新、可追溯计算结果、生成的送审文件风格统一等特点。

1 软件需求分析

软件需求分析应基于满足设计要求考虑,依托规范进行开发,考虑到将来规范更新,先预留更新升级接口,实现系统可扩展性。根据渔船设计现状,确定总体目标与需求为:1)船型备份,便于基于母型船变换计算;2)有规范条文的依据2015版建造规范计算,要求直接计算的部分可手动输入有限元计算结果或在系统中直接计算;3)材料选型并校核计算;4)导出可送审的结构计算书;5)操作简便,界面友好;6)便于升级紧跟最新规范。

2 软件功能的模块设计与实现方法

2.1 软件功能模块设计

依据渔船结构设计流程、规范,参考其他类似船舶结构设计规范,并根据软件与计算机相关开发要求,进行软件的功能模块设计工作。该软件共分为船型数据库、结构设计、材料选型、送审文件导出和辅助功能5大模块。具体功能模块如图1所示。

2.2 实现方法

渔船结构计算软件按图2所示流程图实现:1)输入船型要素,或从数据库中导入船型要素;2)结构强度计算;3)材料选型计算(可自动或手动选择材料);4)对选择好的满足结构强度要求的材料进行规范校核;5)若不满足2015版建造规范,回到步骤3)重新进行材料选型计算;6)所有结构均满足2015版建造规范,生成满足送审格式的结构计算书,同时生成全船材料数据库;7)将计算数据结果保存至全船材料数据库中;8)打印结构计算书。

根据图2,渔船结构计算软件研发的关键是数据库的设计与访问控制。ADO.NET数据访问体系结构是一种重要的数据访问模型,其互操作性好、可伸缩性强,专门用于结构松散、本质非链接的Web应用程序[6]。C#语言是有鲜明特点的面向对象编程语言,C#+ADO.NET模式能实现对SQL Server数据库的操作[7-8]。为满足船型备份的需求,及便于系统紧跟规范持续更新,渔船结构计算软件主要采用Microsoft ADO.NET+C#语言环境,基于SQL Server 2008数据库进行开发。其中C#用于开发系统用户界面及实现计算功能;SQL Server用于保存船型数据、计算过程的数据及用于选型的材料数据;而PDF结构计算书导出功能采用基于C#的iTextSharp类库实现。

图2 渔船结构计算软件开发流程图

3 软件实现的关键技术

3.1 船型数据库设计

数据库设计的基本过程可分为需求分析、概念设计、逻辑设计及物理设计[9]。概念设计即概念结构设计,是把用户需求抽象为模型表示的过程[10]。而逻辑设计即逻辑结构设计,对数据库设计起着十分重要的作用[11-12]。船型数据库不仅包含设计人员数据库,更包含每一具体渔船从设计计算到选材的详细数据。船型数据库的基本实体—联系图(E-R图),如图3所示。由于实体属性较多,在E-R图中仅列出较为典型的实体属性。图中1、n、m为实体—联系的3种联系关系,用来描述实体集之间的数量约束,其中1 ∶1为一对一联系,1∶n为一对多联系,m ∶n为多对多联系。

图3 船型数据库基本E-R图

本系统中,围绕着“船型”实体展开,其他的主要还有“设计人员”、“结构部位”、“材料库”等实体。实体间的关系如下:1)“设计人员”和“船型”之间是多对多的关系,即设计人员可以设计多个船型,单个船型也可以由不同的设计人员设计;2)“船型”和“结构部位”是一对多的关系,即同一船型有多个结构部位组成,两个实体间由唯一的项目编号关联;3)“结构部位”和“材料库”是一对一的关系,即同一个结构部位对应一个材料型号,两个实体间通过材料编号关联。

E-R图只反应数据需求模型,与具体的数据模型和数据库管理系统DBMS无关[10,13-16]。对图2中实体与联系转换后结果如下:

“设计人员”包含:用户名、密码、姓名、编号、单位、职务等。

“船型”包含:项目编号、项目名称、船名、图号、设计水线长、垂线间长、计算船长、型宽、型深、设计吃水、结构吃水、肋距、规范版本、设计日期、设计时间等。

“结构部位”包含:项目编号、材料编号、部位名称、部位编号、构件名称、板厚、型材间距、船长、面板剖面积、面板宽度、垂直距离、压头、半径、直径、跨距、型深、结构吃水、剖面模数、惯性矩、集中载荷、上方支柱负荷、设计航速、主机功率、弯矩、剪力、扭矩、系数0、系数1、系数2、系数3等。

“材料库”包含:材料编号、材料类型、材料牌号、材料名称、型材高度、型材宽度、型材厚度、型材剖面积、理论重量、惯性矩、重心轴距离、带板宽、带板厚、总面积、连带板惯性矩、连带板剖面模数、连带板惯性半径、直径或边长、外径、壁厚等。

SQL Server数据库表信息的维护使用由DataGridView控件来实现,该控件可以很方便地实现数据表信息的增、删、改等基本操作[17]。

3.2 结构设计模块的实现

结构设计模块分两条线进行设计,分为依照2015版建造规范中的计算公式进行尺寸校核计算,以及依照2015版建造规范,由直接计算来确定尺寸[5]。图4、图5分别为两种计算的流程图。而直接计算又分为直接输入由有限元计算软件获得的构件最大剖面模数W与剖面惯性矩I[18-21],以及根据结构力学简化模型之后直接在系统中计算构件最大剖面模数W与剖面惯性矩I[22]。为提高系统运行效率,每个构件只在计算校核完成之后才将该构件的相关参数存入船型数据库中。

3.3 材料选型模块的实现

材料选型模块分为从材料库中选择预设的材料进行选型,以及通过校核确定使用的材料保存至材料库中计算船型对应的表格里,即具备材料选型与材料保存两大功能。

图4 依据规范计算流程图

图5 直接计算流程图

根据多年渔船设计经验,钢质渔船船体结构主要由板材和型材组成。而型材主要是角钢、钢管、圆钢和球扁钢。故材料选型主要是将以上4种型材的相关参数依据《机械设计手册》[23]录入材料库中。板材直接在材料库中录入常用的3~36 mm板厚规格。结构计算模块中遇到需要通过材料选型模块选型的时候,可通过单选框的模式询问设计人员,是采用系统中预设的成品型材还是通过自制腹板面板来焊接成组合T型材。若选择采用系统中预设的成品型材,则直接通过材料选型模块选择合适的规格进行校核;若采用的是组合T型材,则通过手动输入腹板高度、腹板厚度、面板宽度、面板厚度进行校核。

经过校核计算符合设计要求的材料,无论是型材还是板材,统一保存至材料库中该计算船型对应的表格中,保存时,材料特有属性只保存材料类型与牌号,除此之外,还需保存剖面模数、惯性矩等计算值。

实际上保存材料库的时候还需考虑到计算可能会涉及到修改与删除的情况,或者设计使用的是基于母型船的变化方法,这在数据库中是非空的。具体代码不在本文中赘述。

3.4 送审文件PDF导出与打印的实现

软件计算完成的结构,无论是在数据库中保存还是在软件内部呈现,虽可直接用于设计基本结构图,但无法用于船检部门检验使用,故符合送审要求的文件导出是最终软件开发完成的标志之一。基于C#.NET可以导出多种格式的送审文件[24-29],如果是纯粹的SQL Server数据库内容,导出采用EXCEL表格的形式是适合的,而送审文件不仅是数据的罗列,整个送审文档需要列清每一部位对应的规范条款与计算结果,并显示材料选型的校核结果。使用iTextSharp类就可以很好地实现这样的功能,并对生成的PDF文件进行编辑、加密、模板打印等功能。使用iTextSharp类导出PDF格式结构计算书的关键步骤如下:1)在C#.NET中引入iTextSharp类;2)生成Document类的实例,创建StrCalc.pdf文件(即结构计算书);3)创建PDF文件流;4)使用Open方法打开当前文档;5)用Add方法添加具体内容。其中,Paragraph为段落类,Table为表格类,HeaderFooter为页眉页脚类,Font为字体类,Cell为单元格类;6)使用Close方法关闭当前文档,则PDF文档会自动保存StrCalc.pdf文件至指定文件夹中。

通过对PDF文档的格式化编辑,生成统一格式的结构计算书,并利用iTextSharp中的setencryption函数对PDF进行加密、通过相应的常量来控制文档是否允许打印、修改、拷贝等,完善软件导出PDF版本结构计算书的功能。

3.5 其他辅助功能的实现

其他辅助功能诸如板材统计、型材统计、系统数据管理等功能通过C#.NET调用SQL Server数据库的方法实现。系统更新采用调用AppUpdater组件的方式在系统打开前运行自动更新[30],便于设计人员随着规范的更新进行设计。

4 结论

基于C#.NET环境,结合SQL Server数据库,解决了渔船结构计算方式落后的问题,便于结构设计人员快速、准确地依据最新规范进行结构计算与基本结构图的设计。依据船型参数不同,软件系统自动选择适用的公式进行计算,降低了设计计算的复杂性。目前软件初步完成,设计人员无需掌握编程技能,只需按照2015版建造规范要求参照软件使用说明填写各部位的各项参数即可,大大提升了渔船结构设计计算工作效率。

猜你喜欢
型材船型选型
基于修正函数法的双燃料散货船船型优化
不锈钢二十辊冷轧机组横切剪的选型计算
关于高层建筑结构选型设计的初步探讨
朗盛推出空心型材混合技术
昆钢铁路内燃机车选型实践与探索
大型船舶T型材焊接工艺试验及工艺再造
产品选型
基于管道检测的船型智能机器人设计
被动房用四密封多断桥隔热铝塑共挤型材
船型开发、船型认可及优化升级