張 晶
(特靈科技亞太工程技術中心,上海 200051)
鈑金件在各類工業產品中的應用非常廣泛,尤其是對于空調箱箱體設計來說,大部分的零件都是鈑金件,鈑金經過折彎加工成型,然后拼接組合在一起組成箱體,所以鈑金件的設計是非常重要的。而針對一些對密封效果要求更高的產品,鈑金件的輪廓會設計的比較復雜以達到更緊密的配合,設計難度不僅體現在前期概念階段,而且對于后期模型更新維護也是非常耗時的。所以在此以空調箱的鈑金件為例,介紹一種基于Pro/Program的參數化設計方法,利用這一方法能夠減少模型的修改時間,提高零件的標準化程度,以及方便后期維護和管理。
以空調箱為例,一般由多塊面板拼接組成每一個面,再把六個面拼接成箱體,而對于箱體同一個面來說,用到的零件的輪廓是類似的。例如空調箱的側板,所有側板都是與頂板和底面安裝,所以上下的翻邊設計是完全一樣的,唯一不同的是零件左右側的翻邊。側板根據不同的安裝位置,與其配合的有各種零件,例如門、側板、背板等,為此會設計各種不同的翻邊類型。
假設空調箱側板零件左右側翻邊共有3種不同的類型,并且每側都存在3種選擇,用編號01,02,03代表不同翻邊類型。在非參數化設計中,根據左右側翻邊類型的不同進行排列組合后,將需要9個不同的零件號,詳見表1。

表1 零件的排列組合
根據表1,在Creo軟件中建模9次,創建9個不同的零件。為了節省重復建模的時間,一般先創建第一個零件1,完成后另存成一個新零件2,在零件1的基礎上修改右側的翻邊特征,以此類推完成其余零件的創建。建模完成后的這9個新零件分別是獨立的,相互之間沒有任何關聯。
對于非參數化設計,在初期設計時可以通過復制并修改的方式快速得到所有零件,但是如果任意一側的翻邊發生改變時,修改模型將會非常耗時。例如空調箱側板,是通用翻邊,一旦上下翻邊在初次設計完成后發生改變,將影響到全部9個零件,而且所有改動都是重復操作,需要改動9次。同樣的,如果翻邊01發生設計變更,零件1,2,3,4,7都需要做對應的重復更新。以上只是基于3種翻邊類型且只更改一次的情況,而現實設計過程中,會進行多次修改,而且對于空調箱的側板設計來說,一般會有大約9種不同翻邊類型,然后進行排列組合,所以零件的數量會更多,只要發生設計變更,大量的零件需要返工,而且大部分時間是花在重復的工作上。
Pro/Program是Creo軟件中的一個模塊,用程序記錄了創建整個零件的過程,包括特征名字、參數等信息。每一個特征都會對應一段簡單的程序,所以通過改動或者添加程序來控制特征或者參數是很容易操作的。基于Pro/Program并結合創建的新參數,對程序進行編改可以實現在特定條件下控制每一個特征的顯示或不顯示,然后利用族表創建不同特征的子零件,用對應的參數來控制各種不同特征的顯示。
利用Creo里Pro/Program的功能對零件進行參數化建模設計,以空調箱側板零件的3種翻邊類型為例,介紹具體7個設計步驟,實現參數化控制模型特征。
(1)步驟1:創建共用翻邊
首先創建所有零件需要共用的翻邊,對于側板零件來說就是上下翻邊,依次創建APIOUTERFIRSTWALL、TOPFLAT1、TOPFLAT2以 及4個Bottom flange的 特征,如圖1所示,這些翻邊在每一個子零件中是通用的,在任何條件下都不需要Suppress,所以不會涉及之后的操作。
(2)步驟2:創建第一個右側翻邊
先創建右側第一種類型01所有的特征,如果每側翻邊有多種類型,之后模型樹將會有非常多的特征,用默認的名字容易產生混淆,所以建議重命名每一個特征來區分不同類型的翻邊,方便之后管理查找和控制,例如圖1中的命名方式,一目了然。
(3)步驟3:創建左右側其余特征翻邊
Suppress步驟2創建的所有右側01翻邊的特征,繼續創建右側02翻邊的特征,如圖1所示。以此類推,完成右側以及左側所有類型翻邊特征的創建。注意:在創建過程中,保證每一側只顯示當前翻邊類型的特征,完成一種類型后Suppress全部特征,再開始下一個新翻邊類型的創建。

圖1 創建翻邊
(4)步驟4: 設置參數
為了方便在Pro/Program程序中控制不同的特征,需要先創建兩個新參數Parameter,分別代表左右側翻邊的類型。如圖2所示,APIPROFILEL表示左側翻邊類型,APIPROFILER表示右側翻邊類型。這兩個參數的類型建議設置為整數,參數值以1,2,3以此類推代表不同翻邊類型,創建這2個參數的目的是在步驟6中把參數作為條件加到程序中,利用參數值的不同變化,來控制各個特征,詳見步驟6。

圖2 創建新參數
(5)步驟5:顯示Feat ID
Creo中創建的所有特征都會有一串自己獨有的數字作為Feat ID,通過在模型樹設置中打開顯示Feat ID,可以查找到每一個特征的ID,Pro/Program中的程序也是引用這個ID 號碼來標記每個特征,這一步是為了方便之后在Pro/Program大段的程序中找到需要定義的特征的程序段。
(6)步驟6:Pro/Program程序中IF語句添加
打開Pro/Program,通過搜索Feat ID找到需要控制的特征的程序段,并在程序段前后添加IF-END IF語句。每一個特征都是以ADD FEATURE開始,直到下一個END ADD結束,所以很容易找到并區分不同特征的程序段。
例如,在模型樹中找到所有右側翻邊的特征的Feat ID,ID是從8 484開始往下至10 240,這些特征在模型樹中是連續的,對應的程序段也會是連續的,所以只要在程序中查找到第一個ID以及最后一個ID就足夠了。在第一個特征 ID 8484前加入以下語句:IF APIPROFILER == 1,表示IF語句之后的特征只會在參數APIPROFILER為1的時候顯示。然后在最后一個特征ID 10240結束后加入END IF,表示IF語句結束。
以下程序段中第一句和最后一句是需要自己手動輸入的,其余是默認程序,不需要任何改動。以此類推在program中找到下一個翻邊類型的所有特征,用同樣方法進行IF語句添加,直到所有翻邊特征的顯示條件都書寫完成,保存并關閉程序。


(7)步驟7: 創建參數化族表
最后一步是創建族表Family Table,假設母零件號是495302540000,在其下可以創建多個子零件instance,如圖3所示,在族表中新添加兩列參數(步驟4中創建的APIPROFILEL和APIPROFILER),利用參數值來控制左右翻邊的類型,并根據所需要的左右翻邊的排列組合添加所需要的所有子零件instance。至此,所有的參數化建模工作完成,對于側板零件所有的變化組合都集合在一個族表中。
考慮到零件可視化的好處,建議將零件號后4位用來定義翻邊類型,如果左側翻邊APIPROFILEL是7,右側翻邊APIPROFILER是3,那零件號后四位就使用0703,這樣通過零件號碼就能知道零件的樣子,不需要打開查看。
根據3.1中創建的模型族表如圖3所示,所有的側板零件都集合在同一個族表中,任何設計變更都可以通過對母零件的修改來實現整個族表中子零件的更新。如果上下共用翻邊的設計有任何改變,僅僅需要修改一次母零件即可,所有子零件instance都將隨之自動刷新成最新的設計,而且不論左右翻邊類型如何排列組合,都不影響更新。若左右側的翻邊設計有更改,可在此族表母零件中直接修改相對應的翻邊類型的特征,對應此類型的所有子零件也會隨之更新。以前文中的3種翻邊類型組合為例,對比非參數化的設計,利用Pro/Progarm參數化設計的零件,只需要1/9的時間就能完成一次更改,對于更多排列組合的情況來說,節省的時間將更多。

圖3 族表子零件
對于大量相同類型的零件,例如箱體的側板或者頂板等,零件有兩側固定翻邊,而另外一側或者兩側是變化的不同特征,可以利用Pro/Program創建成族表。這樣在有任何設計變更時,只需要更改一次母零件,就能實現整個組表中所有子零件的更新。特別是在設計初期更改比較頻繁的階段或者針對輪廓復雜的同類零件,相比于一個個獨立零件的更新,更能體現這一方法的高效,減少產品的設計周期。
如果在設計產品前就考慮用Pro/Program的方法來參數化建模,就需要在建模前把產品中的所有零件進行歸類,分析并找到類似的零件,然后創建在同一個族表中。這個方法不僅能簡化零件設計,更能發現完全相同的零件,避免同零件不同號的問題。對于同類零件,可以為每一種翻邊設計定義命名,不論是在更新零件還是設計新零件時,優先采用現有的翻邊類型。這樣不僅能夠標準化產品中的零件,更能方便加工生產。
在非參數化設計中,每個零件都是獨立的,互相不存在任何的關系,所以需要對所有的零件進行維護管理。而基于Pro/Program的參數化設計,擁有相似特征的零件在同一個族表中,所以只需要管理維護族表,一旦族表中某一個子零件發生設計更改,一定會涉及整個族表,很容易找到與之關聯的族表子零件,進一步確定是否有其他零件需要同樣的更改,這樣不容易出現漏改零件、改錯零件的問題。
