一、引言
筆者所在公司主產品是傳動件,主要有齒輪、鏈輪、同步帶輪和皮帶輪等。有時一天需要加工數十種不同的產品,制圖的工作量很大。如果完全滿足車間生產需要,需要配備3~4名制圖員。采用傳統方式繪圖,完成一個簡單的傳動件需要0.5小時左右,而復雜的非標產品(如有端面槽、錐孔結構)則需要0.75~1小時。另外一些大規格的鏈輪需要在加工中心銑齒完成,需要齒形圖編制CNC程序,因此精確畫出齒形就更重要。
鑒于公司95%以上傳動件結構有很多類似的地方,為了提高制圖效率,開發一款傳動件制圖的專用軟件很有必要。
二、模塊化編程的原因
公司試生產時,主要產品是鏈輪,筆者用VBA做了一個鏈輪繪圖程序。隨著生產規模的擴大,同步帶輪、齒輪和皮帶輪產品越來越多,需要在程序中增加繪制相關特征等功能。導致程序代碼過多、結構復雜、修改困難,程序運行易出錯。這種情況下,筆者嘗試模塊化編程,將相似的程序塊和功能塊分離出來,做成公用的模塊,供不同的傳動件程序調用。
三、模塊化拆分
模塊化拆分最為關鍵,一是將圖形拆分成不同的功能塊,二是將程序公用代碼做成模塊。
1.圖形模塊化
圖1是一個典型的鏈輪傳動件圖樣,可以按圖2拆成四部分:①齒形模塊;②輪轂模塊;③輻板(減輕孔)模塊;
④孔模塊。我們生產的絕大部分傳動件(鏈輪、齒輪、皮帶輪和同步帶輪等)都可以拆分成這4個模塊中的全部或部分模塊。由于不同傳動件的齒形差異,所以齒形模塊這部分是不可以共用的。輪轂模塊中的輪轂是廣義的輪轂,包含兩邊沒有輪轂(齒板)和輪轂低于平面等形狀的圖形。輻板模塊是選用模塊。孔包含直孔模塊和成孔模塊(臺階孔、鍵槽孔和錐孔等)兩部分,可進行選擇。
經過這樣拆分后,僅有齒形模塊為專用模塊。不同的傳動件制圖時,要先選用相應的齒形模塊,然后根據需要調用公共模塊,即可組合實現不同的圖形。
2.公用代碼模塊
畫圖時,要設置不同的線型:粗實線、細實線、中心線和虛線等,這個部分可以設成一個公用圖層模塊(SetLayers),通過這個模塊調用不同線型。另外,筆者對CAD計算點、距離和畫圓弧等功能進行了擴展,并加入了一些計算弦長、圓弧角等功能函數,將這塊做成了公用函數模塊(WhlsFun)。基本上所有的傳動件(皮帶輪除外)都有齒頂圓、節圓(分度圓)、齒根圓、節距和齒數等參數,這部分定義成公用參數模塊(WhlsData),參數類型都是Global。
四、程序設計及實現
1.程序結構
程序模塊如圖3所示。程序結構、各個模塊之間的相互關系如圖4。
程序運行流程:通過ThisDrawing中的Wheels函數調用frmMain,通過選擇進入不同的傳動件界面,其中WhlsHub和ThrHole這兩個模塊因為大多數零件都要調用,所以直接在傳動件窗體中調用賦值。如果需要輻板設計和成孔設計,則將相應的信息傳遞到ConWhls模塊中,然后調用相應的模塊,完成后,通過ConWhls返回相應的傳動件模塊,完成傳動件設計。點“畫圖”按鈕,選擇左右視圖的插入點,完成圖形繪制。
2.程序運行界面
按圖5~圖8運行界面流程,輸入相應的參數,最后返
3.程序設計思路和要點
公司產品中,齒板、單邊輪轂和雙邊輪轂三種結構最常見,孔多數為直孔。所以,除了齒型參數外,輪轂結構、直孔尺寸輸入也放在傳動件窗體上(frmSprocket、frmGear、frmPulley和frmTimePulley)。點擊“參數計算”按鈕后,調用“WhlsHub”、“ThrHole”模塊,將相應參數賦值。這樣不需要調用其他窗體即可完成大多數的傳動件繪圖。
“ConWhls”模塊中主要設置了三個參數:“IntegerPartType”用于保存傳動件模塊信息,參數“BoolchkList(0to3)”保存需要調用模塊的信息,“BoolDesignList(0to3)”保存已經設計過后的模塊信息。
進行輻板、成孔設計時,先將傳動件模塊信息、需要調用模塊信息保存到“ConWhls”模塊“PartType”、“chkList”中,然后再進入相關模塊設計。設計完成后,將數據保存過的模塊列表保存到“ConWhls”模塊“DesignList”中,然后根據“PartType”值返回不同的傳動件窗體,完成給各個模塊設計。畫圖時,在傳動件窗體中先完成齒形,然后調用“ConWhls”中的“DrawViews”過程,根據“DesignList”值調用各個模塊的畫圖過程,再調用“WhlsHub.DrawHubView”過程,并判斷是否需要調用“ThrHole.DrawThrHoleView”過程。
為了保證各個模塊能吻合到一起,要將左右視圖的插入點和各個模塊視圖插入點保持一致,左視圖所有模塊的插入點為圓中心(ptCen),右視圖所有模塊的插入點為左端面的中心點(ptCenR),另外設置一個參數View,“View=0”調用左視圖,“View=1”調用右視圖,這樣通過過程DrawViews(ptCen,0)、DrawViews(ptCenR,1)可以分別畫各個模塊的左、右視圖。
五、使用效果
本程序能方便地實現多種傳動件(鏈輪、齒輪、同步同輪、V型帶輪、平皮帶輪和多楔帶輪)的設計,而且可以很容易地實現程序的擴展,如產品類型擴展到漸開線花鍵,結構擴展到軸類零件。
傳動件程序推廣使用后,公司95%以上的產品只需8~12分,即可完成圖形的繪制(包括標注等時間,繪圖只需要0.5~1分)。一個人即可完成原先3~4人的工作量,為公司節省了大量的人力、物力,達到滿意的效果。
由于齒型都是按照標準繪制,鏈輪的齒形圖可直接導入GibbsCAM中編制銑齒程序;剖視面(右視面)可直接用來編制數控車床程序,這都減少了CNC編程的制圖準備時間。
六、結語
模塊化編程,尤其適合大型程序的編制,編程工作量減小,修改也方便快捷。將程序做成不同的模塊,可讀性增強;代碼量減少了約30%~50%,代碼重用率高。將相似的零件結構拆成不同的模塊繪制,也是一種新穎的編程思路。
相關文章
- 2021-09-08BIM技術叢書Revit軟件應用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業技術人員計算機應用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應用 制表、數據處理及宏應用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機械制圖基礎培訓教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎培訓教程 [朱
- 2021-08-30電氣CAD實例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風暴2:Maya影像實拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術設計案例教程中文版AutoCAD 建筑設計案例
- 2021-08-29環境藝術制圖AutoCAD [徐幼光 編著] 2013年PDF下載
- 2021-08-29機械AutoCAD 項目教程 第3版 [繆希偉 主編] 2012年PDF