黑留民,馬 偉,劉紅彬,張?zhí)炫e
(河南科技大學 機電工程學院,河南 洛陽 471003)
軸承的設計質量和設計效率直接影響其可靠性、壽命以及整個軸承生產周期。通過研制基于三維CAD的軸承設計專用系統(tǒng),可提高軸承設計的準確性和工作效率,促進軸承設計水平的提升,因而有助于提升軸承企業(yè)的核心競爭力。CAXA實體設計是目前國內使用較為廣泛的CAD軟件,其二次開發(fā)平臺能夠方便地調用和修改系統(tǒng)的已有功能,并具有開放式的體系結構[1]。在CAXA實體設計二次開發(fā)平臺上開發(fā)軸承參數化設計專用系統(tǒng),不僅可以拓展CAXA實體設計功能,還可以大大提高軸承的設計效率,進而達到針對性強、效率高、響應速度快的設計效果。
二次開發(fā)平臺是三維數字化設計軟件的重要組成部分,CAXA實體設計的開放式體系結構允許其與各類型數據以及第3方軟件以不同的形式集成[2],從而拓展系統(tǒng)的功能和使用范圍。
CAXA實體設計的集成方案從集成的耦合程度劃分,如圖1所示。其中第1,2層次都屬于松耦合方式;第3個層次是在封裝算法之后,再通過ICAPI(IronCAD Application Programming Interface)接口使DLL與CAXA實體設計連接;而第4個層次則是直接利用ICAPI提供的大量接口函數進行用戶程序的編寫,將第3層次集成進行了推廣,是用戶程序和數據與CAXA實體設計耦合程度最高的一種集成方式,也是最有效的專用化開發(fā)方式[3]。
圖1 CAXA實體設計的集成方案
本系統(tǒng)選用基于COM組件的集成方案,使用CAXA實體設計提供的二次開發(fā)接口(ICAPI),通過COM組件加載接口集成應用系統(tǒng)。使用戶可以根據需要訪問系統(tǒng)的各項功能和底層數據,并利用第3方開發(fā)工具來擴展其功能,達到用戶程序與CAXA實體設計的無縫集成。
CAXA實體設計主要提供了3種參數化設計功能[4],如圖2所示。
圖2 CAXA實體設計的參數化設計方法
系統(tǒng)利用ICAPI來實現(xiàn)零件的參數化設計。首先構建軸承零部件的三維模型,并定義其參數構成和關聯(lián)約束;然后,利用VC++ 語言構建由軸承設計流程導航的設計過程環(huán)境,按零部件生成順序并從預建的數據庫中調用設計參數驅動三維模型。
系統(tǒng)采用編程方式構建軸承零部件的實體模型,CAXA實體設計的ICAPI創(chuàng)建實體是采用自上而下的設計方法。其創(chuàng)建零件三維模型時根據不同零件的特征采用不同的方式:如軸承內、外圈和滾動體等零件,其三維模型是在其二維草繪(IZProfile)基礎上繞回轉軸線旋轉(IZSpinFeature)而創(chuàng)建,而保持架等復雜零件的三維模型是三維實體(IZPart)通過面域拉伸(IZExtrudeFeature)、旋轉陣列等方法創(chuàng)建。
裝配體生成使用ICAPI的坐標轉換機制[5],通過獲得子坐標系相對于其父坐標系的變換矩陣,在獲取零部件的錨點坐標后,依據裝配關聯(lián)關系改變零件的位置完成裝配。
作為CAXA實體設計與外部應用程序之間的接口,ICAPI是一系列函數的集合,這些函數提供了程序員直接訪問CAXA實體設計的能力。通過調用這些函數,用戶可以建立模型,查詢模型對象,遍歷裝配體,創(chuàng)建工程圖,在主界面中創(chuàng)建交互式程序界面,創(chuàng)建并管理用戶定義對象等。
CAXA實體設計的三維設計和二維繪圖文檔分別對應著ZIronCADSceneDoc對象和ZTDDrawingDoc對象,而這些對象則包含在ICAPI對象的基類ZIronCADApp中。ICAPI的每個對象都支持一系列的接口,這些接口包含了一組用來操作、查詢和創(chuàng)建它們包含的對象的函數。
下面以深溝球軸承為例,介紹優(yōu)化設計的過程。
當軸承以疲勞壽命來考核時,以軸承的基本額定動載荷Cr最大為優(yōu)化目標。目標函數為:
(1)
式中:Dpw為球組節(jié)圓直徑;Z為球數;Dw為球徑;bm為材料系數,此處取bm=1.3;fc為載荷系數,其與Dw/Dpw值有關;Cr的大小由Dw,Dpw和Z的取值決定,因此將Dw,Dpw和Z作為軸承優(yōu)化設計主參數,即設計變量X=[x1,x2,x3]T=[Dw,Dpw,Z]T。
則其目標函數變?yōu)椋?/p>
F(X)=F(x1,x2,x3)
(1)球徑
Kwmin(D-d)≤Dw≤Kwmax(D-d)
即,g1(x)=x1-Kwmin(D-d)≥0
(2)
g2(x)=Kwmax(D-d)-x1≥0
(3)
式中:D為軸承外徑;d為軸承內徑;Kwmin,Kwmax分別為球徑系數的最小值和最大值,由試驗或經驗獲得。
(2)球組節(jié)圓直徑
0.5(D+d)≤Dpw≤0.515(D+d)
即,g3(x)=x2-0.5(D+d)≥0
(4)
g4(x)=0.515(D+d)-x2≥0
(5)
(3)填球角
180°≤Φ=2(Z-1)arcsin (Dw/Dpw)≤186°
(4)球數
即,g5(x)=x3-180Kzmin-1≥0
(6)
g6(x)=ΦmaxKzmax-x3+1≥0
(7)
(5)外圈最小壁厚
0.5(D-Dpw-Dw)-ξ(D-d)≥0
即,g7(x)=0.5(D-x2-x1)-ξ(D-d)≥0
(8)
式中:ξ為深溝球軸承外圈最小壁厚系數,取值應小于0.1。
采用綜合約束函數雙下降(SCDD)法[6],首先將目標函數轉化成f(X)=1/F(X),變?yōu)榍笞钚≈祮栴},即尋找一組最優(yōu)解向量X=[x1,x2,x3]T,使f(X)達到最小。
將以上約束函數構造一個綜合約束函數:
(9)
這樣,目標函數的可行域就可表示為:
G={X|X∈E,S(X)=0}
(10)
系統(tǒng)目標要求在輸入D,d及寬度B和軸承型號等的情況下,由系統(tǒng)檢索或計算出優(yōu)化設計的主參數,然后按照軸承設計文件編程,計算出各零件的詳細尺寸,并根據尺寸值檢索數據庫,查出相應尺寸公差、形位公差的參數,以生成三維零件模型、裝配模型和二維工程圖。圖3所示為系統(tǒng)流程圖。
圖3 系統(tǒng)流程圖
根據軟件開發(fā)需要實現(xiàn)的功能要求,軟件的結構分為以下5個模塊:
(1)優(yōu)化設計模塊。按照建立的軸承優(yōu)化計算數學模型及其求解方法編寫相應的計算程序,使系統(tǒng)能在獲得軸承外形參數和優(yōu)化算法計算系數后,經過程序直接得到優(yōu)化計算結果。然后,通過對計算結果的檢驗、修改后,獲得滿足用戶需求的最佳結果并存入數據庫中。
(2)檢索模塊。根據設計的軸承型號或給定的外形參數,通過不同的檢索方法,對數據庫中所有的型號和相應數據項進行檢索,得到優(yōu)化設計主參數及其他設計參數。
(3)軸承標準設計模塊。根據公式或者設計人員的經驗編寫軸承結構尺寸計算程序,將優(yōu)化設計計算或檢索得到的主參數輸入其中,得出結果。
(4)數據庫及接口模塊。系統(tǒng)中采用Access數據庫。在數據庫之上有數據庫訪問模塊,系統(tǒng)其他模塊與數據庫之間的操作都通過該模塊進行, 接口模塊采用ODBC技術實現(xiàn)。
(5)輸出模塊。在CAXA實體設計軟件下進行開發(fā),利用計算模塊的輸出結果作為輸入數據,通過圖形軟件接口開發(fā),將數據轉化為三維模型和二維工程圖輸出。
將CAXA實體設計安裝目錄下的ICAddinAppWizard.awx文件拷貝至VC++ 安裝目錄下指定文件夾,利用新生成的“ICAPI Add-in AppWizard”向導創(chuàng)建新的DLL工程。然后,為工程添加對話框及類并完成相應程序的編寫,以實現(xiàn)各系統(tǒng)模塊的創(chuàng)建及界面設計。編譯成功后,在CAXA實體設計中加載該工程后,系統(tǒng)最終實現(xiàn)。
圖4和圖5分別為深溝球軸承三維模型輸出界面及生成的球的三維模型。系統(tǒng)通過調用數據庫對零件所有設計參數以變量的形式向CAXA實體設計傳遞,利用ICAPI接口向CAXA實體設計發(fā)送繪圖指令生成模型,或對已有的模型參數進行修改,從而完成創(chuàng)建軸承零件的實體模型,球模型生成的部分程序如下:
圖4 深溝球軸承三維模型輸出界面
圖5 球模型輸出
……
StrSql.Format("SELECT * FROM 參數表 WHERE d=%d AND DD=%d ",intNEIJING,intWAIJING,strXINGHAO); //數據庫查詢程序
……
r= data.m_r; dm= data.m_dm;… //參數傳遞
IZPartPtr bePart;
IZSceneDocPtr beSceneDoc;
HRESULT hr;
hr=beSceneDoc->CreatePart(&bePart); //定義零件對象,創(chuàng)建零件
……
hr=beSceneDoc->CreateProfile(&beProfile); //創(chuàng)建草繪
……
IZPartFeatureMgrPtr beNewPartFeatureMgr = bePart;
IZSpinFeaturePtr beSpinFeature; //旋轉特征
……
圖6為深溝球軸承裝配后的三維模型輸出。軸承各零件設計完成后,點擊“生成裝配體”按鈕自動完成軸承裝配。系統(tǒng)運用VC++ 程序獲得軸承各零件錨點坐標,通過坐標轉換后,完成裝配體三維模型的創(chuàng)建。
圖6 深溝球軸承三維模型輸出
使用CAXA實體設計軟件與VC++ 語言編程相結合的方法來構建通用軸承CAD參數化設計系統(tǒng),與軸承制造業(yè)的信息化要求相適應,并可以滿足軸承產品系列化設計的要求。本系統(tǒng)的實現(xiàn),可提高軸承設計的可靠度及效率。