王忠雷,程鋼,袁文生,王曉麗
(1.山東建筑大學機電工程學院,山東濟南250101;2.山東省高校機械工程創新技術重點實驗室,山東濟南250101;3.齊魯工業大學機械與汽車工程學院,山東濟南250353)
SolidWorks二次開發在機械學科畢業設計中的應用
王忠雷1,2,程鋼1,2,袁文生1,2,王曉麗3
(1.山東建筑大學機電工程學院,山東濟南250101;2.山東省高校機械工程創新技術重點實驗室,山東濟南250101;3.齊魯工業大學機械與汽車工程學院,山東濟南250353)
目前在本科教學中對三維CAD軟件的課堂教學和實踐訓練,一般都集中在應用軟件進行造型、裝配和加工代碼生成。隨著CAD軟件技術應用的深入,通用的CAD軟件難以滿足所有行業的要求,CAD軟件進行二次開發,已經成為CAD軟件深入應用的有效途徑。文章分析機械學科畢業設計的現狀及問題,闡述了CAD二次開發的技術基礎,提出了二次開發技術在畢業設計中的應用途徑。并對CAD軟件二次開發技術在機械學科畢業設計中的應用實例進行分析,通過教學實踐證明了這一創新實踐教學的可行性和效果。
Solidworks,二次開發,畢業設計
近年來,隨著計算機技術的應用發展,特別UG、Pro/E、SolidWorks等CAD軟件的飛速發展,機械設計已經由二維設計向三維設計發展。三維設計提高了設計的可視性,同時也為后續的數控加工提供了可靠的幾何模型,提高了產品設計和制造的效率。同時隨著現代設計技術的發展,對三維CAD軟件的要求越來越高,通用的三維CAD軟件很難滿足所有行業的要求。基于這種情況,很多企業開始對三維CAD軟件進行二次開發,以滿足本企業產品設計的特殊要求,提高設計的效率[1-2]。因此,針對企業自身特點,對CAD軟件進行二次開發,已經成為各個企業提高自己設計效率和競爭力的重要手段。
目前在本科教學中對三維CAD軟件的課堂教學和實踐訓練,一般都集中在應用軟件進行造型、裝配和加工代碼生成。雖然三維CAD軟件課程在課程設計和畢業設計等教學環節中也獲得了廣泛的應用,同時通過學習學生提高了自己應用三維CAD軟件的能力和實踐水平,但是目前的課堂教學和實踐教學,對于CAD系統的二次開發技術的講解和應用不多,因此通過畢業設計等實踐教學環節,對學生進行三維CAD軟件的二次開發訓練,可以提高學生應用CAD軟件的能力,使畢業學生更加符合企業的需求。為此文章以SolidWorks二次開發這一新的選題為例,對機械學科畢業設計的改革進行了嘗試和探索[3-4]。
畢業設計是高校人才培養不可替代的實踐教學活動,是學生理論、實踐、創新能力與科研水平相結合的綜合訓練。通過畢業設計,可以進一步深化和檢驗學生對所學專業理論知識的掌握程度,同時提高知識綜合應用能力和創新能力,培養學生獨立分析和解決實際問題的能力[5-7]。當前機械學科的畢業設計受到一些客觀條件的限制依舊存在一些問題[8-9]:(1)從學生的角度畢業設計是畢業之前的最后一個教學環節,面臨就業、升學、出國等各方面壓力,學生難以集中精力完成高質量的畢業設計;(2)從老師的角度 由于連年擴招,畢業生數量激增,導致每位畢業設計老師指導的畢業生數量大幅增加,畢業設計指導教師難以全身心地指導每一位學生。
除去上述的客觀原因外,由于畢業設計題目陳舊、內容空洞、缺乏實踐性,學生認為畢業設計對于將來工作沒有直接的幫助和支持,畢業設計投入的時間和精力不足是導致畢業設計質量下降最主要的原因。因此合理選題、優化畢業設計內容,使本科生畢業設計與其從事的工作直接相關,是調動學生積極性、提高畢業設計質量最有效的措施。從前面的分析可以看出,畢業設計的選題對畢業設計的質量有著重要的影響。
所謂二次開發是為了使CAD軟件更符合用戶設計過程中的特殊要求,在現有通用CAD支撐軟件的基礎上,利用二次開發語言和工具進行二次開發,提高和完善CAD軟件功能。通過二次開發可以提高產品設計的質量,縮短產品設計的周期,充分實現CAD軟件的功能和價值。CAD軟件經二次開發之后,具有良好的人機交互界面,并吸收和融入許多專業知識和設計經驗,使得設計人員能夠更加方便和快捷的利用CAD軟件進行產品設計,從而實現設計質量和效率的提高。
現在大多數的三維CAD軟件都提供二次開發接口,在眾多的三維軟件中,SolidWorks簡單易用、功能強大,而且二次開發接口和開發方式豐富,開發難度低,因此在本課題中采用SolidWorks作為二次開發研究和應用的對象。SolidWorks提供了功能全面而且簡單易用的二次開發接口—基于API的應用程序設計接口,這個接口可以通過OLE Automation技術進行訪問,其中包含了大量的功能函數,程序員通過這些功能函數可以直接訪問SolidWorks,實現SolidWorks軟件所有的功能和操作。對于支持OLE技術的高級程序設計語言,如VB、VC++、Delphi、Java等都可以用于進行SolidWorks軟件的二次開發。
目前常用的SolidWorks二次開發方法,概括起來主要API程序設計法[10-11]和模型尺寸驅動法兩種[12-15]:
(1)API程序設計法是將設計過程的每一個步驟都采用API函數組成的程序完成,利用設計的API程序順序地執行設計過程,完成整個設計。API程序設計法需要開發者利用SolidWorks API函數自行編寫代碼,這就要求開發者能夠熟練的掌握和靈活的應用SolidWorks的API函數,提高了對開發者要求,從而也增加了開發的難度。因此這種二次開發方法,并不十分適合程序設計水平不高的機械專業學生。另外,使用API程序設計法進行二次開發,不但編寫的代碼非常多,而且程序每次運行都需要一步一步順序的建立整個模型的每一部分,模型建立的時間比較長,效率比較低。
(2)模型尺寸驅動法在應用SolisWorks進行零件的模型建立時,零件草圖和模型特征都是尺寸相關聯的,隨著尺寸的變化而變化。模型建立完成后,可以通過尺寸驅動的方式完成對模型的修改。利用該方法,在SolidWorks二次開發時,不需要完整的建立模型的零件草圖和模型特征,而是應用尺寸驅動的方法,通過改變已有模型的尺寸,來實現需要設計模型的建模過程,這種二次開發的方法稱為模型尺寸驅動法。使用模型尺寸驅動法,并不是按照造型的過程一步一步重新建模,而是在原有的模板模型的基礎上改變尺寸參數并通過尺寸驅動技術進行模型重建。采用該方法進行SolidWorks二次開發有很多好處,首先二次開發編寫的代碼大大減少,同時也不需要開發者掌握所有的SolidWorks API函數,把開發者從學習和應用SolidWorks API函數的繁重勞動中解放出來,使得SolidWorks二次開發變得簡單起來,最重要的是模型尺寸驅動法的應用,可以使程序設計水平不高的機械專業的學生比較輕松的進行SolidWorks二次開發。其次應用模型尺寸驅動法設計的程序在運行時不需要實現整個建模過程,只是通過尺寸驅動實現模型的重構,提高了程序的運行效率。
對于機械專業的學生來說,由于其程序設計和開發的能力和水平有限,而且本科畢業設計時間短、任務重,要想實現SolidWorks二次開發技術在本科畢業設計中的應用,必須對于畢業設計的各個環節進行合理的設計,才能保證這一實踐教學環節的順利進行。
3.1 合理的選題
合理選擇題目是保證SolidWorks二次開發技術在本科畢業設計中成功應用的關鍵和基礎問題。針對機械學科的學生機械設計能力強、應用SolidWorks進行三維造型的能力強,而軟件設計和代碼編寫能力不強的情況,在進行題目選擇時,應注意揚長避短,所選擇的題目程序結構比較明確、代碼編寫的難度低、代碼編寫量少,而將畢業設計作品的水平體現在其設計系統的機械結構復雜度和三維造型復雜度上。合理的選擇題目才能使學生在畢業設計中,發揮自己的優勢,彌補自己的不足,高水平完成教學任務,并使學生得到應有的鍛煉和提高。
3.2 合理選擇開發工具和技術
由于機械學科學生軟件設計和代碼編寫能力不強的特點,在選擇開發工具和開發技術時,應結合學生的特點進行選擇。在開發工具的選擇上,應選擇簡單易學、學生有基礎的編程語言。由于支持OLE的高級語言都可以進行SolidWorks的二次開發,可以選擇的范圍較大,一般選擇工科學生常用的VB、Delphi等開發工具,如果學生對其他語言比較熟悉也可以選用。由于SolidWorks的宏錄制采用的是VBA語言,與VB語言比較接近,因此優先選擇VB作為SolidWorks二次開發的工具。
在開發技術上,由于API程序設計法難度較大,一般選擇模型尺寸驅動法。該方法的難點在于設計零件或裝配體的三維造型,而程序設計較為簡單,正好可以發揮機械學科學生的特長。而且該方法代碼量小、系統可靠性高、運行效率高,是優先選用的開發技術。
3.3 全面的技術指導
SolidWorks的二次開發對于機械學科的學生來說是比較陌生和困難的事情。因此,在整個畢業設計期間要進行全面細致的指導。畢業設計初期,對學生的開發技術進行詳細的指導,使學生盡快的完成一個簡單、完整的二次開發實例,提高學生的信心和興趣,提高畢業設計的效率;自畢業設計中期,系統結構設計是整個設計的難點和重點,也是機械學科學生了解不夠深入的問題,需要老師進行細致的指導,建立較好的程序基礎,保證整個設計的順利進行;設計一旦進入代碼設計階段,學生一般能夠獨立進行,這時老師需要關注學生設計代碼的可靠性和容錯性。只要老師和學生密切配合,基于SolidWorks二次開發的畢業設計就能夠順利進行,并取得很好地設計成果和教學效果。
為了驗證前面研究和探討的“SolidWorks二次開發在機械學科畢業設計中的應用”的可行性,在畢業設計中,進行了嘗試和實驗。選用的畢業設計題目為“基于SolidWorks二次開發的鈑金件參數化設計與展開系統開發”,采用的開發語言為Delphi,采用的二次開發技術為模型尺寸驅動法。
學生開發完成了基于SolidWorks二次開發的三維鈑金件參數化設計及展開放樣軟件,實現了鈑金零件的參數化設計及自動展開放樣。主要包括鈑金件模型庫模塊、數據輸入模塊、零件生成及展開模塊。模型庫中包括十余大類一百余種工業管道過渡件等鈑金件的三維模型和展開放樣模型。該軟件通過數據輸入模塊,把模型庫中鈑金件模型的變量尺寸設置為具體的數值尺寸,通過尺寸驅動,生成所需要的鈑金件的三維模型(如圖1所示)和二維展開放樣模型(如圖2所示)。
畢業設計完成了所有的預定任務,完全符合畢業設計的要求,學生不僅訓練了鈑金件的設計和展開計算,而且系統的進行了Solidworks二次開發系統的設計和實現,使學生扎實的掌握了程序設計、軟件開發和Solidworks二次技術,提高了學生應用CAD軟件的水平,更加適合企業的人才需求。

圖1 四節等徑直角雙向圓柱三通管模型圖

圖2 四節等徑直角雙向圓柱三通管二維展開放樣圖
對SolidWorks二次開發在機械學科畢業設計中的實踐教學方法進行了研究和應用,實踐表明:在合理選題、合理選擇開發工具和開發技術、學生老師密切配合的條件下,機械學科畢業設計中應用SolidWorks二次開發技術進行系統開發完全可行,而且效果良好。在研究過程獲得如下總結:
(1)SolidWorks二次開發技術較其他三維CAD軟件二次開發技術簡便易學,更適合在機械學科的本科畢業設計中應用;
(2)尺寸驅動法,程序設計量小、不需要復雜的API函數,更適合非計算機專業的學生進行SolidWorks二次開發系統設計;
(3)在合理選題、合理選擇開發工具和開發技術、學生老師密切配合的條件下,機械學科畢業設計中應用SolidWorks二次開發技術進行系統開發完全可行,而且效果良好。
[1] 張信群.基于SolidWorks的落料拉深符合模CAD設計[D].合肥,合肥工業大學.2009.
[2] 王曉麗.基于SolidWorks的回轉立體庫CAD[D].濟南,山東大學.2006.
[3] 段培永,張玫,張桂青,等.建筑強弱電結合的創新性應用型人才培養體系研究[J].山東建筑大學學報,2013,28(6):590-594.
[4] 張明勤,張瑞軍,何芹,等.TRIZ教學體系的探索與實踐[J].山東建筑大學學報,2013,28(2):172-175.
[5] 閆存富,張洛明.工科學生畢業設計教學研究[J].中國冶金教育.2014(2):52-53.
[6] 郝妮妮,劉華偉,姜雪,等.工科類本科畢業設計質量監控體系的構建探索[J].中國電力教育.2014(17):86-88.
[7] 孔祥強,李瑛,楊前明.工科類本科畢業設計教學模式探討[J].高等建筑教育,2012,21(3):140-143.
[8] 李紅梅,盧葦,陳旭東.畢業實習與設計過程管理質量保證體系的研究與實踐[J].高等工程教育研究,2012(6):167-171.
[9] 劉波粒,劉澤軍.淺析本科生畢業設計(論文)質量滑坡的原因及其對策[J].中國高教研究,2007(7):89-90.
[10]曾鋒,鐘治初,姚山.SolidWorks API二次開發方法與應用[J].嘉應學院學報(自然科學),2011,29(11):21-24.
[11]謝峰,汪洋.基于API技術的SolidWorks標準件庫的開發[J].機械工程師,2008(11):63-65.
[12]季忠,劉韌,王曉麗,等.基于SolidWorks的數控回轉立體庫的參數化設計[J].包裝工程.2009(10):93-96.
[13]孫濤.基于SolidWorks的注塑模架專家系統[D].大連,大連工業大學.2008.
[14]張信群.基于SolidWorks的落料拉深復合模CAD設計[D].合肥,合肥工業大學.2009.
[15]程芬,王宏建,滕爽.基于VB.NET的SolidWorks型鋼庫的二次開發[J].機械研究與應用,2013,26(1):72-73.
(學科責編:王光銀)
Application of secondary development of SolidW orks in mechanical engineering graduation project
Wang Zhonglei1,2,Cheng Gang1,2,Yuan Wensheng1,2,et al.
(1.School of Mechanical and Electronic Engineering,Shandong Jianzhu University,Jinan 250101,China;2.Key Laboratory of Mechanical Engineering&Innovation Technology in Universities of Shandong,Jinan 250101,China)
The undergraduate teaching about the three-dimensional CAD software was focused on learning and training modeling,assembly and generation of processing code.With the deepening of CAD application,CAD software is difficult to meet the requirementsof all industries.A secondary development of the CAD software according to enterprise's characteristics and requirement,has become the effective way for the application of CAD software.In this paper,the current situation and problems ofmechanical subject of graduation design was analyzed,a secondary development of the CAD software was described and the way of application secondary development technology of CAD in graduation design was proposed.The application examples of the secondary development technology of CAD software were analyzed in mechanical engineering graduate design and the teaching practice?proves the feasibility and effect of the innovative practice teaching.
SolidWorks;secondary development;graduation project
G642
A
1673-7644(2014)06-0601-04
2014-06-06
山東建筑大學博士基金項目(XNBX1245)
王忠雷(1977-),男,講師,博士,主要從事金屬塑性成形CAD/CAE等方面的研究,E-mail:wade_thunder@163.com