副標題#e# 0 引言
SolidWorks是一套基于Windows的CAD桌面集成系統,支持參數化和特征造型技術。雖然SolidWorks所提供的功能非常強大,但要使其在我國企業中真正發揮作用,使常用的或重復的任務自動化,提高效率,就必須對其進行本地化、專業化的二次開發工作。本文是在基于軸系結構設計系統的研制上產生的,應用Solidworks二次開發來自動生成零件,并在Solidworks環境下完成自動裝配。
1 SolidWorks二次開發原理
SolidWorks基于COM(Component Object Model,組件對象模型),完全支持OLE(Object Linking and Embed-ding,對象的鏈接與嵌入)標準,實現了OLE自動化。為方便用戶進行二次開發,SolidWorks提供了幾百個刪(Application Programming Interface,應用程序接口),這些API函數是SolidWorks的OLE或COM接口。SolidWorks的API接口分為兩種:一種是基于OLE Au-tomation的IDispatch技術,通過IDispatch接口暴露對象的屬性和方法,以便在客戶程序中使用這些屬性并調用它所支持的方法。另一種開發方式是基于Windows基礎的COM。
SolidWorks API為用戶提供了完全面向對象的類體系,是一個自上而下的多層次的樹型網絡結構,其部分組織結構關系如圖l所示。它包括對象的類型、屬性和方法。SldWorks是根目錄對象類,位于應用程序的底層,是訪問SolidWorks API所有對象的入口。開發者通過操縱對象的屬性和調用對象的方法建立自己的應用程序。
2 SolidWorks二次開發工具
任何支持COM和OLE的編程語言都可以成為S0lidWorks的開發工具,如VB、VBA、C、VC++等。開發者可以根據自身的條件、工具的特點,選擇一種適合的開發工具.
Visual Baic(VB)是運行在Windows環境下的一種可視化編程語言,使用面向對象的編程方法(OOP),它所具有的圖形設計工具、結構化的事件驅動編程模式和開放的環境,可以使用戶即快又方便地編寫出Windows下的應用程序.
在SolidWorks中通過宏錄制可以記錄SolidWorks用戶的整個產品設計過程,把用戶的界面菜單操作所用到的SolidWorks對象、方法都一一記錄下來,其語法完全符合Visual Basic。根據宏文件中的對象和方法在自己的應用程序中合理調用,通過對變量的控制就可實現產品的參數化設計。在二次開發過程中,宏錄制文件中的許多對象、方法可以直接在Visual Basic應用程序中應用,簡化了開發過程。
3 機械零件參數化設計實現
3.1 零件二次開發的過程主要論述通過VB語言對SolidWorks進行二次開發,其主要流程如下:
3.1.1 建立零件的數據庫首先分析機械零件有關數據,利用VB的默認數據庫Access為每一種零件建立數據庫,如齒輪參數數據庫,聯軸器參數數據庫等。在數據庫建成后,可以在應用程序中通過數據控件與特定的數據表連接起來。利用用戶輸入的主參數作為索引,用Findfirst方法即可讀出對應的數據。
3.1.2 分析零件的結構特征,建立實體模型首先,針對要建立的實體,需要先分析其結構,區別特征的主次,利用SolidWorks建立零件特征,建立宏文件,有些操作宏文件無法記錄,需要調用相關API繪圖函數。實現關鍵數據變量化,如齒輪分度圓自徑、齒輪寬度等,而這些變量的數據來源即為齒輪數據庫下的某種齒輪類型數據表。建模完成后,使用AddComponent4方法即可將零件插入當前裝配圖中.
3.1.3 建立應用程序VB開發的程序作為客戶方(client),而SolidWorks作為服務方(server),VB程序可建立與SolidWorks各級對象(object)的關聯;另外,還必須在VB中通過“引用”(reference)JJll載SolidWorks類型庫,使VB識別程序使用的SolidWorks對像類型、屬性和方法。
3.2 齒輪聯軸器二次開發中的關鍵技術
以機械零件中的齒輪聯軸器為例介紹二次開發中的關鍵技術。
3.2.1 聯軸器數據庫技術CL6型號齒式聯軸器的部分標準數據如表1所示。

建立數據庫,在VB程序中引用數據庫,就可以通過程序查詢聯軸器的國家機械標準信息。選擇聯軸器需要參考聯軸器的轉矩和轉速等信息,需要在程序中將聯軸器的數據信息加載到聯軸器設計的人機界面當中,供設計人員參考。
齒輪聯軸器需要做到全參數化的有齒數、模數、壓力角、軸徑、鍵槽尺寸及相關安裝尺寸等。
實現模型創建,需通過VB環境下的數學模型計算,得出重要數據。對于齒輪聯軸器,最重要的是齒輪漸開線的計算。在VB環境中,建立漸開線直角坐標方程. 聯立方程組,利用循環語句來實現漸開線的計算。再將數據傳遞給ModelDoc2:SketchSpline方法繪制輪齒草圖, .調用FeatureManager::FeatureExtmsion2方法拉伸輪齒。
3.2.2 零件、裝配文檔的創建SldWorks對象是SolidWorks API中最高級的對象,它提供了SolidWorksAPI中所有對象的直接或間接接口。通過該對象可以控制SolidWorks軟件的執行或退出。在VB中利用Create Object方法來獲得Sldworks對象,利用該對象的activedoc方法可以獲得當前Solidworks文件對象。
SolidWorks是一套基于Windows的CAD桌面集成系統,支持參數化和特征造型技術。雖然SolidWorks所提供的功能非常強大,但要使其在我國企業中真正發揮作用,使常用的或重復的任務自動化,提高效率,就必須對其進行本地化、專業化的二次開發工作。本文是在基于軸系結構設計系統的研制上產生的,應用Solidworks二次開發來自動生成零件,并在Solidworks環境下完成自動裝配。
1 SolidWorks二次開發原理
SolidWorks基于COM(Component Object Model,組件對象模型),完全支持OLE(Object Linking and Embed-ding,對象的鏈接與嵌入)標準,實現了OLE自動化。為方便用戶進行二次開發,SolidWorks提供了幾百個刪(Application Programming Interface,應用程序接口),這些API函數是SolidWorks的OLE或COM接口。SolidWorks的API接口分為兩種:一種是基于OLE Au-tomation的IDispatch技術,通過IDispatch接口暴露對象的屬性和方法,以便在客戶程序中使用這些屬性并調用它所支持的方法。另一種開發方式是基于Windows基礎的COM。
SolidWorks API為用戶提供了完全面向對象的類體系,是一個自上而下的多層次的樹型網絡結構,其部分組織結構關系如圖l所示。它包括對象的類型、屬性和方法。SldWorks是根目錄對象類,位于應用程序的底層,是訪問SolidWorks API所有對象的入口。開發者通過操縱對象的屬性和調用對象的方法建立自己的應用程序。
2 SolidWorks二次開發工具
任何支持COM和OLE的編程語言都可以成為S0lidWorks的開發工具,如VB、VBA、C、VC++等。開發者可以根據自身的條件、工具的特點,選擇一種適合的開發工具.
Visual Baic(VB)是運行在Windows環境下的一種可視化編程語言,使用面向對象的編程方法(OOP),它所具有的圖形設計工具、結構化的事件驅動編程模式和開放的環境,可以使用戶即快又方便地編寫出Windows下的應用程序.
在SolidWorks中通過宏錄制可以記錄SolidWorks用戶的整個產品設計過程,把用戶的界面菜單操作所用到的SolidWorks對象、方法都一一記錄下來,其語法完全符合Visual Basic。根據宏文件中的對象和方法在自己的應用程序中合理調用,通過對變量的控制就可實現產品的參數化設計。在二次開發過程中,宏錄制文件中的許多對象、方法可以直接在Visual Basic應用程序中應用,簡化了開發過程。
3 機械零件參數化設計實現
3.1 零件二次開發的過程主要論述通過VB語言對SolidWorks進行二次開發,其主要流程如下:
3.1.1 建立零件的數據庫首先分析機械零件有關數據,利用VB的默認數據庫Access為每一種零件建立數據庫,如齒輪參數數據庫,聯軸器參數數據庫等。在數據庫建成后,可以在應用程序中通過數據控件與特定的數據表連接起來。利用用戶輸入的主參數作為索引,用Findfirst方法即可讀出對應的數據。
3.1.2 分析零件的結構特征,建立實體模型首先,針對要建立的實體,需要先分析其結構,區別特征的主次,利用SolidWorks建立零件特征,建立宏文件,有些操作宏文件無法記錄,需要調用相關API繪圖函數。實現關鍵數據變量化,如齒輪分度圓自徑、齒輪寬度等,而這些變量的數據來源即為齒輪數據庫下的某種齒輪類型數據表。建模完成后,使用AddComponent4方法即可將零件插入當前裝配圖中.
3.1.3 建立應用程序VB開發的程序作為客戶方(client),而SolidWorks作為服務方(server),VB程序可建立與SolidWorks各級對象(object)的關聯;另外,還必須在VB中通過“引用”(reference)JJll載SolidWorks類型庫,使VB識別程序使用的SolidWorks對像類型、屬性和方法。
3.2 齒輪聯軸器二次開發中的關鍵技術
以機械零件中的齒輪聯軸器為例介紹二次開發中的關鍵技術。
3.2.1 聯軸器數據庫技術CL6型號齒式聯軸器的部分標準數據如表1所示。

建立數據庫,在VB程序中引用數據庫,就可以通過程序查詢聯軸器的國家機械標準信息。選擇聯軸器需要參考聯軸器的轉矩和轉速等信息,需要在程序中將聯軸器的數據信息加載到聯軸器設計的人機界面當中,供設計人員參考。
齒輪聯軸器需要做到全參數化的有齒數、模數、壓力角、軸徑、鍵槽尺寸及相關安裝尺寸等。
實現模型創建,需通過VB環境下的數學模型計算,得出重要數據。對于齒輪聯軸器,最重要的是齒輪漸開線的計算。在VB環境中,建立漸開線直角坐標方程. 聯立方程組,利用循環語句來實現漸開線的計算。再將數據傳遞給ModelDoc2:SketchSpline方法繪制輪齒草圖, .調用FeatureManager::FeatureExtmsion2方法拉伸輪齒。
圖2 聯軸器數據流程
3.2.2 零件、裝配文檔的創建SldWorks對象是SolidWorks API中最高級的對象,它提供了SolidWorksAPI中所有對象的直接或間接接口。通過該對象可以控制SolidWorks軟件的執行或退出。在VB中利用Create Object方法來獲得Sldworks對象,利用該對象的activedoc方法可以獲得當前Solidworks文件對象。
相關文章
- 2021-09-08BIM技術叢書Revit軟件應用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業技術人員計算機應用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應用 制表、數據處理及宏應用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機械制圖基礎培訓教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎培訓教程 [朱
- 2021-08-30電氣CAD實例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風暴2:Maya影像實拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術設計案例教程中文版AutoCAD 建筑設計案例
- 2021-08-29環境藝術制圖AutoCAD [徐幼光 編著] 2013年PDF下載
- 2021-08-29機械AutoCAD 項目教程 第3版 [繆希偉 主編] 2012年PDF