0 引言
大型覆蓋件成型模具的圓角對沖壓件的最終質量、合模率影響很大,減小凹圓角半徑是模具企業常用的方法,是不可缺少的設計環節。傳統方法主要由鉗工手工研磨模具的凹圓角,勞動強度大、效率低且質量難以保證。目前已經普遍采用CAD軟件,在數控加工前預先減小型面中凹圓角半徑,主要有以下兩種方法:(1)選擇所有的凹圓角,沿著負Z方向落下一定距離;(2)應用曲面變形功能減小凹圓角,凸圓角保持不變,使上下貼合存在縫隙,產品靠凸模成型。在當前設計方法中,只能逐個處理圓角,導致操作繁瑣、設計周期長,無法處理側部圓角,導致后續增加研磨工作量,同時生成圓角面的質量較差。
目前提供圓角解決方案的軟件很少,僅有Tebis、NX兩款國外軟件,提供逐個圓角的處理方法,設計效率低,而且價格非常昂貴。因此,為了提高大型覆蓋件成型模的設計制造效率和圓角質量,基于國產三維CAD系統研發高效、靈活的圓角處理功能是非常必要的。
1 系統設計
在模具型面設計時,設計人員需要將上游企業提供的模具型面數據導入到CAD軟件中,后續工作流程如圖1所示。首先是準備工作,需要先打散整個模面,使其分解為單個面,由于第三方數據的原因,會產生多余的頂點,為了便于后續的圓角調整,需要刪除這些頂點;然后,最關鍵的是圓角檢索和調整處理,用戶需要批量減小圓角,來提高圓角的處理效率,此階段是整個解決方案的重中之重;再次,針對一些無法自動處理的圓角,需手工輔助進行調整或刪除;最后,保存文件,并導出數據。在整個工作流程中,保證處理圓角的成功率是最重要的,也是解決用戶最實際的問題。
圖1 用戶工作流程
通過上述業務需求的分析,結合實際工作流程,可以將凹R角預處理功能分解為三部分,功能結構如圖2所示。模面預處理部分是圓角處理的基礎,有利于提高自動處理圓角的成功率;自動調整圓角部分是核心功能,實現批量圓角的檢索、分割和減小處理;手工調整圓角部分起到輔助作用,針對一些特殊無法自動處理的圓角面,需要通過手工方式來修補圓角面。在整個凹R角預處理功能中,三部分相輔相成,缺一不可。
圖2 凹R角預處理功能結構
2 系統實現
2.1 模面預處理
由于模具用戶的模面數據大部分都是來源于CATIA、NX等軟件,中間數據交換格式文件都是以IGES為主,當讀入IGES數據時都會自動把片體打散為單個面[10],面法向可能存在不一致。但有些數據可能來自STEP文件,由于STEP文件不會自動打散片體。因此,需要將這些曲面先打散,保持所有面法向一致。
經分析發現,在模面預處理部分需提供以下兩個命令:
(1)分離:實現打散一整張片體,分解成分散的單個面。
(2)面反轉:調整面法向,保持一致。
分離命令中從指定面中分離出所有面的關鍵算法代碼如下:
CMD_MNG.GotVlNum (APID, SRFINP2, &valNum );
if ( valNum == 0 ) {
m_button4.StFcus();
break; }
2.2 自動調整圓角
目前CAD軟件在處理圓角過程中,只能逐個選擇圓角,操作復雜繁瑣,為了方便用戶操作,增強功能的易用性,需要軟件能夠按照圓角尺寸、凹凸性等條件自動檢索識別出來,同時為了方便管理圓角面,需歸類識別出所有圓角面,最大化滿足用戶的使用要求。
此外,由于型面數據的精度問題,不能完全保證識別出所有的圓角面,還需要對不能自動識別的圓角進行分割處理,如圖3所示,使其大部分面變成規則圓角面,便于后續提高圓角調整的成功率。通過自動批量處理的方法,實現快速的調整圓角,提高圓角的處理效率,同時也要提供多種應用方法來滿足不同場景的圓角。
圖3 圓角分割示意圖
因此,在自動調整圓角部分需提供以下三個命令:
(1)圓角檢索
把曲面中符合條件的圓角面檢索出來,圓角檢索流程如圖4所示,根據面的UV方向計算距離是否在允許公差范圍內,判斷識別是否是圓角面。從需求實現角度來看,主要實現以下功能:
檢索對象:把指定面作為檢索對象,檢索出面中所有的圓角面。
檢索設置:檢索一定半徑范圍內的所有凸或凹圓角面。
顏色和圖層設置:檢索出的圓角面指定顏色和分配圖層。
圖4 檢索圓角面流程
圓角檢索命令中檢索曲面上所有單個面的關鍵算法代碼如下:
stat=TiInqComFac(&idCom1,&numfac1,&faceidP);
if (stat != 0){
goto rtn;}
stat=TiInqComFac(&idCom2,&numfac2,&faceidP);
if (stat != 0){
goto rtn;}
(2)圓角分割
把曲面中不規則的圓角面分割為規則和不規則的圓角面,不規則的圓角面將不能再被分割,主要實現功能:根據面的幾何拓撲關系,自動分割圓角面。
圓角分割命令中的面分割關鍵算法部分代碼如下:
if (m_SetDivSEve != ITEM_SEVE_VALUE) {
m_cmbSetDiv.SetCurSel(m_SetDivSEve);}
{return m_cmbSetDiv.GetCurSel();}
if (nDivide == 1) {
DivideFillet(&tmpFltInf,divComFlt,divFacFlt); }
(3)圓角減小
參照圓角周圍面的延長面,根據減小的圓角半徑值,重新創建圓角面,實現圓角的減小處理,主要實現以下功能:
調整方式:提供按比例縮小、指定半徑值、指定減小值三種調整方式,可自定義相關參數。
顏色和圖層設置:減小的圓角面指定顏色和分配圖層。
圓角分割:針對不規則的圓角,增加自動分割圓角處理功能。
圓角減小命令中逐個圓角循環處理的關鍵算法代碼如下:
while (pos != NULL) {
if (!UpdateProgress(++nLoop)) {
break; }
if (nMode == D4OPT2 || fltRadInf.FltType == FIXEDRAD) {
bRet = ReduceGradualRadius(&fltInf, nMode, dValue, nDivide, newFltidAry);
} else{
continue; }}
2.3 手工調整圓角
在自動處理圓角時,有些圓角存在質量差和精度低等問題,無法實現自動處理,此類型的圓角就需要手工調整功能進行處理。通過分析此類圓角的類型,凹R角預處理功能中提供六個功能進行手工調整圓角,包括邊線附加、頂點附加、邊線刪除、面修剪、N邊填充和精確整體變形。其中前三個功能主要實現面上頂點附加、邊線附加和刪除,在保證面的質量前提下,通過改變面的拓撲幾何關系方法,正確的處理一些不規則的三角形、多邊形等曲面;后三個功能主要實現面的修剪、填充變形處理,解決在面面交匯位置出現空洞、錯位等問題。通過應用手工調整的方式,盡量修補完善更多的面,來提高型面的整體質量。上述六個功能屬于軟件中已具備的命令,在此不再做詳細介紹。
3 應用實例
凹R角預處理功能已經在國產三維CAD系統SINOVATION中實現,并已經應用到六家大型沖壓模具設計制造企業。以調整變形車門模面上的圓角為例,首先根據設置的參數,如圖5所示,檢索車門模面中的所有凹圓角面;隨后,如圖6所示,圓角半徑按比例縮小20%,自動批量減小所有的圓角面。通過現場的調試和驗證,用戶給出了高度的評價,非常認可凹R角預處理功能的實用性和準確性。從整個設計過程分析,減少了用戶修改圓角工作量的80%左右。
圖5 圓角檢索處理
圖6 圓角減小處理
通過凹R角預處理功能,可以清晰查看到圓角減小后的變化效果。圖7展示了把圓角R10減小到R8的前后對比效果。
圖7 圓角減小前后對比效果
通過內部測試和用戶現場測試凹R角預處理功能,分析出凹R角預處理功能可以處理的所有圓角類型,如表1所示。其中,可以自動減小R角的類型有平直R角、圓弧R角、單邊漸變R角、雙邊漸變R角,需要手工調整R角的類型有合流部位R角。
表1 所有圓角類型
4 結束語
本文通過分析沖壓模具用戶的實際生產設計需求,在國產三維CAD系統SINOVATION中實現了凹R角預處理功能的研發,基于傳統的手工調整圓角方法,增加了自動批量處理圓角的方法和特殊圓角面的分割處理,為模具型面的設計提供了一套完整的圓角預處理功能,使用戶能夠在軟件中預先減小各種類型的圓角面,省去了后期繁瑣的手工研磨過程,提高了型面的設計效率。經過現場用戶驗證,相比傳統方法,修改圓角工作量減少了80%左右,得到了用戶的高度評價。
(審核編輯: Doris)
分享