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