惠忠文
(1.中國煤炭科工集團太原研究院有限公司,山西 太原030006;2.山西天地煤機裝備有限公司,山西 太原030006)
SolidWorks是一種完全基于Windows 操作系統(tǒng)的三維設計軟件。 它具有強大的零件建模、零部件裝配、工程圖輸出、有限元分析功能,同時支持0LE(對象鏈接與嵌入)技術與COM(組件對象模型)技術,因此設計者能夠根據(jù)自身需要對其進行二次開發(fā)。 其優(yōu)異的性能、易用性和創(chuàng)新性,極大地提高了機械設計工程師的設計效率。曲線在SolidWorks 中具有非常重要的作用。在復雜曲面機械零件的建模過程中,如漸開線齒輪建模,常常需要使用曲線來生成實體特征、曲面特征。本文論述了基于SolidWorks 精確繪制曲線的三種方法,解決在SolidWorks 中精確繪制漸開線等復雜輪廓曲線的問題。
在工程設計工作中,常常需要對SolidWorks進行二次開發(fā), 生成個性化應用程序或插件,以提高三維實體建模效率。 SolidWorks 提供的API(應用編程接口), 可使用戶通過開發(fā)工具對OLE對象及其方法和屬性的操作, 實現(xiàn)曲線精確繪制。 任何支持0LE 技術的高級語言如Delphi,C,C++,Visual C++,VBA,Visual Basic 等都可作為開發(fā)工具。
SolidWorks API 對象是一個自上而下的多層次的樹形網(wǎng)絡。 如圖1 所示,SolidWorks 是根目錄對象, 位于應用程序的底層, 是訪問SolidWorks API 所有對象的入口程序。 接口對SolidWorks API 的調(diào)用實行逐級尋訪, 先調(diào)用能實現(xiàn)所需功能對象的父對象,然后調(diào)用與父對象相關的子對象,如果子對象所封裝的屬性和方法不能實現(xiàn)所需要的功能,則繼續(xù)調(diào)用該子對象的下級子對象,如此逐級遍歷,直到結束。
圖1 SolidWorks API 的對象模型關系部分層次圖
例如,在開發(fā)標準直齒圓柱漸開線齒輪建模插件時,可以調(diào)用SolidWorks API 中的函數(shù)進行漸開線曲線的精確繪制, 實現(xiàn)漸開線齒輪的建模。因為在SolidWorks 中,使用直角坐標系,所以必須把漸開線極坐標方程轉(zhuǎn)化為直角坐標方程式。標準直齒圓柱齒輪齒廓漸開線的直角坐標方程為:
式中 rb——基圓半徑
θ——基圓與發(fā)生線起點、 終點之間所對應的圓心角
齒廓曲線中的齒頂圓弧、過渡曲線、齒根圓弧等曲線方程在此處不做詳細敘述。
現(xiàn)以模數(shù)m=3,齒數(shù)Z=20,壓力角α=20°的標準直齒圓柱齒輪建模為例, 使用Visual Basic開發(fā)工具對SolidWorks 進行二次開發(fā),精確繪制漸開線。
漸開線繪制部分程序如下:
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long,longwarnings As Long Sub main()
Set swApp=Application.SldWorks
'建立與SolidWorks 的連接
Set Part=swApp.ActiveDoc
'獲得當前活動草圖
Dim myModelView As Object
Set myModelView=Part.ActiveView
myModelView.FrameState=swWindowState_e.swWindowMaximized
boolstatus=Part.Extension.SelectByID2("前視基準面","PLANE",0,0,0,False,0,Nothing,0)
Part.SketchManager.InsertSketch True
Part.ClearSelection2 True
Dim equationDriveCurve As Object
Set equationDriveCurve=Part.SketchManager.CreateEquationSpline2("28.19*(cos(t)+t*sin(t))", "28.19*(sin(t)-t*cos(t))","","0","0.78539",False,0,0,0,True,True)
'根據(jù)給定曲線方程繪制曲線
End Sub
在標準漸開線齒輪的分度圓上,齒厚等于齒槽寬,可以用分度圓上齒槽中心角的角分線來鏡像漸開線,利用兩條漸開線及齒輪頂圓、齒根圓的封閉曲線形成齒槽,使用圓周陣列功能,形成齒輪的輪廓線,然后進行齒根倒圓角,再拉伸切除材料,得到標準直齒圓柱齒輪三維模型,如圖2 所示。
圖2 標準直齒圓柱齒輪三維模型
在SolidWorks 中,提供了利用坐標點繪制曲線的功能。 可以通過手工輸入坐標點,也可以將已知坐標點保存為文本文件 (*.txt), 如圖3 所示,批量導入坐標點,實現(xiàn)曲線繪制。通過文本文件批量導入坐標點時,要注意文本文件中的坐標點數(shù)據(jù)格式, 三列坐標值以制表符或空格分隔,其間不要包含任何字符。利用文本文件批量導入坐標點繪制曲線的操作步驟如下: 打開SolidWorks--新建零件--選擇曲線文件--在對話框中點擊瀏覽--查找到文本文件--選擇打開--在SolidWorks 中根據(jù)文本文件中的坐標點自動繪制出曲線。
圖3 漸開線坐標點及利用坐標點繪制的漸開線
自SolidWorks 2007 版開始, 草圖繪制工具中添加了“方程式驅(qū)動的曲線”功能,用戶可以通過定義“笛卡爾直角坐標系”下的方程式來生成所需要的連續(xù)曲線。這種方法可以幫助用戶繪制所需要的精確曲線。下面以等距三邊形輪廓曲線的繪制為例進行詳細敘述。等距三邊形輪廓曲線如圖4 所示,它的直角坐標系方程為:
圖4 等距三邊形輪廓曲線
式中 Dm/2——平均半徑
e——偏心量
α——角度參數(shù)
取Dm=55 mm,e=2 mm,α=0 ~360°。 打 開SolidWorks--新建零件--選擇前視基準面--點擊繪制草圖--選擇方程式驅(qū)動的曲線--方程類型選擇參數(shù)式--輸入等距三邊形輪廓曲線方程及參數(shù),即可繪制出所需的曲線,如圖5 所示。
圖5 方程式驅(qū)動繪制的等距三邊形輪廓曲線
本文介紹了SolidWorks 中繪制曲線的三種方法。利用SolidWorks API 函數(shù)通過Visual Basic開發(fā)工具編程實現(xiàn)了在SolidWorks 中進行函數(shù)曲線的繪制,提高了復雜曲面零件三維實體建模的效率,為復雜曲面零件三維實體建模的二次開發(fā)提供了參考。 使用方程式驅(qū)動的曲線功能,也可以輕松實現(xiàn)笛卡爾直角坐標系下函數(shù)曲線的繪制。 通過坐標點繪制曲線的方法,適用于函數(shù)和非函數(shù)曲線的繪制,方法簡單、靈活,是另兩種曲線繪制方法的有效補充。