魏建東,李靜蓉,蘇杭朋
(華南理工大學 機械與汽車工程學院 廣州 510641)
?
計算機輔助公差設計的開發(fā)及應用*
魏建東,李靜蓉,蘇杭朋
(華南理工大學 機械與汽車工程學院 廣州 510641)
針對目前計算機輔助公差設計軟件的操作繁雜并且缺少裝配尺寸鏈分析的現(xiàn)狀,搭建了面向公差設計的裝配信息數(shù)據(jù)結(jié)構(gòu),便于進行公差設計分析;在優(yōu)化裝配尺寸鏈生成算法的基礎上,運用蒙特卡羅法進行公差分析,在主流的三維造型軟件Creo平臺上二次開發(fā)出了一套基于裝配尺寸鏈自動生成的計算機輔助公差設計軟件模塊,并以實例驗證了實用性。
計算機輔助公差設計;裝配尺寸鏈;Creo二次開發(fā);蒙特卡羅
計算機輔助公差設計(Computer Aided Tolerancing,簡稱CAT)[1]是指在機械產(chǎn)品的設計階段利用計算機對產(chǎn)品的尺寸公差進行優(yōu)化,以制造出滿足精度要求的產(chǎn)品。將CAT中的裝配尺寸鏈自動生成技術(shù)運用到產(chǎn)品的虛擬裝配檢測階段,可以提前檢測到裝配干涉,及時地根據(jù)裝配尺寸鏈封閉環(huán)的精度要求對裝配零部件進行公差分析和公差分配。在產(chǎn)品設計過程中, 裝配尺寸鏈不僅僅是確定零件制造公差的依據(jù), 也是分析預測機械產(chǎn)品裝配精度的依據(jù); 在產(chǎn)品生產(chǎn)過程中, 裝配尺寸鏈還是處理零件加工質(zhì)量和產(chǎn)品裝配質(zhì)量的依據(jù)。因此基于裝配尺寸鏈的公差設計是實現(xiàn)產(chǎn)品順利加工制造、裝配的關鍵。
然而由于現(xiàn)代產(chǎn)品設計中裝配結(jié)構(gòu)的日趨復雜,尺寸鏈數(shù)目和每個尺寸鏈中包含的組成環(huán)數(shù)目繁多,再加上各尺寸之間關系、裝配約束關系的多樣性,完全依靠人工來建立尺寸鏈圖、尺寸鏈方程并求解, 整個過程將會非常繁瑣和易出錯。為此, 通過三維CAD平臺軟件的功能開發(fā),直接從CAD裝配模型中求解封閉環(huán),以實現(xiàn)計算機輔助公差設計,具有高效、可靠的優(yōu)點,有助于提高制造業(yè)的生產(chǎn)效率。
本文在分析尺寸鏈自動生成[2-3]關鍵技術(shù)的基礎上,基于Creo軟件平臺,開發(fā)出了一個簡捷、實用的公差分析模塊,并集成蒙特卡羅法[4]對尺寸鏈進行分析計算。下面是對尺寸鏈的自動生成的關鍵技術(shù)的分析。
1.1 裝配約束特征信息的篩選和提取
特征信息提取的目的是為其他應用領域準備數(shù)據(jù),在 VC++開發(fā)環(huán)境下,采用面向?qū)ο蠓椒?,搭建面向公差設計的裝配信息數(shù)據(jù)結(jié)構(gòu)。在Creo設計環(huán)境下建立的三維零件模型,需要獲取其特征信息需要使用二次開發(fā)手段,本文應用Creo Parametric Toolkit 庫函數(shù)ProSolidFeatVisit實現(xiàn)特征提取,過程如下圖1所示:
圖1 約束特征提取
在CAD軟件中,要確定零件在裝配體中的位置和自由度,必須施加多個約束關系來實現(xiàn)對零件的定位;而對于已確定的裝配尺寸鏈,只是要求裝配體在某個方向或某個平面內(nèi)的尺寸[5]。因此,對于裝配尺寸鏈來說,裝配體中的約束數(shù)據(jù)信息存在大量的多余信息。這些與裝配尺寸鏈無關的約束條件,增加了搜索算法的復雜度,并且容易出錯,極大的阻礙了裝配尺寸鏈的自動生成,所以要提取滿足裝配尺寸鏈封閉環(huán)相關條件的特征信息,就要過濾掉干擾約束特征。
Creo中提供了多種裝配約束條件,如對齊、對齊-偏移、匹配、匹配-偏移、相切、插入等。不同的約束條件參與約束的特征不同,因而判斷其是否冗余的方式不同,本文主要是通過約束特征面向量與封閉環(huán)特征端面向量進行比較,實現(xiàn)冗余約束特征的判斷。以下是常用約束配合的判定方法:
利用Creo Parametric Toolkit 庫函數(shù)ProAsmcompconstraintTypeGet()獲取裝配約束類型。
(1)若約束為匹配或?qū)R配合:參與配合的特征為曲面,可以利用函數(shù)ProSurfaceXyzdataEval()獲取配合特征面的法向量,將該向量與封閉環(huán)起始端面法向量點乘,若乘積為零,則表明兩平面垂直;根據(jù)裝配約束可知,該特征面與封閉環(huán)沒有尺寸約束關系,因而可以過濾掉;反之,則保留該約束;
(2)若約束為插入配合:參與配合的特征一般為軸線,可以利用函數(shù)ProAxisDataGet()獲得軸線向量,處理方法同(1);
(3)若約束為相切配合:參與配合的特征一般為曲面或者柱面,可利用函數(shù)ProSurfaceParamEval()獲取曲面在切線或者切點的法向量,處理方法同(1);將上述方法在特征過濾函數(shù)FeatureFilterActionFn2()中實現(xiàn),可以將大部分與封閉環(huán)無關的配合特征面排除,再通過特征訪問動作函數(shù)FeatureVistiActionFn2()將滿足以上條件的特征面保存在傳遞指針ProAppData中,供后續(xù)裝配尺寸鏈自動生成調(diào)用。
1.2 數(shù)據(jù)庫搭建
采用合理的數(shù)據(jù)結(jié)構(gòu)提取和存儲裝配約束信息,是生成裝配尺寸鏈進而進行公差設計的關鍵。因此搭建的面向公差設計的數(shù)據(jù)庫要利于進行公差設計。本文在分析三維模型數(shù)據(jù)表達的基礎上結(jié)合Creo Parametric Toolkit 二次開發(fā)工具搭建了元件尺寸數(shù)據(jù)庫和裝配約束數(shù)據(jù)庫,各數(shù)據(jù)結(jié)構(gòu)的具體定義可參考文獻。
基于Creo的三維信息模型表達,描述零件尺寸信息的用戶數(shù)據(jù)結(jié)構(gòu)如下:
Typedef struct User_Dim_Database
{ProDimension *dimension;//尺寸對象指針
int id;//元件標識
ProMdl owner;//尺寸所屬零件
double *value;//尺寸值
double *upper_limit//上偏差
double *lower_limit//下偏差
}userDimDatabase;
三維裝配模型中,組件是幾個零件根據(jù)不同的裝配約束關系和裝配序列裝配起來的,裝配尺寸鏈是有幾個參與裝配約束的零件構(gòu)成的,采用遍歷算法可以提取到所有約束的數(shù)據(jù)信息,為后續(xù)的裝配尺寸鏈生成提供便利。具體的用戶裝配約束數(shù)據(jù)結(jié)構(gòu)如下:
Typedef struct User_Constr_Database//用戶裝配約束數(shù)據(jù)結(jié)構(gòu)
{ProAsmcompconstraint constr_array;//約束句柄
ProAsmcompConstrType type;//約束類型ProSelection comp_constr,asm_constr;
//約束的兩個面
ProMdl comp_constr_owner,asm_constr
_owner;//所屬零件
int id1,id2; //所屬零件標識
} userConstrDatabase;
2.1 裝配尺寸鏈自動生成算法
裝配尺寸鏈的自動生成是計算機輔助公差設計的基礎。其目標在于,從裝配約束數(shù)據(jù)庫中除去干擾約束特征,并根據(jù)尺寸鏈生成最短原則和封閉原則更新裝配約束數(shù)據(jù)庫[6]。
2.1.1裝配約束鏈的生成
裝配尺寸鏈生成之前先要通過人機交互,人工選擇出封閉環(huán)的起始端面。裝配約束鏈的生成是在裝配約束數(shù)據(jù)庫中,從封閉環(huán)特征面開始查找和封閉環(huán)相互關聯(lián)的特征面。裝配約束鏈的查找過程如下:
①在裝配約束數(shù)據(jù)庫中(1.2中搭建的已經(jīng)經(jīng)過篩選的數(shù)據(jù)庫)查找與封閉環(huán)起始端面屬于同一零件的特征約束面;②根據(jù)裝配約束條件,映射到與該特征約束面相配合的約束面。判斷該特征面是否為封閉環(huán)的結(jié)束端,或者和封閉環(huán)的終止端屬于同一零件,若是則可以結(jié)束搜索過程,若不是則將該特征約束面定義為新的封閉環(huán)起始端;③重復①和②的查找過程,直到找到所需的全部特征約束面;④依次記錄查找所有經(jīng)過的特征約束面和約束條件,所得數(shù)組即為裝配約束鏈。通過以上流程,裝配約束面的信息都保存在鏈表數(shù)組中,各個元素即為組成封閉環(huán)的要素。
假定封閉環(huán)的特征元素為面,裝配模型也可以簡化為圖2所示。
圖2 裝配模型
封閉環(huán)的起始為From特征面,約束面2、3屬于同一個約束類型下的兩個參考面;約束面3、4屬于同一個零件。根據(jù)起始位置遍歷搜索參與裝配尺寸鏈的約束類型,從裝配信息約束數(shù)據(jù)庫中提取需要的特征面信息,按照上文介紹的搜索算法依次搜索到各個特征面并將其存儲在定義的鏈表數(shù)組中。鏈表數(shù)組中的元素依次為:約束面2、約束面4、約束面6、約束面8、約束面10。
2.1.2 公差設計函數(shù)的表達
目前公差的解算和優(yōu)化問題基本上是基于尺寸鏈建立公差設計函數(shù)的數(shù)學模型, 然后進行數(shù)學求解和優(yōu)化。因此在裝配約束鏈生成之后,要實現(xiàn)公差設計函數(shù)的表達。
公差設計函數(shù)是關于封閉環(huán)與各個組成環(huán)之間關系的函數(shù),可表示為:
A0=f(A1,A2,...,An-1,An)
(1)
其中,A0為封閉環(huán),A1,A2,An-1,An為組成環(huán)。為了表述封閉環(huán)對組成環(huán)的敏感程度引入了傳遞系數(shù)ξ的概念[7]。則組成環(huán)Ai的傳遞系數(shù)為:
(2)
將式(1)展開,得到式(3)如下:
A0= f(A1,A2,...,An) = ξ1· A1+ ξ2· A2+…+ ξn· An
(3)
其中ξi表示各組成環(huán)i的傳遞系數(shù)。
由式(3)可以看出,公差設計函數(shù)確定的關鍵是計算各組成環(huán)的傳遞系數(shù)。
對于線性尺寸鏈的傳遞系數(shù)只有1或者-1。本文對組成環(huán)傳遞系數(shù)的計算采用矢量判斷方法,根據(jù)選擇的封閉環(huán)的先后順序確定搜索方向(如下圖3),再根據(jù)裝配約束鏈表中順序確定各個組成環(huán)的矢量方向,與封閉環(huán)對比即可得出各個組成環(huán)的傳遞系數(shù)。按照所述傳遞系數(shù)判斷方法計算,圖3的尺寸鏈表達函數(shù)為:A0== -A1+A2-A3-A4。
圖3 尺寸鏈增減環(huán)判斷
2.2 公差分析中的蒙特卡羅模型建立
公差分析與綜合涉及到公差分配、公差校驗以及公差優(yōu)化等問題。這方面主要有極值法、概率統(tǒng)計法、加工成本- 公差模型、基于變動幾何的公差設計函數(shù)、基于二階和四階可靠性指標的公差優(yōu)化設計模型、敏感分析法、百分比貢獻分析法、基于蒙特卡羅法的公差優(yōu)化設計模型等方法[1]。本文將極值法、概率統(tǒng)計法和蒙特卡羅法集成于公差設計分析模塊。
基于蒙特卡羅法求解裝配尺寸鏈的思想就是模擬一批零部件隨機裝配所測得封閉環(huán)的實際尺寸。根據(jù)組成環(huán)尺寸的分布形式隨機取樣,把由抽樣得到的尺寸數(shù)值帶入到公差設計函數(shù)中,求解得到一個封閉環(huán)尺寸值,將此過程重復多次得到多個封閉環(huán)尺寸值,即可根據(jù)這些值估計出封閉環(huán)的公差。
1)利用計算機產(chǎn)生一系列的(0,1)均勻分布的偽隨機數(shù)ri,再進行坐標變換轉(zhuǎn)化成服從N(0,1)分布的隨機數(shù),變換公式[9]為:
(4)
(5)
ai=Ai′ +Tiσi
(6)
式中:Ai′是第i個尺寸有公差帶中心算起的公稱尺寸Ai′=(Aimax+Aimin)/2;ai要在3σ范圍內(nèi)截尾,因此剔除T±3σ以外的隨機數(shù)。
3)根據(jù)式(3)將組成環(huán)尺寸隨機抽樣的各隨機變量帶入到尺寸鏈方程中,則可以求得一個封閉環(huán)尺寸A0,經(jīng)過反復計算N次求得一系列的尺寸A0 i,i=(1,2,3,...N),根據(jù)封閉環(huán)尺寸的分布可以求得其特征量—均值和方差 ,封閉環(huán)的公稱尺寸和公差,及其最大值和最小值。在置信水平1-α下,封閉環(huán)尺寸公差A0在抽樣最大值A0max和最小值A0min之間的概率不小于P時,隨機模擬抽樣次數(shù)N即最小樣本容量,可以有下式求出[9]:
NPN-1-(N-1)PN-α=0
(7)
在運用蒙特卡羅法進行公差分析時,實際抽樣次數(shù)必須大于根據(jù)式(7)算出抽樣次數(shù)N。
如圖4簡化放大的雙聯(lián)齒輪,為了保證齒輪能夠在軸上自由的旋轉(zhuǎn),并且在軸向方向沒有太大的移動。就是要保證齒輪右端面和右側(cè)擋環(huán)的左端面具有一定的間隙,即A0的尺寸是該結(jié)構(gòu)的主要保證尺寸。尺寸過小的話,會引起較大的摩擦,不利于齒輪轉(zhuǎn)動;尺寸過大的話會引起齒輪的嚙合齒寬變小,造成傳動不平穩(wěn)。因此采用本文開發(fā)的模塊對此模型公差進行分析。
圖4 實例模型
裝配尺寸鏈生成的人機交互過程如下:
Step1:選擇齒輪的右端面和右擋環(huán)的左端面作為封閉環(huán);點擊選擇封閉環(huán)按鈕完成如下功能:①尺寸鏈組成環(huán)的查找;②剔除多余環(huán)節(jié)(將參與多個裝配的無關約束剔除)。
Step2:點擊查找組成環(huán)按鈕,完成對組成環(huán)信息顯示存儲,并高亮顯示約束,如圖5所示。
圖5 裝配尺寸鏈生成向?qū)?/p>
Step3:選擇生成尺寸鏈按鈕,完成尺寸鏈表達函數(shù)建立;通過尺寸鏈生成向?qū)Й@得各個組成環(huán)的尺寸信息[10]如下:
Step4:公差分析設計模塊的使用。運用蒙特卡羅法對各個尺寸進行模擬抽樣分析。
對以上不同抽樣次數(shù)得到的封閉環(huán)尺寸進行統(tǒng)計,以統(tǒng)計次數(shù)為縱坐標,以封閉環(huán)尺寸區(qū)間為橫坐標,各個分布圖如圖6所示。
圖6 封閉環(huán)尺寸分布圖
由表1和圖6可以看出抽樣次數(shù)在低于1萬時,封閉環(huán)公差有顯著變化,抽樣次數(shù)超過1萬次時,封閉環(huán)公差變化已趨于平緩,抽樣次數(shù)超過10萬次時,封閉環(huán)尺寸基本符合統(tǒng)計學中的大數(shù)定理和中心極限定理,同時也符合實際的尺寸分布,封閉環(huán)的公差基本穩(wěn)定在0.460左右,因此運用蒙特卡羅法求得的封閉環(huán)公差在模擬次數(shù)10萬以上時可以得到較高的精度。
表1 實驗結(jié)果
根據(jù)以上分析可知運用蒙特卡羅法得到的公差結(jié)果0.46小于極值法所得的封閉環(huán)公差0.75,因此同等裝配精度要求下,運用蒙特卡羅法模擬、分析裝配過程,可以降低各零件的實際加工精度。在產(chǎn)品的設計、裝配過程中,通過此軟件對裝配模型進行尺寸鏈生成、公差分析,可以得到滿足裝配精度要求的裝配尺寸鏈,并且組成環(huán)尺寸精度根據(jù)實際加工可以適當放大,降低加了工成本。
本文提出了一種新的面向公差設計的裝配信息用戶數(shù)據(jù)結(jié)構(gòu),優(yōu)化了尺寸鏈生成的搜索算法,詳細介紹了Creo約束機制中裝配約束特征的識別和提取;開發(fā)了一套實用的基于裝配尺寸鏈自動生成的公差分析軟件,其操作方便、快捷、人機交互性好、集成程度高;為產(chǎn)品設計人員在進行裝配設計的時候提供了便利,通過虛擬裝配干涉檢驗,確定裝配精度,直接在設計環(huán)節(jié)進行修改,提高了工作效率;實現(xiàn)公差設計由傳統(tǒng)的經(jīng)驗數(shù)據(jù)到精確的數(shù)值分析,提高了設計的準確性和制造水平,節(jié)約了制造成本。并結(jié)合實例驗證了實用性。
[1]王恒,寧汝新. 計算機輔助公差設計與分析的研究現(xiàn)狀及展望[J]. 航空制造技術(shù),2006(3):73-75,102.
[2]何景熙,肖迪,王燦.計算機輔助二維裝配尺寸鏈分析計算關鍵技術(shù)研究[J].組合機床與自動化加工技術(shù),2002(4):51-53.
[3]王恒,寧汝新,唐承統(tǒng). 三維裝配尺寸鏈的自動生成[J]. 機械工程學報,2005,(6):181-187.
[4]王克沖. 用蒙特卡羅法解尺寸鏈問題[J]. 南京理工大學學報(自然科學版),1985(1):53-59.
[5]劉飛. 基于Pro/E的裝配公差設計研究[D].哈爾濱工程大學,2010.
[6]劉之生.尺寸鏈理論及應用[M].北京:兵器工業(yè)出版社,1990(1):122-124.
[7]楊文龍.面向裝配的公差設計系統(tǒng)研究[D]. 哈爾濱:哈爾濱工業(yè)大學,2011.
[8]董銀月. 基于蒙特卡洛方法和改進PSO算法的裝配公差優(yōu)化設計[D].武漢:華中科技大學,2011.
[9]王兆證. 計算機輔助尺寸公差設計的研究[D].南京:南京農(nóng)業(yè)大學,2002.
[10]趙金才,劉新凱,劉書桂.基于Pro/Toolkit的實體模型尺寸信息的提取[J].組合機床與自動化加工技術(shù),2005(3):22-24.
(編輯 李秀敏)
Development and Application of Computer Aided Tolerance Design
WEI Jian-dong,LI Jing-rong,SU Hang-peng
(School of Mechanical and Automotive Engineering,South China University of Technology , Guangzhou 510641,China)
Based on the current computer aided tolerance design software operation is complex and lack of assembly dimension chain analysis of the status quo, this paper builds data structure for tolerance design of assembly information, to facilitate the analysis of tolerance design; on the basis of the generation assembly dimension chain algorithm of the optimization and used Monte Carlo method to tolerance analysis ,developed a set of application software which based on assembly dimension chain automatic generation of computer aided tolerance design module , in the mainstream 3D modeling software Creo on the secondary development platform to achieve, and an example provided to testify the practicability .
computer-aided tolerance design; assembly dimension chain; creo secondary development;Monte -Carlo
1001-2265(2014)01-0064-04
10.13462/j.cnki.mmtamt.2014.01.018
2013-05-27;
2013-06-30
魏建東(1987—),男,河南南陽人,華南理工大學碩士研究生,研究方向為數(shù)字化設計與制造,(E-mail)wjd1425@163.com;
TH164;TG65
A