【VB开源代码栏目提醒】:网学会员为需要VB开源代码的朋友们搜集整理了船体外板展开算法及程序实现 - 期刊论文相关资料,希望对各位网友有所帮助!
SHIP ENGINEERING 船 舶 工 程 Vol.29 No.3 2007 总第 29 卷,2007 年第 3 期 船体外板展开算法及程序实现 刘寅东1,战翌婷2 (1.大连海事大学 机电与材料工程学院,大连 116023;2.大连理工大学 船舶工程学院,大连 116024) 摘 要:对船体肋骨型线图和外板展开图的计算及绘制方法进行了研究,运用参数化三维实体建模 技术解决船体外板的展开问题.使用 VB.NET 和 SolidWorks 图形软件开发了船体外板展开过程的计算机 程序,并将建立的外板模型信息保存到数据库中,提供网络远程数据访问服务,用于生产与设计的需要. 关键词:船舶;船舶设计;外板展开;SolidWorks;VB.NET;肋骨型线;三维设计 中图分类号:U663.2 文献标识码:A 文章编号:1000-6982 2007 03-0034-03 Arithmetic and program realization for shell expansion LIU Yin-dong1 ZHAN Yi-ting21. Electrmechanics Materials College Dalian Maritime University Dalian 116023 2. School of Naval Architecture and MarineEngineering Dalian university of technology Dalian 116024 China Abstract: The arithmetic and drawing method of hull frame lines plan and shell expansion plan are studied in this paper. With the application of 3-D molding technology the problem of shell expansion is solved. The combination of VB.NET and drawing software SolidWorks developed the computer program to realize the process of shell expansion. The information of shell model is stored in the database to provide web remote data access service to meet the need of product and design. Key words: ship ship design shell expansion SolidWorks VB.NET frame lines 3-D design0 前言 远程数据访问 船舶设计时,需要绘制出船体肋骨型线图和外板 VB.NET展开图用于船体建造,使用传统二维设计方法费时费 Web 窗体 DataSet 外力,需要计算出大量数据并人工进行大量的绘图工作. 板 API Solidworks 展而运用现在流行的三维实体技术可完成从草图设计、 SQL Server .NET 开 函数 图形平台 数据库 数据提 程计算加工到产品数据管理等一系列功能,可充分利用 序 管理系统 供程序计算机高效准确的计算功能、图形处理功能以及对复 三维船体外板模型杂工程数据的存储、传递、加工功能.本文基于三维参 从模型中获取 BOM 表 的特征信息数化设计技术,借助计算机编程手段实现船体肋骨型线图和外板展开图的自动绘制和外板模型的建立;不 图 1 软件结构仅可缩短船体肋骨型线图和外板展开图的绘制周期,也能保证船舶设计建造过程中外板数据信息的精确性 序与 Windows 的操作界面一致,交互能力强大,可以和一致性,以及为造船生产及定货提供必要的条件. 方便地根据用户需求进行设计与修改.采用Solidworks 三维实体特征建模软件作为图形平台.Solidworks提供1 软件结构 了几百个 API 函数,这些 API 函数是 Solidworks 的 本文使用支持 OLE 和 COM 的编程语言 VB.NET OLE 或 COM 接口,对其进行二次开发,就可建立需控制 Solidworks API 函数进行开发.VB.NET 建立的程 要的功能模块.产品数据管理(PDM)是实现船舶产收稿日期:2006-05-29;修回日期:2006-07-20 ,男,教授,博士生导师,主要研究方向:船舶虚拟设计理论、方法及应用,船型开发等.作者简介:刘寅东(1964-) — 34 —品设计和信息集成的重要手段,产品结构与物料需求 船体的大部分曲面为双曲度曲面,先纵向展开,表(BOM)产生于产品的设计过程,本文将记录的数 再确定其横向位置.这样可以最大限度地保证每根肋据以 BOM 表的形式应用于后续的设计和制造.SQL 骨在展开图上为直线,整个船体曲面的面积与展开后Server 作为后台数据库,提供信息管理模块供用户进 所有外板的面积和是一样的,保证数据统计的精确性.行数据的管理、维护和输出.软件结构如图 1 所示. 按照程序设计的习惯先定义外板类,主要参数是展开 后每块四边形外板的四点坐标,所有的信息被自动保2 船体曲线与曲面的表达与计算 存在数据库中进行处理.按照设计者给定的距离划分2.1 肋骨型线的表达与计算 网格,利用区域面积不变的原则保证每个网格中曲面 鉴于船体型线具有造型灵活和局部性,选用非均 面积大小不变,画出展开图.匀有理 B 样条 (NURBS) 曲线来描述肋骨型线可以保 以肋骨0 和肋骨1 的展开为例.设定肋骨0 的横证计算的精确性.控制点的权因子在程序中能影响到 向位置(沿船长方向)X1 为已知,肋骨的起点高度和曲线形状,具有局部性,方便对曲线进行分段处理, 长度在肋骨设计中已经求出,即其 Y 坐标可知,利用同时可以修改曲线的局部形状.程序中先获取相应肋 求出的四边形面积与两条肋骨围成的曲面面积 S 相等位的肋骨型线,在指定高度利用拉格朗日插值添加控 的原则,可计算出 X22S/(H1H2)X1 为肋骨1制点, 并读取控制点的三维坐标信息.程序采用曲线拟 的横向位置(H1 和 H2 分别为两条肋骨的高度).类和的方法求出曲线的经验公式,再将公式编入程序. 似地,从艉部肋骨开始计算直至船艏最后一根肋骨,采用最小二乘法.拟合完毕通过辛浦生公式计算出所 依次计算并得到两根肋骨间的曲面表达式,算出其面有肋骨型线的实长,并把长度与肋位号保存入肋骨型 积,最终绘出展开图.线数据表中.2.2 船体曲面表达与计算 3 程序设计流程 NURBS 曲面是一种对控制点加权的 B 样条曲面. 3.1 肋骨型线设计可以通过改变控制点的位置或控制点的权值来改变曲 整个展开过程中用户需要输入的是设计要求,根面的形状,对个别控制顶点和权值的调整只影响曲面 据这些设计数据程序会自动进行处理.程序依次在各的局部形状.因此, 用双参数变量分段有理多项式来定 肋位处建立切面,求其与船体曲面的交线,隐藏这些义 u 向 k 次具有 n 1 个控制点, v 向 l 次具有 m 1 剖切面得到此肋位上肋骨型线,按照命名规则对其进个控制点的船体曲面: 行命名,并将肋骨型线与肋骨号及其纵向位置距0 n m 之距离联系起来.解除型线作为交线的二阶约束,进 ∑ ∑ Wi j Pi j N i k u N j l v p u i 0 j 0 行曲线拟合添加控制点,建立肋骨型线数据表(对于 n m ∑ ∑ Wi j Ni k u N j l v 水线面与肋骨型线交点处的坐标值可由求交计算得 i 0 j 0 出).计算肋骨线的实长, 程序先把肋骨型线中的直线 Niku和Njlv分别为定义在节点矢量Uu0u1… 段长度累加存入相应的数组中,然后把曲线分段依次unk1和Vv0v1…vml1上的B样条基函数,控制顶点 计算各段的弧长,加到数组相应的位置.储存各条肋骨Pij呈网格阵列, ij是对应于Pij的权因子, W 四个角控制 型线的控制点坐标,各段肋骨型线的实长和每两根相点处的权因子大于零,其余大于或等于零.控制Wij的 邻的肋骨围成的曲面面积.所有的信息被保存到数据大小, 可以调整曲面局部形状.建立的船体曲面模型如 库中用于展开图的绘制.图 2 所示. 3.2 肋骨型线展开 利用上文得到的肋骨型线数据,基于曲面面积不 变进行肋骨型线的展开.展开以尾部为准向前依次展 开,曲面的间距以划分的网格为准.程序具有对船体是 否有艉鳍或球鼻首进行判断及处理功能.如发现数据 表中获取的曲线的点数减去得到的曲线段个数(根据 求得的各段长度来判断曲线的分段数)大于 2,则此 处必包括艉鳍或球鼻首,这时分两部分分别进行展开 和计算.展开后建立的平面及平边线和平底线如图 3 所示. 图 2 船体曲面模型 — 35 — 依次建立并加厚.在船体外板建立的同时程序选中此 外板,把得到的信息保存在数据库对应表中的属性域 中.同样,在创建外板时板的名称及长度、 宽度、厚度、 体积和计算得到的重量、表面积、通过判断坐标得出 的属性(是否为平面板) 信息被同步保存到数据库中, 图 3 船体曲面展开图 用户可以进行查看、 添加、修改等操作.如对全船外板 查询、全船外板厚度查询、分段外板信息查询、分段 肋骨型线全部展开后,需要在展开图上绘制平边 厚度查询以及分段组合查询.分段组合查询可以选择线、平底线以及分段线,并得到线上的控制点信息. 几个分段查询相同厚度的外板信息,如图 5 示.程序再次访问肋骨型线数据表,判断各条线上的控制点的横向和纵向坐标,当坐标值之差达到要求的精度时,这些控制点之间则为直线,记下直线的长度,若无直线段则数据库中标记为0, 分别用每条展开线的起点和终点坐标加上和减去相应长度即可求出每条展开线上的平底线和平边线的控制点的位置,连起所有的点就绘制出平边线和平底线.3.3 外板板缝的设计 板缝线由设计者给出每个分段的纵接缝和横接缝 图 5 外板分段组合查询的距离,程序自动建立.用户可以选择外板是否为等长等宽,如果各个分段内的外板的尺寸不一致,程序则 本文使用SQL server 数据库工具建立工程数据打开数据库中的外板尺寸表,由用户进行长、宽的输 库,各个应用模块对共享数据库的访问通过各自的数入,可以是每个分段的每一列外板一个尺寸.首先建立 据存取接口来完成.这些数据存取接口是定义基于纵接缝,选择所在分段平面,按照给定的距离进行剖 SQL的查询、储存过程或视图记录的集合,同时会把切,生成纵接缝线,利用程序获取每条纵接缝的起终 结果返回到用户界面中,并在数据库视图中储存建立点坐标,利用给定的板宽进行横接缝的自动绘制.排线 船体模型所需的设计生产信息和建造信息.程序提供时按照双面排的原则(即排一列最上面的板,再排一 客户的远程数据访问页面,在HTML中嵌入SQL语言列最下面的板),以保证平面板尽可能地放在一起.板 程序,与数据库互连,生成数据集.将XML文档直接缝线的布置如图 4 所示. 存入数据库,利用XML的数据组织能力特点,对存入 数据库中的文档进行有效地访问.在WEB页面打开时 添充数据集,同时断开与数据库的连接,提高浏览的 速度和数据的操作速度. 5 结语 图 4 板缝布置图 本文所开发的程序不仅能够解决肋骨线型图和外 板展开图绘制时费时费力的弊端,可大大提高工作效 在自动排板后,可以由设计者进行交互设计.交互 率.另外,对运用先进的三维参数化特征建模技术、数设计是为了结合设计者的经验,通过人机交互的形式 据库管理技术、面向对象的编程技术来解决船舶设计来补充板缝设计时的不合理之处.在交互设计模块中, 的具体问题进行了探索并开发出了其应用原型,对实每条板缝线都给定一个编号,用户进行添加、删除; 现船舶设计的数字化有实际意义和应用价值.操作时会由程序改变涉及到的外板编号,修改操作时不会改变外板板缝的编号. 参考文献: 1 刘寅东著.船舶设计决策支持理论及应用M.大连:大4 外板模型的建立与信息管理 连理工大学出版社,2005. 船体外板是矩形的平面板,根据数据表和给定的 2 邹劲,刘旸.计算机辅助船舶制造M.哈尔滨:哈尔滨外板长度、宽度计算出每块外板四个端点处的坐标, 工程大学出版社,2003. — 36 —