郭靜靜,杜寶江,馬 群,魏 雄
(上海理工大學虛擬制造技術研究院,上海 200093)
我國生產的機械產品中,有30% ~70%的零件,是標準件或者常用的非標準件,如螺栓、螺母、軸承、彈簧、齒輪等[1]。同種類型的標準件,通常都具有相似的形狀,僅尺寸不一樣。在設計過程中,若對這些標準件進行反復建模,就會造成人力物力的浪費。雖然在常用的三維 CAD 軟件中,如 AutoCAD,UG,CATIA,Solidworks,Pro/Engineer都會自帶標準件庫,而這幾種建模軟件自帶的標準件庫有些只有少部分標準件如CATIA等,而有些則沒有符合我國國標的標準件 Solidworks[2]。況且有些企業又有各自的公司標準。雖然各軟件都具有一定自帶的建立標準件庫的方法,比如Pro/Engineer通常應用組表方法建立標準件庫,UG應用部件族的方法,CATIA中的CATALOG庫方法等[3]。但這些方法都是在特定的軟件環境中使用,不具有通用性[4]。對于一些公司,在設計不同的機械產品需要根據實際情況應用不同的軟件,而跟其它公司合作時,可能會根據對方提出的要求應用相應的軟件。如果有一種建立標準件庫的方法,能應用在多種三維CAD軟件下,那么在產品設計中,就可以避免大量的重復勞動,從而可以縮短了設計的周期,同時節省了設計成本。
文中希望探索一種能建立一個標準件信息庫和一種標準件對應一個系統應用程序的基礎上,實現在不同種CAD軟件下建立的標準件模型,通過網絡調用公用信息庫中的原有參數信息實現參數化的方法,以節省每個軟件在應用標準件庫時,都要建立標準件信息庫,以滿足目前企業對產品的快速設計需求。而且由于本系統具有一定的通用性,對于設計者來說,一些非標準的零部件的建模也適用[5]。
根據實際應用需求進行分析,開發了多種CAD環境下標準件參數化設計系統。系統具有以下功能模塊,其中工程信息添加模塊是對標準件相關信息的添加,可根據需要進行確定。
根據系統功能,給出相應技術實現與應用流程如圖2所示。

基礎模型是在CAD軟件下預先制作的三維模型,在制造基礎模型前,把零件的驅動尺寸建立參數,如CATIA軟件下的參數工具,在里面建立驅動尺寸的參數,然后在模型的制作過程中,把圖形中的尺寸按照公式依次與驅動尺寸建立聯系。基礎模型建立完成后,按產品序列規定的圖號文件儲存在數據庫中,設計人員可以在此基礎上通過改變一定范圍下的參數,生成新模型。標準件,按企業常用的零件標準大類建立基本模型庫,按照標準件號進行索引分類[6]。
零件模型中的尺寸,包括驅動尺寸,關聯尺寸和輔助尺寸。
(1)驅動尺寸是指影響圖形的主要特征的尺寸。在標準手冊中,根據不同型號,有相應的數值,而且標準件的尺寸一般有特定的字符表示,在建立信息庫,按照手冊中給定的參數名稱命名,此處,設驅動尺寸為Ai,0<i≤N在庫中定義為字符串類型。
(2)關聯尺寸Bj, 0<j≤M,它在模型的制作中已經定義它與驅動尺寸的方程公式。驅動尺寸發生改變時,它會隨之發生改變,而且對于標準件,因為它的形狀相似,一般驅動尺寸與關聯尺寸的關系一定,所以在信息庫中,就不再對關聯尺寸建立相應的參數信息。
(3)輔助尺寸CS,0<S≤K指在圖形設計中雖然不會影響圖形的整體形狀,但也不可缺少,比如在標準手冊中未定義的倒角圓角尺寸,退刀槽尺寸等,在手冊中未給定數值,同時沒有必要隨驅動尺寸而變化。輔助尺寸信息沒必要建立在尺寸信息庫中。零件的驅動尺寸在信息庫中如表1所示,表中第一列代表這個類型零件的具體零件型號,如本表代表螺栓C040133具體的型號01220,它并與本行其他尺寸一一對應,除第一行,其他每一行,代表一組標準件的一組參數尺寸,相對應一個模型零件,具體構建如表1所示。

表1 信息表建立模式
在設計終端上使用零件參數化生成程序,使用采用面向對象編程語言Visual Basic編程,其功能由以下幾個模塊組成。
設計人員在Windows系統的終端上打開所使用的CAD軟件,連接程序自動檢測CAD軟件,并建立參數化控制程序與CAD軟件之間的連接關系,其流程圖如圖3所示。

圖3 程序與軟件連接流程圖
圖中,循環連接嘗試,使用預先定義的i,常用的CAD軟件在Windows系統中的注冊表名稱列表控制變量 CAD Reg[i],其中i=1,2,…,N,N表示系統可能運行的CAD軟件的最大個數。通過Activity X連接機制依次做連接嘗試。CADAPP=getobj(CADReg(i)),部分常用的CAD注冊表項,如表2所示。

表2 常用CAD軟件注冊表名稱
連接成功與否,可通過VB的ERR系統變量的值判斷。
連接CAD軟件成功,并可打開模型窗口,程序根據提供基礎模型號,在已有產品的目錄樹和輸入式條件檢查功能中找到模型庫的基礎模型。一旦查詢到基礎模型文件,便可以使用VB語句,調入到CAD軟件中,并立即儲存新模型文件。
基礎圖形被調入后,相應的驅動參數也被顯示出來,表中的所有數據都能夠在此圖形上不改變結構的情況下可以改變的尺寸信息。然后程序根據名稱連接到尺寸信息庫中,查找該文件的尺寸信息表,信息表中每行代表一種可能的尺寸信息。通過選擇所需的數據行來重構圖形。需要對圖形的尺寸進行識別,然后對尺寸變量進行賦值,最后通過更新來達到重構。
(1)模型尺寸變量的識別。
尺寸表第一行的字符,如表1所示,記錄了每一個尺寸的名稱,它與模型中的尺寸一一對應。一旦名稱相同,就可以建立聯系,以便進行進一步賦值。
(2)尺寸驅動與圖形更新。
按尺寸信息庫中的行,自左到右,依次給驅動尺寸L(i)進行賦值。
對于表格中的確切數值,驅動尺寸去掉第一個類別字符后,后面的數值即可直接賦值給尺寸變量。
對可改變數值的尺寸,比如一些模型的長度,可以根據范圍和需求自定義,即類別碼A后有“,”的,會自動彈出對話框,讓用戶輸入尺寸值,并按“下限,上限”規定校驗輸入值的合法性。
(3)賦值完成后,應用Update語句更新圖形元件即可。
工程信息表由選擇圖形的相同文件名相對應的工程表提供,設計者可選擇相應的工程信息表格單元,數據被賦予給圖形中的相應參數,如材質、重量等。
利用上述技術和系統,對在CATIA中做出的螺栓模型進行了參數化。
(1)螺栓的二維圖如圖4所示,這個模型中的A,L,U,M,TD,A,B是主要尺寸零件手冊都已給定了不同尺寸的參數。但對于尺寸E,U,R可以作為關聯尺寸,既可以用驅動尺寸的公式表示也可以作為定值,作輔助尺寸處理。

圖4 螺栓的二維圖
(2)然后在信息庫中建立數據信息表,驅動尺寸的數據錄在給定的零件名稱數據庫中,如表1所示。
(3)打開CATIA軟件,VB程序通過識別連接,打開模型窗口,并根據程序中提供的零件號,通過程序調出數據庫中的數據信息表,利用程序段A.Value=Val(DataGridView1.Rows(i).Cells(“A”).Value.ToString().Trim())把表中的A尺寸賦給模型中的A,然后利用其它程序把表中驅動尺寸的值賦給模型并更新,即可得到新零件。
本項技術,已經應用到用UG軟件中,用以建立印刷機虛擬樣機中標準件,以及用CATIA建立的飛機標準件庫。
通過對多種CAD環境下的標準件參數化系統的開發,為企業產品設計,節省了設計時間,縮短了設計周期,提高了設計效率,同時也為快速設計提供了新的思路新和方法。
[1]萬久團.黃翔.基于UG的三維參數化標準件庫的建立[J].機械制造與自動化,2002(6):82 -84.
[2]張信群,賈會星.在Solid Works平臺下螺紋緊固件類標準件庫的建立[J].現代機械,2010(4):63-66.
[3]楊雪春,王海彬,董懿瓊.基于Pro/E建立標準件庫的方法[J].機床與液壓,2010,38(2):26 -28.
[4]侯守明,徐文鵬,劉永賢,等.三維參數化零部件庫建模方法研究[J].計算機工程與應用,2010,46(29):221 -224.
[5]魏華峰,郝泳.基于GBORB平臺三維通用機械零件庫系統的開發[J].機械設計與制造,2009(9):85-87.
[6]鄭芳圃.三維參數化標準件庫的研究與實現[J].計算機輔助設計與圖形學學報,1999,11(3):218-220.
[7]姜建國,劉鵬程.任意形狀圖形對稱展開的算法設計與實現[J].電子科技,1997,10(3):41 -44.