SolidWorks提供了二次開發(fā)接口API,具有良好的開發(fā)性和兼容性。用戶可以在SolidWorks本身功能的基礎(chǔ)上開發(fā)出新的功能模塊,比如開發(fā)出動態(tài)鏈接庫DLL插件,以滿足特定的需求。SolidWorks通過COM技術(shù)為開發(fā)人員提供二次開發(fā)接口、COM對象包含接口、屬性和事件,SolidWorks可以使用標(biāo)準(zhǔn)的COM對象實現(xiàn)調(diào)用API函數(shù)的功能。
Visual C++是一種常用的軟件編程開發(fā)工具,提供了功能強大的集成開發(fā)環(huán)境。其本身開發(fā)環(huán)境友好,高度的可視化開發(fā)方式和強大的向?qū)Чぞ?AppWizards)能夠幫助用戶輕松開發(fā)出多種類型的應(yīng)用程序。另外,Visual C++與SolidWorks有極好的連接性,能最大程度地使用SolidWorks API,可以開發(fā)出DLL插件,實現(xiàn)特定功能。
作者采用Visual C++6.0對SolidWorks進行二次開發(fā),實現(xiàn)軸向柱塞泵的參數(shù)化建模設(shè)計,包括零件的參數(shù)化建模以及自動裝配。應(yīng)用參數(shù)化建模程序,可以極大地節(jié)省開發(fā)與改造時間,提高效率,降低了設(shè)計的難度,并為后續(xù)的各仿真環(huán)節(jié)提供三維模型基礎(chǔ)。
1 參數(shù)化建模設(shè)計方法
零件參數(shù)化設(shè)計方法可以分為程序驅(qū)動及尺寸驅(qū)動兩種方法。
程序驅(qū)動方法是根據(jù)設(shè)計的零件尺寸,根據(jù)當(dāng)前單位系統(tǒng),通過設(shè)計過程中的關(guān)系,得出方程式,求解各個關(guān)鍵點的坐標(biāo),利用SolidWorks API提供的草圖繪制工具函數(shù)將各個關(guān)鍵點連接起來,完成草圖繪制后,調(diào)用特征生成命令,完成零件建模。運行時,采用交互式界面,由用戶指定尺寸,由程序自動求解關(guān)鍵點坐標(biāo),完成建模。程序驅(qū)動方法是一種自下而上的建模方法,由底層的點、線、面形成完整模型,一旦用戶需要修改模型,必須重新指定尺寸,程序重新求解坐標(biāo),繪制草圖,對于復(fù)雜零件來說,比較費時麻煩。
尺寸驅(qū)動方法是一種自上而下的建模方法,保持零件結(jié)構(gòu)不變,建立好零件模板,將設(shè)計尺寸設(shè)定為變量,運行時,用戶指定尺寸值,由程序自動定位到相應(yīng)的尺寸變量對草圖進行修改,然后完成建模,不必重新繪制草圖。此方法的優(yōu)點在于設(shè)計時不需考慮零件的具體尺寸,只需保證結(jié)構(gòu)不變,設(shè)定相應(yīng)的尺寸變量,這樣,用戶輸入不同參數(shù),即可得到結(jié)構(gòu)相同,尺寸不同的零件,方便了系列化的零件設(shè)計。這種自上而下的建模方法使得零件的修改與重建相比于程序驅(qū)動來說方便了很多。
2軸向柱塞泵參數(shù)化建模設(shè)計的關(guān)鍵技術(shù)
2.1程序的功能及設(shè)計思路
三維泵模型的建立是成品設(shè)計及后續(xù)仿真環(huán)節(jié)的基礎(chǔ),程序的功能是實現(xiàn)軸向柱塞泵主要零部件的參數(shù)化建模設(shè)計,完成自動裝配過程。
零件參數(shù)化建模程序的設(shè)計思路如圖1所示。自動裝配過程的設(shè)計流程如圖2所示。
圖1 零件參數(shù)化建模設(shè)計流程
圖2自動裝配過程設(shè)計流程
用戶只需指定關(guān)鍵參數(shù),而不必動手操作繁瑣的繪制建模和選擇裝配過程,使設(shè)計難度和繁瑣度大大降低。
2.2建立零件參數(shù)化建模模板
以某系列軸向柱塞泵的柱塞為例,其結(jié)構(gòu)如圖3所示。
圖3柱塞結(jié)構(gòu)示意圖
根據(jù)其結(jié)構(gòu),在SolidWorks中按圖3繪制草圖,標(biāo)注尺寸,并按結(jié)構(gòu)圖中的尺寸名稱命名,如“Dl@草圖l”。尺寸變量命名完成后,退出草圖,旋轉(zhuǎn)生成柱塞實體,將裝配所需的點、線和面命名,如將與滑靴配合的柱塞球頭面命名為facel,最后將模板模型文件保存為piston.sldprt。
2.3建立插件工程和交互式對話框資源
SolidWorks提供的二次開發(fā)向?qū)е校琕isual C++ 6.0平臺上的向?qū)腔贏TL技術(shù)構(gòu)造的。ATL是一套C++模板庫,與MFC的概念相似。使用ATL能夠快速地開發(fā)出高效、簡潔的代碼,同時對COM組件的開發(fā)提供最大限度的代碼自動生成以及可視化支持。
打開Visual C++6.0,新建所需的插件工程,添加插件菜單和函數(shù),可自動生成函數(shù)框架,只需添加相關(guān)函數(shù)代碼,運行即可實現(xiàn)插件功能。如添加函數(shù)paraPump,則生成函數(shù)框架:
新建柱塞參數(shù)化建模對話框如圖4所示,并添加輸入數(shù)據(jù)編輯框。打開ClassWizard,創(chuàng)建新的對話框類,添加成員變量,將各尺寸輸入編輯框賦予變量名稱。如將D1編輯框添加為double類刑的變量m—D1。
圖4柱塞參數(shù)化建模對話框
2.4參數(shù)化尺寸驅(qū)動建模過程
SolidWorks程序打開模板文件,由以下語句實現(xiàn):
其中D:piston.SLDPRT為模板文件的儲存目錄,模板文件打開后彈出對話框,用戶輸入尺寸參數(shù),點擊確定,程序?qū)⒂脩糨斎氲膮?shù)通過對話框中的變量傳遞至尺寸變量:
其中piston為新建的對話框類,C為定義的單位系數(shù),值為0.001,將用戶輸入的參數(shù)轉(zhuǎn)化成毫米。這樣,就已經(jīng)將用戶指定的D1(柱塞外徑)的值傳遞到SolidWorks中了,接下來就是將D1的值賦給之前定義的尺寸變量“D1@草圖1”:
首先定義一個尺寸類指針,然后將尺寸變量放到指針中,使用Dimension::SetSystemValue3將變量賦值修改,最后使用ModelDoc2::EditRebuild3重建模型,完成尺寸驅(qū)動建模過程。
2.5 自動裝配程序開發(fā)過程
完成各主要零件的建模后,根據(jù)圖2的設(shè)計思路,先新建裝配體文件,然后將零件導(dǎo)入裝配體中,根據(jù)交互式對話框的數(shù)據(jù)添加裝配關(guān)系,完成裝配過程。
通過SldWorks::NewAssembly新建裝配體文件,通過SldWorks::OpenDoc將零件打開放入緩沖區(qū)中,再通過AssemblyDoc::AddComponent4將零件導(dǎo)人新建的裝配體中,通過AssemblyDoc::AddMate添加裝配關(guān)系。
添加裝配關(guān)系時,需要先選擇裝配的點線面,以柱塞和滑靴之間的重合配合為例,在零件建模時,若原點定在柱塞和滑靴的球面中心,則此時可通過ModelDocExtension::SelectByID2選擇分別位于柱塞和滑靴原點的點,然后添加重合裝配關(guān)系,程序如下:
若建模時原點不在中心位置,可以在中心位置定義一個點,再使用上述方法。也可通過選擇柱塞球頭面和滑靴球窩面,添加面重合,這種方法是普遍適用的。零件建模時將配合所需的面命名,在裝配體中通過循環(huán)遍歷面查找選擇所需的面,添加裝配關(guān)系。
先獲取部件指針,然后獲取零件實體指針,再獲取面指針。通過Body2::GetFirstFace和ModelDoc2::
GetEntityName遍歷零件各面及獲取面的名稱,使用判斷語句判斷是否所需的面,再使用Entity::Select4選擇所需的面。
自動裝配前,需要用戶輸入?yún)?shù),如斜盤的傾斜角度以及轉(zhuǎn)子與斜盤中心之間的距離等,方法與零件建模數(shù)據(jù)傳遞相似。以斜盤傾角為例:
pAssmDoc—>AddMate(6,l,true,0,Degree);
其中的Degree即為創(chuàng)建的變量,用來將用戶輸入的數(shù)據(jù)傳遞到SolidWorks API函數(shù)的變量中去。
2.6整體界面設(shè)計
前述零件參數(shù)化建模及自動裝配的程序開飯完成后,需要將這些程序整合成DLL插件形式方便使用,根據(jù)DLL插件開發(fā)的步驟,在SolidWorks菜單欄中添加菜單“pumpdesign”及菜單項“進入軸向柱塞泵設(shè)計”,如圖5所示。
圖5菜單及菜單項
總體交互式界面設(shè)計如圖6所示。
圖6選擇項目對話框
3結(jié)論
以SolidWorks為平臺,利用Visual C++6.0為開發(fā)工具進行二次開發(fā),設(shè)計出軸向柱塞泵主要零部件的參數(shù)化建模以及自動裝配程序,使設(shè)計難度及繁瑣度大大降低,并為軸向柱塞泵虛擬樣機的后續(xù)的仿真研究提供了基礎(chǔ)。
相關(guān)文章
- 2021-08-30高等院校藝術(shù)設(shè)計案例教程中文版AutoCAD 建筑設(shè)計案例
- 2021-08-28計算機輔助設(shè)計與制造 21世紀(jì)全國應(yīng)用型本科大機械系
- 2021-08-28計算機輔助設(shè)計與制造(CAD∕CAM)PDF下載
- 2021-08-27計算機輔助設(shè)計與制造 21世紀(jì)全國應(yīng)用型本科大機械系
- 2021-08-27計算機輔助設(shè)計與制造(CAD∕CAM)PDF下載
- 2021-08-24經(jīng)典技法118例AutoCAD 機械設(shè)計經(jīng)典技法118例中文版_
- 2021-08-24經(jīng)典實例學(xué)設(shè)計AutoCAD 2016從入門到精通 [李軻 編著]
- 2021-08-24精通AutoCAD 2013電氣設(shè)計 [李波 主編] 2013年P(guān)DF下載
- 2021-08-24精通AutoCAD 2013機械設(shè)計_李波,辛雄主編_2013PDF下載
- 2021-08-24精通AutoCAD 2013建筑設(shè)計 [劉冰 主編] 2013年P(guān)DF下載