劉文武++張春梅
摘 要:隨著制造業(yè)中數(shù)字技術(shù)的廣泛應(yīng)用,制造過程的各階段都在向數(shù)字化方向發(fā)展,并且形成了對(duì)應(yīng)的功能系統(tǒng)。國際標(biāo)準(zhǔn)化組織(ISO)研究并制定了STEP標(biāo)準(zhǔn),來規(guī)范整個(gè)制造業(yè)乃至各個(gè)工業(yè)領(lǐng)域產(chǎn)品信息的標(biāo)準(zhǔn)化。
關(guān)鍵詞:STEP-NC Pro/E Visual Basic
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2014)08(a)-0037-02
為了讓STEP標(biāo)準(zhǔn)能夠應(yīng)用于CNC領(lǐng)域,ISO又研究并制定了一種新的CNC系統(tǒng)標(biāo)準(zhǔn)ISO 14649(STEP-NC)。在詳細(xì)了解STEP-NC標(biāo)準(zhǔn)的基礎(chǔ)上,以Visual Basic為編程環(huán)境,以Pro/Engineer為程序運(yùn)行環(huán)境,并在Pro/E下運(yùn)行該程序,形成一個(gè)符合STEP-NC標(biāo)準(zhǔn)的孔加工的文件。
20世紀(jì)中葉,美國麻省理工學(xué)院研制出了世界上第一臺(tái)數(shù)控銑床。自此,數(shù)控技術(shù)有了突飛猛進(jìn)的發(fā)展。數(shù)控加工是計(jì)算機(jī)輔助設(shè)計(jì)與制造技術(shù)中最能發(fā)揮效益的生產(chǎn)環(huán)節(jié)之一。但到目前為止,其信息交換大都仍是基于ISO 6983(RS274D)標(biāo)準(zhǔn)的,即采用G和M代碼來描述如何加工。在這種標(biāo)準(zhǔn)體系下,使用數(shù)控技術(shù)進(jìn)行生產(chǎn)的流程可以由圖1來表示。
IGES是介于CAD系統(tǒng)和客戶與供應(yīng)商之間的信息交換標(biāo)準(zhǔn)。當(dāng)用戶想要加工零件時(shí),需將IGES和PDF格式的文件或圖紙發(fā)送到加工車間。CAM操作員根據(jù)對(duì)圖紙的理解去實(shí)現(xiàn)加工過程。當(dāng)加工過程確定后,CAM系統(tǒng)將其轉(zhuǎn)換成G代碼并形成刀具的運(yùn)動(dòng)軌跡。G代碼會(huì)被作為符合RS274D要求的文件發(fā)送給CNC。
如今數(shù)控技術(shù)得到迅速發(fā)展,控制系統(tǒng)由早期的硬件連接方式發(fā)展到現(xiàn)在的基于PC的開放式數(shù)控系統(tǒng)。而原有的G、M代碼,因其會(huì)丟失尺寸公差、表面粗糙度以及精度等關(guān)鍵信息,它已經(jīng)越來越不能滿足當(dāng)今數(shù)控技術(shù)飛速發(fā)展的需求。為了解決這些問題,一種被稱為STEP-NC的新的加工代碼標(biāo)準(zhǔn)(ISO 14649)正在被開發(fā),將STEP標(biāo)準(zhǔn)延伸到自動(dòng)化制造的底層設(shè)備,并作為銑削加工編程的數(shù)據(jù)接口。
1 STEP以及STEP-NC文件結(jié)構(gòu)
STEP是一個(gè)具有非常龐大體系的標(biāo)準(zhǔn)系列,由許多部分組成。它涉及到機(jī)電、船舶、建筑等各個(gè)學(xué)科。STEP系列標(biāo)準(zhǔn)中的每一個(gè)標(biāo)準(zhǔn)被稱為一個(gè)“部分(Part)”,并單獨(dú)出版。其結(jié)構(gòu)為:
Part1:概述與基本原理。
Part11~14:描述方法;Part21~29:實(shí)現(xiàn)方法;Part31~35:一致性測試方法與框架;Part41~59:集成通用資源;Part101~112:集成應(yīng)用資源;Part201~240:應(yīng)用協(xié)議;Part301~332:抽象測試套件;Part501~523:應(yīng)用解釋構(gòu)造;Part1001~1009:應(yīng)用模塊。
STEP是以EXPRESS語言為產(chǎn)品數(shù)據(jù)模型的形式化描述工具,能夠完整地、無歧義地定義一類產(chǎn)品,并形成該產(chǎn)品的數(shù)據(jù)模型,但它僅僅是一種概念模式,要進(jìn)行產(chǎn)品數(shù)據(jù)交換,就必須通過某種具體的形式實(shí)現(xiàn)。EXPRESS是一種正式的、無歧義的文字形態(tài)描述語言,也是一種模型建構(gòu)語言。它雖然具有面向?qū)ο蠹袄^承的特性。但它是一種靜態(tài)的描述結(jié)構(gòu),并非實(shí)際編程語言。它可以進(jìn)行編譯,但卻無一般編程語言所具有的輸入及輸出的功能,因此不能被執(zhí)行產(chǎn)生任何結(jié)果[2]。但使用這種形式化語言,能夠保證描述的難確性、一致性和可讀性。EXPRESS不僅提供了對(duì)集成資源中產(chǎn)品模型的描述機(jī)制,而且也支持對(duì)各種應(yīng)用協(xié)議中的產(chǎn)品信息描述。
STEP-NC是STEP標(biāo)準(zhǔn)的擴(kuò)展,其幾何信息的描述和文件格式與STEP標(biāo)準(zhǔn)保持完全一致。STEP-NC是用于機(jī)床控制器的特征驅(qū)動(dòng)語言,能使3D數(shù)據(jù)進(jìn)入機(jī)床,將對(duì)企業(yè)的設(shè)計(jì)和制造效率產(chǎn)生重大的影響。對(duì)于制造來說,控制器能根據(jù)所選刀具進(jìn)行動(dòng)態(tài)安全檢查和程序的性能優(yōu)化。
STEP-NC產(chǎn)品數(shù)據(jù)模型時(shí)由上文提到的ISO-10303 Part21定義的純文本格式描述的,它分為文件頭部段和數(shù)據(jù)段兩部分。加工零件所需的所有信息都出現(xiàn)在了數(shù)據(jù)段部分,并被歸納為工件(Work piece)和工作計(jì)劃(Work plan)。
而研究STEP-NC的目的是對(duì)制造特征來編程,并不是直接對(duì)刀具的運(yùn)動(dòng)來編程。其中包含了工件的所有加工任務(wù),通過這一系列加工任務(wù),對(duì)零件從毛坯到成品的所有操作加以描述,提供了更高層次的信息給加工車間。STEP-NC把3D數(shù)據(jù)帶入了機(jī)床,它將對(duì)企業(yè)的設(shè)計(jì)和制造產(chǎn)生極其深遠(yuǎn)的影響。在設(shè)計(jì)上,用機(jī)床可自己識(shí)別信息,替代了圖紙傳入制造環(huán)節(jié),可使設(shè)計(jì)過程更高效;在制造上,控制器能夠根據(jù)所用刀具進(jìn)行動(dòng)態(tài)安全檢查和程序性能優(yōu)化。應(yīng)用STEP-NC需要投資進(jìn)行軟件更新,但從長遠(yuǎn)觀點(diǎn)來看,技術(shù)領(lǐng)先的企業(yè)將獲得更為豐厚的利潤回報(bào)[3]。
2 基于STEP-NC的Pro/E二次開發(fā)
2.1 STEP-NC與Pro/E的結(jié)合
如今,三維CAD軟件已成為設(shè)計(jì)產(chǎn)品時(shí)的主要畫圖工具,但軟件提供給用戶的僅僅是一種通用的、基本的模型建立方法。在使用軟件進(jìn)行設(shè)計(jì)時(shí),常常需要大量重復(fù)或類似的模型,例如螺釘、齒輪、軸承等標(biāo)準(zhǔn)件。雖然一些三維軟件已經(jīng)為用戶提供了常用件庫,但這并不能滿足所有用戶的不同要求,因此需要對(duì)軟件進(jìn)行二次開發(fā)以建立滿足使用的模型庫。STEP-NC是STEP標(biāo)準(zhǔn)在CNC領(lǐng)域的延續(xù)和發(fā)展,并重新定義了CAD/CAM與CNC之間的接口,它要求CNC系統(tǒng)直接使用符合標(biāo)準(zhǔn)的CAD三維產(chǎn)品數(shù)據(jù)模型,再加上工藝信息和刀具信息,直接產(chǎn)生加工程序并控制機(jī)床。
傳統(tǒng)的Pro/E二次開發(fā)多是用Pro/Toolkit來實(shí)現(xiàn)的,由于Pro/Toolkit是以C語言為依托向用戶提供大量針對(duì)Pro/E底層資源調(diào)用的庫函數(shù)和頭文件的,這就要求用戶精通C語言的語法規(guī)則和靈活使用大量的指針。對(duì)于不熟悉C語言而精通VB語言的人可以以VB API為開發(fā)工具,使用VB API語言作為編程語言來進(jìn)行參數(shù)或模型庫的設(shè)計(jì)開發(fā),達(dá)到快速又精確的生成所需三維模型的目的,并提高設(shè)計(jì)效率。
VB API是Pro/E wildfire4.0中為滿足用戶使用VB進(jìn)行二次開發(fā)的需求而增加的一種新的工具,用戶可以直接使用這一工具并利用VB語言編寫應(yīng)用程序而不需要借助第三方工具[4]。VB API的開發(fā)模式是異步的,即程序應(yīng)用可以獨(dú)立于Pro/E啟動(dòng),然后再啟動(dòng)Pro/E或連接到Pro/E的一個(gè)進(jìn)程中?;A(chǔ)模型的正確建立時(shí)異步模式二次開發(fā)的一個(gè)重要的核心問題。
2.2 孔加工的STEP-NC文件的生成
Pro/E二次開發(fā)的關(guān)鍵部分是代碼的編寫,要充分發(fā)揮VB面向?qū)ο缶幊痰膬?yōu)勢,為減少代碼的編寫量和錯(cuò)誤的發(fā)生率可采用類進(jìn)行處理,還可提高代碼的可維護(hù)性和擴(kuò)展性。所以可建立一個(gè)類來統(tǒng)一處理模型庫中的模型,這個(gè)類也是編寫程序代碼過程的核心部分[5]。對(duì)孔的代碼編寫過程中,用到的主要類和方法及屬性如下:
3 結(jié)語
本文通過查閱國內(nèi)外與STEP-NC相關(guān)的資料文獻(xiàn),詳細(xì)了解了STEP-NC數(shù)據(jù)模型的標(biāo)準(zhǔn),通過對(duì)Pro/E的二次開發(fā),實(shí)現(xiàn)了把幾何信息從三維幾何圖形中提取出來,并把零件加工過程中所必須的工藝信息添加至幾何信息中,最終生成了符合STEP-NC標(biāo)準(zhǔn)的文本文件,并且將文件用于數(shù)控加工,為CAD與CNC的集成找到了一條可行之路。
參考文獻(xiàn)
[1] STEP Tools Incorporated. Questions about producing parts using STEP-NC[EB/OL].http://www.steptools.com/library/stepnc/faq/faq_03.html.
[2] 林怡君,余志成.以STEP為基支援同步工程概念設(shè)計(jì)之設(shè)計(jì)資料模型[Z].
[3] 洪巖.基于STEP的數(shù)控后置處理技術(shù)的研究[J].世界標(biāo)準(zhǔn)化與質(zhì)量管理-質(zhì)量技術(shù),2002(1):35-42.
[4] 李善平,劉乃若,郭鳴,等.產(chǎn)品數(shù)據(jù)標(biāo)準(zhǔn)與PDM[M].清華大學(xué)出版社,2002.
[5] 劉龍,朱林波.基于VB.NET的Pro/e二次開發(fā)關(guān)鍵技術(shù)[J].現(xiàn)代制造工程,2008(10).
摘 要:隨著制造業(yè)中數(shù)字技術(shù)的廣泛應(yīng)用,制造過程的各階段都在向數(shù)字化方向發(fā)展,并且形成了對(duì)應(yīng)的功能系統(tǒng)。國際標(biāo)準(zhǔn)化組織(ISO)研究并制定了STEP標(biāo)準(zhǔn),來規(guī)范整個(gè)制造業(yè)乃至各個(gè)工業(yè)領(lǐng)域產(chǎn)品信息的標(biāo)準(zhǔn)化。
關(guān)鍵詞:STEP-NC Pro/E Visual Basic
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2014)08(a)-0037-02
為了讓STEP標(biāo)準(zhǔn)能夠應(yīng)用于CNC領(lǐng)域,ISO又研究并制定了一種新的CNC系統(tǒng)標(biāo)準(zhǔn)ISO 14649(STEP-NC)。在詳細(xì)了解STEP-NC標(biāo)準(zhǔn)的基礎(chǔ)上,以Visual Basic為編程環(huán)境,以Pro/Engineer為程序運(yùn)行環(huán)境,并在Pro/E下運(yùn)行該程序,形成一個(gè)符合STEP-NC標(biāo)準(zhǔn)的孔加工的文件。
20世紀(jì)中葉,美國麻省理工學(xué)院研制出了世界上第一臺(tái)數(shù)控銑床。自此,數(shù)控技術(shù)有了突飛猛進(jìn)的發(fā)展。數(shù)控加工是計(jì)算機(jī)輔助設(shè)計(jì)與制造技術(shù)中最能發(fā)揮效益的生產(chǎn)環(huán)節(jié)之一。但到目前為止,其信息交換大都仍是基于ISO 6983(RS274D)標(biāo)準(zhǔn)的,即采用G和M代碼來描述如何加工。在這種標(biāo)準(zhǔn)體系下,使用數(shù)控技術(shù)進(jìn)行生產(chǎn)的流程可以由圖1來表示。
IGES是介于CAD系統(tǒng)和客戶與供應(yīng)商之間的信息交換標(biāo)準(zhǔn)。當(dāng)用戶想要加工零件時(shí),需將IGES和PDF格式的文件或圖紙發(fā)送到加工車間。CAM操作員根據(jù)對(duì)圖紙的理解去實(shí)現(xiàn)加工過程。當(dāng)加工過程確定后,CAM系統(tǒng)將其轉(zhuǎn)換成G代碼并形成刀具的運(yùn)動(dòng)軌跡。G代碼會(huì)被作為符合RS274D要求的文件發(fā)送給CNC。
如今數(shù)控技術(shù)得到迅速發(fā)展,控制系統(tǒng)由早期的硬件連接方式發(fā)展到現(xiàn)在的基于PC的開放式數(shù)控系統(tǒng)。而原有的G、M代碼,因其會(huì)丟失尺寸公差、表面粗糙度以及精度等關(guān)鍵信息,它已經(jīng)越來越不能滿足當(dāng)今數(shù)控技術(shù)飛速發(fā)展的需求。為了解決這些問題,一種被稱為STEP-NC的新的加工代碼標(biāo)準(zhǔn)(ISO 14649)正在被開發(fā),將STEP標(biāo)準(zhǔn)延伸到自動(dòng)化制造的底層設(shè)備,并作為銑削加工編程的數(shù)據(jù)接口。
1 STEP以及STEP-NC文件結(jié)構(gòu)
STEP是一個(gè)具有非常龐大體系的標(biāo)準(zhǔn)系列,由許多部分組成。它涉及到機(jī)電、船舶、建筑等各個(gè)學(xué)科。STEP系列標(biāo)準(zhǔn)中的每一個(gè)標(biāo)準(zhǔn)被稱為一個(gè)“部分(Part)”,并單獨(dú)出版。其結(jié)構(gòu)為:
Part1:概述與基本原理。
Part11~14:描述方法;Part21~29:實(shí)現(xiàn)方法;Part31~35:一致性測試方法與框架;Part41~59:集成通用資源;Part101~112:集成應(yīng)用資源;Part201~240:應(yīng)用協(xié)議;Part301~332:抽象測試套件;Part501~523:應(yīng)用解釋構(gòu)造;Part1001~1009:應(yīng)用模塊。
STEP是以EXPRESS語言為產(chǎn)品數(shù)據(jù)模型的形式化描述工具,能夠完整地、無歧義地定義一類產(chǎn)品,并形成該產(chǎn)品的數(shù)據(jù)模型,但它僅僅是一種概念模式,要進(jìn)行產(chǎn)品數(shù)據(jù)交換,就必須通過某種具體的形式實(shí)現(xiàn)。EXPRESS是一種正式的、無歧義的文字形態(tài)描述語言,也是一種模型建構(gòu)語言。它雖然具有面向?qū)ο蠹袄^承的特性。但它是一種靜態(tài)的描述結(jié)構(gòu),并非實(shí)際編程語言。它可以進(jìn)行編譯,但卻無一般編程語言所具有的輸入及輸出的功能,因此不能被執(zhí)行產(chǎn)生任何結(jié)果[2]。但使用這種形式化語言,能夠保證描述的難確性、一致性和可讀性。EXPRESS不僅提供了對(duì)集成資源中產(chǎn)品模型的描述機(jī)制,而且也支持對(duì)各種應(yīng)用協(xié)議中的產(chǎn)品信息描述。
STEP-NC是STEP標(biāo)準(zhǔn)的擴(kuò)展,其幾何信息的描述和文件格式與STEP標(biāo)準(zhǔn)保持完全一致。STEP-NC是用于機(jī)床控制器的特征驅(qū)動(dòng)語言,能使3D數(shù)據(jù)進(jìn)入機(jī)床,將對(duì)企業(yè)的設(shè)計(jì)和制造效率產(chǎn)生重大的影響。對(duì)于制造來說,控制器能根據(jù)所選刀具進(jìn)行動(dòng)態(tài)安全檢查和程序的性能優(yōu)化。
STEP-NC產(chǎn)品數(shù)據(jù)模型時(shí)由上文提到的ISO-10303 Part21定義的純文本格式描述的,它分為文件頭部段和數(shù)據(jù)段兩部分。加工零件所需的所有信息都出現(xiàn)在了數(shù)據(jù)段部分,并被歸納為工件(Work piece)和工作計(jì)劃(Work plan)。
而研究STEP-NC的目的是對(duì)制造特征來編程,并不是直接對(duì)刀具的運(yùn)動(dòng)來編程。其中包含了工件的所有加工任務(wù),通過這一系列加工任務(wù),對(duì)零件從毛坯到成品的所有操作加以描述,提供了更高層次的信息給加工車間。STEP-NC把3D數(shù)據(jù)帶入了機(jī)床,它將對(duì)企業(yè)的設(shè)計(jì)和制造產(chǎn)生極其深遠(yuǎn)的影響。在設(shè)計(jì)上,用機(jī)床可自己識(shí)別信息,替代了圖紙傳入制造環(huán)節(jié),可使設(shè)計(jì)過程更高效;在制造上,控制器能夠根據(jù)所用刀具進(jìn)行動(dòng)態(tài)安全檢查和程序性能優(yōu)化。應(yīng)用STEP-NC需要投資進(jìn)行軟件更新,但從長遠(yuǎn)觀點(diǎn)來看,技術(shù)領(lǐng)先的企業(yè)將獲得更為豐厚的利潤回報(bào)[3]。
2 基于STEP-NC的Pro/E二次開發(fā)
2.1 STEP-NC與Pro/E的結(jié)合
如今,三維CAD軟件已成為設(shè)計(jì)產(chǎn)品時(shí)的主要畫圖工具,但軟件提供給用戶的僅僅是一種通用的、基本的模型建立方法。在使用軟件進(jìn)行設(shè)計(jì)時(shí),常常需要大量重復(fù)或類似的模型,例如螺釘、齒輪、軸承等標(biāo)準(zhǔn)件。雖然一些三維軟件已經(jīng)為用戶提供了常用件庫,但這并不能滿足所有用戶的不同要求,因此需要對(duì)軟件進(jìn)行二次開發(fā)以建立滿足使用的模型庫。STEP-NC是STEP標(biāo)準(zhǔn)在CNC領(lǐng)域的延續(xù)和發(fā)展,并重新定義了CAD/CAM與CNC之間的接口,它要求CNC系統(tǒng)直接使用符合標(biāo)準(zhǔn)的CAD三維產(chǎn)品數(shù)據(jù)模型,再加上工藝信息和刀具信息,直接產(chǎn)生加工程序并控制機(jī)床。
傳統(tǒng)的Pro/E二次開發(fā)多是用Pro/Toolkit來實(shí)現(xiàn)的,由于Pro/Toolkit是以C語言為依托向用戶提供大量針對(duì)Pro/E底層資源調(diào)用的庫函數(shù)和頭文件的,這就要求用戶精通C語言的語法規(guī)則和靈活使用大量的指針。對(duì)于不熟悉C語言而精通VB語言的人可以以VB API為開發(fā)工具,使用VB API語言作為編程語言來進(jìn)行參數(shù)或模型庫的設(shè)計(jì)開發(fā),達(dá)到快速又精確的生成所需三維模型的目的,并提高設(shè)計(jì)效率。
VB API是Pro/E wildfire4.0中為滿足用戶使用VB進(jìn)行二次開發(fā)的需求而增加的一種新的工具,用戶可以直接使用這一工具并利用VB語言編寫應(yīng)用程序而不需要借助第三方工具[4]。VB API的開發(fā)模式是異步的,即程序應(yīng)用可以獨(dú)立于Pro/E啟動(dòng),然后再啟動(dòng)Pro/E或連接到Pro/E的一個(gè)進(jìn)程中?;A(chǔ)模型的正確建立時(shí)異步模式二次開發(fā)的一個(gè)重要的核心問題。
2.2 孔加工的STEP-NC文件的生成
Pro/E二次開發(fā)的關(guān)鍵部分是代碼的編寫,要充分發(fā)揮VB面向?qū)ο缶幊痰膬?yōu)勢,為減少代碼的編寫量和錯(cuò)誤的發(fā)生率可采用類進(jìn)行處理,還可提高代碼的可維護(hù)性和擴(kuò)展性。所以可建立一個(gè)類來統(tǒng)一處理模型庫中的模型,這個(gè)類也是編寫程序代碼過程的核心部分[5]。對(duì)孔的代碼編寫過程中,用到的主要類和方法及屬性如下:
3 結(jié)語
本文通過查閱國內(nèi)外與STEP-NC相關(guān)的資料文獻(xiàn),詳細(xì)了解了STEP-NC數(shù)據(jù)模型的標(biāo)準(zhǔn),通過對(duì)Pro/E的二次開發(fā),實(shí)現(xiàn)了把幾何信息從三維幾何圖形中提取出來,并把零件加工過程中所必須的工藝信息添加至幾何信息中,最終生成了符合STEP-NC標(biāo)準(zhǔn)的文本文件,并且將文件用于數(shù)控加工,為CAD與CNC的集成找到了一條可行之路。
參考文獻(xiàn)
[1] STEP Tools Incorporated. Questions about producing parts using STEP-NC[EB/OL].http://www.steptools.com/library/stepnc/faq/faq_03.html.
[2] 林怡君,余志成.以STEP為基支援同步工程概念設(shè)計(jì)之設(shè)計(jì)資料模型[Z].
[3] 洪巖.基于STEP的數(shù)控后置處理技術(shù)的研究[J].世界標(biāo)準(zhǔn)化與質(zhì)量管理-質(zhì)量技術(shù),2002(1):35-42.
[4] 李善平,劉乃若,郭鳴,等.產(chǎn)品數(shù)據(jù)標(biāo)準(zhǔn)與PDM[M].清華大學(xué)出版社,2002.
[5] 劉龍,朱林波.基于VB.NET的Pro/e二次開發(fā)關(guān)鍵技術(shù)[J].現(xiàn)代制造工程,2008(10).
摘 要:隨著制造業(yè)中數(shù)字技術(shù)的廣泛應(yīng)用,制造過程的各階段都在向數(shù)字化方向發(fā)展,并且形成了對(duì)應(yīng)的功能系統(tǒng)。國際標(biāo)準(zhǔn)化組織(ISO)研究并制定了STEP標(biāo)準(zhǔn),來規(guī)范整個(gè)制造業(yè)乃至各個(gè)工業(yè)領(lǐng)域產(chǎn)品信息的標(biāo)準(zhǔn)化。
關(guān)鍵詞:STEP-NC Pro/E Visual Basic
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2014)08(a)-0037-02
為了讓STEP標(biāo)準(zhǔn)能夠應(yīng)用于CNC領(lǐng)域,ISO又研究并制定了一種新的CNC系統(tǒng)標(biāo)準(zhǔn)ISO 14649(STEP-NC)。在詳細(xì)了解STEP-NC標(biāo)準(zhǔn)的基礎(chǔ)上,以Visual Basic為編程環(huán)境,以Pro/Engineer為程序運(yùn)行環(huán)境,并在Pro/E下運(yùn)行該程序,形成一個(gè)符合STEP-NC標(biāo)準(zhǔn)的孔加工的文件。
20世紀(jì)中葉,美國麻省理工學(xué)院研制出了世界上第一臺(tái)數(shù)控銑床。自此,數(shù)控技術(shù)有了突飛猛進(jìn)的發(fā)展。數(shù)控加工是計(jì)算機(jī)輔助設(shè)計(jì)與制造技術(shù)中最能發(fā)揮效益的生產(chǎn)環(huán)節(jié)之一。但到目前為止,其信息交換大都仍是基于ISO 6983(RS274D)標(biāo)準(zhǔn)的,即采用G和M代碼來描述如何加工。在這種標(biāo)準(zhǔn)體系下,使用數(shù)控技術(shù)進(jìn)行生產(chǎn)的流程可以由圖1來表示。
IGES是介于CAD系統(tǒng)和客戶與供應(yīng)商之間的信息交換標(biāo)準(zhǔn)。當(dāng)用戶想要加工零件時(shí),需將IGES和PDF格式的文件或圖紙發(fā)送到加工車間。CAM操作員根據(jù)對(duì)圖紙的理解去實(shí)現(xiàn)加工過程。當(dāng)加工過程確定后,CAM系統(tǒng)將其轉(zhuǎn)換成G代碼并形成刀具的運(yùn)動(dòng)軌跡。G代碼會(huì)被作為符合RS274D要求的文件發(fā)送給CNC。
如今數(shù)控技術(shù)得到迅速發(fā)展,控制系統(tǒng)由早期的硬件連接方式發(fā)展到現(xiàn)在的基于PC的開放式數(shù)控系統(tǒng)。而原有的G、M代碼,因其會(huì)丟失尺寸公差、表面粗糙度以及精度等關(guān)鍵信息,它已經(jīng)越來越不能滿足當(dāng)今數(shù)控技術(shù)飛速發(fā)展的需求。為了解決這些問題,一種被稱為STEP-NC的新的加工代碼標(biāo)準(zhǔn)(ISO 14649)正在被開發(fā),將STEP標(biāo)準(zhǔn)延伸到自動(dòng)化制造的底層設(shè)備,并作為銑削加工編程的數(shù)據(jù)接口。
1 STEP以及STEP-NC文件結(jié)構(gòu)
STEP是一個(gè)具有非常龐大體系的標(biāo)準(zhǔn)系列,由許多部分組成。它涉及到機(jī)電、船舶、建筑等各個(gè)學(xué)科。STEP系列標(biāo)準(zhǔn)中的每一個(gè)標(biāo)準(zhǔn)被稱為一個(gè)“部分(Part)”,并單獨(dú)出版。其結(jié)構(gòu)為:
Part1:概述與基本原理。
Part11~14:描述方法;Part21~29:實(shí)現(xiàn)方法;Part31~35:一致性測試方法與框架;Part41~59:集成通用資源;Part101~112:集成應(yīng)用資源;Part201~240:應(yīng)用協(xié)議;Part301~332:抽象測試套件;Part501~523:應(yīng)用解釋構(gòu)造;Part1001~1009:應(yīng)用模塊。
STEP是以EXPRESS語言為產(chǎn)品數(shù)據(jù)模型的形式化描述工具,能夠完整地、無歧義地定義一類產(chǎn)品,并形成該產(chǎn)品的數(shù)據(jù)模型,但它僅僅是一種概念模式,要進(jìn)行產(chǎn)品數(shù)據(jù)交換,就必須通過某種具體的形式實(shí)現(xiàn)。EXPRESS是一種正式的、無歧義的文字形態(tài)描述語言,也是一種模型建構(gòu)語言。它雖然具有面向?qū)ο蠹袄^承的特性。但它是一種靜態(tài)的描述結(jié)構(gòu),并非實(shí)際編程語言。它可以進(jìn)行編譯,但卻無一般編程語言所具有的輸入及輸出的功能,因此不能被執(zhí)行產(chǎn)生任何結(jié)果[2]。但使用這種形式化語言,能夠保證描述的難確性、一致性和可讀性。EXPRESS不僅提供了對(duì)集成資源中產(chǎn)品模型的描述機(jī)制,而且也支持對(duì)各種應(yīng)用協(xié)議中的產(chǎn)品信息描述。
STEP-NC是STEP標(biāo)準(zhǔn)的擴(kuò)展,其幾何信息的描述和文件格式與STEP標(biāo)準(zhǔn)保持完全一致。STEP-NC是用于機(jī)床控制器的特征驅(qū)動(dòng)語言,能使3D數(shù)據(jù)進(jìn)入機(jī)床,將對(duì)企業(yè)的設(shè)計(jì)和制造效率產(chǎn)生重大的影響。對(duì)于制造來說,控制器能根據(jù)所選刀具進(jìn)行動(dòng)態(tài)安全檢查和程序的性能優(yōu)化。
STEP-NC產(chǎn)品數(shù)據(jù)模型時(shí)由上文提到的ISO-10303 Part21定義的純文本格式描述的,它分為文件頭部段和數(shù)據(jù)段兩部分。加工零件所需的所有信息都出現(xiàn)在了數(shù)據(jù)段部分,并被歸納為工件(Work piece)和工作計(jì)劃(Work plan)。
而研究STEP-NC的目的是對(duì)制造特征來編程,并不是直接對(duì)刀具的運(yùn)動(dòng)來編程。其中包含了工件的所有加工任務(wù),通過這一系列加工任務(wù),對(duì)零件從毛坯到成品的所有操作加以描述,提供了更高層次的信息給加工車間。STEP-NC把3D數(shù)據(jù)帶入了機(jī)床,它將對(duì)企業(yè)的設(shè)計(jì)和制造產(chǎn)生極其深遠(yuǎn)的影響。在設(shè)計(jì)上,用機(jī)床可自己識(shí)別信息,替代了圖紙傳入制造環(huán)節(jié),可使設(shè)計(jì)過程更高效;在制造上,控制器能夠根據(jù)所用刀具進(jìn)行動(dòng)態(tài)安全檢查和程序性能優(yōu)化。應(yīng)用STEP-NC需要投資進(jìn)行軟件更新,但從長遠(yuǎn)觀點(diǎn)來看,技術(shù)領(lǐng)先的企業(yè)將獲得更為豐厚的利潤回報(bào)[3]。
2 基于STEP-NC的Pro/E二次開發(fā)
2.1 STEP-NC與Pro/E的結(jié)合
如今,三維CAD軟件已成為設(shè)計(jì)產(chǎn)品時(shí)的主要畫圖工具,但軟件提供給用戶的僅僅是一種通用的、基本的模型建立方法。在使用軟件進(jìn)行設(shè)計(jì)時(shí),常常需要大量重復(fù)或類似的模型,例如螺釘、齒輪、軸承等標(biāo)準(zhǔn)件。雖然一些三維軟件已經(jīng)為用戶提供了常用件庫,但這并不能滿足所有用戶的不同要求,因此需要對(duì)軟件進(jìn)行二次開發(fā)以建立滿足使用的模型庫。STEP-NC是STEP標(biāo)準(zhǔn)在CNC領(lǐng)域的延續(xù)和發(fā)展,并重新定義了CAD/CAM與CNC之間的接口,它要求CNC系統(tǒng)直接使用符合標(biāo)準(zhǔn)的CAD三維產(chǎn)品數(shù)據(jù)模型,再加上工藝信息和刀具信息,直接產(chǎn)生加工程序并控制機(jī)床。
傳統(tǒng)的Pro/E二次開發(fā)多是用Pro/Toolkit來實(shí)現(xiàn)的,由于Pro/Toolkit是以C語言為依托向用戶提供大量針對(duì)Pro/E底層資源調(diào)用的庫函數(shù)和頭文件的,這就要求用戶精通C語言的語法規(guī)則和靈活使用大量的指針。對(duì)于不熟悉C語言而精通VB語言的人可以以VB API為開發(fā)工具,使用VB API語言作為編程語言來進(jìn)行參數(shù)或模型庫的設(shè)計(jì)開發(fā),達(dá)到快速又精確的生成所需三維模型的目的,并提高設(shè)計(jì)效率。
VB API是Pro/E wildfire4.0中為滿足用戶使用VB進(jìn)行二次開發(fā)的需求而增加的一種新的工具,用戶可以直接使用這一工具并利用VB語言編寫應(yīng)用程序而不需要借助第三方工具[4]。VB API的開發(fā)模式是異步的,即程序應(yīng)用可以獨(dú)立于Pro/E啟動(dòng),然后再啟動(dòng)Pro/E或連接到Pro/E的一個(gè)進(jìn)程中。基礎(chǔ)模型的正確建立時(shí)異步模式二次開發(fā)的一個(gè)重要的核心問題。
2.2 孔加工的STEP-NC文件的生成
Pro/E二次開發(fā)的關(guān)鍵部分是代碼的編寫,要充分發(fā)揮VB面向?qū)ο缶幊痰膬?yōu)勢,為減少代碼的編寫量和錯(cuò)誤的發(fā)生率可采用類進(jìn)行處理,還可提高代碼的可維護(hù)性和擴(kuò)展性。所以可建立一個(gè)類來統(tǒng)一處理模型庫中的模型,這個(gè)類也是編寫程序代碼過程的核心部分[5]。對(duì)孔的代碼編寫過程中,用到的主要類和方法及屬性如下:
3 結(jié)語
本文通過查閱國內(nèi)外與STEP-NC相關(guān)的資料文獻(xiàn),詳細(xì)了解了STEP-NC數(shù)據(jù)模型的標(biāo)準(zhǔn),通過對(duì)Pro/E的二次開發(fā),實(shí)現(xiàn)了把幾何信息從三維幾何圖形中提取出來,并把零件加工過程中所必須的工藝信息添加至幾何信息中,最終生成了符合STEP-NC標(biāo)準(zhǔn)的文本文件,并且將文件用于數(shù)控加工,為CAD與CNC的集成找到了一條可行之路。
參考文獻(xiàn)
[1] STEP Tools Incorporated. Questions about producing parts using STEP-NC[EB/OL].http://www.steptools.com/library/stepnc/faq/faq_03.html.
[2] 林怡君,余志成.以STEP為基支援同步工程概念設(shè)計(jì)之設(shè)計(jì)資料模型[Z].
[3] 洪巖.基于STEP的數(shù)控后置處理技術(shù)的研究[J].世界標(biāo)準(zhǔn)化與質(zhì)量管理-質(zhì)量技術(shù),2002(1):35-42.
[4] 李善平,劉乃若,郭鳴,等.產(chǎn)品數(shù)據(jù)標(biāo)準(zhǔn)與PDM[M].清華大學(xué)出版社,2002.
[5] 劉龍,朱林波.基于VB.NET的Pro/e二次開發(fā)關(guān)鍵技術(shù)[J].現(xiàn)代制造工程,2008(10).