在實際加工應用中,需要對一個工件或多個工件編制加工工藝及程式時,都有可能用到多種規格、不同型別的加工刀具。如果我們在編制程式時,每次都要重新建立並設定這些刀具引數,包括刀具的幾何結構、材料等,效率必將大大下降,而且所完成的也只是些簡單的重複勞動。在UG系統的 CAM模組中,我們可以透過在Create Tool對話方塊中選擇 Retrieve Tool按鈕,直接呼叫UG刀具庫中定義的30多種不同型別的刀具,如圖1和圖2所示。但UG庫中的刀具多數並不是我們需要的規格尺寸的刀具,因此我們希望可以一次性地定義好需要的刀具幾何結構引數,在以後的操作中能夠像呼叫UG庫中刀具一樣,直接使用。在UGⅡ系統中,刀具幾何結構引數庫主要存放在 ${UGⅡ_BASE_DIR}\Mach\resource\library\tool\ 目錄下,主要由以下幾個檔案構成:ASCⅡ子目錄下Dbc_tool_ ascⅡ.def、Dbc_tool_ascⅡ.tcl和English或Metric 子目錄下的Dool_ database.dat。 檔案Dbc_tool_ascⅡ.def 定義了刀具庫必要的刀具幾何結構引數變數及庫的型別層次結構;檔案Dbc_tool_ascⅡ.tcl則包含了各個刀具庫操作事件處理器,它們主要用於UG與刀具庫的連線。在檔案Tool_database.dat中存放的就是我們最關心的東西,所有的刀具幾何結構引數和材料資訊都在其中。使用者定義新的刀具,可以直接修改Tool_database.dat檔案中的刀具記錄。另外,也可以在UG中先定義好刀具的幾何結構引數,然後透過執行Shop Documentation,選擇最後一個輸出模板Export Tool Library to ASCⅡ datafile,把刀具引數輸出到一個檔案。接下來,需要做的工作就是把輸出到這個檔案中的刀具記錄新增到Tool_database.dat檔案中。至此,應該說,基本可以達到最初的目的了。但在實際使用中,隨著自定義的刀具不斷增多,使用者自己也不清楚到底定義了多少、定義了哪些種類的刀具,從庫裡呼叫刀具時,更需要搞清楚要呼叫的刀具究竟屬於UG刀具庫中哪個型別的刀具,如圖2所示。透過深入研究,發現在Dbc_tool_ascⅡ.def檔案中對刀具庫的型別層次結構定義時,UGⅡ系統用CLASS MILLING、CLASS DRILLING和CLASS TURNING定義了刀具庫的三個主類,在這三個主類下又定義了30多個子類。在Tool_database.dat檔案中的每條刀具記錄,都以DATA開頭,都包含有T和ST資料,實際上它們就是此條記錄定義的刀具主類TYPE和子類SubType資訊。在向檔案Dbc_tool_ascⅡ.def中加入主類程式碼時,注意前後“{}”的位置,並跟系統定義的CLASS MILLING、CLASS DRILLING和CLASS TURNING主類結構保持平行,嵌入在CALSS TOOL的定義中。其中定義的主類型別值不能重複。在每個主類下,可以根據主類自行定義相關的子類,即用SubType 代替 QUERY "[DB(Type)] = = [01]"中的 Type,並且型別程式碼值也可以重新排序。完成了刀具庫自定義型別層次結構的定義,需要從庫中檢索刀具,還得修改刀具幾何結構引數資料庫(Tool_database.dat)中的刀具記錄,即修改記錄中的T和ST對應的值,則該條記錄進入相應的主類和子類檢索,得到如圖4所示檢索結果。要建立一個完整的刀具幾何結構引數庫,型別層次結構定義是基礎,後續要做的就是不斷地把相應的刀具記錄新增到資料庫檔案Tool_database.dat中,形成使用者自定義的刀具庫。想學UG程式設計,在QQ群565120797可以幫助你提升。二、建立自定義刀具材料庫、零件材料庫以及刀具切削引數庫透過以上工作所建立的刀具庫,筆者稱為刀具幾何結構引數庫,它主要由刀具的幾何結構資料組成。對於程式設計人員來說,建立一個Operation,生成可以使用的刀位程式,還需要設定刀具的相關切削用量引數,包括主軸轉速、切削深度、進給速度等。在UG系統的CAM模組中,執行Feeds and Speeds對話方塊中的Reset from Table,系統可以根據切削深度、刀具材料、零件材料及切削方法,自動從庫中呼叫並計算出相應的切削用量值。除切削深度需要手動設定外,使用者從相應的庫中可以直接呼叫不同的切削方法、零件材料和刀具材料。其中刀具材料,我們也可以在建立刀具時從刀具幾何結構引數庫中直接得到,關鍵是在建立刀具幾何結構引數庫時,刀具記錄中包含了正確刀具材料資訊MATREF,即引用刀具材料庫的某一材料參考資訊。在UG系統中,切削方法、零件材料、刀具材料都以庫參考值存在,分別對應於CUT_METHODS. DAT、PART_MATERIALS.DAT、TOOL_MATERIALS.DAT檔案中的LIBRF值。系統執行Reset from Table,根據各庫參考值和切削深度,在切削引數庫FEEDS_SPEEDS.DAT檔案中進行檢索,引用被檢索出記錄的資料,如Surface Speed、Feed_per_Tooth等的值,進而計算出相應的主軸轉速、進給速度等。因此,在建立刀具材料庫、零件材料庫時,應系統規劃,統一標準,避免混亂,而建庫本身就比較簡單了,可以參照UGⅡ系統相應的庫,增加或修改以DATA開頭的記錄。建立刀具切削引數庫的工作就要煩瑣得多。一般來說,在實際加工中,要根據不同刀具材料、零件材料,以及不同的切深和切寬,選擇不同的刀具切削用量。一個成熟的工藝技術人員,可根據長期積累的經驗,並參照刀具商提供的引數,結合加工實際狀況,選擇合適的切削用量,也可以反過來根據實際加工情況,修正經驗值,完成經驗的不斷積累。建立自定義刀具切削引數庫,就是把使用者的經驗積累起來,並予以數值化提供給其他技術人員。三、建立刀具幾何圖形庫談到建立刀具庫,不能不涉及到刀具幾何圖形庫的使用。建立刀具幾何圖形庫,主要目的就是在最新的Unigraphics NX2.0 系統中進行刀位機床模擬時,可以呼叫使用者構建的刀具計算機三維幾何模型,如圖6所示。沒有使用者自定義的刀具幾何圖形庫,或者呼叫UG系統自帶的刀具模型,顯然達不到機床模擬的目的。系統刀具幾何圖形庫,由${UGⅡ_BASE_DIR}\Mach\resource\library\tool\graphics 目錄下一系列刀具的實體模型檔案構成,包含用於顯示刀具裝配的資訊。構建使用者自定義的刀具裝配模型,推薦在非主模型檔案中,將使用者自定義刀具、刀柄及相關部件進行裝配。對於鑽削或銑削的刀具,在模型裝配時,刀具軸應與X軸正方向一致,座標系零點在刀柄夾持點(Tool Tracking Point)。另外,構建的刀具非主模型檔名應與刀具幾何結構引數庫tool_database.dat檔案中DATA記錄的LIBRF值相同。這樣,按照以上原則,系統進行刀位機床模擬或需要顯示刀具時,才能夠按照刀具的庫參考值,調出刀具裝配模型,並以系統預設方向和位置顯示出使用者自定義的刀具模型。四、在建立自定義刀具庫過程中需要注意的幾個問題(1)建立刀具庫時,在dbc_tool_ascⅡ.def檔案中定義刀具主類或子類時,UI_NAME 後面可以採用中文字串。另外,庫中所有記錄的刀具描述、材料描述都可以採用中文字串。但目前不建議刀具庫記錄中的LIBRF值採用中文。(2)建立刀具幾何結構引數庫、刀具材料庫、零件材料庫及切削引數庫過程中,應保持每個庫中的LIBRF值的唯一性,原因在於它是作為系統其他庫引用和系統內部識別的標識。(3)呼叫刀具庫建立刀具時,為增加檢索查詢專案,可以在dbc_tool_ascⅡ.def檔案內,相應刀具主類或子類定義的“DIALOG libref Diameter”行中,加入需要增加的刀具查詢引數。當然,要提高CAD/CAM系統效率,以及工藝製造技術人員的快速反應能力,本文所涉及到的僅僅是系統裡很小的一個環節。更多的工作還需要技術人員不懈的努力,腳踏實地地收集和積累製造系統中的各個基礎資料,結合現代新技術不斷完善和健全,從而提高系統整體的協作水平和工作效率
在實際加工應用中,需要對一個工件或多個工件編制加工工藝及程式時,都有可能用到多種規格、不同型別的加工刀具。如果我們在編制程式時,每次都要重新建立並設定這些刀具引數,包括刀具的幾何結構、材料等,效率必將大大下降,而且所完成的也只是些簡單的重複勞動。在UG系統的 CAM模組中,我們可以透過在Create Tool對話方塊中選擇 Retrieve Tool按鈕,直接呼叫UG刀具庫中定義的30多種不同型別的刀具,如圖1和圖2所示。但UG庫中的刀具多數並不是我們需要的規格尺寸的刀具,因此我們希望可以一次性地定義好需要的刀具幾何結構引數,在以後的操作中能夠像呼叫UG庫中刀具一樣,直接使用。在UGⅡ系統中,刀具幾何結構引數庫主要存放在 ${UGⅡ_BASE_DIR}\Mach\resource\library\tool\ 目錄下,主要由以下幾個檔案構成:ASCⅡ子目錄下Dbc_tool_ ascⅡ.def、Dbc_tool_ascⅡ.tcl和English或Metric 子目錄下的Dool_ database.dat。 檔案Dbc_tool_ascⅡ.def 定義了刀具庫必要的刀具幾何結構引數變數及庫的型別層次結構;檔案Dbc_tool_ascⅡ.tcl則包含了各個刀具庫操作事件處理器,它們主要用於UG與刀具庫的連線。在檔案Tool_database.dat中存放的就是我們最關心的東西,所有的刀具幾何結構引數和材料資訊都在其中。使用者定義新的刀具,可以直接修改Tool_database.dat檔案中的刀具記錄。另外,也可以在UG中先定義好刀具的幾何結構引數,然後透過執行Shop Documentation,選擇最後一個輸出模板Export Tool Library to ASCⅡ datafile,把刀具引數輸出到一個檔案。接下來,需要做的工作就是把輸出到這個檔案中的刀具記錄新增到Tool_database.dat檔案中。至此,應該說,基本可以達到最初的目的了。但在實際使用中,隨著自定義的刀具不斷增多,使用者自己也不清楚到底定義了多少、定義了哪些種類的刀具,從庫裡呼叫刀具時,更需要搞清楚要呼叫的刀具究竟屬於UG刀具庫中哪個型別的刀具,如圖2所示。透過深入研究,發現在Dbc_tool_ascⅡ.def檔案中對刀具庫的型別層次結構定義時,UGⅡ系統用CLASS MILLING、CLASS DRILLING和CLASS TURNING定義了刀具庫的三個主類,在這三個主類下又定義了30多個子類。在Tool_database.dat檔案中的每條刀具記錄,都以DATA開頭,都包含有T和ST資料,實際上它們就是此條記錄定義的刀具主類TYPE和子類SubType資訊。在向檔案Dbc_tool_ascⅡ.def中加入主類程式碼時,注意前後“{}”的位置,並跟系統定義的CLASS MILLING、CLASS DRILLING和CLASS TURNING主類結構保持平行,嵌入在CALSS TOOL的定義中。其中定義的主類型別值不能重複。在每個主類下,可以根據主類自行定義相關的子類,即用SubType 代替 QUERY "[DB(Type)] = = [01]"中的 Type,並且型別程式碼值也可以重新排序。完成了刀具庫自定義型別層次結構的定義,需要從庫中檢索刀具,還得修改刀具幾何結構引數資料庫(Tool_database.dat)中的刀具記錄,即修改記錄中的T和ST對應的值,則該條記錄進入相應的主類和子類檢索,得到如圖4所示檢索結果。要建立一個完整的刀具幾何結構引數庫,型別層次結構定義是基礎,後續要做的就是不斷地把相應的刀具記錄新增到資料庫檔案Tool_database.dat中,形成使用者自定義的刀具庫。想學UG程式設計,在QQ群565120797可以幫助你提升。二、建立自定義刀具材料庫、零件材料庫以及刀具切削引數庫透過以上工作所建立的刀具庫,筆者稱為刀具幾何結構引數庫,它主要由刀具的幾何結構資料組成。對於程式設計人員來說,建立一個Operation,生成可以使用的刀位程式,還需要設定刀具的相關切削用量引數,包括主軸轉速、切削深度、進給速度等。在UG系統的CAM模組中,執行Feeds and Speeds對話方塊中的Reset from Table,系統可以根據切削深度、刀具材料、零件材料及切削方法,自動從庫中呼叫並計算出相應的切削用量值。除切削深度需要手動設定外,使用者從相應的庫中可以直接呼叫不同的切削方法、零件材料和刀具材料。其中刀具材料,我們也可以在建立刀具時從刀具幾何結構引數庫中直接得到,關鍵是在建立刀具幾何結構引數庫時,刀具記錄中包含了正確刀具材料資訊MATREF,即引用刀具材料庫的某一材料參考資訊。在UG系統中,切削方法、零件材料、刀具材料都以庫參考值存在,分別對應於CUT_METHODS. DAT、PART_MATERIALS.DAT、TOOL_MATERIALS.DAT檔案中的LIBRF值。系統執行Reset from Table,根據各庫參考值和切削深度,在切削引數庫FEEDS_SPEEDS.DAT檔案中進行檢索,引用被檢索出記錄的資料,如Surface Speed、Feed_per_Tooth等的值,進而計算出相應的主軸轉速、進給速度等。因此,在建立刀具材料庫、零件材料庫時,應系統規劃,統一標準,避免混亂,而建庫本身就比較簡單了,可以參照UGⅡ系統相應的庫,增加或修改以DATA開頭的記錄。建立刀具切削引數庫的工作就要煩瑣得多。一般來說,在實際加工中,要根據不同刀具材料、零件材料,以及不同的切深和切寬,選擇不同的刀具切削用量。一個成熟的工藝技術人員,可根據長期積累的經驗,並參照刀具商提供的引數,結合加工實際狀況,選擇合適的切削用量,也可以反過來根據實際加工情況,修正經驗值,完成經驗的不斷積累。建立自定義刀具切削引數庫,就是把使用者的經驗積累起來,並予以數值化提供給其他技術人員。三、建立刀具幾何圖形庫談到建立刀具庫,不能不涉及到刀具幾何圖形庫的使用。建立刀具幾何圖形庫,主要目的就是在最新的Unigraphics NX2.0 系統中進行刀位機床模擬時,可以呼叫使用者構建的刀具計算機三維幾何模型,如圖6所示。沒有使用者自定義的刀具幾何圖形庫,或者呼叫UG系統自帶的刀具模型,顯然達不到機床模擬的目的。系統刀具幾何圖形庫,由${UGⅡ_BASE_DIR}\Mach\resource\library\tool\graphics 目錄下一系列刀具的實體模型檔案構成,包含用於顯示刀具裝配的資訊。構建使用者自定義的刀具裝配模型,推薦在非主模型檔案中,將使用者自定義刀具、刀柄及相關部件進行裝配。對於鑽削或銑削的刀具,在模型裝配時,刀具軸應與X軸正方向一致,座標系零點在刀柄夾持點(Tool Tracking Point)。另外,構建的刀具非主模型檔名應與刀具幾何結構引數庫tool_database.dat檔案中DATA記錄的LIBRF值相同。這樣,按照以上原則,系統進行刀位機床模擬或需要顯示刀具時,才能夠按照刀具的庫參考值,調出刀具裝配模型,並以系統預設方向和位置顯示出使用者自定義的刀具模型。四、在建立自定義刀具庫過程中需要注意的幾個問題(1)建立刀具庫時,在dbc_tool_ascⅡ.def檔案中定義刀具主類或子類時,UI_NAME 後面可以採用中文字串。另外,庫中所有記錄的刀具描述、材料描述都可以採用中文字串。但目前不建議刀具庫記錄中的LIBRF值採用中文。(2)建立刀具幾何結構引數庫、刀具材料庫、零件材料庫及切削引數庫過程中,應保持每個庫中的LIBRF值的唯一性,原因在於它是作為系統其他庫引用和系統內部識別的標識。(3)呼叫刀具庫建立刀具時,為增加檢索查詢專案,可以在dbc_tool_ascⅡ.def檔案內,相應刀具主類或子類定義的“DIALOG libref Diameter”行中,加入需要增加的刀具查詢引數。當然,要提高CAD/CAM系統效率,以及工藝製造技術人員的快速反應能力,本文所涉及到的僅僅是系統裡很小的一個環節。更多的工作還需要技術人員不懈的努力,腳踏實地地收集和積累製造系統中的各個基礎資料,結合現代新技術不斷完善和健全,從而提高系統整體的協作水平和工作效率