知识工程在全回转螺旋桨设计中的应用

2015-05-08 08:14杨兴林徐天南
造船技术 2015年2期
关键词:曲线图二次开发插件

杨兴林, 徐天南, 陈 宁

(江苏科技大学 能源与动力工程学院, 江苏 镇江 212003)

知识工程在全回转螺旋桨设计中的应用

杨兴林, 徐天南, 陈 宁

(江苏科技大学 能源与动力工程学院, 江苏 镇江 212003)

对于全回转螺旋桨结构部件数量众多造成建模效率不高,以及设计者的知识经验等的限制,提出了将知识工程应用于全回转螺旋桨设计的方法。该方法以Virtual C++6.0为开发平台对SolidWorks进行二次开发,获取全回转螺旋桨设计的知识库,在标准化的同时实现全回转螺旋桨的智能化快速建模,提高设计效率。通过全回转关键部位回转支承轴承的设计样例表明,知识工程结合全回转螺旋桨的二次开发,可建立标准化模型,减少设计中出现的错误以及对设计者设计经验的依赖,提高设计与建模的效率。

知识工程 全回转机构 SolidWorks二次开发 智能化设计

1 引言

全回转螺旋桨是一种可以在360°范围内回转,在各方向产生推力的全方位推进装置,具有良好的操纵性和灵活性,广泛应用于拖船及各类工程作业船。全回转机构是根据行星齿轮传动的原理,利用回转支承轴承实现,因此,为确保能够承载巨大轴向力与倾翻力矩,必须根据船级标准对其进行大量的选型与设计计算。随着知识工程技术在造船业的发展,国内外把知识工程技术作为研究的热点,陈金锋等将知识工程应用于船舶构件的设计研究,显著提高了船舶构件的设计标准与效率[1];张胜文等将知识工程应用于船用柴油机复杂零件数控编程中,使编程知识得到重复利用,数控程序得到优化[2];孔慧敏等将知识工程与CATIA V5相结合,快速设计出钢质海船甲板支柱[3]。目前,国内利用知识工程对全回转螺旋桨的设计研究较少,本文提出了基于知识工程的全回转螺旋桨的设计,借助SolidWorks平台的二次开发,将获取标准知识库、选型与设计计算、三维实体建模等相结合;通过全回转桨的关键部件回转支承轴承的设计样例,说明了知识工程的应用使设计标准化,减少了设计中的错误与对设计者知识经验的依赖,缩短了建模时间,提高了全回转螺旋桨的设计效率。

2 基本原理

2.1 知识工程技术

知识工程是一种将某领域知识重复利用于新型设计的工程学理论[4]。其核心是将有关学科专业知识、领域知识、用户成熟的设计经验、设计参数的选择依据、试验数据、材料数据、用户反馈信息、相关设计标准及规范等知识嵌入设计软件中,通过知识再利用,实现逻辑判断和推理,进一步实现产品的智能化设计,如图1所示。这些知识以各种形式存在,例如:设计图表、工程方程式、经验数据、模糊的规则以及人类直觉等。判断知识工程系统是否成功,很大程度上取决于它是否能收集、表示知识以及应用于问题解决。

图1 知识工程基本原理

2.2 ATL技术对SolidWorks的二次开发

从2006版本开始,SolidWorks提供的二次开发向导中,Visual C++ 6.0平台上的向导就是基于ATL技术构造的[5]。ATL实质是一套C++模板库,它采用特定的基本实现技术(包括COM技术、C++模板类技术及C++多重继承技术等) ,摆脱了大量冗余代码,开发出来的COM应用代码简洁高效。

插件是二次开发的结果,插件对象是一个DLL文件,可以直接加载到SolidWorks软件中使用,它将注册信息写入注册表。注册成功后,点击菜单/工具/插件,弹出的对话框中会显示出当前可以加载的插件,以便用户选择是否加载该插件。

2.3 数据库访问原理

ADO(Microsoft ActiveX Data Objects)是微软通用数据访问的组成之一。利用ADO提供的API,开发人员可以访问任何数据类型,它不仅支持关系型的数据库,还支持非关系型的数据库[6]。ADO封装了OLE DB,但却屏蔽了OLE DB的复杂性,开发人员通过它可以轻松自如地访问各种类型的数据库。本文正是以Access作为回转支承轴承选型的标准数据库,利用ADO数据库访问技术来连接Access数据库。

3 全回转桨关键部件回转支承轴承设计实例

3.1 基于知识工程回转支承轴承的基本设计流程

基于知识工程回转支承轴承的基本设计流程如图2所示。首先输入所需的已知参数,然后按照静态工况与动态工况分别计算轴向力与倾翻力矩,将计算所得的结果参考回转支承承受能力曲线图,对比后选取满足条件的曲线图。再调用回转支承型号标准数据库,选取满足条件的曲线图代号,读取各数据,然后进入SolidWorks环境生成三维实体模型。

图2 基于知识工程回转支承轴承的基本设计流程

3.2 回转支承轴承的设计

(1) 基于知识工程的回转支承轴承的设计步骤。经过计算,舵桨重量为35 t,根据设计要求,正车拖力不少于80 t。回转支承到下水平轴的垂直距离为3.129 m,回转支承轴承静态工况下安全系数为1.1,动态工况下安全系数为1.36。

根据《机械设计手册》中单排四点接触球式(01系列)回转支承轴承的选型计算公式[7]:

Ⅰ静态工况选型

① 承载角α=60°

Fα′=(Fα+5.046Fr)fs

M′=Mfs

② 承载角α=45°

Fα′=(1.225Fα+2.676Fr)fs

M′=1.225Mfs

Ⅱ动态工况选型

① 承载角α=60°

Fα′=(Fα+5.046Fr)fd

M′=Mfd

② 承载角α=45°

Fα′=(1.225Fα+2.676Fr)fd

M′=1.225Mfd

式中:Fα′为回转支承当量中心轴向力,104N;M′为回转支承当量倾翻力矩,104N;fs为回转支承静态工况下的安全系数;fd为回转支承动态工况下的安全系数。

根据上式,将已知参数和所要得出的参数编辑成对话框,并集成回转支承轴承的选型计算公式,制定查看回转支承承受能力的参考曲线图和回转支承型号的标准参数按钮,设置单排四点接触式(01系列)回转支承轴承的剖面图,以及各尺寸的编辑框,以供自动建模时编辑,并查看读出的标准数据。

(2) 在计算出静/动态工况下的轴向力与倾翻力矩后,查看回转支承承受能力曲线图,找出满足静/动态工况下的承受能力曲线图。然后根据曲线图所属的型号来查找该型号下的回转支承轴承各个标准参数,点击读取数据即可将所选择的数据输入到编辑框中。利用ADO技术连接标准知识库的关键代码如下所示。

m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:huizhuanzhicheng.mdb","","",adModeUnknown);//打开数据库;

m_pRecordset->Open("SELECT*FROMxinghaobiaozhun",m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);//打开数据表;

……

m_pRecordset->MoveFirst();

m_pRecordset->Move(i);//获取鼠标点击的位置;

theValue=m_pRecordset->GetCollect("外齿式");

if(theValue.vt!=VT_NULL);

m_waichishi=(char*)_bstr_t(theValue);//读取外齿式中的数据。

回转支承承受能力曲线图与型号标准数据库如图3、图4所示,对话框与参数如图5所示。

图3 回转支承型号标准数据库

图4 回转支承承受能力曲线图

图5 01系列单排四点接触球式回拳支承模型设计

(3) 新建SolidWorks零件,选择已注册的可自动进行三维建模的插件(见图6)。点击下拉菜单,根据所选的回转支承轴承的外形尺寸自动建模,外齿为标准的渐开线齿廓。

图6 建模插件下拉菜单

(4) 点击下拉菜单即可完成对外环、钢珠、内环及小齿轮的建模,然后进行装配(见图7)。螺旋桨全回转运行过程中,回转支承的内圈固定,机构运行时处于静止状态,外圈与三个小齿轮相啮合,三个小齿轮分别由一个液压马达提供动力。因此,为啮合精确,小齿轮的模数及压力角必须与外圈齿轮一致,齿廓为渐开线齿廓,所以小齿轮的齿数必须大于41,选定小齿轮的齿数为42。齿轮关键代码如下:

X=jiyuan*cos(t) +jiyuan*t*sin(t);

Y=jiyuan*sin(t) -jiyuan*t*cos(t);//生成渐开线的点;

m_iModelDoc->SketchSpline((10-i),X/1 000,Y/1 000, 0);// 生成渐开线的样条曲线;

……

jiao1=(90.0/chishu)*pai/180;//齿形角的一半;

swSketchMgr->CreateCenterLine(0.0,0.0,0.0,chidingyuan*cos(jiao1+jiao3)/1 000,chidingyuan*sin(jiao1+jiao3)/1 000,0.0, &swSkSeg3);///新建中心线;

……

swFeatMgr->FeatureCircularPattern2 (chishu,pai*2/chishu,FALSE,NULL,FALSE,&lpCircularPatt);//阵列齿形;

……

swFeatMgr->InsertCutSwept3(false,true, 0,false,true, 0, 0,false, 0, 0, 0, 0,true,true, 0,true,&swFeat6);//钢珠槽扫描切除;

m_iModelDoc->ViewZoomtofit()。

图7 三维实体模型

4 结束语

在基于知识工程技术的全回转螺旋桨设计过程中,运行SolidWorks二次开发的对话框插件,输入所需的已知参数,可得出静态与动态工况下的回转支承轴承的承载力。根据承载力的数值选择满足条件的回转支承承受能力曲线,然后调用标准数据库中的数据,选择并读取该曲线型号下的参数到编辑框中,利用这些标准外形参数,通过SolidWorks零件界面的下拉菜单自动为外圈、钢珠、内圈及小齿轮建模,实现了标准化回转支承轴承的快速建模,降低了设计开发成本、设计者劳动强度以及对经验、专业知识的依赖,提高了全回转螺旋桨设计的效率与质量。

[1] 陈金锋,杨和振,蒋如宏等.知识工程应用于船舶构件的设计研究[J].舰船科学技术,2010,32(10):16-20.

[2] 张胜文,张亮,方喜峰等.船用柴油机复杂零件数控编程技术研究[J].中国造船,2008,49(4):66-72.

[3] 孔慧敏,马晓平,朱骏.基于CATIA V5的知识工程在船舶设计中的应用研究[J].东华船舶工业学院学报,2005,19(3):84-86.

[4] 韩花丽,刘裕,钟展等.基于KBE的工程设计[J].机械研究与应用,2006,19(1): 3-5.

[5] 王文波,涂海宁,熊君星.SolidWorks2008二次开发基础与实例[M].北京:清华大学出版社,2009.

[6] 侯其锋,李晓华,李莎.Visual C++数据库通用模块开发与系统移植[M].北京:清华大学出版社,2007.

[7] 成大先.机械设计手册(第五版)[M]. 北京:化学工业出版社,2010.

The Application of Knowledge Engineering in Full-revolving Propeller Designing

YANG Xing-lin, XU Tian-nan, CHEN Ning

(School of Energy and Power Engineering, Jiangsu University of Science and Technology, Zhenjiang Jiangsu 212003, China)

In order to deal with the problems of low modeling efficiency of full-revolving propeller and little knowledge and experience of the designers, the application method of knowledge engineering in full-revolving propeller designing is proposed. Taking the Virtual C++6.0 as a developing platform by secondary development of SolidWorks, the knowledge base of full-revolving propeller designing is obtained, the standardization and intelligent modeling of full-revolving propeller are achieved, which improves the designing efficiency. Taking the axial bearing as a designing example, we proves that combining the knowledge engineering with secondary development of full-revolving propeller,the established standardized model can reduce the designing error and the dependency of designer's experience, and improve the efficiency of designing and modeling.

Knowledge engineering Full-revolving mechanism Second development of SolidWorks Intelligent designing

杨兴林(1964-),男,教授。

U662

A

猜你喜欢
曲线图二次开发插件
秦皇岛煤价周曲线图
秦皇岛煤价周曲线图
秦皇岛煤价周曲线图
秦皇岛煤价周曲线图
自编插件完善App Inventor与乐高机器人通信
西门子Operate高级编程的旋转坐标系二次开发
浅谈Mastercam后处理器的二次开发
西门子Easy Screen对倒棱机床界面二次开发
基于jQUerY的自定义插件开发
基于Revit MEP的插件制作探讨