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