我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > Solidworks

利用SolidWorks二次開發的軸向柱塞泵參數化建模設計

時間:2011-01-18 07:31:36 來源:未知

 SolidWorks提供了二次開發接口API,具有良好的開發性和兼容性。用戶可以在SolidWorks本身功能的基礎上開發出新的功能模塊,比如開發出動態鏈接庫DLL插件,以滿足特定的需求。SolidWorks通過COM技術為開發人員提供二次開發接口、COM對象包含接口、屬性和事件,SolidWorks可以使用標準的COM對象實現調用API函數的功能。

  Visual C++是一種常用的軟件編程開發工具,提供了功能強大的集成開發環境。其本身開發環境友好,高度的可視化開發方式和強大的向導工具(AppWizards)能夠幫助用戶輕松開發出多種類型的應用程序。另外,Visual C++與SolidWorks有極好的連接性,能最大程度地使用SolidWorks API,可以開發出DLL插件,實現特定功能。

  作者采用Visual C++6.0對SolidWorks進行二次開發,實現軸向柱塞泵的參數化建模設計,包括零件的參數化建模以及自動裝配。應用參數化建模程序,可以極大地節省開發與改造時間,提高效率,降低了設計的難度,并為后續的各仿真環節提供三維模型基礎。

  1 參數化建模設計方法

  零件參數化設計方法可以分為程序驅動及尺寸驅動兩種方法。

  程序驅動方法是根據設計的零件尺寸,根據當前單位系統,通過設計過程中的關系,得出方程式,求解各個關鍵點的坐標,利用SolidWorks API提供的草圖繪制工具函數將各個關鍵點連接起來,完成草圖繪制后,調用特征生成命令,完成零件建模。運行時,采用交互式界面,由用戶指定尺寸,由程序自動求解關鍵點坐標,完成建模。程序驅動方法是一種自下而上的建模方法,由底層的點、線、面形成完整模型,一旦用戶需要修改模型,必須重新指定尺寸,程序重新求解坐標,繪制草圖,對于復雜零件來說,比較費時麻煩。

  尺寸驅動方法是一種自上而下的建模方法,保持零件結構不變,建立好零件模板,將設計尺寸設定為變量,運行時,用戶指定尺寸值,由程序自動定位到相應的尺寸變量對草圖進行修改,然后完成建模,不必重新繪制草圖。此方法的優點在于設計時不需考慮零件的具體尺寸,只需保證結構不變,設定相應的尺寸變量,這樣,用戶輸入不同參數,即可得到結構相同,尺寸不同的零件,方便了系列化的零件設計。這種自上而下的建模方法使得零件的修改與重建相比于程序驅動來說方便了很多。

  2軸向柱塞泵參數化建模設計的關鍵技術

  2.1程序的功能及設計思路

  三維泵模型的建立是成品設計及后續仿真環節的基礎,程序的功能是實現軸向柱塞泵主要零部件的參數化建模設計,完成自動裝配過程。

  零件參數化建模程序的設計思路如圖1所示。自動裝配過程的設計流程如圖2所示。

   

 

  圖1 零件參數化建模設計流程

   

 

  圖2自動裝配過程設計流程

  用戶只需指定關鍵參數,而不必動手操作繁瑣的繪制建模和選擇裝配過程,使設計難度和繁瑣度大大降低。

  2.2建立零件參數化建模模板

  以某系列軸向柱塞泵的柱塞為例,其結構如圖3所示。

   

 

  圖3柱塞結構示意圖

  根據其結構,在SolidWorks中按圖3繪制草圖,標注尺寸,并按結構圖中的尺寸名稱命名,如“Dl@草圖l”。尺寸變量命名完成后,退出草圖,旋轉生成柱塞實體,將裝配所需的點、線和面命名,如將與滑靴配合的柱塞球頭面命名為facel,最后將模板模型文件保存為piston.sldprt。

  2.3建立插件工程和交互式對話框資源

  SolidWorks提供的二次開發向導中,Visual C++ 6.0平臺上的向導是基于ATL技術構造的。ATL是一套C++模板庫,與MFC的概念相似。使用ATL能夠快速地開發出高效、簡潔的代碼,同時對COM組件的開發提供最大限度的代碼自動生成以及可視化支持。

  打開Visual C++6.0,新建所需的插件工程,添加插件菜單和函數,可自動生成函數框架,只需添加相關函數代碼,運行即可實現插件功能。如添加函數paraPump,則生成函數框架:

  

 

 

  新建柱塞參數化建模對話框如圖4所示,并添加輸入數據編輯框。打開ClassWizard,創建新的對話框類,添加成員變量,將各尺寸輸入編輯框賦予變量名稱。如將D1編輯框添加為double類刑的變量m—D1。

   

 

  圖4柱塞參數化建模對話框

  2.4參數化尺寸驅動建模過程

  SolidWorks程序打開模板文件,由以下語句實現:

  

 

 

  其中D:piston.SLDPRT為模板文件的儲存目錄,模板文件打開后彈出對話框,用戶輸入尺寸參數,點擊確定,程序將用戶輸入的參數通過對話框中的變量傳遞至尺寸變量:

  

 

 

  其中piston為新建的對話框類,C為定義的單位系數,值為0.001,將用戶輸入的參數轉化成毫米。這樣,就已經將用戶指定的D1(柱塞外徑)的值傳遞到SolidWorks中了,接下來就是將D1的值賦給之前定義的尺寸變量“D1@草圖1”:

  

 

 

  首先定義一個尺寸類指針,然后將尺寸變量放到指針中,使用Dimension::SetSystemValue3將變量賦值修改,最后使用ModelDoc2::EditRebuild3重建模型,完成尺寸驅動建模過程。

  2.5 自動裝配程序開發過程

  完成各主要零件的建模后,根據圖2的設計思路,先新建裝配體文件,然后將零件導入裝配體中,根據交互式對話框的數據添加裝配關系,完成裝配過程。

  通過SldWorks::NewAssembly新建裝配體文件,通過SldWorks::OpenDoc將零件打開放入緩沖區中,再通過AssemblyDoc::AddComponent4將零件導人新建的裝配體中,通過AssemblyDoc::AddMate添加裝配關系。

  添加裝配關系時,需要先選擇裝配的點線面,以柱塞和滑靴之間的重合配合為例,在零件建模時,若原點定在柱塞和滑靴的球面中心,則此時可通過ModelDocExtension::SelectByID2選擇分別位于柱塞和滑靴原點的點,然后添加重合裝配關系,程序如下:

  

 

  

 

 

  若建模時原點不在中心位置,可以在中心位置定義一個點,再使用上述方法。也可通過選擇柱塞球頭面和滑靴球窩面,添加面重合,這種方法是普遍適用的。零件建模時將配合所需的面命名,在裝配體中通過循環遍歷面查找選擇所需的面,添加裝配關系。

  先獲取部件指針,然后獲取零件實體指針,再獲取面指針。通過Body2::GetFirstFace和ModelDoc2::

  GetEntityName遍歷零件各面及獲取面的名稱,使用判斷語句判斷是否所需的面,再使用Entity::Select4選擇所需的面。

  自動裝配前,需要用戶輸入參數,如斜盤的傾斜角度以及轉子與斜盤中心之間的距離等,方法與零件建模數據傳遞相似。以斜盤傾角為例:

  pAssmDoc—>AddMate(6,l,true,0,Degree);

  其中的Degree即為創建的變量,用來將用戶輸入的數據傳遞到SolidWorks API函數的變量中去。

  2.6整體界面設計

  前述零件參數化建模及自動裝配的程序開飯完成后,需要將這些程序整合成DLL插件形式方便使用,根據DLL插件開發的步驟,在SolidWorks菜單欄中添加菜單“pumpdesign”及菜單項“進入軸向柱塞泵設計”,如圖5所示。

   

 

  圖5菜單及菜單項

  總體交互式界面設計如圖6所示。

   

 

  圖6選擇項目對話框

  3結論

  以SolidWorks為平臺,利用Visual C++6.0為開發工具進行二次開發,設計出軸向柱塞泵主要零部件的參數化建模以及自動裝配程序,使設計難度及繁瑣度大大降低,并為軸向柱塞泵虛擬樣機的后續的仿真研究提供了基礎。