孟國興
(大連機床集團技術中心,遼寧大連 116620)
基于Pro/E的大型斜床身數控車床的程序設計
孟國興
(大連機床集團技術中心,遼寧大連 116620)
以DL50大型數控車床為例,詳細介紹了裝配的參數化及程序設計方法和技巧。
公稱參數 程序設計 條件語句 EXECUTE語句
不同于小型數控車床,即使在同一加工直徑或同一床身的前提下,大型數控車床也應有多種不同加工長度、不同機床承重和不同功能配置,最終必須形成產品的系列化設計。這樣,才能用最低的成本,組成多種不同性能的機床,來滿足不同領域的不同要求。要在極短的時間內開發出多種相似的系列產品,就必須借助計算機輔助設計,如Pro/E的參數化及程序設計。
參數化設計就是將零件模型中的定量信息變量化,使之成為可調整的參數,當對變量化參數賦予不同數值時,就可得到不同大小和形狀的新零件模型。參數化設計可以大大提高模型的生成和修改速度,在產品的系列設計、相似設計方面具有極大的應用價值。要實現參數化設計,參數化模型的建立極為關鍵。
程序是Pro/E工程設計軟件自動提供的、格式為TXT、記錄全部操作過程,它記錄著三維模型自始至終的建模步驟,包括裝配和特征的建立過程、參數設置、尺寸以及關系等模型信息。而程序設計就是根據需要編輯該程序,是Pro/E的一種高級應用。通過編輯可以實現全局參數自上而下的傳遞、零部件的自動裝配和替換、自動隱含及恢復、自動更改參數化模型及名稱等。參數化的零件模型必須結合裝配的程序設計,才能實現工程設計的自動化和智能化。基于Pro/E的參數化及程序設計的大型斜床身數控車床(見圖1)應具備以下功能:①輸入參數后,Pro/E自動生成全部裝配、零件三維模型,自動修改零件名稱和機床型號;②依據裝配、零件三維模型生成工程圖、總部件目錄及各種零件目錄、外購件目錄等。
本文以大型斜床身數控車床DL50為例,詳細介紹基于Pro/E的裝配參數化及程序設計的方法和技巧。

依據Pro/E參數化及程序設計要求,綜合本臺數控車床的動力參數、幾何參數和運動參數,能夠充分表征機床特性和能力的最主要的參數,可歸納為下面7個,其可供選擇的參數值如后面的程序中所述:①工件長度;②加工直徑;③機床承重;④尾座形式;⑤中心架規格;⑥刀臺形式;⑦卡盤規格。
上述7項參數設定后,便可開始機床設計,依據Pro/E同步設計要求,應按下述流程:
(1)首先創建一個布局文件,見圖2,圖號為DL50—001.lay。本文件用來定義機床的主要外型尺寸、參數及相互之間的裝配和位置關系,創建重要裝配基準面、基準軸線、提出注釋和技術要求等。

(2)創建機床的總裝配,圖號為DL50—001.asm。在總裝配中,依據工程知識、模塊化設計思想,分別創建本機床的全部子裝配。此時,因子裝配或零件中還沒有任何幾何實體,也可能沒有裝配約束關系,可以不裝配到位,這樣做的目的是快速建立起本產品的組成結構,便于自上而下地同步開展各子裝配的設計。
(3)根據布局文件,在總裝配及各子裝配中創建骨架模型,圖號為DL50—1001~8601_SKEL.PRT。將總裝配及各子裝配聲明到布局和名稱中,通過發布幾何和復制幾何將骨架模型中的重要基準和設計數據傳遞到各零件中。
(4)打開總裝配DL50—001.asm的程序,進行參數化及程序設計,詳細見下文所述。
(5)各子裝配開始設計,建立參數化零件模型,開展有限元、動態仿真等。
(6)隨時修改、調整、完善總裝配。
(7)設計工程圖、目錄、檢圖、交檔等。
打開總裝配DL50-001.asm,點選工具→程序→編輯程序,即可打開Pro/E自動創建的原程序(圖3)。DL50-001.asm原程序的組成為:
第一部分:抬頭。這部分的內容由Pro/E自動產生,用來標識文件,可不做任何修改。
第二部分:在INPUT……END INPUT語句之間。此處為設置輸入提示句與參數的位置,讓設計者輸入參數值或其它設計信息,來控制參數化零件模式的設計變更,實現人機交互。首次進入時,此部分呈空白狀態。

第三部分:在RELATIONS……END RELATIONS語句之間。此處為設置關系式的位置。凡是可以在工具→關系里設置的關系式,在這里也可以設置,并且兩者是互通的,這部分內容由設計者編輯時自行填入,首次進入時,此部分呈空白狀態。
第四部分:在ADD FEATURE#……END ADD語句之前。此處設置為全局參數傳遞程序位置。使用EXECUTE指令,該指令僅能將參數傳遞到相鄰的下一級,通過下一級裝配中的EXECUTE指令繼續向下下級傳遞直至最底層。參數傳遞到相關級后,便可開始本級的參數化及程序設計。
第五部分:在ADD FEATURE#……END ADD之間。每個ADD FEATURE到END ADD代表著一個特征,而介于ADD FEATURE到END ADD之間的文字為該特征的建立過程與參數設置。這部分所占的比例最多,由Pro/E自動產生,不能做任何修改。但可包容在某個或多個嵌套條件語句之間,從而控制該特征的產生與否。即滿足條件時產生該特征,否則不產生。
第六部分:在MASSPROP……END MASSPROP之間。此處為設置質量性質的位置。這部分的內容由設計者編輯時自行填入。第一次進入時,此部分呈空白狀態。如使用標準模板時,事先可填好。
正如前面設計流程第4項所述,在各子裝配開始設計前,要初步完成總裝配參數化及程序設計。主要應實現以下5個功能。
(1)設置參數輸入提示句
在提示語句的后面一定要注明可供選擇的參數值,便于以后或其他設計員操作此裝配。例如:


此后,當設計者更新總裝配時,自動彈出參數輸入對話框,見圖4,可根據提示句輸入參數值。

(2)校驗新輸入參數的有效性
每次輸入時,難免輸入不正確參數,如用此不正確參數驅動模型,會產生不可預知的嚴重后果。因此,必須對每次、每個輸入的參數做有效性校驗,如輸入不正確,系統將維持上次的參數值不變,并且保證此次的不正確參數值不會顯示在提示語句的后面。如下面程序所示,這是一種有效的校驗方法:將本參數各個許用值組成的多個條件語句串聯起來,滿足某個條件時便做一次賦值操作,被賦值參數在程序的最后再重新賦值給本參數,不正確參數值便不會顯示在提示語句的后面,見圖5,其程序為:


根據3項參數的意義,容易確定與之相關的各部件及零件。即:
①工件長度:用來驅動床身、Z軸滾珠絲杠、排屑器、防護等組中相關零件的總長度。
②工件直徑:用來驅動床頭箱、尾座、刀臺中心高。
③機床承重:用來驅動床頭箱主軸及軸承直徑、尾座套筒直徑。

注意,程序設計首先要將通過窗口輸入的參數,經裝配傳遞給裝配內的各零件,方法之一就是使用“EXECUTE”語句。采用布局和聲明布局的方法也可以實現同樣的功能。
布局方法適合大型的裝配,即需要控制的參數多。在大型裝配的自上而下設計中可充分發揮它的功能。而程序設計中的“EXECUTE”語句適合較少裝配的參數傳遞。采用“EXECUTE”語句,零件的參數名與裝配參數名稱可以不同,而采用聲明布局方法,零件與裝配的參數名則必須相同。
程序輸入參數比布局傳遞參數更靈活。例如,按模塊化設計要求,床頭箱雖然為本機床重要部件,同時也要考慮到被其它機床借用。如該部件已聲明某個布局,當床頭箱的某個參數不適用新機床時,是不能修改已聲明的布局的;而用程序輸入參數的方法,床頭箱的參數只受控于上級裝配的程序或布局,因此,床頭箱可作為獨立的模塊廣泛用于其它產品當中。
另外,布局優先于程序。即已程序化的裝配或零件,一旦聲明布局后,程序中的參數將被布局中的同名參數屏蔽掉,但程序中傳遞參數的指令仍然可有效地向下傳遞參數。當取消聲明后,程序輸入參數的功能也將自動恢復。利用此特點,可以很好地解決大型子裝配的參數傳遞。例如大型斜床身車床的防護,零件數量眾多,如采用程序傳遞參數,會十分不便,這時可將各參數加入到布局中,然后與參數相關的眾多零件通過布局關聯起來。而本組內,為了設計參照方便而裝入的諸如床身、床頭箱等參考零件,不要與此布局文件關聯,這些零件的驅動參數,仍是通過布局再經過裝配中傳遞參數指令傳遞過來的。這些零件才允許再次檢回到公共空間。
有些獨立部件,如卡盤或尾座會有多種規格和樣式,但每臺機床只需一套,因此要根據參數信息實現自動替換。方法有四種:
(1)用裝配族表替換
當裝配至少有一個是表驅動零件時,如圖6床頭箱中的各種軸承等,此裝配便可做成裝配族表,用族表替換簡單易行,在程序中可直接指定實例各稱來實現自動替換,程序同下。

如圖7所示,本機床可分別安裝三爪卡盤、四爪卡盤及中空卡盤。但三種卡盤模型因形狀或結構相差較大,必須用3個零件族表來表示。這時可先組成3個子裝配族表,每個子裝配族表如圖8所示,表中可直接寫入各零件的實例名稱。在總裝配中實現替換前,要先將每個子裝配族表中的普通模型及總裝配事先聲明布局、名稱后,才可在總裝配中,用指定實例名稱辦法實現直接替換。


程序如下:

如裝配中無族表驅動零件,但又希望用裝配族表方法替換,也可組成一種特殊的裝配族表。此時,要通過不同零件的組合方式或不同的定位尺寸等,來生成不同的實例。在族表中可用“Y”表示選擇了該零件,用“N”表示不選擇或直接寫入某零件的件號(已裝入到裝配中)。注意,件號不要用N開頭,系統易誤操作,導致本件不會出現在裝配中。
(2)用指令直接替換
當部件功能、形狀相差較大,不能組成族表時,可獨立成部。如本機床的尾座,用直接在程序中指定名稱的方法直接替換,但必須將3個安裝基準先在布局中聲明名稱,程序同上。
(3)用條件語句隱含或恢復的辦法實現替換
此方法,用在部件只有兩、三種,如本機床中心架,可先將兩種中心架全部裝配到總裝配中,通過程序輸入選用條件后,用條件語句隱含或恢復該部件,因要獨自裝配到組件中,故不用事先聲明布局名稱。本例程序如下:


以上三種替換,都是建立在各部件均裝配在骨架模型之上,相互間沒有任何參照關系,本部件的替換不會影響其它部件。反之,這種替換會引起與之相關部件基準參照的丟失,造成特征生成失敗。這時,必須用下面的方法替換。
(4)用互換文件替換
點選創建→組件→互換,可生成一個互換文件,如圖9。該文件可建立起兩個需互換零件在指定的總裝配中,所有已用參照和被用參照的對應關系。這樣,即可實現手動和自動替換。

上述幾種替換方法,自動替換后就不可再手動替換。否則,程序中的變量部件名稱會自動修改為手動替換時指定的部件名稱,下次就不能自動替換了。另外,自動替換時,同名稱基準面按“對齊”方式,因此,聲明名稱時,一定要考慮基準面的方向也應相同。在布局文件中,用草繪創建基準面時,可用基準面側面紅色輔助線來標記平面的法線方向。
商品機床都有自己的機床銘牌,其上注明機床型號、規格、主要參數等。如圖10,“DL”表示產品系列,“50”表示最大加工直徑的1/20,“Z”表示為加重型,“×4”表示最大加工長度為4 m。以上內容均應隨參數的變化而自動更改。故機床參數先要傳遞到該零件,可用一條語句,傳遞全部參數,即:

在利用條件語句、字符串運算語句等,編程生成機床型號并放置在指定的變量參數內。該銘牌上的文字是用3個拉伸文本特征創建的,文本要用“插入參數”功能,插入參數內對應的文字(程序將在下文中討論)。
在總裝配中,有些獨立部件可有不同的安裝位置和工作狀態。如床鞍的左右極限位置、刀臺的上下極限位置以及這些部件所用的拖鏈、軟油管、伸縮防護罩等,也應隨移動部件的位置,動態改變形狀和位置。這些重要信息,是機床設計者必須熟知的。因此,可用輔助參數來驅動這些模型。這些參數,不能像全局參數那樣通過程序輸入窗口輸入,以免太多的全局參數會影響程序設計的效率。此時,可用布局文件內的參數并通過聲明布局傳遞到各組件及零件。如圖11,D16:1及D173:35是床鞍的左右、刀臺的上下位置約束尺寸代碼,分別在總裝配及子裝配中編程,即可實現動態切換位置。程序如下:



為使布局中的參數能集中顯示出來,可在布局中先創建一個動態報表的格式文件,如圖12。先創建表格,再創建“重復區域”,輸入如圖所示的“報告符號”,更新表格,便生成如圖13參數表。先單擊在雙擊表中的參數值,輸入有效參數即可驅動總裝配中的模型。


到此,總裝配的程序設計完畢。各子裝配的程序設計,也用同樣的方法,只是有些內容不一樣(如替換的不是部件而是零件等)。當參數傳遞到最底層的零件后,便可開展零件模型的參數化建模。
實踐證明,參數化設計的床身、中心架支架等,鑄造及加工工藝性良好,鑄造成本降低,程序穩定可靠。該系列產品現已定型生產。
基于Pro/E的DL50系列大型數控車床的參數化及程序設計,使機床的設計周期由一年減少到三個月,綜合效益十分顯著,且為二次開發打下了良好的基礎。
作者:孟國興,男,1963年生,工程師,主要從事數控車床研發及制造技術、Pro/E應用研究。
如果您想發表對本文的看法,請將文章編號填入讀者意見調查表中的相應位置。
Programme Design of Large Inclined Lathe Bed NC Lathe Based on Pro/E
MENG Guoxing
(DMTG Technical Dep.,Dalian 116620,CHN)
This article takes DL50 large NC lathe as example to introduce the method and technique of assembly parameterization and program design.
Nominal Parameter;Program Design;Conditional Statement;Execute Statement
(編輯 李 靜)(
2009―07―16)
10319