SolidWorks軟件是當今廣泛運用的一種三維設計軟件,簡單易用、易于上手,附帶CosMosWorks與CosMosMotion能完成大多數的工程有限元分析與仿真,以及大量的實用插件可以完成從設計、分析、仿真檢驗、優(yōu)化,直到最后的數控加工編程的全過程,從而深受廣大工程技術人員的歡迎。但是SolidWorks的實際使用中,經常引用別人或早先建立的部件,因而一個工程項目的文件并不都在-個文件路徑下。導致文件管理方面的存在極大的漏洞,往往在設計師最后將設計作品提供給別人時時常發(fā)生一種尷尬的場面,在設計師本人的計算機上能正確使用的設計文檔,在別的計算機上使用時就會出現找不到文件、配置參數補正確等種種意向不到的結果。本文將針對這種情況,探討一種以工程為單位將產品設計文檔管理起來的軟件。
1 前期設想
當設計師開始一個項目時,首先確定一個工程項目名稱,軟件以此名稱為根據建立-個目錄,之后所有新建立的文件就存放在這個目錄下。軟件建立一個數據表,存放該項目中使用的所有文件名,和路徑。并維護此數據表的正確性與完整性,當在工程中建立新文件或引用已有文件時,負責添加記錄,并檢查文件名字是否與先前記錄中的文件名重復(因為SolidWorks是以在裝載文件時,首先會以裝配文件中指定的路徑來查找文件,一旦找不到就會以一個特有的順序,在磁盤上查找有相同文件名的文件來裝入內存,而這通常就是造成SolidWorks不能正確表達轉移的原因),并提示設計師為文件重新確定-個適當的名字。當需要轉移或備份設計時,可以將工程文件從磁盤中匯集到一起壓縮成為-個壓縮文件包。
2功能實現平臺
SolidWorks是基于Windows的全參數化特征造型軟件,為用戶提供了Windows對象鏈接嵌入(OLE Automation)和部件對象模式(COM)的應用程序接口,以及豐富的API接口函數和完整的消息事件機制,可以方便的使用C++或VB對軟件進行二次開發(fā),生成可執(zhí)行文件或插件。在這里選用VB配合為SolidWorks開發(fā)插件的方式來實現軟件功能。系統(tǒng)結構示意圖如圖1所示。
3思路分析
在使用SolidWorks作二次開發(fā)時,必須先與SolidWorks API提供的程序對象建立連接關系。SolidWorks應用程序對象是插件調用其他對象的入口,是所有調用SolidWorks API功能的最頂層。其下子對象SwAddin、ModelDoc2是這里用到的主要對象。
SwAddin對象允許我們建立SolidWorks插件。在VB6建好的工程文件中點選"工程"菜單,"引用"菜單項,分別選中"SolidWorks 2006 exposed type type libraries for add-in use"、"SolidWorks 2006 Type Library"、"SolidWorks 2006 Constant type Library"、"Microsoft DAO 3.6 Object Library";在聲明處插入如下語句:
ModelDoc2(I作環(huán)境對象)下的PartDoc(零件文檔對象)、AssemblyDoc(裝配體文檔對象)、DrawingDoc(I程圖裝配對象)是需要監(jiān)視的對象,通過如下定義語句可啟動SolidWorks的事件機制:一旦建立或打開工程后,用戶向裝配體插入部件時,SolidWorks會向插件發(fā)送AssemblyDoc_Add ItemNotiofy及AssemblyDoc_FileDropNotify消息,消息附帶的參數含有插入部件在裝配體中的名字和磁盤中的文件名和路徑。用戶創(chuàng)建部件SolidWorks會發(fā)送SldWorks_FileNewNotify和SWSession-File NewNotify2消息,通告插件有新的部件開始創(chuàng)建,而保存時會發(fā)送SWSession_PromptForFilenameNotify、PartDoc_FileSaveAsNotify2以及PartDoc-Save-ToStorageNotify消息,同樣消息附帶的參數含有新建部件在磁盤中的文件名和路徑。
通過對這些消息的建立相應消息處理過程或函數,就可以跟蹤設計人員的工作進程,對這些文件建立-個包含文件名和文件路徑的數據庫,作為對工程文件轉移時的依據。
數據庫采方面,采用Microsoft Access,該數據庫包含在Mircrospft Office辦公組件中,其核心是MicrosoR Jet數據庫引擎。在Visual Basic中提供了兩種與Microsoft Jet數據庫引擎接口連接的方法:
Data控件(ADO)和數據訪問對象(DAO),DAO模型是設計關系數據庫系統(tǒng)結構的對象類集合,它提供了管理關系型數據庫所需的全部操作的屬性和方法,而ADO只是封裝了部分功能的DAO函數,所以選擇利用DAO模型來建立數據庫以及內部的表、字段定義,而用ADO來訪問數據庫,實現數據添加、修改、查詢、刪除操作。
當需要對工程作備份或移動時,可以由插件依據數據庫的指引,將文件集中拷貝到一個臨時目錄中,再調用外部壓縮程序如WinRar等建立壓縮文件包,最終實現對SolidWorks工程項目文件的安全轉移和備份。
1 前期設想
當設計師開始一個項目時,首先確定一個工程項目名稱,軟件以此名稱為根據建立-個目錄,之后所有新建立的文件就存放在這個目錄下。軟件建立一個數據表,存放該項目中使用的所有文件名,和路徑。并維護此數據表的正確性與完整性,當在工程中建立新文件或引用已有文件時,負責添加記錄,并檢查文件名字是否與先前記錄中的文件名重復(因為SolidWorks是以在裝載文件時,首先會以裝配文件中指定的路徑來查找文件,一旦找不到就會以一個特有的順序,在磁盤上查找有相同文件名的文件來裝入內存,而這通常就是造成SolidWorks不能正確表達轉移的原因),并提示設計師為文件重新確定-個適當的名字。當需要轉移或備份設計時,可以將工程文件從磁盤中匯集到一起壓縮成為-個壓縮文件包。
2功能實現平臺
SolidWorks是基于Windows的全參數化特征造型軟件,為用戶提供了Windows對象鏈接嵌入(OLE Automation)和部件對象模式(COM)的應用程序接口,以及豐富的API接口函數和完整的消息事件機制,可以方便的使用C++或VB對軟件進行二次開發(fā),生成可執(zhí)行文件或插件。在這里選用VB配合為SolidWorks開發(fā)插件的方式來實現軟件功能。系統(tǒng)結構示意圖如圖1所示。
3思路分析
在使用SolidWorks作二次開發(fā)時,必須先與SolidWorks API提供的程序對象建立連接關系。SolidWorks應用程序對象是插件調用其他對象的入口,是所有調用SolidWorks API功能的最頂層。其下子對象SwAddin、ModelDoc2是這里用到的主要對象。
SwAddin對象允許我們建立SolidWorks插件。在VB6建好的工程文件中點選"工程"菜單,"引用"菜單項,分別選中"SolidWorks 2006 exposed type type libraries for add-in use"、"SolidWorks 2006 Type Library"、"SolidWorks 2006 Constant type Library"、"Microsoft DAO 3.6 Object Library";在聲明處插入如下語句:
ModelDoc2(I作環(huán)境對象)下的PartDoc(零件文檔對象)、AssemblyDoc(裝配體文檔對象)、DrawingDoc(I程圖裝配對象)是需要監(jiān)視的對象,通過如下定義語句可啟動SolidWorks的事件機制:一旦建立或打開工程后,用戶向裝配體插入部件時,SolidWorks會向插件發(fā)送AssemblyDoc_Add ItemNotiofy及AssemblyDoc_FileDropNotify消息,消息附帶的參數含有插入部件在裝配體中的名字和磁盤中的文件名和路徑。用戶創(chuàng)建部件SolidWorks會發(fā)送SldWorks_FileNewNotify和SWSession-File NewNotify2消息,通告插件有新的部件開始創(chuàng)建,而保存時會發(fā)送SWSession_PromptForFilenameNotify、PartDoc_FileSaveAsNotify2以及PartDoc-Save-ToStorageNotify消息,同樣消息附帶的參數含有新建部件在磁盤中的文件名和路徑。
通過對這些消息的建立相應消息處理過程或函數,就可以跟蹤設計人員的工作進程,對這些文件建立-個包含文件名和文件路徑的數據庫,作為對工程文件轉移時的依據。
數據庫采方面,采用Microsoft Access,該數據庫包含在Mircrospft Office辦公組件中,其核心是MicrosoR Jet數據庫引擎。在Visual Basic中提供了兩種與Microsoft Jet數據庫引擎接口連接的方法:
Data控件(ADO)和數據訪問對象(DAO),DAO模型是設計關系數據庫系統(tǒng)結構的對象類集合,它提供了管理關系型數據庫所需的全部操作的屬性和方法,而ADO只是封裝了部分功能的DAO函數,所以選擇利用DAO模型來建立數據庫以及內部的表、字段定義,而用ADO來訪問數據庫,實現數據添加、修改、查詢、刪除操作。
當需要對工程作備份或移動時,可以由插件依據數據庫的指引,將文件集中拷貝到一個臨時目錄中,再調用外部壓縮程序如WinRar等建立壓縮文件包,最終實現對SolidWorks工程項目文件的安全轉移和備份。
相關文章
- 2021-09-08BIM技術叢書Revit軟件應用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業(yè)技術人員計算機應用能力考試用書 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環(huán)境藝術制圖AutoCAD [徐幼光 編著] 2013年PDF下載
- 2021-08-29機械AutoCAD 項目教程 第3版 [繆希偉 主編] 2012年PDF