SolidWorks軟件是在總結和繼承了大型機械CAD軟件的基礎上,在Windows環境下實現的第一個機械CAD軟件。各企業在實際的產品設計中大多要對通用CAD軟件進行二次開發,建立適合自己的專用模塊。SolidWorks的突出特點是:三維參數化特征造型,特征管理員功能,全相關的數據管理,它功能豐富、操作簡單、維護方便、學習周期短、應用開發方便,與多家CAM、CAE軟件有緊密接口。本文通過運用Delphi對SolidWorks進行二次開發來實現復雜的高速主軸三維成型及虛擬裝配體的過程,使用ACESS數據庫對高速主軸的相關參數進行傳遞和管理,提高了設計的效率與正確率。
1 SolidWorks的二次開發技術
1.1 SolidWorks API
SolidWoks為用戶提供了幾百個二次開發接口(SolidWorks API),凡支持COM編程的開發工具,如Visual C++、Visual Basic、Delphi等均可用于SolidWorks的二次開發。SolidWorks API是SolidWorks的OLE編程接口,為程序員提供了完全面向對象的類體系,程序員可以在自己的程序中,派生這些類的子類,生成這些類的對象,對對象進行操作,運行對象的方法,設置或修改對象的屬性,從而訪問SolidWorks的數據庫、圖形系統和系統界面。SolidWorks的API對象涵蓋了全部的SolidWorks的數據模型,進行二次開發時,調用SolidWorks中的API函數,可以完成零件各特征的建立、修改、刪除和壓縮等各項控制,零件特征信息的提取,如特征尺寸的設置與提取,特征所在面的信息提取及各種幾何和拓撲信息,零件的裝配信息,零件工程圖紙中的各項信息等。圖1所示為SolidWorks API的部分對象體系。
1.2 COM技術
組件對象模型(Component Object Model,COM)是由Microsoft公司在Windows操作系統中創建的一種二進制的網絡標準,是組件(即應用程序)間的接口。它允許兩個組件互相通信,而不論其運行于任何計算機(只要聯網),采用任何操作系統(只要支持COM)以及該組件隸屬于任何語言。另外,COM還引用了面向對象的思想,對象鏈接與嵌入(Object Linking and Embedding,OLE2)是第一個用COM架構的軟件系統。
圖1 SolidWorks API部分對象體系
1.3開發工具
本文使用面向對象語言Delphi對SolidWorks進行二次開發。Delphi是Bodand公司開發的一種可視化應用程序開發工具,其基礎語言為對象Pascal。它提供了一種快速的編譯器,它具有高性能的32位本地優化代碼編譯器,其應用程序可以直接運行,能夠最終生成可單獨執行的DLL與EXE文件。另一方面,使用Delphi可方便迅速地建立強大的數據庫應用程序。Delphi的數據庫應用程序可以和Paradox Sybase、Microsoft SQL Server、Informix、InterBase和ODBC數據源等一起使用。
1.4開發方法
(1)在Delphi編程環境下,單擊菜單欄中的“Project(工程)”、“Import Type Library”命令,彈出“Import Type library”對話框。
(2)在“Import Type library”對話框中選擇“SldWorks 2007 Type Liaray(Version f.0)”選項,單擊“Create Unit”按鈕,Delphi將在其import子目錄下生成該類型庫Object Pascal文件SldWorks_TLB.pas,然后就可以利用此文件進行二次開發了。
(3)在Delphi環境下新建一個工程,加入相關代碼,生成.exe文件或.dll文件,然后編譯運行即可。注意要將第二步中生成的SldWorks_TLB.pas文件添加到工程中。
2 Delphi對SolidWorks二次開發實例
2.1主軸參數化系統結構
主軸參數化系統結構如圖2所示。首先需要對主軸進行設計并計算出所有相關尺寸參數存人數據庫,以備以后對solidworks進行二次開發時調用。用戶在主程序界面,通過相應的操作,程序即可自動從數據庫中取出相關尺寸數據,調用相關SolidWorks API生成實體并調用零件庫在的零件生成虛擬裝配圖。
圖2 主軸參敦化系統結構
2.2數據庫的選擇與建立#p#分頁標題#e#
本文選用ACESS數據庫對高速主軸的相關參數進行傳遞和管理。圖3為數據庫顯示和本例的設計界面。其中namei為尺寸的名稱,datai為尺寸的數值。在應用程序中通過數據控件和數據庫建立連接,根據需要得到相應的數據信息來進行主軸三維圖形的繪制。
圖3 應用程序設計界面
2.3主要的建模過程
在Delphi環境下,創建如圖3所示的窗口,主要有三個控件:DBGridl、Buttonl、Button2。主軸參數表DBGridl中存放經過計算得到的主軸相關尺寸參數,當用戶單擊“生成三維圖形”按鈕時,主程序就會啟動SolidWorks軟件,并從表中提取主軸相關參數進行三維圖形的繪制,單擊“查看裝配圖”按鈕可以查看進行虛擬裝配后的圖形。
ButtonlClick過程的作用是啟動SolidWorks繪圖平臺,并設置好繪圖環境;DrawPart過程的作用是引用數據庫中的數據記錄,以及調用SolidWorks API函數功能進行零件圖的繪制。Button2的作用是從標準零件庫零件三維圖形中找到相應的零件進行虛擬裝配。
Buttonl Click過程的代碼和DrawPart過程的部分代碼如下:
用戶單擊“生成三維圖形”按鈕后程序運行結果如圖4所示。用戶單擊“查看裝配圖”按鈕后系統自動從標準零件庫零件三維圖形中找到相應的零件進行裝配,裝配體如圖5所示。
圖4 主軸三維造型
圖5 主軸裝配圖
3結語
介紹了在Delphi的集成開發環境下,通過調用SolidWorks API函數進行二次開發,實現機械零件參數化設計的方法。可以參考該方法對SolidWorks進行其他較為復雜的二次開發,建立適合用戶需要的、專用的SolidWorks功能模塊。通過實例表明,用戶通過對SolidWorks的二次開發可以提高產品的設計和開發效率。
相關文章
- 2021-08-23精通AutoCAD三維設計與開發PDF下載
- 2021-08-22AutoCAD 2013應用與開發系列中文版AutoCAD 2013室內裝
- 2021-08-22AutoCAD 2013應用與開發系列中文版AutoCAD 2013機械圖
- 2021-08-19數字化成圖-最新AutoCAD地形圖測繪高級開發PDF下載
- 2021-08-03Autodesk RevitStructure2012應用寶典 [歐特克軟件(中
- 2021-08-02Autodesk RevitMEP2012應用寶典 [歐特克軟件(中國)有限
- 2021-08-02Autodesk Revit2013族達人速成 [歐特克軟件(中國)有限公
- 2021-08-01Visual Basic與AutoCAD二次開發PDF下載
- 2021-07-31Autodesk Revit2012族達人速成 [歐特克軟件(中國)有限公
- 2021-07-31AutoCAD高級教程-全國CAD培訓中心基于AutoCAD2002教材