楊興林, 徐天南, 陳 寧
(江蘇科技大學(xué) 能源與動(dòng)力工程學(xué)院, 江蘇 鎮(zhèn)江 212003)
知識(shí)工程在全回轉(zhuǎn)螺旋槳設(shè)計(jì)中的應(yīng)用
楊興林, 徐天南, 陳 寧
(江蘇科技大學(xué) 能源與動(dòng)力工程學(xué)院, 江蘇 鎮(zhèn)江 212003)
對(duì)于全回轉(zhuǎn)螺旋槳結(jié)構(gòu)部件數(shù)量眾多造成建模效率不高,以及設(shè)計(jì)者的知識(shí)經(jīng)驗(yàn)等的限制,提出了將知識(shí)工程應(yīng)用于全回轉(zhuǎn)螺旋槳設(shè)計(jì)的方法。該方法以Virtual C++6.0為開發(fā)平臺(tái)對(duì)SolidWorks進(jìn)行二次開發(fā),獲取全回轉(zhuǎn)螺旋槳設(shè)計(jì)的知識(shí)庫,在標(biāo)準(zhǔn)化的同時(shí)實(shí)現(xiàn)全回轉(zhuǎn)螺旋槳的智能化快速建模,提高設(shè)計(jì)效率。通過全回轉(zhuǎn)關(guān)鍵部位回轉(zhuǎn)支承軸承的設(shè)計(jì)樣例表明,知識(shí)工程結(jié)合全回轉(zhuǎn)螺旋槳的二次開發(fā),可建立標(biāo)準(zhǔn)化模型,減少設(shè)計(jì)中出現(xiàn)的錯(cuò)誤以及對(duì)設(shè)計(jì)者設(shè)計(jì)經(jīng)驗(yàn)的依賴,提高設(shè)計(jì)與建模的效率。
知識(shí)工程 全回轉(zhuǎn)機(jī)構(gòu) SolidWorks二次開發(fā) 智能化設(shè)計(jì)
全回轉(zhuǎn)螺旋槳是一種可以在360°范圍內(nèi)回轉(zhuǎn),在各方向產(chǎn)生推力的全方位推進(jìn)裝置,具有良好的操縱性和靈活性,廣泛應(yīng)用于拖船及各類工程作業(yè)船。全回轉(zhuǎn)機(jī)構(gòu)是根據(jù)行星齒輪傳動(dòng)的原理,利用回轉(zhuǎn)支承軸承實(shí)現(xiàn),因此,為確保能夠承載巨大軸向力與傾翻力矩,必須根據(jù)船級(jí)標(biāo)準(zhǔn)對(duì)其進(jìn)行大量的選型與設(shè)計(jì)計(jì)算。隨著知識(shí)工程技術(shù)在造船業(yè)的發(fā)展,國內(nèi)外把知識(shí)工程技術(shù)作為研究的熱點(diǎn),陳金鋒等將知識(shí)工程應(yīng)用于船舶構(gòu)件的設(shè)計(jì)研究,顯著提高了船舶構(gòu)件的設(shè)計(jì)標(biāo)準(zhǔn)與效率[1];張勝文等將知識(shí)工程應(yīng)用于船用柴油機(jī)復(fù)雜零件數(shù)控編程中,使編程知識(shí)得到重復(fù)利用,數(shù)控程序得到優(yōu)化[2];孔慧敏等將知識(shí)工程與CATIA V5相結(jié)合,快速設(shè)計(jì)出鋼質(zhì)海船甲板支柱[3]。目前,國內(nèi)利用知識(shí)工程對(duì)全回轉(zhuǎn)螺旋槳的設(shè)計(jì)研究較少,本文提出了基于知識(shí)工程的全回轉(zhuǎn)螺旋槳的設(shè)計(jì),借助SolidWorks平臺(tái)的二次開發(fā),將獲取標(biāo)準(zhǔn)知識(shí)庫、選型與設(shè)計(jì)計(jì)算、三維實(shí)體建模等相結(jié)合;通過全回轉(zhuǎn)槳的關(guān)鍵部件回轉(zhuǎn)支承軸承的設(shè)計(jì)樣例,說明了知識(shí)工程的應(yīng)用使設(shè)計(jì)標(biāo)準(zhǔn)化,減少了設(shè)計(jì)中的錯(cuò)誤與對(duì)設(shè)計(jì)者知識(shí)經(jīng)驗(yàn)的依賴,縮短了建模時(shí)間,提高了全回轉(zhuǎn)螺旋槳的設(shè)計(jì)效率。
2.1 知識(shí)工程技術(shù)
知識(shí)工程是一種將某領(lǐng)域知識(shí)重復(fù)利用于新型設(shè)計(jì)的工程學(xué)理論[4]。其核心是將有關(guān)學(xué)科專業(yè)知識(shí)、領(lǐng)域知識(shí)、用戶成熟的設(shè)計(jì)經(jīng)驗(yàn)、設(shè)計(jì)參數(shù)的選擇依據(jù)、試驗(yàn)數(shù)據(jù)、材料數(shù)據(jù)、用戶反饋信息、相關(guān)設(shè)計(jì)標(biāo)準(zhǔn)及規(guī)范等知識(shí)嵌入設(shè)計(jì)軟件中,通過知識(shí)再利用,實(shí)現(xiàn)邏輯判斷和推理,進(jìn)一步實(shí)現(xiàn)產(chǎn)品的智能化設(shè)計(jì),如圖1所示。這些知識(shí)以各種形式存在,例如:設(shè)計(jì)圖表、工程方程式、經(jīng)驗(yàn)數(shù)據(jù)、模糊的規(guī)則以及人類直覺等。判斷知識(shí)工程系統(tǒng)是否成功,很大程度上取決于它是否能收集、表示知識(shí)以及應(yīng)用于問題解決。
圖1 知識(shí)工程基本原理
2.2 ATL技術(shù)對(duì)SolidWorks的二次開發(fā)
從2006版本開始,SolidWorks提供的二次開發(fā)向?qū)е?,Visual C++ 6.0平臺(tái)上的向?qū)Ь褪腔贏TL技術(shù)構(gòu)造的[5]。ATL實(shí)質(zhì)是一套C++模板庫,它采用特定的基本實(shí)現(xiàn)技術(shù)(包括COM技術(shù)、C++模板類技術(shù)及C++多重繼承技術(shù)等) ,擺脫了大量冗余代碼,開發(fā)出來的COM應(yīng)用代碼簡潔高效。
插件是二次開發(fā)的結(jié)果,插件對(duì)象是一個(gè)DLL文件,可以直接加載到SolidWorks軟件中使用,它將注冊信息寫入注冊表。注冊成功后,點(diǎn)擊菜單/工具/插件,彈出的對(duì)話框中會(huì)顯示出當(dāng)前可以加載的插件,以便用戶選擇是否加載該插件。
2.3 數(shù)據(jù)庫訪問原理
ADO(Microsoft ActiveX Data Objects)是微軟通用數(shù)據(jù)訪問的組成之一。利用ADO提供的API,開發(fā)人員可以訪問任何數(shù)據(jù)類型,它不僅支持關(guān)系型的數(shù)據(jù)庫,還支持非關(guān)系型的數(shù)據(jù)庫[6]。ADO封裝了OLE DB,但卻屏蔽了OLE DB的復(fù)雜性,開發(fā)人員通過它可以輕松自如地訪問各種類型的數(shù)據(jù)庫。本文正是以Access作為回轉(zhuǎn)支承軸承選型的標(biāo)準(zhǔn)數(shù)據(jù)庫,利用ADO數(shù)據(jù)庫訪問技術(shù)來連接Access數(shù)據(jù)庫。
3.1 基于知識(shí)工程回轉(zhuǎn)支承軸承的基本設(shè)計(jì)流程
基于知識(shí)工程回轉(zhuǎn)支承軸承的基本設(shè)計(jì)流程如圖2所示。首先輸入所需的已知參數(shù),然后按照靜態(tài)工況與動(dòng)態(tài)工況分別計(jì)算軸向力與傾翻力矩,將計(jì)算所得的結(jié)果參考回轉(zhuǎn)支承承受能力曲線圖,對(duì)比后選取滿足條件的曲線圖。再調(diào)用回轉(zhuǎn)支承型號(hào)標(biāo)準(zhǔn)數(shù)據(jù)庫,選取滿足條件的曲線圖代號(hào),讀取各數(shù)據(jù),然后進(jìn)入SolidWorks環(huán)境生成三維實(shí)體模型。
圖2 基于知識(shí)工程回轉(zhuǎn)支承軸承的基本設(shè)計(jì)流程
3.2 回轉(zhuǎn)支承軸承的設(shè)計(jì)
(1) 基于知識(shí)工程的回轉(zhuǎn)支承軸承的設(shè)計(jì)步驟。經(jīng)過計(jì)算,舵槳重量為35 t,根據(jù)設(shè)計(jì)要求,正車拖力不少于80 t?;剞D(zhuǎn)支承到下水平軸的垂直距離為3.129 m,回轉(zhuǎn)支承軸承靜態(tài)工況下安全系數(shù)為1.1,動(dòng)態(tài)工況下安全系數(shù)為1.36。
根據(jù)《機(jī)械設(shè)計(jì)手冊》中單排四點(diǎn)接觸球式(01系列)回轉(zhuǎn)支承軸承的選型計(jì)算公式[7]:
Ⅰ靜態(tài)工況選型
① 承載角α=60°
Fα′=(Fα+5.046Fr)fs
M′=Mfs
② 承載角α=45°
Fα′=(1.225Fα+2.676Fr)fs
M′=1.225Mfs
Ⅱ動(dòng)態(tài)工況選型
① 承載角α=60°
Fα′=(Fα+5.046Fr)fd
M′=Mfd
② 承載角α=45°
Fα′=(1.225Fα+2.676Fr)fd
M′=1.225Mfd
式中:Fα′為回轉(zhuǎn)支承當(dāng)量中心軸向力,104N;M′為回轉(zhuǎn)支承當(dāng)量傾翻力矩,104N;fs為回轉(zhuǎn)支承靜態(tài)工況下的安全系數(shù);fd為回轉(zhuǎn)支承動(dòng)態(tài)工況下的安全系數(shù)。
根據(jù)上式,將已知參數(shù)和所要得出的參數(shù)編輯成對(duì)話框,并集成回轉(zhuǎn)支承軸承的選型計(jì)算公式,制定查看回轉(zhuǎn)支承承受能力的參考曲線圖和回轉(zhuǎn)支承型號(hào)的標(biāo)準(zhǔn)參數(shù)按鈕,設(shè)置單排四點(diǎn)接觸式(01系列)回轉(zhuǎn)支承軸承的剖面圖,以及各尺寸的編輯框,以供自動(dòng)建模時(shí)編輯,并查看讀出的標(biāo)準(zhǔn)數(shù)據(jù)。
(2) 在計(jì)算出靜/動(dòng)態(tài)工況下的軸向力與傾翻力矩后,查看回轉(zhuǎn)支承承受能力曲線圖,找出滿足靜/動(dòng)態(tài)工況下的承受能力曲線圖。然后根據(jù)曲線圖所屬的型號(hào)來查找該型號(hào)下的回轉(zhuǎn)支承軸承各個(gè)標(biāo)準(zhǔn)參數(shù),點(diǎn)擊讀取數(shù)據(jù)即可將所選擇的數(shù)據(jù)輸入到編輯框中。利用ADO技術(shù)連接標(biāo)準(zhǔn)知識(shí)庫的關(guān)鍵代碼如下所示。
m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:huizhuanzhicheng.mdb","","",adModeUnknown);//打開數(shù)據(jù)庫;
m_pRecordset->Open("SELECT*FROMxinghaobiaozhun",m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);//打開數(shù)據(jù)表;
……
m_pRecordset->MoveFirst();
m_pRecordset->Move(i);//獲取鼠標(biāo)點(diǎn)擊的位置;
theValue=m_pRecordset->GetCollect("外齒式");
if(theValue.vt!=VT_NULL);
m_waichishi=(char*)_bstr_t(theValue);//讀取外齒式中的數(shù)據(jù)。
回轉(zhuǎn)支承承受能力曲線圖與型號(hào)標(biāo)準(zhǔn)數(shù)據(jù)庫如圖3、圖4所示,對(duì)話框與參數(shù)如圖5所示。
圖3 回轉(zhuǎn)支承型號(hào)標(biāo)準(zhǔn)數(shù)據(jù)庫
圖4 回轉(zhuǎn)支承承受能力曲線圖
圖5 01系列單排四點(diǎn)接觸球式回拳支承模型設(shè)計(jì)
(3) 新建SolidWorks零件,選擇已注冊的可自動(dòng)進(jìn)行三維建模的插件(見圖6)。點(diǎn)擊下拉菜單,根據(jù)所選的回轉(zhuǎn)支承軸承的外形尺寸自動(dòng)建模,外齒為標(biāo)準(zhǔn)的漸開線齒廓。
圖6 建模插件下拉菜單
(4) 點(diǎn)擊下拉菜單即可完成對(duì)外環(huán)、鋼珠、內(nèi)環(huán)及小齒輪的建模,然后進(jìn)行裝配(見圖7)。螺旋槳全回轉(zhuǎn)運(yùn)行過程中,回轉(zhuǎn)支承的內(nèi)圈固定,機(jī)構(gòu)運(yùn)行時(shí)處于靜止?fàn)顟B(tài),外圈與三個(gè)小齒輪相嚙合,三個(gè)小齒輪分別由一個(gè)液壓馬達(dá)提供動(dòng)力。因此,為嚙合精確,小齒輪的模數(shù)及壓力角必須與外圈齒輪一致,齒廓為漸開線齒廓,所以小齒輪的齒數(shù)必須大于41,選定小齒輪的齒數(shù)為42。齒輪關(guān)鍵代碼如下:
X=jiyuan*cos(t) +jiyuan*t*sin(t);
Y=jiyuan*sin(t) -jiyuan*t*cos(t);//生成漸開線的點(diǎn);
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 三維實(shí)體模型
在基于知識(shí)工程技術(shù)的全回轉(zhuǎn)螺旋槳設(shè)計(jì)過程中,運(yùn)行SolidWorks二次開發(fā)的對(duì)話框插件,輸入所需的已知參數(shù),可得出靜態(tài)與動(dòng)態(tài)工況下的回轉(zhuǎn)支承軸承的承載力。根據(jù)承載力的數(shù)值選擇滿足條件的回轉(zhuǎn)支承承受能力曲線,然后調(diào)用標(biāo)準(zhǔn)數(shù)據(jù)庫中的數(shù)據(jù),選擇并讀取該曲線型號(hào)下的參數(shù)到編輯框中,利用這些標(biāo)準(zhǔn)外形參數(shù),通過SolidWorks零件界面的下拉菜單自動(dòng)為外圈、鋼珠、內(nèi)圈及小齒輪建模,實(shí)現(xiàn)了標(biāo)準(zhǔn)化回轉(zhuǎn)支承軸承的快速建模,降低了設(shè)計(jì)開發(fā)成本、設(shè)計(jì)者勞動(dòng)強(qiáng)度以及對(duì)經(jīng)驗(yàn)、專業(yè)知識(shí)的依賴,提高了全回轉(zhuǎn)螺旋槳設(shè)計(jì)的效率與質(zhì)量。
[1] 陳金鋒,楊和振,蔣如宏等.知識(shí)工程應(yīng)用于船舶構(gòu)件的設(shè)計(jì)研究[J].艦船科學(xué)技術(shù),2010,32(10):16-20.
[2] 張勝文,張亮,方喜峰等.船用柴油機(jī)復(fù)雜零件數(shù)控編程技術(shù)研究[J].中國造船,2008,49(4):66-72.
[3] 孔慧敏,馬曉平,朱駿.基于CATIA V5的知識(shí)工程在船舶設(shè)計(jì)中的應(yīng)用研究[J].東華船舶工業(yè)學(xué)院學(xué)報(bào),2005,19(3):84-86.
[4] 韓花麗,劉裕,鐘展等.基于KBE的工程設(shè)計(jì)[J].機(jī)械研究與應(yīng)用,2006,19(1): 3-5.
[5] 王文波,涂海寧,熊君星.SolidWorks2008二次開發(fā)基礎(chǔ)與實(shí)例[M].北京:清華大學(xué)出版社,2009.
[6] 侯其鋒,李曉華,李莎.Visual C++數(shù)據(jù)庫通用模塊開發(fā)與系統(tǒng)移植[M].北京:清華大學(xué)出版社,2007.
[7] 成大先.機(jī)械設(shè)計(jì)手冊(第五版)[M]. 北京:化學(xué)工業(yè)出版社,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