SolidWorks文檔工程化管理的探討
2013-05-16 by:廣州有限元分析、培訓(xùn)中心-1CAE.COM 來源:仿真在線
作者: 肖華軍*羅紅波*段振強(qiáng)*李澤文 來源: 萬方數(shù)據(jù)
關(guān)鍵字: SolidWorks API 文檔管理
SolidWorks軟件是當(dāng)前種廣泛使用的三維設(shè)計(jì)軟件,但它的文檔管理系統(tǒng)適用于對(duì)大型企業(yè)及工程的管理要求,對(duì)于一內(nèi)的大多是使用者及其單位而言過于復(fù)雜,在軟硬件方面要求過高。為了建立一個(gè)符合圈內(nèi)廣大中小企業(yè)及個(gè)人使用者的文枷管理系統(tǒng).對(duì)SolidWorks的API函數(shù)和消息響應(yīng)系統(tǒng)作分析、探索。通過在SolidWorks中加入插件的方法.取得SolidWorks的內(nèi)部消息響應(yīng),而對(duì)不同消息的分析感知到使用者所進(jìn)行的具體操作,站合數(shù)據(jù)庫(kù)技術(shù),實(shí)現(xiàn)了從建立管理項(xiàng)目到具體的文檔添加更新的數(shù)據(jù)維護(hù)。而最終通過數(shù)據(jù)庫(kù)實(shí)現(xiàn)對(duì)文檔的管理維護(hù)。
SolidWorks軟件是當(dāng)今廣泛運(yùn)用的一種三維設(shè)計(jì)軟件,簡(jiǎn)單易用、易于上手,附帶CosMosWorks與CosMosMotion能完成大多數(shù)的工程有限元分析與仿真,以及大量的實(shí)用插件可以完成從設(shè)計(jì)、分析、仿真檢驗(yàn)、優(yōu)化,直到最后的數(shù)控加工編程的全過程,從而深受廣大工程技術(shù)人員的歡迎。但是SolidWorks的實(shí)際使用中,經(jīng)常引用別人或早先建立的部件,因而一個(gè)工程項(xiàng)目的文件并不都在-個(gè)文件路徑下。導(dǎo)致文件管理方面的存在極大的漏洞,往往在設(shè)計(jì)師最后將設(shè)計(jì)作品提供給別人時(shí)時(shí)常發(fā)生一種尷尬的場(chǎng)面,在設(shè)計(jì)師本人的計(jì)算機(jī)上能正確使用的設(shè)計(jì)文檔,在別的計(jì)算機(jī)上使用時(shí)就會(huì)出現(xiàn)找不到文件、配置參數(shù)補(bǔ)正確等種種意向不到的結(jié)果。本文將針對(duì)這種情況,探討一種以工程為單位將產(chǎn)品設(shè)計(jì)文檔管理起來的軟件。
1 前期設(shè)想
當(dāng)設(shè)計(jì)師開始一個(gè)項(xiàng)目時(shí),首先確定一個(gè)工程項(xiàng)目名稱,軟件以此名稱為根據(jù)建立-個(gè)目錄,之后所有新建立的文件就存放在這個(gè)目錄下。軟件建立一個(gè)數(shù)據(jù)表,存放該項(xiàng)目中使用的所有文件名,和路徑。并維護(hù)此數(shù)據(jù)表的正確性與完整性,當(dāng)在工程中建立新文件或引用已有文件時(shí),負(fù)責(zé)添加記錄,并檢查文件名字是否與先前記錄中的文件名重復(fù)(因?yàn)镾olidWorks是以在裝載文件時(shí),首先會(huì)以裝配文件中指定的路徑來查找文件,一旦找不到就會(huì)以一個(gè)特有的順序,在磁盤上查找有相同文件名的文件來裝入內(nèi)存,而這通常就是造成SolidWorks不能正確表達(dá)轉(zhuǎn)移的原因),并提示設(shè)計(jì)師為文件重新確定-個(gè)適當(dāng)?shù)拿?。?dāng)需要轉(zhuǎn)移或備份設(shè)計(jì)時(shí),可以將工程文件從磁盤中匯集到一起壓縮成為-個(gè)壓縮文件包。
2功能實(shí)現(xiàn)平臺(tái)
SolidWorks是基于Windows的全參數(shù)化特征造型軟件,為用戶提供了Windows對(duì)象鏈接嵌入(OLE Automation)和部件對(duì)象模式(COM)的應(yīng)用程序接口,以及豐富的API接口函數(shù)和完整的消息事件機(jī)制,可以方便的使用C++或VB對(duì)軟件進(jìn)行二次開發(fā),生成可執(zhí)行文件或插件。在這里選用VB配合為SolidWorks開發(fā)插件的方式來實(shí)現(xiàn)軟件功能。系統(tǒng)結(jié)構(gòu)示意圖如圖1所示。
3思路分析
在使用SolidWorks作二次開發(fā)時(shí),必須先與SolidWorks API提供的程序?qū)ο蠼⑦B接關(guān)系。SolidWorks應(yīng)用程序?qū)ο笫遣寮{(diào)用其他對(duì)象的入口,是所有調(diào)用SolidWorks API功能的最頂層。其下子對(duì)象SwAddin、ModelDoc2是這里用到的主要對(duì)象。
SwAddin對(duì)象允許我們建立SolidWorks插件。在VB6建好的工程文件中點(diǎn)選"工程"菜單,"引用"菜單項(xiàng),分別選中"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";在聲明處插入如下語(yǔ)句:
ModelDoc2(I作環(huán)境對(duì)象)下的PartDoc(零件文檔對(duì)象)、AssemblyDoc(裝配體文檔對(duì)象)、DrawingDoc(I程圖裝配對(duì)象)是需要監(jiān)視的對(duì)象,通過如下定義語(yǔ)句可啟動(dòng)SolidWorks的事件機(jī)制:一旦建立或打開工程后,用戶向裝配體插入部件時(shí),SolidWorks會(huì)向插件發(fā)送AssemblyDoc_Add ItemNotiofy及AssemblyDoc_FileDropNotify消息,消息附帶的參數(shù)含有插入部件在裝配體中的名字和磁盤中的文件名和路徑。用戶創(chuàng)建部件SolidWorks會(huì)發(fā)送SldWorks_FileNewNotify和SWSession-File NewNotify2消息,通告插件有新的部件開始創(chuàng)建,而保存時(shí)會(huì)發(fā)送SWSession_PromptForFilenameNotify、PartDoc_FileSaveAsNotify2以及PartDoc-Save-ToStorageNotify消息,同樣消息附帶的參數(shù)含有新建部件在磁盤中的文件名和路徑。
通過對(duì)這些消息的建立相應(yīng)消息處理過程或函數(shù),就可以跟蹤設(shè)計(jì)人員的工作進(jìn)程,對(duì)這些文件建立-個(gè)包含文件名和文件路徑的數(shù)據(jù)庫(kù),作為對(duì)工程文件轉(zhuǎn)移時(shí)的依據(jù)。
數(shù)據(jù)庫(kù)采方面,采用Microsoft Access,該數(shù)據(jù)庫(kù)包含在Mircrospft Office辦公組件中,其核心是MicrosoR Jet數(shù)據(jù)庫(kù)引擎。在Visual Basic中提供了兩種與Microsoft Jet數(shù)據(jù)庫(kù)引擎接口連接的方法:
Data控件(ADO)和數(shù)據(jù)訪問對(duì)象(DAO),DAO模型是設(shè)計(jì)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)的對(duì)象類集合,它提供了管理關(guān)系型數(shù)據(jù)庫(kù)所需的全部操作的屬性和方法,而ADO只是封裝了部分功能的DAO函數(shù),所以選擇利用DAO模型來建立數(shù)據(jù)庫(kù)以及內(nèi)部的表、字段定義,而用ADO來訪問數(shù)據(jù)庫(kù),實(shí)現(xiàn)數(shù)據(jù)添加、修改、查詢、刪除操作。
當(dāng)需要對(duì)工程作備份或移動(dòng)時(shí),可以由插件依據(jù)數(shù)據(jù)庫(kù)的指引,將文件集中拷貝到一個(gè)臨時(shí)目錄中,再調(diào)用外部壓縮程序如WinRar等建立壓縮文件包,最終實(shí)現(xiàn)對(duì)SolidWorks工程項(xiàng)目文件的安全轉(zhuǎn)移和備份。
相關(guān)標(biāo)簽搜索:SolidWorks文檔工程化管理的探討 SolidWorks培訓(xùn)課程 SolidWorks設(shè)計(jì)教程 SolidWorks視頻教程 SolidWorks軟件下載 SolidWorks在建筑室內(nèi)設(shè)計(jì)工業(yè)設(shè)計(jì)的應(yīng)用 SolidWorks基礎(chǔ)知識(shí) SolidWorks代做 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) Autoform培訓(xùn)