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