吳瑋珂+陳彩鳳+仲梁維



摘要:傳統的圓柱齒輪減速器設計難度大、效率低。將模塊化、參數化等產品設計開發技術應用到圓柱齒輪減速器智能設計系統中。以SolidWorks2016軟件為平臺,結合SQL Server2008數據庫管理軟件,用VB.NET編程語言開發出圓柱齒輪減速器的快速設計系統。該系統節省了設計時間和開發成本,實現了結構設計、工藝設計、產品數據管理一體化過程,提高了市場競爭力。
關鍵詞:圓柱齒輪減速器;二次開發;快速設計;參數化;SolidWorks
中圖分類號:TP319
文獻標識碼:A
文章編號:16727800(2017)004013203
0引言
減速器是機械、航空航天等諸多領域的機械傳動裝置,在現代機械系統中應用很廣[1],其主要作用是減小轉速及增大扭矩。以圓柱齒輪為傳動零件的圓柱齒輪減速器最為常用,其工作原理是利用齒輪的速度轉換器,將電機速度降低到所需要的速度,從而增加轉矩。齒輪減速器主要由傳動零件(齒輪)、軸承、箱體及其附件組成。減速器結構非常復雜,除主要零件外,還包括通氣器、密封裝置、軸承擋油盤等,如果每個部件都采用個性化設計,會造成設計難度大、開發周期長、生產效率低等問題。為此,我們引入了快速設計系統概念。設計者在產品開發過程中利用二次開發技術,建立模型模板,開發同類零件時可直接調用模型庫中已保存的零件模板,通過參數化驅動快速實現。
1快速設計系統
產品快速設計系統(KRDS),也稱快速響應設計、敏捷設計,是一個集參數化設計、系列化設計、模塊化設計、模板化設計、自頂向下設計及設計知識管理于一身,具備良好的人機交互操作界面,面向產品三維方案設計、三維結構設計和三維轉二維工程圖的智能設計平臺。該系統在企業設計技術體系和三維技術應用基礎上,實現企業設計知識的繼承和發展,有效推進企業“三化”設計,顯著提高了產品設計效率和質量,同步促進企業的組織結構優化調整和研發模式改進轉型。 系統最重要的部分是參數化設計。參數化設計是將模型中的定量信息變量化,使之成為任意調整的參數[6]。對于變量化參數賦予不同數值,即可得到不同大小和形狀的零件模型。在本實例中,先用SolidWorks軟件繪制好各子零件模型,定義各零件中的參數關系,然后裝配保存。再用Microsoft Visual Studio 2008搭建好零件參數的可視化界面,設置一鍵驅動按鈕,把零件參數關系用VB.NET代碼表示出來,同時與數據庫連接。當驅動模型時,模型參數會自動保存到數據庫指定的文件夾下,需要改變模型參數時,只需在界面中輸入參數即可,點擊一鍵驅動按鈕就會出現新參數下的模型。在產品族模型進行參數化變型驅動時,系統會自動對驅動后的各個模塊裝配進行檢查。由于SolidWorks的三維模型和二維工程圖之間存在相互關聯性,因此在三維模型參數驅動的同時,可實現對二維工程圖的同步更新,并應用工程圖優化技術進行調整,達到零件的快速設計和快速裝配目的[2]。
2系統結構
基于VB.NET的圓柱齒輪減速器智能設計系統通過VB.NET技術和OLE(對象鏈接和嵌入)或COM(組件對象模型)技術相結合,將SolidWorks的API函數作為二次開發接口工具,添加.NET和COM引用[3] 。模塊化設計分類方式有功能和特征兩種。功能模式分為設計計算、結構設計、三維參數化建模、工程圖、數據管理等。
(1)設計計算模塊:根據輸入的傳遞功率、轉速等基本參數,計算后判斷強度、剛度等是否符合要求,確定各個零件的具體尺寸,設計結果存入數據庫供研究。(2)三維參數化建模模塊:主要對零件進行參數設置,包括主動參數和從動參數,主動參數在可視化界面中直接輸入,從動參數通過在VB.NET中定義的關系直接驅動生成三維模型。(3)工程圖模塊:用于實現三維轉二維的智能輸出。通過編寫工程圖優化程序,調整工程圖尺寸大小及視圖位置,實現工程圖的快速自動導出[4]。
3系統設計
3.1系統開發工作流程
系統開發流程如下:①進入SolidWorks系統,在菜單欄進入用戶登錄界面,輸入整體基本參數;②減速器的類型設計完成后輸入軸及齒輪主要參數,并通過計算分析得出二級參數;③根據已輸入的產品編號,判斷已知實例庫中是否已有該型號,若已存在則直接調用。若沒有,則在判斷數據正確的情況下,將參數寫入數據庫存檔;④顯示三維模型及工程圖。
3.2系統界面及引用添加
圓柱齒輪減速器智能設計系統主要包括基本參數、軸參數設計及齒輪參數設計3部分。用戶界面作為人機交互最重要的部分,設計時要做到操作簡潔方便,一目了然。本設計界面分模塊填寫參數,并附上說明圖標注,使具體參數位置更加清晰。大部分數據可在后臺計算自動得出,大大降低了設計人員工作量,提高了工作效率。設計系統界面如圖1所示。
本實例使用Visual Studio 2008 作為編寫代碼平臺,為了使開發程序能成功連接到SolidWorks軟件,首先應當添加SolidWorks.Interop.sldworks、SolidWorks.Interop.swconst、SolidWorks.Interop.swpublished等引用。
3.3尺寸模型驅動
模型驅動前對工作路徑及存儲路徑進行修改。填寫完圓柱齒輪減速設計系統各零部件參數之后,對模型進行驅動,定義好尺寸驅動關系,點擊尺寸驅動模型按鈕即可驅動總裝模型,代碼如下: Imports System.Data.SqlClient ‘與數據庫Sql的引用 Imports SolidWorks.Interop.sldworks ‘與SolidWorks軟件的連接 Imports System.Math Imports System.Windows.Forms ‘運行的平臺 Imports System.IO Imports Microsoft.Office.Interop ‘與excel的引用 Public Class waterprotection #Region "打開模型"Private Sub Button6_Click(ByVal sender As System.Object,ByVal e AsSystem.EventArgs) Handles Button6.Click Button8.Enabled = True SwApp = GetObject("","sldworks.application") part = SwApp.ActiveDocpart = SwApp.OpenDoc6("E:\參數化設計\圓柱減速器模型\總裝圖.SLDASM",2,0,"",longstatus,longwarnings) (模型存放的路徑) SwApp.ActivateDoc2("總裝圖",False,longstatus) End 驅動完成模型總裝配圖如圖4所示。
3.4設計計算
智能設計系統優點在于設計人員只需輸入少量參數,通過后臺程序運算就可得出想要的參數,也可根據后臺的尺寸規則來判斷數據的正確性,避免了重復性工作。〖HT5"〗 TextBox_G_t.Text = Compute_F_Gmax(M,H1) *Y5/ S TextBox_H_t.Text = Compute_F_Gmax(M,H2) *Y6/ S part.Parameter("D1@草圖2@大齒輪.part").SystemValue = Diameter_DC_31_09 / 1000 part.Parameter("D1@草圖3@大齒輪.part").SystemValue = Diameter_DC_31_09 / 1000 - 0.002 part.Parameter("D2@草圖1@大齒輪.part").SystemValue = Diameter_DC_31_09 / 1000 + 0.007 ‘獲得大齒輪參數
3.5數據庫訪問
數據庫(Database)是存儲計算機相關數據的集合。一個完整的數據庫應由數據庫、數據庫管理系統、數據庫應用程序、計算機軟件和硬件系統以及數據管理員幾部分組成。設計過程中往往需要對大量數據進行篩選,工作量大且復雜,如何高效簡潔地獲取所需要的數據至關重要。數據庫的另一作用是標準數據的管理,主要對標準件及固定尺寸模型參數進行存儲。使用過程中,通過代碼對數據庫進行調用,設計者可選擇需要的參數型號,直接驅動該類模型生成。本實例中標準件包括六角螺釘、夾緊裝置等。數據庫中內六角螺母基本參數如表1所示。
本文利用SQL Sever 2008作為系統的數據支持,用戶在該數據庫下使用SQL語言,可進行數據的新增、刪除、修改、查詢等操作,功能強大。以下是數據庫連接代碼: Dim connectionstr As String connectionstr = "server=服務器地址;database=數據庫;uid=用戶名;pws=密碼" Dim comm As New SqlConnection(connectionstr) '定義連接功能 conn.open() '打開連接 conn.close() '關閉連接
3.6工程圖驅動
模型驅動完以后,在主界面點擊生成工程圖按鈕,就能自動生成工程圖。但是直接轉換過來的工程圖質量很差,會出現視圖位置漂移、尺寸線拉長、序號不整齊等情況[5]。通過代碼重復利用可實現各工程圖的自動調整。工程圖調整主要包括視圖位置調整、視圖比例調整、尺寸位置調整及材料明細表調整等。 視圖位置調整用Position函數進行定位[8],模型驅動后獲取當前圖形的中心位置C點坐標及該圖形的任意一個端點F的坐標。視圖位置調整代碼如下: Dim swSelMgr As SelectionMgr=swpart.SelectionManager Dim swView As IView=swSelMgr.GetSelectedObject5(1) Dim swPosition As Object=swView.Position Dim swOutline As Object=swView.GetOutline() 〖JP2〗Dim outlineX As Double=(swOutline(2)+swOutline(0))/2 Dim outlineY As Double=(swOutline(3)+swOutline(1))/2 Dim ViewX As Double=swPosition(0) Dim ViewY As Double=swPosition(1) …… swView.Position=swPosition 視圖比例調整主要是通過確定驅動后工程圖的包絡線參數值,與事先設置好的視圖包絡線尺寸值進行比較。視圖比例調整部分關鍵代碼如下:〖HT5"〗 Swpart.ActiveView(viewname) swDraw=swpart Dim shtWid,shtHeight As Double shtWid=widLim shtHeight=heiLimboolstatus=swpart.Extension.SelectByID2(viewname,”DRAWINGVIEW”,0,0,0,False,0,Nothing,0) …… Do While lengthX>shtWidOrlengthY>shtHeigh i=i+1 vScaleRation=swView.ScaleRation …… Loop 調整后的工程圖如圖5所示。
4結語
本文以知識工程思想為指導,把參數化設計、模塊化設計和實例推理思想引入到圓柱減速器設計,借助SolidWorks2016軟件、SQL Server數據庫、VB.NET編程語言開發了圓柱減速器智能設計系統。該系統實現了圓柱齒輪減速器的快速設計,實現了資源的整合和重復利用,縮短了產品設計周期,具有一定的現實意義。
參考文獻:[1]王秋穎.基于SolidWorks的減速器三維設計系統的研究與開發[D].大連:大連理工大學,2014.
[2]劉昆民.圓柱齒輪減速器的快速設計技術[D].太原:太原理工大學,2006.
[3]索超,李玉翔,林樹忠.基于VB語言對SolidWorks參數化設計的二次開發[J].制造業自動化,2013,35(8):137138.
[4]李曉玲.圓柱齒輪減速器快速設計研究[D].西安:西安電子科技大學,2010.
[5]陳樹曉,水俊峰,張晉強,等.基于SolidWorks的工程圖明細欄自動生成與調整技術[J].中國制造業信息化,2007,36(3):4446.
[6]殷國富,尹湘云,胡曉兵.Solidworks二次開發實例精解[M].北京:機械工業出版社,2006,2829.
[7]吳偉偉,唐任仲,侯亮,等.基于參數化的機械產品尺寸變型設計研究與實現[J].中國機械工程,2005(3):3236.
[8]王宗彥,楊忠華,吳淑芳.基于三維設計的工程圖自動調整技術[J].機械設計與制造,2009(10):6466.(責任編輯:杜能鋼)