APP下载

基于VB.NET的Napa Steel快速建模程序的开发

2019-07-03

船海工程 2019年3期
关键词:图纸构件平面

(上海船舶研究设计院,上海 201203)

在机舱、艏艉等结构复杂或线型变化大的分段区域,使用Napa Steel模型导出有限元模型,比直接在Patran中建模更加快速准确,故在实船项目中设计院大多采用上述方式建模。但是根据已有平面CAD图纸,通过繁琐的人工测量读数方法将其转为三维结构模型,既费时耗力又容易出错,使用Napa Steel建模,需要大量编写命令,三维建模速度较慢[1]。已有的Napa Steel二次开发插件大多使用Napa Basic语言编写,内嵌于Napa Steel软件中,虽在一定程度上提高了三维建模效率,却无法与除Napa之外的任何软件进行数据交互[2]。为此考虑联合使用AutoCAD及Napa二次开发技术,建立CAD输出到Napa Steel的数据通道,解决建模效率低,易出错的问题。

1 快速建模程序的开发

1.1 开发原理及关键技术

Napa Steel与AutoCAD分别是基于Linux与Windows平台开发两款软件,之间无数据传输的接口。而目前跨平台不同软件之间的数据传输,大多依靠导入导出中间格式文件的方式实现,如DXF,IGES等。参照其原理,本软件选取简便的txt文档做为中间格式文件,用于将AutoCAD中的数据传输到Napa Steel中。

本软件使用基于.Net的ObjectARX托管技术对AutoCAD进行二次开发,获取平面CAD图纸中的剖面构件信息,再利用Napa二次开发技术将获取的信息转化为基于Napa Basic 语言的Napa Steel建模命令存储于txt文档中。同时在Napa Steel中编写Marco读取并运行该txt类型的中间格式文档,即可完成相应的三维建模工作。软件流程图见图 1。

图1 软件开发流程

1.2 快速建模的主要实现方法

1.2.1 通过“拾取”转化CAD图纸信息

使用本软件根据已有平面CAD图纸进行三维建模时,几乎不需要用户手动测量任何定位信息,无论是剖面基点、Surface Object(SO)的limit、筋的Trace乃至构件尺寸等,仅通过鼠标的“拾取”操作即可完成将CAD图纸信息转化的工作,可省去繁琐的人工测量读数,既快速又准确。拾取SO 的Limit流程见图2。

图2 拾取Limit流程

1.2.2 简化建筋操作

在三维建模时,筋的数量远多于板,是影响建模速度的重要因素,除快速将CAD图纸中筋的定位坐标转换成三维建模命令外,为简化建筋操作还做了如下几方面的工作。

1)图层筛选判断。为使在CAD图纸中框选时,而不选中无关构件如板、开孔等,在选择时设置了图层筛选。结合本院图层设绘标准,程序只选中图层为“213_stiff-1(可见筋轮廓)”、“213_stiff-2(不可见筋轮廓)”的直线。同时根据根据图层线型自动判断出筋是位于SO的哪一侧,无需用户后期手动修改。

2)筋SET自动判断。在Napa Steel建筋时,错误输入SET值,会导致软件弹出警告“Geometry of trace not compatible with stiffener axis(W24379)”,即实际Stiffener 方向与SET所填方向不一致。因此程序在开发时,增加根据Stiffener的几何信息自动判断SET的代码,可省去用户后期的修改工作量,保证三维模型的准确性,流程见图3。

图3 筋SET自动判断流程

3)扶强材与纵骨连接。在强框区域的扶强材一端或两端与外板、内壳纵骨相连。仅通过从CAD图纸中获取坐标在三维模型中直接创建,缺失扶强材与纵骨连接的属性,仅能做到“看似”相连。所以在拾取筋时,软件会提示“请给出加强筋两端与纵骨的链接方式(N/D/S) :”,并在端点自动添加“->”,从而创建连接属性,流程见图4。模型精度有如下提升。

(1)无论建模误差大小,均可以保证扶强材与纵骨相连。

(2)即使纵骨位置后期发生微调后,仍可以保证扶强材与其相连。

1.2.3 提供操作便利

1)预览窗口。传统二次开发程序的运行过程、结果均隐藏于后台,用户只能在生成三维模型后,才可判断是否正确。本软件提供了“预览窗口”,将生成的三维建模命令显示出来供用户预览甚至直接修改, 如图5的E区域,可提早发现错误,省去了生成三维模型后再删除的麻烦。

图4 添加扶强材与纵骨连接流程

2)基本平面表。通过总结使用Napa Steel的建模习惯,发现无论是建SO,还是筋都经常会使用HUL、Deck、LBH等基本平面作为限制,类似此参考平面的使用频临极高,为减少频繁输入的工作量,软件增加了“基本平面表”的功能,相当于一个存储平面名称的库。如图 5的D区域所示,鼠标左键双击选中参考平面便会自动填写到指定边界的文本框中,点击该区域右下角的“编辑”按钮,可以进行编辑/添加/删除的操作。

1.2.4 数据交换

本软件利用txt文档作为中间格式文件传输数据,其存储基于Napa Basic语言的三维建模命令。为省去用户先“复制”“粘帖”再“运行”“显示”的繁琐操作,软件开发中利用Toolbar功能为Napa Steel添加按钮。即在TBAR*ST//SYSDB 表格中添加一行,见表 1,其中COMMAND列为让Napa Steel运行指定宏代码,“ZQLAPP_N>.”为VB.NET生成的宏存储路径。只需点击“SD1”按钮即可创建,并显示出相应三维结构模型。

表1 Toolbar设置

2 应用案例

软件主要包含EasySO(建板)与EasySTF(建筋)两大功能模块。在某大型矿砂船的设计中期,船级社提出需要加算机舱有限元分析,不仅要如实反映复杂的机舱区域结构,且要需要建全船模型,真实反映机舱区域的边界条件。虽然设计时间紧张,但使用该快速建模软件进行建模,大幅缩短建模时间,保证了设计节点。

2.1 EasySO(建板)

机舱中油柜、液舱众多,故机舱区域的舱壁数量大,使用EasySO可快速创建舱壁,以机舱结构图某剖面为例,软件界面见图 5。

图5 EasySO(建板)程序界面

1)在EasySO软件界面中的A区域,拾取剖面的基点,选择剖面类型为X,位置为S,剖面定位为Fr25,舱段为ER,程序会自动给定结构类型为TBH,以及自动生成SO名字为ER_TBH#25_S,自动生成的内容也可根据用户需求自行修改。

2)在B区域填写限制条件,用户无需手动量取读数,直接用鼠标在图纸中拾取相应舱壁边界即可,也可直接双击引用D区域中所列的基本平面作为边界。对于舱壁中有开孔的情况在C区域添加Red即可,选择开孔边界的方法同上。

3)在F区域填写舱壁板厚9,若勾选“对称”,则会自动关于XY平面生成对称的SO。点击“预览”便可在E区域生成三维构建信息供预览,如有需求用户可直接在预览窗口进行修改,点击“写入”名称为ER_TBH#25_S,板厚为9的舱壁便可写入NapaSteel中,并自动加入到节点为“Steel->EngineRoom->ER_TBH”的结构树下。

可见EasySO软件不仅免去了繁琐的人工测量读数过程,还可协助用户完成建模标准化操作,比如根据建模标准自动命名SO,并将加入指定结构树节点下。

2.2 EasySTF(建筋)

EasySTF软件除可以轻松创建舱壁上定位规则的加强筋外,在临近机舱区域的货舱区域强框中,有大量非规则定位的加强筋,与传统模式相比,更加高效,仅需用户在CAD平面图纸中框选,便可完成在Napa Steel中的建筋操作。程序主界面见图6,点击“拾取构件”按钮后弹出的子界面见图7。

图6 EasySTF (建筋)程序界面1

图7 EasySTF (建筋)程序界面2

具体的建筋步骤如下。

1)在软件界面中的A区域,输入要在其上建筋的SO名称H_WEB#52_P,用鼠标在CAD图纸中给定基点后,点击“拾取构件”按钮,用户可直接在CAD图纸中框选或点选加强筋。

2)用户根据程序提示“选择构件尺寸”,从图中标注直接拾取构件尺寸(FB150X12),拾取过的筋与文字标注的会自动变成紫色(173),以便用户区分,避免重复建模。完成上述操作后,程序子界面会弹出,对筋的定位以及构件尺寸做进一步细化修改。

3)在完成子界面的操作后,点击“保存并退出”,筋的数据传回EasySTF主程序界面中列在B区域中。用户也可再次点击“拾取构件”按钮继续在CAD图纸中选择筋,最终汇总至主界面B区域中。点击“写入”按钮,该强框的所有加强筋将自动写入NapaSteel模型中。

3 结论

VB.NET开发的Napa Steel建模插件,建立了CAD直接向Napa Steel传输数据的通道,打破了“先手动测量数据,再建模”的传统模式,仅通过简单的拾取操作,便可快速将平面CAD图纸中的构件信息转化成三维构件信息,完成三维建模工作。在多个实船项目中的应用中,根据已有平面CAD图纸使用该插件创建Napa Steel三维模,仅需传统模式约1/3工时,其在创建如机舱、艏艉等复杂结构或线型变化大的分段模型时优势更加突出。

猜你喜欢

图纸构件平面
钢筋混凝土构件裂缝控制
基于区块链的建筑信息模型图纸多人协同创作系统
浅谈汽车线束产品图纸管理
看图纸
立体几何基础训练A卷参考答案
立体几何强化训练B卷参考答案
基于构件的软件工程技术与理论方法探讨
参考答案
基于构件的软件开发实践
平面和立体等