海 浩,周秋忠
(沈陽(yáng)理工大學(xué)汽車(chē)與交通學(xué)院,沈陽(yáng) 110159)
目前,機(jī)械產(chǎn)品設(shè)計(jì)過(guò)程中設(shè)計(jì)計(jì)算與三維建模相互獨(dú)立,影響產(chǎn)品的設(shè)計(jì)效率和研發(fā)周期。為解決該問(wèn)題,部分研究人員針對(duì)特定產(chǎn)品設(shè)計(jì),提出了設(shè)計(jì)計(jì)算與三維造型集成的方法。 朱鳳芹等[1]開(kāi)發(fā)了設(shè)計(jì)行星輪減速器的三維參數(shù)化CAD 系統(tǒng),通過(guò)設(shè)計(jì)計(jì)算程序驅(qū)動(dòng)參數(shù)化模型實(shí)現(xiàn)了行星輪減速器的自動(dòng)生成;趙韓等[2]在SolidWorks 中集成了齒輪強(qiáng)度及三維建模的設(shè)計(jì)系統(tǒng),縮短了產(chǎn)品的研發(fā)周期,面向后期裝配,能提供相關(guān)的零部件,適應(yīng)裝配設(shè)計(jì)及運(yùn)動(dòng)仿真的需求。 羊柳等[3]提出一種基于知識(shí)重用的火炮設(shè)計(jì)技術(shù),生成針對(duì)火炮產(chǎn)品設(shè)計(jì)的知識(shí)模板。Sandor[4]展示了一種正齒輪副和變位正齒輪副的計(jì)算機(jī)輔助設(shè)計(jì)過(guò)程。
以上方法雖然提高了產(chǎn)品的設(shè)計(jì)效率,但具有較強(qiáng)的領(lǐng)域?qū)傩?,只針?duì)單一系列的產(chǎn)品。 當(dāng)處理不同類(lèi)型的零件或協(xié)同不同CAD 平臺(tái)時(shí)通用性受限,無(wú)法做到不同系列零件或CAD 平臺(tái)在同一系統(tǒng)中的集成。 同時(shí),上述文獻(xiàn)中模型的構(gòu)建多采用參數(shù)化設(shè)計(jì)方法,參數(shù)化模型各特征之間的拓?fù)潢P(guān)系在創(chuàng)建前便已固定,只能進(jìn)行簡(jiǎn)單的結(jié)構(gòu)變形,對(duì)于結(jié)構(gòu)變化差異大的模型無(wú)法參數(shù)關(guān)聯(lián)。
針對(duì)上述問(wèn)題,本文提出一種集設(shè)計(jì)計(jì)算與特征造型于一體的特征單元組合技術(shù)。 從產(chǎn)品結(jié)構(gòu)角度出發(fā),以最基本的結(jié)構(gòu)特征為單位,將模型分解成多個(gè)基本特征單元。 利用CAD 軟件提供的API 接口進(jìn)行程序設(shè)計(jì),將特征單元的構(gòu)建過(guò)程轉(zhuǎn)換成計(jì)算機(jī)可以識(shí)別的程序代碼,將數(shù)個(gè)特征單元程序代碼封裝到動(dòng)態(tài)鏈接庫(kù)(Dynamic Link Library,DLL)中。 采用可視化流程圖框表達(dá)不同類(lèi)型的設(shè)計(jì)知識(shí),在知識(shí)驅(qū)動(dòng)的流程定制設(shè)計(jì)系統(tǒng)上定制產(chǎn)品設(shè)計(jì)知識(shí)流程,并以此為基礎(chǔ)進(jìn)行設(shè)計(jì)知識(shí)推理。 在輸出關(guān)鍵參數(shù)的流程節(jié)點(diǎn)處鏈接特征單元程序組件,結(jié)合知識(shí)表達(dá)、知識(shí)推理、寫(xiě)值驅(qū)動(dòng)、特征組合等技術(shù)完成產(chǎn)品從設(shè)計(jì)計(jì)算到三維造型的一體化過(guò)程。
圖1 為特征單元組合技術(shù)構(gòu)成要素。
圖1 特征單元組合技術(shù)構(gòu)成要素
由圖1 可見(jiàn),特征單元組合技術(shù)由三部分構(gòu)成。 第一部分為特征程序的編輯及封裝過(guò)程:以CATIA 模型為例,在程序設(shè)計(jì)工具中引用CATIA軟件的類(lèi)型庫(kù),建立程序設(shè)計(jì)工具與CATIA 函數(shù)庫(kù)之間的鏈接[5];分析特征單元的構(gòu)建邏輯,調(diào)用CATIA Automation API 編寫(xiě)特征構(gòu)建程序;封裝特征代碼并將代碼傳遞給第二部分。
第二部分為產(chǎn)品設(shè)計(jì)知識(shí)和模型知識(shí)的處理過(guò)程:首先,將第一部分中封裝過(guò)的特征構(gòu)建代碼注冊(cè)到知識(shí)驅(qū)動(dòng)的流程定制設(shè)計(jì)系統(tǒng)內(nèi),并儲(chǔ)存到特征程序庫(kù)中;然后,通過(guò)相關(guān)資料獲取多種類(lèi)型的產(chǎn)品設(shè)計(jì)知識(shí)[6],用可視化流程圖對(duì)產(chǎn)品的設(shè)計(jì)計(jì)算和特征加載過(guò)程進(jìn)行知識(shí)表達(dá),將知識(shí)流程儲(chǔ)存到設(shè)計(jì)知識(shí)流程庫(kù)中;最后,在對(duì)特定產(chǎn)品設(shè)計(jì)時(shí),知識(shí)驅(qū)動(dòng)的流程定制設(shè)計(jì)系統(tǒng)調(diào)用設(shè)計(jì)知識(shí)流程,并以此為推理依據(jù)獲得特征驅(qū)動(dòng)參數(shù)和特征組合順序。
第三部分為三維CAD 系統(tǒng)中實(shí)例化過(guò)程:根據(jù)第二部分的設(shè)計(jì)知識(shí)流程,加載符合要求的特征單元程序,將知識(shí)推理獲得的參數(shù)寫(xiě)入特征單元程序,在三維CAD 系統(tǒng)內(nèi)進(jìn)行特征構(gòu)建、特征組合后生成實(shí)例化模型。
本文使用CATIA Automation、DLL、人機(jī)交互等技術(shù)實(shí)現(xiàn)特征單元的程序設(shè)計(jì)和實(shí)例化。 特征單元程序設(shè)計(jì)與實(shí)例化流程如圖2 所示。
圖2 特征單元程序設(shè)計(jì)與實(shí)例化流程
特征單元程序設(shè)計(jì)步驟如下。
第一步,對(duì)產(chǎn)品的結(jié)構(gòu)特征進(jìn)行分析,確定其構(gòu)建邏輯,在CATIA 環(huán)境下繪制特征模型,運(yùn)用宏錄制功能記錄特征的建模過(guò)程。 此時(shí)繪制模型的操作歷史已儲(chǔ)存到CATIA 文檔中,在CATIA內(nèi)嵌的VB 編輯器中調(diào)試錄制的腳本代碼[7]。 如果運(yùn)行宏代碼無(wú)法生成特征模型,則優(yōu)化特征單元的構(gòu)建過(guò)程,重新錄制宏代碼;如果運(yùn)行宏代碼可以生成特征模型,則將宏代碼導(dǎo)入程序設(shè)計(jì)工具,進(jìn)行特征單元構(gòu)建程序的功能擴(kuò)充。
第二步,調(diào)用Automation API 接口對(duì)宏代碼進(jìn)行修改,根據(jù)寫(xiě)入?yún)?shù)和定位信息的變化進(jìn)行數(shù)值變量計(jì)算和對(duì)象變更,為特征單元的自動(dòng)化構(gòu)建創(chuàng)造前提條件。 在程序設(shè)計(jì)工具中調(diào)試特征單元構(gòu)建程序,確保程序正常運(yùn)行。 完成以上步驟后將各特征單元代碼封裝成支持COM 調(diào)用的DLL 文件。 DLL 是函數(shù)和過(guò)程的集合體,在創(chuàng)建對(duì)象的過(guò)程中調(diào)入內(nèi)存,對(duì)象創(chuàng)建結(jié)束后會(huì)從內(nèi)存空間中釋放,同時(shí)多個(gè)程序可以共享同一個(gè)DLL[8]。 因此,在重用特征類(lèi)型過(guò)多的情況下不會(huì)因占用過(guò)多的系統(tǒng)內(nèi)存空間而影響特征加載速度。
第三步,將DLL 文件注冊(cè)入知識(shí)驅(qū)動(dòng)的流程定制設(shè)計(jì)系統(tǒng)并儲(chǔ)存到特征程序庫(kù)中。 由于特征庫(kù)中封裝有同一特征族下的多個(gè)不同類(lèi)型特征(如圓孔特征、扇形孔特征、三角孔特征等),特征單元程序?qū)嵗瘯r(shí),首先調(diào)用特征的類(lèi)以確定要加載的特征類(lèi)型,再調(diào)用特征的方法選擇特征單元的參數(shù)寫(xiě)入方式,最后選擇參數(shù)類(lèi)型,確定參數(shù)來(lái)源。
第四步,對(duì)特征單元程序進(jìn)行寫(xiě)值驅(qū)動(dòng),實(shí)現(xiàn)特征程序的變量計(jì)算和對(duì)象變更,完成特征程序在三維CAD 系統(tǒng)中的實(shí)例化。 同理,對(duì)其他特征進(jìn)行特征構(gòu)建后組合各特征單元,生成產(chǎn)品的三維造型。
在產(chǎn)品設(shè)計(jì)過(guò)程中,各結(jié)構(gòu)設(shè)計(jì)參數(shù)均依據(jù)一定的設(shè)計(jì)原理、準(zhǔn)則、規(guī)范和經(jīng)驗(yàn)進(jìn)行選取[9]。為將典型結(jié)構(gòu)的設(shè)計(jì)流程、設(shè)計(jì)準(zhǔn)則和設(shè)計(jì)經(jīng)驗(yàn)等隱性知識(shí)轉(zhuǎn)化為顯性知識(shí),并應(yīng)用于產(chǎn)品設(shè)計(jì)過(guò)程中[10],可采用知識(shí)工程(KBE)方案解決,該方案需建立一種知識(shí)表達(dá)方法及以此為基礎(chǔ)的知識(shí)推理機(jī)制[11]。
洞身塌方控制措施包括:(1)加強(qiáng)輔助施工措施,超前預(yù)支護(hù)、鎖腳錨桿等關(guān)鍵輔助施工工法需到位;(2)做好超前地質(zhì)預(yù)報(bào),及時(shí)掌握地質(zhì)動(dòng)態(tài),為下一步施工提供參考,同時(shí)現(xiàn)場(chǎng)量測(cè)要緊跟掌子面施工進(jìn)度,及時(shí)反饋信息;(3)采用合理的施工工法,嚴(yán)格采取“短進(jìn)尺、多循環(huán)、弱爆破”的施工方法,盡量減少對(duì)圍巖擾動(dòng);(4)施工過(guò)程中,初期支護(hù)暴露時(shí)間過(guò)長(zhǎng)很容易引發(fā)塌方事故,因此,初期支護(hù)及時(shí)封閉、二襯及時(shí)緊跟以分擔(dān)初期支護(hù)荷載極為重要。
本文應(yīng)用知識(shí)驅(qū)動(dòng)的流程定制設(shè)計(jì)系統(tǒng)實(shí)現(xiàn)產(chǎn)品的知識(shí)表達(dá)和知識(shí)推理,該系統(tǒng)使用不同形狀的可視化圖框表達(dá)不同意義的設(shè)計(jì)知識(shí)。 用戶(hù)根據(jù)產(chǎn)品的設(shè)計(jì)原理有序組合可視化圖框定制產(chǎn)品設(shè)計(jì)知識(shí)流程,系統(tǒng)的推理決策機(jī)制能根據(jù)設(shè)計(jì)知識(shí)流程自動(dòng)規(guī)劃知識(shí)運(yùn)行軌跡。 通過(guò)與三維CAD 系統(tǒng)的集成,知識(shí)驅(qū)動(dòng)的流程定制設(shè)計(jì)系統(tǒng)可以訪問(wèn)和傳遞CAD 系統(tǒng)的功能函數(shù)和操作對(duì)象,將不同工程意義的特征單元程序統(tǒng)一到特征程序庫(kù)中實(shí)現(xiàn)集中管理。 該系統(tǒng)具有設(shè)計(jì)流程定制、設(shè)計(jì)流程管理、設(shè)計(jì)知識(shí)推理、設(shè)計(jì)系統(tǒng)集成、特征程序管理、DLL 文件管理、三維模型管理等功能,其原理如圖3 所示[11]。
圖3 知識(shí)驅(qū)動(dòng)的流程定制設(shè)計(jì)系統(tǒng)原理
本文通過(guò)圓柱齒輪傳動(dòng)系統(tǒng)實(shí)例驗(yàn)證特征單元組合技術(shù)的可行性。 圓柱齒輪傳動(dòng)系統(tǒng)的三維造型由多種不同功能的基本特征單元組成,由于不同特征單元在三維造型上所表達(dá)的工程信息不同,所以每個(gè)基本特征單元要有專(zhuān)屬的輸入條件,包括決定特征單元空間位置的定位參數(shù)和控制特征幾何大小的尺寸參數(shù)。 圓柱齒輪特征分類(lèi)如圖4 所示。
圖4 中將圓柱齒輪模型分解為控制齒輪齒廓幾何形狀的齒槽特征、控制齒輪尺寸大小的基本特征以及控制齒輪附加結(jié)構(gòu)類(lèi)型的附加特征[12]。其中附加特征附加到基本特征上并用于修飾基本特征(如各種孔、倒角等)[13]。 齒輪附加結(jié)構(gòu)特征作為高層組合特征由多種基本特征單元拼接組合而成,同時(shí)不同附加結(jié)構(gòu)間存在共用特征,如腹板式結(jié)構(gòu)和輪輻式結(jié)構(gòu)共用軸轂、軸孔、鍵槽等特征單元。 決定圓柱齒輪模型的特征單元尺寸大小和空間位置的輸入條件如圖4 中括號(hào)內(nèi)所示。
圖4 圓柱齒輪特征分類(lèi)
本文以圓柱齒輪傳動(dòng)系統(tǒng)中的輪輻式齒輪為例,詳細(xì)介紹基于知識(shí)的特征單元組合技術(shù)在齒輪設(shè)計(jì)中的應(yīng)用。 首先,繪制集輪輻式齒輪設(shè)計(jì)計(jì)算與特征構(gòu)建為一體的設(shè)計(jì)知識(shí)流程;其次,以該流程為設(shè)計(jì)導(dǎo)航,判斷特征加載、組合的先后順序,同時(shí)寫(xiě)入經(jīng)過(guò)系統(tǒng)前期處理后的尺寸參數(shù)和定位參數(shù);最后,特征單元根據(jù)寫(xiě)入?yún)?shù)和定位參數(shù)完成數(shù)值變量計(jì)算和對(duì)象變更,實(shí)現(xiàn)輪輻式齒輪的特征單元組合。 輪輻式齒輪的特征組合過(guò)程如圖5 所示,圖中符號(hào)及含義如表1 所示。
表1 圖5 符號(hào)及其含義
圖5 輪輻式齒輪的特征組合過(guò)程
具體設(shè)計(jì)步驟如下。
1)將P、n、i、γ、th等用戶(hù)參數(shù)輸入輪體尺寸參數(shù)計(jì)算模塊,獲得齒坯尺寸參數(shù)da、B;提取模型中的軸線、中心對(duì)稱(chēng)面的定位信息存入系統(tǒng);加載齒坯特征單元并寫(xiě)入da、B的參數(shù)值、軸線和中心對(duì)稱(chēng)面的定位信息后生成齒坯特征。
2)與步驟(1)同樣的方式,加載齒槽特征單元輪體尺寸參數(shù)計(jì)算模塊,獲得齒槽特征參數(shù)(m、z、α、β、x、B)的參數(shù)值;齒坯軸線和中心對(duì)稱(chēng)面的定位信息寫(xiě)入齒槽特征單元,并以齒坯特征為母體生成齒槽特征。 經(jīng)過(guò)齒坯和齒槽的特征拼接組合,完成齒輪輪體結(jié)構(gòu)的特征造型。
3)將用戶(hù)參數(shù)P、n和齒輪的分度圓半徑r等輸入齒輪軸段計(jì)算模塊,獲得齒輪軸段直徑d;因?yàn)檩S孔特征與齒輪軸段相配合,且軸孔特征和軸轂特征的尺寸參數(shù)與齒輪軸段尺寸參數(shù)存在關(guān)聯(lián)關(guān)系,所以齒輪軸段直徑參數(shù)d輸入軸轂尺寸計(jì)算模塊和軸孔尺寸計(jì)算模塊,獲得軸轂尺寸參數(shù)D1、L和軸孔尺寸參數(shù)D、L;加載軸轂和軸孔特征單元,寫(xiě)入D、D1、L的參數(shù)值和齒坯軸線、中心對(duì)稱(chēng)面的定位信息,生成軸轂特征和軸孔特征。
4)根據(jù)軸段直徑d和軸轂長(zhǎng)度L,按照連接鍵的選型規(guī)則確定連接鍵的尺寸參數(shù),計(jì)算與連接鍵配合的軸轂鍵槽的尺寸參數(shù)b、t1、L;加載鍵槽特征單元,同時(shí)寫(xiě)入b、t1、L的參數(shù)值和鍵槽特征的定位參數(shù),在軸轂上生成鍵槽特征。
以上特征構(gòu)建完成后,系統(tǒng)將通過(guò)齒輪結(jié)構(gòu)變換的邊界條件對(duì)齒輪附加結(jié)構(gòu)的類(lèi)型進(jìn)行邏輯判斷,從而確定接下來(lái)特征單元的加載類(lèi)型和次序。 以輪輻式附加結(jié)構(gòu)為例,將參數(shù)D1、rf、B、N輸入附加結(jié)構(gòu)特征尺寸參數(shù)計(jì)算模塊,獲得板槽尺寸參數(shù)(R1、r1、t2)、陣列位置參數(shù)(Rm、N)、扇形孔尺寸參數(shù)(R2、r2、θ1、t3)和三角孔尺寸參數(shù)(l1、r3、θ2、t4)的參數(shù)值。
5)加載板槽特征單元,寫(xiě)入R1、r1、t2的參數(shù)值和齒坯端面及軸線的定位信息,并在齒坯上生成板槽特征。
6)同理加載陣列特征單元,寫(xiě)入Rm、N的參數(shù)值和定位參數(shù),生成陣列特征,為接下來(lái)的特征單元組合提供位置參考。
7)加載扇形孔特征單元,寫(xiě)入扇形孔R(shí)2、r2、θ1、t3的參數(shù)值以及板槽底面和圓周陣列輔助基準(zhǔn)線的定位信息,生成扇形孔特征。
8)加載三角孔特征單元,寫(xiě)入三角孔l1、r3、θ2、t4的參數(shù)值及扇形孔底面和圓周陣列輔助基準(zhǔn)線的定位信息,生成三角孔特征。
以上實(shí)例中,參數(shù)和特征單元的處理需要以知識(shí)驅(qū)動(dòng)的流程定制設(shè)計(jì)系統(tǒng)為基礎(chǔ)。 圖6 為齒輪參數(shù)計(jì)算及特征構(gòu)建知識(shí)流程。
圖6 齒輪參數(shù)計(jì)算及特征構(gòu)建知識(shí)流程
同理,在系統(tǒng)中調(diào)用其他特征單元的設(shè)計(jì)知識(shí)流程和特征構(gòu)建程序,最終完成齒輪傳動(dòng)系統(tǒng)的實(shí)例化,如圖7 所示。
圖7 齒輪傳動(dòng)系統(tǒng)實(shí)例化
以圓柱齒輪傳動(dòng)系統(tǒng)為例,詳細(xì)闡述了產(chǎn)品從用戶(hù)參數(shù)輸入到三維模型輸出的自動(dòng)化設(shè)計(jì)過(guò)程。 通過(guò)定制特定產(chǎn)品的可視化知識(shí)流程并以此為基礎(chǔ)進(jìn)行知識(shí)推理的方法,實(shí)時(shí)監(jiān)控參數(shù)傳遞軌跡,方便設(shè)計(jì)人員及時(shí)發(fā)現(xiàn)設(shè)計(jì)過(guò)程中的問(wèn)題并修改。 利用特征程序編輯、定位信息讀取、特征寫(xiě)值驅(qū)動(dòng)等方法,達(dá)到控制特征單元輸入條件的目的,調(diào)節(jié)特征單元間的組合層次,可以生成適用于不同產(chǎn)品的零件模型,提高了建模效率,減少了模型資源的浪費(fèi)。
此外,該技術(shù)還具有較強(qiáng)的擴(kuò)展性,不僅適用于不同CAD 系統(tǒng)的集成,也適用于不同領(lǐng)域、不同系列產(chǎn)品的設(shè)計(jì)研發(fā),極大地提高了產(chǎn)品的研發(fā)效率。