孟國(guó)興
(大連機(jī)床集團(tuán)技術(shù)中心,遼寧大連 116620)
基于Pro/E的大型斜床身數(shù)控車床的程序設(shè)計(jì)
孟國(guó)興
(大連機(jī)床集團(tuán)技術(shù)中心,遼寧大連 116620)
以DL50大型數(shù)控車床為例,詳細(xì)介紹了裝配的參數(shù)化及程序設(shè)計(jì)方法和技巧。
公稱參數(shù) 程序設(shè)計(jì) 條件語(yǔ)句 EXECUTE語(yǔ)句
不同于小型數(shù)控車床,即使在同一加工直徑或同一床身的前提下,大型數(shù)控車床也應(yīng)有多種不同加工長(zhǎng)度、不同機(jī)床承重和不同功能配置,最終必須形成產(chǎn)品的系列化設(shè)計(jì)。這樣,才能用最低的成本,組成多種不同性能的機(jī)床,來(lái)滿足不同領(lǐng)域的不同要求。要在極短的時(shí)間內(nèi)開發(fā)出多種相似的系列產(chǎn)品,就必須借助計(jì)算機(jī)輔助設(shè)計(jì),如Pro/E的參數(shù)化及程序設(shè)計(jì)。
參數(shù)化設(shè)計(jì)就是將零件模型中的定量信息變量化,使之成為可調(diào)整的參數(shù),當(dāng)對(duì)變量化參數(shù)賦予不同數(shù)值時(shí),就可得到不同大小和形狀的新零件模型。參數(shù)化設(shè)計(jì)可以大大提高模型的生成和修改速度,在產(chǎn)品的系列設(shè)計(jì)、相似設(shè)計(jì)方面具有極大的應(yīng)用價(jià)值。要實(shí)現(xiàn)參數(shù)化設(shè)計(jì),參數(shù)化模型的建立極為關(guān)鍵。
程序是Pro/E工程設(shè)計(jì)軟件自動(dòng)提供的、格式為TXT、記錄全部操作過(guò)程,它記錄著三維模型自始至終的建模步驟,包括裝配和特征的建立過(guò)程、參數(shù)設(shè)置、尺寸以及關(guān)系等模型信息。而程序設(shè)計(jì)就是根據(jù)需要編輯該程序,是Pro/E的一種高級(jí)應(yīng)用。通過(guò)編輯可以實(shí)現(xiàn)全局參數(shù)自上而下的傳遞、零部件的自動(dòng)裝配和替換、自動(dòng)隱含及恢復(fù)、自動(dòng)更改參數(shù)化模型及名稱等。參數(shù)化的零件模型必須結(jié)合裝配的程序設(shè)計(jì),才能實(shí)現(xiàn)工程設(shè)計(jì)的自動(dòng)化和智能化?;赑ro/E的參數(shù)化及程序設(shè)計(jì)的大型斜床身數(shù)控車床(見圖1)應(yīng)具備以下功能:①輸入?yún)?shù)后,Pro/E自動(dòng)生成全部裝配、零件三維模型,自動(dòng)修改零件名稱和機(jī)床型號(hào);②依據(jù)裝配、零件三維模型生成工程圖、總部件目錄及各種零件目錄、外購(gòu)件目錄等。
本文以大型斜床身數(shù)控車床DL50為例,詳細(xì)介紹基于Pro/E的裝配參數(shù)化及程序設(shè)計(jì)的方法和技巧。
依據(jù)Pro/E參數(shù)化及程序設(shè)計(jì)要求,綜合本臺(tái)數(shù)控車床的動(dòng)力參數(shù)、幾何參數(shù)和運(yùn)動(dòng)參數(shù),能夠充分表征機(jī)床特性和能力的最主要的參數(shù),可歸納為下面7個(gè),其可供選擇的參數(shù)值如后面的程序中所述:①工件長(zhǎng)度;②加工直徑;③機(jī)床承重;④尾座形式;⑤中心架規(guī)格;⑥刀臺(tái)形式;⑦卡盤規(guī)格。
上述7項(xiàng)參數(shù)設(shè)定后,便可開始機(jī)床設(shè)計(jì),依據(jù)Pro/E同步設(shè)計(jì)要求,應(yīng)按下述流程:
(1)首先創(chuàng)建一個(gè)布局文件,見圖2,圖號(hào)為DL50—001.lay。本文件用來(lái)定義機(jī)床的主要外型尺寸、參數(shù)及相互之間的裝配和位置關(guān)系,創(chuàng)建重要裝配基準(zhǔn)面、基準(zhǔn)軸線、提出注釋和技術(shù)要求等。
(2)創(chuàng)建機(jī)床的總裝配,圖號(hào)為DL50—001.asm。在總裝配中,依據(jù)工程知識(shí)、模塊化設(shè)計(jì)思想,分別創(chuàng)建本機(jī)床的全部子裝配。此時(shí),因子裝配或零件中還沒(méi)有任何幾何實(shí)體,也可能沒(méi)有裝配約束關(guān)系,可以不裝配到位,這樣做的目的是快速建立起本產(chǎn)品的組成結(jié)構(gòu),便于自上而下地同步開展各子裝配的設(shè)計(jì)。
(3)根據(jù)布局文件,在總裝配及各子裝配中創(chuàng)建骨架模型,圖號(hào)為DL50—1001~8601_SKEL.PRT。將總裝配及各子裝配聲明到布局和名稱中,通過(guò)發(fā)布幾何和復(fù)制幾何將骨架模型中的重要基準(zhǔn)和設(shè)計(jì)數(shù)據(jù)傳遞到各零件中。
(4)打開總裝配DL50—001.asm的程序,進(jìn)行參數(shù)化及程序設(shè)計(jì),詳細(xì)見下文所述。
(5)各子裝配開始設(shè)計(jì),建立參數(shù)化零件模型,開展有限元、動(dòng)態(tài)仿真等。
(6)隨時(shí)修改、調(diào)整、完善總裝配。
(7)設(shè)計(jì)工程圖、目錄、檢圖、交檔等。
打開總裝配DL50-001.asm,點(diǎn)選工具→程序→編輯程序,即可打開Pro/E自動(dòng)創(chuàng)建的原程序(圖3)。DL50-001.asm原程序的組成為:
第一部分:抬頭。這部分的內(nèi)容由Pro/E自動(dòng)產(chǎn)生,用來(lái)標(biāo)識(shí)文件,可不做任何修改。
第二部分:在INPUT……END INPUT語(yǔ)句之間。此處為設(shè)置輸入提示句與參數(shù)的位置,讓設(shè)計(jì)者輸入?yún)?shù)值或其它設(shè)計(jì)信息,來(lái)控制參數(shù)化零件模式的設(shè)計(jì)變更,實(shí)現(xiàn)人機(jī)交互。首次進(jìn)入時(shí),此部分呈空白狀態(tài)。
第三部分:在RELATIONS……END RELATIONS語(yǔ)句之間。此處為設(shè)置關(guān)系式的位置。凡是可以在工具→關(guān)系里設(shè)置的關(guān)系式,在這里也可以設(shè)置,并且兩者是互通的,這部分內(nèi)容由設(shè)計(jì)者編輯時(shí)自行填入,首次進(jìn)入時(shí),此部分呈空白狀態(tài)。
第四部分:在ADD FEATURE#……END ADD語(yǔ)句之前。此處設(shè)置為全局參數(shù)傳遞程序位置。使用EXECUTE指令,該指令僅能將參數(shù)傳遞到相鄰的下一級(jí),通過(guò)下一級(jí)裝配中的EXECUTE指令繼續(xù)向下下級(jí)傳遞直至最底層。參數(shù)傳遞到相關(guān)級(jí)后,便可開始本級(jí)的參數(shù)化及程序設(shè)計(jì)。
第五部分:在ADD FEATURE#……END ADD之間。每個(gè)ADD FEATURE到END ADD代表著一個(gè)特征,而介于ADD FEATURE到END ADD之間的文字為該特征的建立過(guò)程與參數(shù)設(shè)置。這部分所占的比例最多,由Pro/E自動(dòng)產(chǎn)生,不能做任何修改。但可包容在某個(gè)或多個(gè)嵌套條件語(yǔ)句之間,從而控制該特征的產(chǎn)生與否。即滿足條件時(shí)產(chǎn)生該特征,否則不產(chǎn)生。
第六部分:在MASSPROP……END MASSPROP之間。此處為設(shè)置質(zhì)量性質(zhì)的位置。這部分的內(nèi)容由設(shè)計(jì)者編輯時(shí)自行填入。第一次進(jìn)入時(shí),此部分呈空白狀態(tài)。如使用標(biāo)準(zhǔn)模板時(shí),事先可填好。
正如前面設(shè)計(jì)流程第4項(xiàng)所述,在各子裝配開始設(shè)計(jì)前,要初步完成總裝配參數(shù)化及程序設(shè)計(jì)。主要應(yīng)實(shí)現(xiàn)以下5個(gè)功能。
(1)設(shè)置參數(shù)輸入提示句
在提示語(yǔ)句的后面一定要注明可供選擇的參數(shù)值,便于以后或其他設(shè)計(jì)員操作此裝配。例如:
此后,當(dāng)設(shè)計(jì)者更新總裝配時(shí),自動(dòng)彈出參數(shù)輸入對(duì)話框,見圖4,可根據(jù)提示句輸入?yún)?shù)值。
(2)校驗(yàn)新輸入?yún)?shù)的有效性
每次輸入時(shí),難免輸入不正確參數(shù),如用此不正確參數(shù)驅(qū)動(dòng)模型,會(huì)產(chǎn)生不可預(yù)知的嚴(yán)重后果。因此,必須對(duì)每次、每個(gè)輸入的參數(shù)做有效性校驗(yàn),如輸入不正確,系統(tǒng)將維持上次的參數(shù)值不變,并且保證此次的不正確參數(shù)值不會(huì)顯示在提示語(yǔ)句的后面。如下面程序所示,這是一種有效的校驗(yàn)方法:將本參數(shù)各個(gè)許用值組成的多個(gè)條件語(yǔ)句串聯(lián)起來(lái),滿足某個(gè)條件時(shí)便做一次賦值操作,被賦值參數(shù)在程序的最后再重新賦值給本參數(shù),不正確參數(shù)值便不會(huì)顯示在提示語(yǔ)句的后面,見圖5,其程序?yàn)椋?/p>
根據(jù)3項(xiàng)參數(shù)的意義,容易確定與之相關(guān)的各部件及零件。即:
①工件長(zhǎng)度:用來(lái)驅(qū)動(dòng)床身、Z軸滾珠絲杠、排屑器、防護(hù)等組中相關(guān)零件的總長(zhǎng)度。
②工件直徑:用來(lái)驅(qū)動(dòng)床頭箱、尾座、刀臺(tái)中心高。
③機(jī)床承重:用來(lái)驅(qū)動(dòng)床頭箱主軸及軸承直徑、尾座套筒直徑。
注意,程序設(shè)計(jì)首先要將通過(guò)窗口輸入的參數(shù),經(jīng)裝配傳遞給裝配內(nèi)的各零件,方法之一就是使用“EXECUTE”語(yǔ)句。采用布局和聲明布局的方法也可以實(shí)現(xiàn)同樣的功能。
布局方法適合大型的裝配,即需要控制的參數(shù)多。在大型裝配的自上而下設(shè)計(jì)中可充分發(fā)揮它的功能。而程序設(shè)計(jì)中的“EXECUTE”語(yǔ)句適合較少裝配的參數(shù)傳遞。采用“EXECUTE”語(yǔ)句,零件的參數(shù)名與裝配參數(shù)名稱可以不同,而采用聲明布局方法,零件與裝配的參數(shù)名則必須相同。
程序輸入?yún)?shù)比布局傳遞參數(shù)更靈活。例如,按模塊化設(shè)計(jì)要求,床頭箱雖然為本機(jī)床重要部件,同時(shí)也要考慮到被其它機(jī)床借用。如該部件已聲明某個(gè)布局,當(dāng)床頭箱的某個(gè)參數(shù)不適用新機(jī)床時(shí),是不能修改已聲明的布局的;而用程序輸入?yún)?shù)的方法,床頭箱的參數(shù)只受控于上級(jí)裝配的程序或布局,因此,床頭箱可作為獨(dú)立的模塊廣泛用于其它產(chǎn)品當(dāng)中。
另外,布局優(yōu)先于程序。即已程序化的裝配或零件,一旦聲明布局后,程序中的參數(shù)將被布局中的同名參數(shù)屏蔽掉,但程序中傳遞參數(shù)的指令仍然可有效地向下傳遞參數(shù)。當(dāng)取消聲明后,程序輸入?yún)?shù)的功能也將自動(dòng)恢復(fù)。利用此特點(diǎn),可以很好地解決大型子裝配的參數(shù)傳遞。例如大型斜床身車床的防護(hù),零件數(shù)量眾多,如采用程序傳遞參數(shù),會(huì)十分不便,這時(shí)可將各參數(shù)加入到布局中,然后與參數(shù)相關(guān)的眾多零件通過(guò)布局關(guān)聯(lián)起來(lái)。而本組內(nèi),為了設(shè)計(jì)參照方便而裝入的諸如床身、床頭箱等參考零件,不要與此布局文件關(guān)聯(lián),這些零件的驅(qū)動(dòng)參數(shù),仍是通過(guò)布局再經(jīng)過(guò)裝配中傳遞參數(shù)指令傳遞過(guò)來(lái)的。這些零件才允許再次檢回到公共空間。
有些獨(dú)立部件,如卡盤或尾座會(huì)有多種規(guī)格和樣式,但每臺(tái)機(jī)床只需一套,因此要根據(jù)參數(shù)信息實(shí)現(xiàn)自動(dòng)替換。方法有四種:
(1)用裝配族表替換
當(dāng)裝配至少有一個(gè)是表驅(qū)動(dòng)零件時(shí),如圖6床頭箱中的各種軸承等,此裝配便可做成裝配族表,用族表替換簡(jiǎn)單易行,在程序中可直接指定實(shí)例各稱來(lái)實(shí)現(xiàn)自動(dòng)替換,程序同下。
如圖7所示,本機(jī)床可分別安裝三爪卡盤、四爪卡盤及中空卡盤。但三種卡盤模型因形狀或結(jié)構(gòu)相差較大,必須用3個(gè)零件族表來(lái)表示。這時(shí)可先組成3個(gè)子裝配族表,每個(gè)子裝配族表如圖8所示,表中可直接寫入各零件的實(shí)例名稱。在總裝配中實(shí)現(xiàn)替換前,要先將每個(gè)子裝配族表中的普通模型及總裝配事先聲明布局、名稱后,才可在總裝配中,用指定實(shí)例名稱辦法實(shí)現(xiàn)直接替換。
程序如下:
如裝配中無(wú)族表驅(qū)動(dòng)零件,但又希望用裝配族表方法替換,也可組成一種特殊的裝配族表。此時(shí),要通過(guò)不同零件的組合方式或不同的定位尺寸等,來(lái)生成不同的實(shí)例。在族表中可用“Y”表示選擇了該零件,用“N”表示不選擇或直接寫入某零件的件號(hào)(已裝入到裝配中)。注意,件號(hào)不要用N開頭,系統(tǒng)易誤操作,導(dǎo)致本件不會(huì)出現(xiàn)在裝配中。
(2)用指令直接替換
當(dāng)部件功能、形狀相差較大,不能組成族表時(shí),可獨(dú)立成部。如本機(jī)床的尾座,用直接在程序中指定名稱的方法直接替換,但必須將3個(gè)安裝基準(zhǔn)先在布局中聲明名稱,程序同上。
(3)用條件語(yǔ)句隱含或恢復(fù)的辦法實(shí)現(xiàn)替換
此方法,用在部件只有兩、三種,如本機(jī)床中心架,可先將兩種中心架全部裝配到總裝配中,通過(guò)程序輸入選用條件后,用條件語(yǔ)句隱含或恢復(fù)該部件,因要獨(dú)自裝配到組件中,故不用事先聲明布局名稱。本例程序如下:
以上三種替換,都是建立在各部件均裝配在骨架模型之上,相互間沒(méi)有任何參照關(guān)系,本部件的替換不會(huì)影響其它部件。反之,這種替換會(huì)引起與之相關(guān)部件基準(zhǔn)參照的丟失,造成特征生成失敗。這時(shí),必須用下面的方法替換。
(4)用互換文件替換
點(diǎn)選創(chuàng)建→組件→互換,可生成一個(gè)互換文件,如圖9。該文件可建立起兩個(gè)需互換零件在指定的總裝配中,所有已用參照和被用參照的對(duì)應(yīng)關(guān)系。這樣,即可實(shí)現(xiàn)手動(dòng)和自動(dòng)替換。
上述幾種替換方法,自動(dòng)替換后就不可再手動(dòng)替換。否則,程序中的變量部件名稱會(huì)自動(dòng)修改為手動(dòng)替換時(shí)指定的部件名稱,下次就不能自動(dòng)替換了。另外,自動(dòng)替換時(shí),同名稱基準(zhǔn)面按“對(duì)齊”方式,因此,聲明名稱時(shí),一定要考慮基準(zhǔn)面的方向也應(yīng)相同。在布局文件中,用草繪創(chuàng)建基準(zhǔn)面時(shí),可用基準(zhǔn)面?zhèn)让婕t色輔助線來(lái)標(biāo)記平面的法線方向。
商品機(jī)床都有自己的機(jī)床銘牌,其上注明機(jī)床型號(hào)、規(guī)格、主要參數(shù)等。如圖10,“DL”表示產(chǎn)品系列,“50”表示最大加工直徑的1/20,“Z”表示為加重型,“×4”表示最大加工長(zhǎng)度為4 m。以上內(nèi)容均應(yīng)隨參數(shù)的變化而自動(dòng)更改。故機(jī)床參數(shù)先要傳遞到該零件,可用一條語(yǔ)句,傳遞全部參數(shù),即:
在利用條件語(yǔ)句、字符串運(yùn)算語(yǔ)句等,編程生成機(jī)床型號(hào)并放置在指定的變量參數(shù)內(nèi)。該銘牌上的文字是用3個(gè)拉伸文本特征創(chuàng)建的,文本要用“插入?yún)?shù)”功能,插入?yún)?shù)內(nèi)對(duì)應(yīng)的文字(程序?qū)⒃谙挛闹杏懻摚?/p>
在總裝配中,有些獨(dú)立部件可有不同的安裝位置和工作狀態(tài)。如床鞍的左右極限位置、刀臺(tái)的上下極限位置以及這些部件所用的拖鏈、軟油管、伸縮防護(hù)罩等,也應(yīng)隨移動(dòng)部件的位置,動(dòng)態(tài)改變形狀和位置。這些重要信息,是機(jī)床設(shè)計(jì)者必須熟知的。因此,可用輔助參數(shù)來(lái)驅(qū)動(dòng)這些模型。這些參數(shù),不能像全局參數(shù)那樣通過(guò)程序輸入窗口輸入,以免太多的全局參數(shù)會(huì)影響程序設(shè)計(jì)的效率。此時(shí),可用布局文件內(nèi)的參數(shù)并通過(guò)聲明布局傳遞到各組件及零件。如圖11,D16:1及D173:35是床鞍的左右、刀臺(tái)的上下位置約束尺寸代碼,分別在總裝配及子裝配中編程,即可實(shí)現(xiàn)動(dòng)態(tài)切換位置。程序如下:
為使布局中的參數(shù)能集中顯示出來(lái),可在布局中先創(chuàng)建一個(gè)動(dòng)態(tài)報(bào)表的格式文件,如圖12。先創(chuàng)建表格,再創(chuàng)建“重復(fù)區(qū)域”,輸入如圖所示的“報(bào)告符號(hào)”,更新表格,便生成如圖13參數(shù)表。先單擊在雙擊表中的參數(shù)值,輸入有效參數(shù)即可驅(qū)動(dòng)總裝配中的模型。
到此,總裝配的程序設(shè)計(jì)完畢。各子裝配的程序設(shè)計(jì),也用同樣的方法,只是有些內(nèi)容不一樣(如替換的不是部件而是零件等)。當(dāng)參數(shù)傳遞到最底層的零件后,便可開展零件模型的參數(shù)化建模。
實(shí)踐證明,參數(shù)化設(shè)計(jì)的床身、中心架支架等,鑄造及加工工藝性良好,鑄造成本降低,程序穩(wěn)定可靠。該系列產(chǎn)品現(xiàn)已定型生產(chǎn)。
基于Pro/E的DL50系列大型數(shù)控車床的參數(shù)化及程序設(shè)計(jì),使機(jī)床的設(shè)計(jì)周期由一年減少到三個(gè)月,綜合效益十分顯著,且為二次開發(fā)打下了良好的基礎(chǔ)。
作者:孟國(guó)興,男,1963年生,工程師,主要從事數(shù)控車床研發(fā)及制造技術(shù)、Pro/E應(yīng)用研究。
如果您想發(fā)表對(duì)本文的看法,請(qǐng)將文章編號(hào)填入讀者意見調(diào)查表中的相應(yīng)位置。
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