0 引言
目前对船舶数字化分舱的研究主要是针对AutoCAD进行
二次开发,利用
VBA编程语言,结合数据库完成二维分舱技术和方法的研究。通过
二次开发技术实现了以三维方式对主船体分舱设计中舱壁、舱室建模以及舱容计算等功能,而船舶分舱设计中还涉及对所建
模型的修改、重复使用、设计信息分析,以及对设计方案进行修改等功能,本文对船舶分舱设计过程进行详细研究,基于
对船舶三维分舱设计技术进行更深层次的功能开发,完成了功能更多、实用性更强的船舶快速化分舱程序。
1 开发工具
利用
二次开发技术,采用VB6.0开发Windows程序交互界面,配合Access数据库软件拓展需要的数据库管理系统,实现对设计数据的管理,以
为三维图形显示界面,使用
中的应用程序编程API函数,实现船舶三维数字化分舱功能,开发分舱设计软件。
2 系统结构与流程
为在船舶三维设计过程中实现
数据管理以及设计信息的实时存储,需建立
数据管理系统,由数据库、管理软件以及管理员组成。以VB6.0开发用户交互界面,系统为管理员提供数据操作、
数据管理、数据存储等功能。建立的数据文件包括主尺度数据表、肋位分布数据表、纵舱壁数据表、横舱壁数据表、甲板数据表以及舱室
模型数据表,各类舱壁的定位信息不同,因此需要在建立舱壁数据库文件之前,对各类数据文件进行格式统一化,以被后台程序访问和调用。数据文件格式统一后,既可以即时存储,又可以整体数据保存。图1为分舱设计系统流程图,表明了确定主尺度、船体
曲面导入、舱壁建模、舱容计算等主要功能模块之间的逻辑关系。
3 程序应用技术与实例分析
导入船体型
曲面后,输入船舶主尺度、肋位分布信息,利用
二次开发函数,调用用户输入的舱壁数据生成舱壁
模型,舱室
模型建立在舱壁
模型的基础上,通过选择组成舱室的各个舱壁来围成舱室
模型,然后进行舱容计算,利用API函数对Word文档进行操作,保存舱容计算书。
图1 系统流程图
3.1 设计界面解析
图2为某一横舱壁设计界面,主要包括3部分功能:参数设计区、功能操作区和数据显示区。
图2 横舱壁设计界面
(1)参数设计区。如果舱壁数据文件(如舱壁Excel数据表)已知,可以通过界面数据文件导入按钮,把数据文件导入系统内部相应Access数据表内,供后台程序调用。如果导入的舱壁数据不完整或者有误,设计者则可以对数据信息进行逐条检查,实时添加、删除或者修改。当舱壁数据文件未知时,设计者也可以结合设计要求,利用本窗口界面的造作区功能按钮,实现舱壁建模设计。
(2)功能操作区。数据表的操作主要是为了方便用户使用,包括记录的浏览、数据的添加以及数据的删除等基本操作,这些基本功能在设计工作中不可缺少。而且在进行数据修改时,同时会对三维
模型进行实时修改,实现在软件操作不间断的情况下从输出到输入反馈作用的功能,即输出影响输入,输入再影响输出,循环作用,实现了真正意义上的三维数字化分舱设计功能,而不只是舱壁数学信息的三维实现。另外,操作功能区有舱壁三维
模型导出功能,设计者可以对导出的舱壁进行进一步的设计和研究;舱壁数据和
模型的保存则为设计者后续设计工作提供数据信息。
(3)数据显示区。主要功能包括导入数据文件的显示以及实时输入、删除、修改的舱壁数据的显示,方便用户识别,以免误操作其他数据。
普通舱壁建模可以通过在设计界面上输入控制参数实现,对与船体
曲面相交的舱壁建模时,必须使用
曲面剪裁功能来实现。舱壁建立过程中主要应用到Post Trim Surface函数,该函数的主要功能为根据设计者的意图自动对需要的舱壁进行剪裁,得到需要的设计结果。
图3为总长80.56m、型宽16.2m、型深4.8m的某西江214TEU集装箱船舱壁设计结果.货舱区两侧以及双层底内为压载水舱,机舱位于船尾。
舱壁设计完成后,就可以进行舱室建模,然后直接对每一个三维舱室
模型进行处理和计算,自动获得舱容要素信息,图4为舱室建模界面,主要包括组成舱室的舱壁选择区、命令按钮区以及数据信息显示区等。舱壁选择区由下拉菜单组成,包含在舱壁设计过程中生成的所有横舱壁、纵舱壁及甲板的
模型和数据,选择相应
模型即可完成舱室建模,信息显示区则包含设计者正在使用和已经完成的舱室
模型数据,设计者可以对其进行增加、删除、修改、计算及舱室
模型显示等操作。
图4 舱室建模界面
对于包含主船体
曲面的舱室建模,可利用布尔和运算来实现,使用
二次开发函数Insert Combine Feature得到需要的舱室,以图5所示首尖舱为例,围成舱室的面大部分为船体不规则
曲面。