船体结构规范计算Excel模板的编制

时间:2022-05-20 09:05:27

船体结构规范计算Excel模板的编制

根据船体结构规范计算工具的使用现状,以及编制计算模板应遵循的基本原则,讨论如何借助Excel和Excel VBA编制船体结构规范计算模板。以钢质海船船体结构规范计算模板的编制为例,介绍相关方法、技巧及注意要点。对如何编制优秀的船体结构规范计算Excel模板具有积极的借鉴意义。

一、引言

船体结构规范计算是船舶结构设计不可缺少的环节,其涉及的计算项目多,数据处理量大,手工计算需要耗费大量工时,从而影响结构图样绘制等其他后续工作的展开。为减轻工作负担,加快审图速度,世界各主要船级社都开发了与其颁布的规范相适应的船体结构规范计算软件,如CCS的COMPASS、ABS的Safehull和DNV的Nauticus Hull等。但这些软件都价格不菲,小型设计公司往往无力承担。为此,有些公司及科研院所开发了供内部使用的结构规范计算程序。然而,开发此类程序投入大、周期长,一般的公司不愿投入大量人力财力进行开发。作为高度普及的办公软件,Excel拥有强大迅速的数据处理能力及良好的扩展性,为船体结构规范计算提供了一个很好的选择,因此业已成为船体结构规范计算广泛采用的工具。但是,作为一款通用数据处理软件,Excel本身并无规范计算的功能,所用公式均需由用户自己编写。为提高计算效率,保证计算结果正确,编制计算模板非常必要。

二、计算模板应遵循的原则

一般来说,一份优秀的计算模板应符合4个原则。

1.通用

就船体结构规范计算而言,通用就是指计算模板可以适应不同类型、不同主尺度及不同骨架形式的船舶。

2.正确

船体结构规范计算的基本要求是计算出来的构件尺寸应合乎规范的规定。为此,首先要保证模板中的计算公式与规范中的公式相同。另外,当用户输入的参数不满足规范的规定时,应能提醒用户数据非法并告知正确的填写方法,即应能自动报错并更正错误。

3.易用

首先,计算模板应将数据输入量降至最少;其次,应尽量减少对规范文本的依赖,最好做到完全不翻阅规范就能完成计算;再者,应写出所有用到的公式以便核对并对各参数的含义及填写方法进行必要的说明;最后,对于那些只在有限的离散集里取值的参数,需提供下拉列表供用户直接选取,以做到快速填充。

4.安全

安全方面最重要的就是要杜绝用户不小心修改公式。对包含VBA代码的模板,为保护开发者的著作权并防止用户修改代码,应禁止用户访问代码。

下文将结合满足CCS“钢质海船入级规范”(以下简称“钢规”)的船体结构规范计算Excel模板的编制,介绍此类计算模板的编制思路、方法、技巧及需要注意的要点,并着重讲述实现上述目标的方法。

三、模板结构与编制方法

1.模板结构

模板的结构很大程度上取决于规范的体系,因此在构思时有必要先分析一下规范文本的组织形式。在“钢规”中,与船体结构规范计算相关的内容主要集中在第2篇,其中各种不同类型船舶的共同要求统一在第1章至第4章,各类型船舶的特殊要求则以独立的一章分别予以规定。基于规范的此种组织特点,本模板的结构为:第一张工作表仅列出主要要素、骨材的标准间距等全局参数(这样避免了在其他工作表中重复填写这些数据,可减少数据输入量),并对模板的使用作必要的说明;外板、甲板(含车辆甲板)、船底骨架、舷侧骨架、甲板骨架、支柱、舱壁(包括非水密支承舱壁和水密舱壁)、深舱、船端加强、上层建筑、甲板室以及杂项(包括首柱、尾轴架、主机基座、舷墙和冰区加强等)各占一张工作表;各类型船舶的特殊要求整合在最后一张工作表中。因此整个计算模板为一个含13张工作表的工作簿。按照这样的结构,第2~12张工作表几乎每张都对应“钢规”第2篇第2章的一节,因此编制时只需将其对应的节的内容“翻译”成表格即可。这样编制出来的模板实际上就是一部Excel版的规范,翻阅起来很方便。

2.自动报错功能的实现

“钢规”中的许多公式都对参数的取值有最小值的约定,如在计算水密平面舱壁板的厚度时,规范规定板列下缘量至舱壁甲板的垂直距离 h应不小于2.5m,为确保此条规定被遵守,当用户输入的 h值小于2.5m时,表格应拒绝接受并提示用户如何正确填写。此功能可借助Excel的数据有效实现,其设置方法如图1所示。

当用户输入的 h值小于2.5m时,Excel将弹出图2所示的信息窗口。

3.快速填充功能的实现

以甲板室甲板横梁或纵骨的计算为例,其计算压头 h对第一层为0.9m,对第二层为0.6m,对第三层及以上为0.45m。为了让模板能够根据用户选择的层数自动填写对应的压头,可以利用数据有效定义一个下拉列表供用户选择所在层,并用if函数根据所选层数自动切换压头。定义下拉列表的方法如图3所示。

4.单元格提示功能的实现

为帮助用户使用公式,应对公式中各参数的含义及填写时需要注意的问题进行说明,这可以通过数据有效按图4所示来完成。当用户单击已定义输入信息的单元格时,将弹出相关提示。

5.模板的保护

防止用户修改公式最根本的方法是对所有包含公式的单元格进行保护,这可以通过锁定包含公式的单元格并保护工作表实现。而用户对VBA代码的访问权限可通过VBA工程的属性来控制。

6.实取剖面模数及惯性矩的计算

为快速判断实取骨材是否达到了规范要求的最小剖面模数和(或)惯性矩要求,计算模板应具备计算实取剖面模数及惯性矩的功能。本模板借助Excel VBA编写了作用域为整个工作簿的SP函数。该函数仅有骨材规格、骨材跨距、骨材间距、带板厚度和输出选项5个输入参数,可适应角钢、球扁钢和T型材这3种常用的骨材类型,且能自动计算主要构件的带板宽度。使用时,骨材规格、骨材跨距和骨材间距只需单击某个单元格即可完成输入,输出选项为0~5之间的整数,可输出剖面模数、剖面惯性矩和骨材剖面积等6种结果。

将规范要求值和实取值的计算融合在同一张工作表后,无需在其他计算程序中重复输入骨材和带板的相关数据及在其他计算程序和Excel间复制数据,可大大提高计算效率并减少出错的可能性。

四、实用技巧及注意要点

以下几个技巧及注意要点有助于快速正确地编制模板并使模板的使用变得更方便。

(1)某个单元格的数据有效性信息可以像普通数据那样复制到其他单元格。

(2)定义序列时,为加快if函数的条件表达式的执行速度,列表项最好为整数,例如,图3中的“来源”可用“1、2、3”代替。

(3)含提示信息的单元格宜加粗或用其他字体颜色标识出来。

(4)“开始编辑查找和选择公式”菜单命令可快速选择所有包含公式的单元格。

(5)编写包含船长、吃水等全局参数的公式时,应绝对引用包含参数的单元格,即在这些单元格的行号前加一个美元符号“$”,以防止向下拖动包含这些公式的单元格时这些参数未对应正确的单元格。

五、结语

借助Excel的数据有效、工作表保护功能及Excel VBA二次开发,编制了通用性好、数据输入量少、保护等级高、可自动报错且规范要求值与实取值的计算融为一体的船体结构规范计算Excel模板,对如何正确快速编写此类模板并提高其质量具有良好的参考价值。

上一篇:基于NX三维软件电极设计方法 下一篇:基于ADINA的齿轮过盈装配强度分析