基于SINOVATION的钓鱼艇上层建筑快速建模方法
2018-10-19黄雪于利民王凯
黄雪,于利民,王凯
(山东交通学院船舶与轮机工程学院,山东济南 250357)
国民经济的不断增长促使游艇产业迅猛发展,尤其在国家“一带一路”政策及山东省实施“新旧动能转换重大工程”战略背景下,游艇产业得到国家和地方政府的大力扶持,未来游艇经济重心的转移趋势将会非常明显[1-4]。然而在我国游艇产业如此蓬勃发展的态势下,却面临着巨大的游艇设计技术难题——如何利用参数化进行设计,减少设计人员的工作量,提高设计效率,成为整个行业积极探索的目标,也是目前亟需解决的问题。传统的游艇上层建筑建模需依靠总布置图进行,这种建模方式耗时耗力,与目前快速发展的游艇产业极不相符。鉴于此,诸多专家学者致力于开发能够针对游艇上层建筑特点的快速建模软件。文献[5]提出依托于PRO/E软件,将其进行二次开发设计出游艇上层建筑造型设计的模块;文献[6]利用CATIA软件对小型游艇造型进行参数化设计;文献[7]等首次阐述了利用NURBS曲线对大型游艇上层建筑进行参数化设计。本文基于SINOVATION软件,采用参数化设计,研发一套钓鱼艇上层建筑快速建模系统,实现钓鱼艇上层建筑的快速建模。
1 曲线曲面的特点及表达方法
近年来,虽然船体曲线曲面的参数化已取得一定进展,但业内对于游艇上层建筑曲线曲面的表达还需要进一步的研究[8-10]。钓鱼艇上层建筑多为自由型曲线曲面,因其不可展开性,难以简单的使用一个或几个数学解析公式表达,即使可以实现,也会相当的混乱。自1974年提出计算机辅助几何设计以来,船体曲线曲面的表达方法得到迅猛发展,从贝齐尔曲线曲面,到B样条曲线曲面,再到孔斯曲面,直至现在定义产品形状的唯一数学表达方法的NURBS曲线曲面,历经了十余载的时光,且逐渐被应用到船舶、航空、机械、汽车等领域[11-15]。
NURBS方法是一个强大的可以将自由型曲线曲面和解析几何曲线曲面相统一的计算机辅助几何设计技术,它不仅能够精确的表达各种曲线曲面的形状,且能使曲线曲面圆滑过渡,实现工程设计的需要。本文采用NURBS方法表达钓鱼艇上层建筑曲线曲面。
通过大量对比研究,钓鱼艇主甲板上层建筑线型外观形状造型如图1、2所示。
图1 钓鱼艇上层建筑区域划分 图2 钓鱼艇上层建筑平面示意图
如图1所示,钓鱼艇上层建筑曲线曲面可分为3部分:驾驶室前壁区、前端壁后倾区以及驾驶区。现以钓鱼艇上层建筑驾驶室前壁区曲线为例,论述其上层建筑造型曲线的NURBS表达方法,其他两部分曲线同理之。
如图2所示,将钓鱼艇上层建筑各关键点编号。P1-1P1-2P1-5P1-3P1-4围成钓鱼艇上层建筑前端壁区甲板平面线型,其中,P1-2P1-5P1-3构成曲线ρ,其余线型为直线。P1-2P1-6与曲线ρ相切于P1-2点,P1-3P1-6与曲线ρ相切于P1-3点,两切线相交于P1-6点,则可知P1-2、P1-6、P1-3为曲线ρ控制顶点。设P1-2、P1-6、P1-3三点空间坐标分别为P1-2(x1,y1,z1)、P1-6(x2,y2,z2)、P1-3(x3,y3,z3),依线型特点可知此曲线为二次曲线弧,则曲线ρ的二次NURBS参数方程
(1)
式中:N=(1-t)2ω1+2t(1-t)2ω2+t2ω3为递推公式中的一项;t为定义NURBS曲线参数方程式中的变量,t=0~1;ωi(i=1,2,3)为加权系数,在使用中可自行赋值,它对曲线有更强的控制能力。
将钓鱼艇上层建筑线型赋予式(1)表达后,即可由点生线,再利用蒙皮法由线生成面,最终生成钓鱼艇上层建筑结构。
2 分层次建模方法
传统的钓鱼艇上层建筑建模方法只能依据总布置图进行,将二维图纸转换成三维图形的过程中,复杂区域处理起来较为困难,效果不理想,且建模过程耗时耗力,不能满足当前飞速发展的游艇市场要求。
由图2可见,钓鱼艇上层建筑好似由几段造型叠加而成。其曲面沿高度方向的分布是具有层次感的构造,可尝试采取独立的建模方式。经过不断探索与实践,本文采取一套适用于钓鱼艇上层建筑造型的建模方法,即分层次建模方法。它将钓鱼艇完整的上层建筑造型“化整为零”“化繁为简”,将各个连续曲面进行拆分逐一进行建模,最终完成钓鱼艇上层建筑整体建模工作。将完整的钓鱼艇上层建筑拆分成3部分,按照总布置图与计算机辅助几何设计捕捉曲线信息,获取3部分关键点坐标,经过一系列公式转换,在建模系统界面输入关键参数,即可建立完整的钓鱼艇上层建筑曲线曲面。
3 快速建模系统的设计与实现
图3 参数化设计流程图
3.1 设计综述
本设计主要依托SINOVATION软件平台,利用其具有的ADK(Application Development Kit应用开发工具包)二次开发功能,采用Visual Basic 和C++语言编程,实现钓鱼艇上层建筑快速建模系统的研发。本设计将钓鱼艇上层建筑艇艏曲线类型分为3部分:半圆形、椭圆形和自由曲线型。在使用过程中可根据艇艏线型的不同进行选择。
程序编制流程如图3所示。
3.2 设计参数
参数的合理设置,不仅使快速建模系统的研发简单快捷,而且会减少后台系统错误的发生概率[16-19]。设计参数的确定原则是用最少的参数精准的表达钓鱼艇上层建筑的形状。
1)主要参数选择
①纵向。如图4所示,钓鱼艇上层建筑总长L为参数化的主要参数之一;为了更好的控制游艇上层建筑形状,引入驾驶室长度L1、甲板直线长度L2两个参数。
②垂向。钓鱼艇上层建筑总高度H。为实现“分层次”建造方法在快速建模系统上的研发,在高度上引入驾驶室前壁区高度H1的概念,设辅助参数H2,且H2=H-H1。
③横向。钓鱼艇上层建筑或甲板室宽度为B。
④相关夹角。前端壁后倾角α、前窗后倾角β。
2)坐标系的选择
为建模方便,本文直接进行钓鱼艇上层建筑模型的建模工作,后续采用装配的方式与钓鱼艇艇体相配合。故本文建模系统做如下规定:以钓鱼艇上层建筑尾部中线面与钓鱼艇上层建筑甲板面相交点作为坐标原点O,沿着船长的方向为纵向x轴,船首方向为正;沿着高度方向为垂向z轴,向上为正;沿着船宽方向为横向y轴,左舷为正[20],如图5所示。
图4 钓鱼艇上层建筑设计参数示意图 图5 钓鱼艇上层建筑快速建模系统坐标定义
3.3 曲线曲面的表达与参数化设置
分层次建模方法将钓鱼艇上层建筑模型分为3部分,在建模过程中主要有4个层面,而每一层面有5个关键点,如图6所示。参数化后每个关键点参数坐标为:
1)第一层。P1-1(0,B/2,0)、P1-2(L2,B/2,0)、P1-3(L2、-B/2,0)、P1-4(0,-B/2,0)、P1-5(L,0,0)。
2)第二层。P2-1(0,B/2,H1)、P2-2(L2,B/2,H1)、P2-3(L2,-B/2,H1)、P2-4(0,-B/2,H1)、P2-5(L,0,H1)。
3)第三层。P3-1(0,B/2,H1+(L-L1)tan α)、P3-2(L1+L2-L,B/2,H1+(L-L1)tan α)、P3-3(L1+L2-L,-B/2,H1+(L-L1)tan α)、P3-4(0,-B/2,H1+(L-L1)tanα)、P3-5(L1,0,H1+(L-L1)tanα)。
4)第四层。P4-1(0,B/2,H)、P4-2((L1-(H-(H1+(L-L1)tanα))/tanβ)-(L-L2),B/2,H)、P4-3((L1-(H-(H1+(L-L1)tanα))/tanβ)-(L-L2),-B/2,H)、P4-4(0,-B/2,H)、P4-5((L1-(H-(H1+(L-L1)tanα))/tanβ),0,H)。
3.4 快速建模系统的设计
图6 钓鱼艇上层建筑四层框架设计
采用分层次建模方法,则钓鱼艇上层建筑命令功能开发设计的步骤为:首先进行4个层次框架的设计;其次进行前挡风玻璃的设计;再进行两侧玻璃与后门的设计;最后进行尾板及顶盖的设计。
3.5 快速建模系统的实现
本程序主要设计代码如下:
idConnectSurfaceA.Append(idSurfaceM1A);
CIDENTArrayidSurfaceM2A;
idLine1A.SetAt(0,idLH1314);
idLine1A.SetAt(1,idLH2324);
idLine2A.SetAt(0,idLV1323);
idLine2A.SetAt(1,idLV1424);
bStatus = CDataTypeUtility::ToEntity(entLine1A,idLine1A);
bStatus = CDataTypeUtility::ToEntity(entLine2A,idLine2A);
primary.SetDirectionLines(entLine1A);
seccondary.SetDirectionLines(entLine2A);
bStatus = CSurfaceUtility::CreateMeshSurface(idSurfaceM2A,primary,false,seccondary,true);
idConnectSurfaceA.Append(idSurfaceM2A)
4 快速建模系统测试
4.1 可用性及实用性测试
通过多次多组参数测试,结合游艇美学以及钓鱼艇上层建筑实用性等在内诸多因素的影响,系统快速创建出一艘美观与使用功能兼备的钓鱼艇上层建筑模型。
钓鱼艇上层建筑快速建模系统测试参数操作界面如图7所示,在SINOVATION软件钓鱼艇上层建筑快速建模系统操作界面中将艇艏类型选框下拉更改为自由曲线形式,并输入上层建筑各项参数。点击是否生成尾板和顶盖按钮,创建钓鱼艇上层建筑模型,并加以美化,生成如图8所示上层建筑模型。再将其模型与相应船体相配合,组成完整的钓鱼艇模型,如图9所示。
图7 系统测试参数操作界面 图8 系统测试模型 图9 深V型钓鱼艇模型
4.2 准确性测试
以某艘钓鱼艇为例,进行建模准确性测试。在SINOVATION软件钓鱼艇上层建筑快速建模系统操作界面中将艇艏类型更改为自由曲线形式,输入测量参数如表1所示。
表1 钓鱼艇上层建筑快速建模系统测试参数
将生成的钓鱼艇上层建筑模型进行美化和渲染,并与其船体装配,得到最终模型如图10所示。其与如图11所示整体建模的钓鱼艇相比相差无几。证明系统符合建模需求,准确性高,可用性强。
图10 分层建模生成的模型 图11 整体建模的钓鱼艇模型
测试结果证明,本快速建模系统符合使用需求,设计出的钓鱼艇上层建筑结构符合功能需要及美学规律,并可对现有钓鱼艇上层建筑进行准确快速地建模,应用性强,可投入到钓鱼艇上层建筑生产设计及研发工作中,增强企业竞争力。
5 结语
基于SINOVATION软件,采用分层次建模方法,利用二次NURBS曲线表达钓鱼艇上层建筑艏部自由曲线,精简设计参数,合理设置关键点,并将关键点坐标进行参数化转换,采用Visual Basic和C++语言编程,创建钓鱼艇上层建筑快速建模系统。该系统极大的缩短了钓鱼艇上层建筑建模的创建时间,不仅可进行钓鱼艇上层建筑外观造型设计,也可完成既有船型的快速建模,系统可用性强,可应用于钓鱼艇的生产设计与研发工作。