董慧鋒
(鄭州工業應用技術學院機電工程學院,河南鄭州,451100)
拉刀是一種加工效率及加工精度都很高的非標準刀具,廣泛應用在各種孔類零件的制造加工中。由于拉刀是非標刀具,其結構復雜,牽涉的參數比較多、計算工作量大、齒形設計也很繁瑣,因此拉刀的設計費時費力。此外,由于拉刀的特性,屬于精密家棟刀具,制造加工的成本很高,一旦在設計時出現失誤, 勢必會造成較大的經濟損失[1]。為了避免以上狀況的發生,提高拉刀設計的時效性和設計精度,本文綜合運用Visual Basic編程技術、數據庫技術、CAD二次開發等技術,設計了運行windows平臺拉刀計算機輔助設計系統。拉刀設計人員可以借助此系統的人機交互界面完成拉刀設計參數的輸入和相應的計算,然后調取AutoCAD完成拉刀的圖形繪制。
本系統是以Windows系統為平臺,以Visual Basic6.0計算機語言為開發工具,依據Windows自帶的Microsoft Access建立拉刀的參數數據庫,系統獲得相應參數數據后,操控AutoCAD軟件完成拉刀標準圖紙的繪圖,并進行輸出、保存。使用者只需將拉刀設計所需要的參數信息輸入到系統中,即可實現拉刀的設計計算及圖紙的自動生成。
本系統的機構設計如圖1所示。

圖1 系統機構框圖
為了實現系統后續的可擴展性、可維護性、可移植性,根據系統規劃和模塊化設計原則,本系統主要有以下幾個模塊:人機交互模塊、數據庫模塊、參數設計模塊和圖形繪制模塊。在人機界面中,使用者根據設計需要輸入拉刀參數。輸入拉刀設計參數完畢后,本系統會根據使用者輸入、選擇的數據進行設計、計算,并最終生成繪制拉刀的數據參數。即使輸入的設計參數不正確或超出數據庫中的范圍,系統將進行錯誤提示。然后程序會自動啟動AutoCAD進行繪制拉刀圖形并對結果文件進行保存。最后關閉圖形文件、退出AutoCAD。
拉刀CAD系統的人機交互界面的設計是整個系統設計的重要組成部分,所以系統的界面設計尤為重要。交互式用戶界面主要用于輸入已知拉刀參數和用戶的特殊的需求,如拉刀類型、工件材料、拉刀材料、預制孔直徑以及容屑槽參數等數據。所以用戶界面一定要簡潔、明了方便用戶輸入。VB語言的特點也讓人機交互界面更加直觀和易懂。
打開拉刀CAD系統可執行文件后,首先顯示的系統的登錄界面,界面很簡潔,如圖2所示。上面是一個標簽,其標題是“歡迎使用拉刀CAD設計系統”;中間部分是一個框架,內部是一個圖像框(Image)顯示的是一個拉刀的圖形;下部是兩個命令按鈕,分別是“歡迎進入”、“退出”,點擊即可進入系統,或退出系統。其程序如下:

圖2 登錄界面
按鈕“歡迎進入”的程序:


點擊按鈕進入材料選擇界面,如圖3所示,點擊幫助還可以顯示常用材料的提示說明,“拉刀材料”和“工件材料”的選擇,都可以根據常用的材料在下拉列表框顯示并進行選擇。

圖3 材料選擇界面
完成拉刀類型、拉刀材料選擇之后,系統進入拉刀參數輸入界面,系統會根據輸入的參數,進行計算,最后完成圖形繪制。參數輸入界面如圖4所示。

圖4 參數錄入
此界面主要用于輸入拉刀的有關參數。如圖4所示,選擇的拉刀類型為花鍵拉刀。需要輸入的參數為:預制孔直徑、預制孔最小極限尺寸、花鍵大徑、花鍵大徑最大極限尺寸、拉削長度、花鍵鍵寬、鍵數。其中鍵數是由下拉列表框進行選擇,此數據都是整數,2、4、6、8、10、12等。然后是兩個命令按鈕:“下一步”、“上一步”。
如果輸入和選擇參數后,發現上個界面的“材料選擇”有問題,此時可以單擊“上一步”按鈕,返回“材料選擇”界面。其程序如下:


系統的數據庫是由拉刀設計者在設計拉刀的過程中,按照設計要求、標準及相關的拉刀設計手冊,建立的原始數據和相應的計算結果。原始數據應包括繪制拉刀、設計拉刀的一些關鍵數據,如刀柄的長度、齒升、齒距、容屑槽的尺寸、容屑槽的系數等相關數據參數[2]。
由于VB語言自身并沒有可以訪問數據庫相關的類,因此,系統設計時需要引用一個能夠訪問數據庫的類來進行數據庫的訪問。本系統采用ADODB,與DAO和API比較起來,ADODB比DAO使用起來更靈敏、功能更強;對比API,ADODB更容易使用。Access數據庫相對SQL來說,使用起來更容易,而且可以滿足本系統對數據庫容量的要求,所以拉刀CAD系統選擇了Access。
依據拉刀參數的類型完成數據庫建立后,就可以通過Select和Find等語句,逐一的對數據庫內的數據進行檢索、計算,獲得的結果可以直接用于拉刀圖形的繪制。
本系統利用Visual Basic編程語言直接調用AutoCAD軟件實現參數化、自動化拉刀圖形繪制。根據用戶在參數界面錄入已知設計的相關參數及要求,系統會對這些數據進行計算整理,通過調用各種計算子程序及數據庫,對拉刀進行優化設計計算,并把設計結果傳送給繪圖程序,然后打開AutoCAD軟件,完成拉刀的圖紙繪制,繪制過程如下圖5所示。

圖5 繪圖界面
本系統程序設計除了各種計算和調用數據庫外,最重要的就是啟動AutoCAD軟件,然后根據輸入及計算的參數繪制拉刀圖形。
利用AutoCAD ActiveX Automation技術,使用者可以通過程序在內部或外部,完成對AutoCAD繪圖軟件的操控。在VB編程語言中,可以把AutoCAD軟件看作一個圖形窗口,然后對圖形窗口執行打開、繪圖、編輯、保存、打印及關閉等操作。具體操作命令如下:

進入繪圖界面后,要根據拉刀參數進行圖形的繪制。對于拉刀圖形主要是直線和曲線的組合,因此,繪圖程序最重要的就是獲取直線、曲線的起始點和起始角度。為了提高程序運行效率,可以把直線和曲線的繪制設計成子程序進行調用。
下面創建繪制直線的子程序:

對于拉刀的圖紙繪制來說,其實就是直線、曲線、圓弧等的組合,利用以上這些子程序就可以完成拉刀圖紙的自動繪制。后續也可以對這些程序進行擴充,來完成更多類型拉刀的圖紙的設計。
本設計完成了拉刀CAD系統的設計。在windows平臺,基于VB語言環境和數據庫,調用AutoCAD 軟件完成拉刀工程圖的參數化繪制。基于VB環境的拉刀CAD系統可以對拉刀進行參數化設計,對不同規格的拉刀進行參數的自動計算和出圖,可以有效地縮短了設計、開發、制造周期,提高設計效率。