0 前言
隨著制造業(yè)企業(yè)規(guī)模的逐漸擴(kuò)大,企業(yè)對自身信息化戰(zhàn)略的實(shí)施力度不斷加強(qiáng)。PDM作為企業(yè)信息化實(shí)現(xiàn)的重要工具在這些規(guī)模快速成長的企業(yè)中得到了廣泛的應(yīng)用。版本管理作為PDM的一項(xiàng)重要的組成部分,具有十分重要的研究價值。現(xiàn)有的PDM軟件的版本模型普遍是針對二維圖紙或文檔管理的,本文提出了針對結(jié)構(gòu)復(fù)雜,具有整體性特點(diǎn)的三維圖紙的版本管理技術(shù),同時克服了原有版本模型中存在的一些問題。
1 版本管理的概念
人們在進(jìn)行工程設(shè)計的時候,對同一個工程實(shí)體要進(jìn)行反復(fù)的設(shè)計、試探、協(xié)商,這樣就會對同一工程實(shí)體產(chǎn)生許多版本。工程設(shè)計又往往分階段進(jìn)行,也就是所謂的工作流,而每1個工作階段都有可能因?yàn)樾薷摹⒀a(bǔ)充產(chǎn)生新的版本。在這個設(shè)計過程中,人們不能隨便對原來的關(guān)于設(shè)計對象的數(shù)據(jù)進(jìn)行重寫或覆蓋原來的設(shè)計,而必須把那些在不同設(shè)計階段產(chǎn)生的數(shù)據(jù)都以不同版本的形式保存下來,以便設(shè)計人員在任何時間設(shè)計時都可追蹤以前的設(shè)計版本,進(jìn)行比較,優(yōu)化。版本是一個對象在設(shè)計過程中某一時間點(diǎn)上有意義的快照。任何產(chǎn)品的設(shè)計都有從最初的概念設(shè)計到最后產(chǎn)品定型的過程,雖然不同的版本在質(zhì)量和數(shù)量上包含不同的信息,但是始終保持同一性,都是朝著最終目標(biāo)方向發(fā)展。版本管理是系統(tǒng)地處理版本對象的方法,不僅要管理一個設(shè)計對象的各個版本,還要管理它們之間的關(guān)聯(lián)關(guān)系。
2 三維圖紙的版本管理
近年來,國內(nèi)外對產(chǎn)品設(shè)計的版本管理研究比較活躍,相當(dāng)一部分涉及數(shù)據(jù)庫和產(chǎn)品數(shù)據(jù)管理中的版本管理的研究。在產(chǎn)品設(shè)計中傳統(tǒng)的版本管理主要是針對二維圖紙,如對CAD圖紙和CAXA圖紙的管理,而很少有針對三維圖紙來進(jìn)行的版本管理。因?yàn)槎S圖紙更具代表性和普遍性,它包括了三維圖紙的大部分功能,然而在實(shí)際工廠應(yīng)用中,三維圖紙具有它的特殊性,它具有整體性的特點(diǎn)。三維圖紙的裝配圖與零件圖和部件圖是相互關(guān)聯(lián)的,它的零件圖、部件圖、裝配圖是以一種整體的數(shù)據(jù)形式進(jìn)行存儲的,具有很好的一致性。當(dāng)它的零件圖發(fā)生修改時,其裝配圖和部件圖的相應(yīng)的零件也會自動修改。這樣就產(chǎn)生了許多沖突:當(dāng)三維圖紙的零件圖產(chǎn)生新版本的時候,它對應(yīng)的部件圖和裝配圖是仍然采用舊版本的零件圖還是采用新版本的零件圖?當(dāng)三維圖紙的裝配圖產(chǎn)生新版本的時候,它對應(yīng)的哪些零件圖和部件圖需要升級版本?而二維CAD圖紙的零件圖、部件圖、裝配圖是分開存儲的,裝配圖中只有零件圖和部件的簡單標(biāo)記,這樣的問題就可以不用考慮。
以Solidworks為例,它的文件包括.SLDPRT,.SLDASM,.SLDDRW3種,.SLDPRT文件對應(yīng)三維零件圖,.SLDASM文件對應(yīng)三維裝配圖,.SLDDRW文件對應(yīng)二維工程圖。這3種文件里,.SLDPRT文件描述單個零件的信息,是可以獨(dú)立存在的;.SLDASM文件描述的是裝配體信息,主要包含裝配體由哪些零件組成及這些零件的位置關(guān)系等信息,它對組成裝配體的各零件的.SLDPRT文件具有依賴性,.SLDASM文件必須與組成裝配體的各零件的.SLDPRT文件放在同一個文件夾下才能正確的打開;.SLDDRW文件由某個.SLDPRT文件或.SLDASM文件產(chǎn)生,是三維圖形的二維表示,它依賴于對應(yīng)的SLDPRT文件或.SLDASM文件,沒有對應(yīng)的.SLDPRT文件或. SLDASM文件,它將不能正常打開。 .SLDASM文件與相關(guān)的.SLDPRT文件,.SLDDRW文件互相依賴,形成1個整體,它們的數(shù)據(jù)互相關(guān)聯(lián),必須保持一致性。例如用Solidworks畫了1個部件a,包含2個零件p1和p2,則一共會產(chǎn)生a.SLDASM,a.SLDDRW,p1.SLDPRT,p1.SLDDRW,p2.SLDPRT,p2.SLDDRW6個文件,當(dāng)修改p1.SLDPRT時,a.SLDASM,a.SLDDRW,p1.SLDDRW3個文件也會被修改。因此 如果對p1.SLDPRT升級版本,則a.SLDASM,a. SLDDRW,p1.SLDDRW3個文件也必須升級版本而二維圖紙管理就沒有這樣的問題。
3 三維圖紙的版本管理的實(shí)現(xiàn)
3.1 版本管理的數(shù)據(jù)對象
(1)計算機(jī)輔助設(shè)計(Computer Aided Design,CAD)數(shù)據(jù) 各種CAD系統(tǒng)(NX,Pro/E,AutoCAD,SolidWork等)對應(yīng)的三維模型,二維圖,裝配體等數(shù)據(jù)對象。
(2)計算機(jī)輔助制造(Computer Aided Manufacturing,CAM)數(shù)據(jù) 不同應(yīng)用系統(tǒng)生成的CAM數(shù)據(jù)。
(3)各種格式的文檔數(shù)據(jù)doc,pdf,txt,ppt等。
(4)圖片文件bmp,jpg等。
3.2 版本管理實(shí)現(xiàn)的環(huán)節(jié)
在工作流過程中,如圖1所示,文件先以一個任務(wù)的形式下達(dá)給設(shè)計者,此時文件處于編輯狀態(tài)。當(dāng)設(shè)計 者完成設(shè)計后,提交給審核者,此時文件處于待審狀態(tài);如果未提交,文件恢復(fù)編輯狀態(tài)。審核者如果審核通過設(shè)計者的設(shè)計,將文件提交給批準(zhǔn)者,文件處于待批狀態(tài);如果不通過,將文件返回給設(shè)計者,此時文件變回編輯狀態(tài),此時審核者可以生成新版本。批準(zhǔn),變更等階段也過程類似,具體實(shí)現(xiàn)過程見圖1。
圖1 工作流實(shí)現(xiàn)版本升級
3.3 三維圖紙版本管理的數(shù)據(jù)結(jié)構(gòu)
三維圖紙版本管理的數(shù)據(jù)結(jié)構(gòu)描述版本對象的各種屬性、版本之間的關(guān)聯(lián)關(guān)系以及應(yīng)該包含的各種數(shù)據(jù)和對版本模型的操作方法,采用面向?qū)ο蟮姆绞剑ㄟ^抽取廣義版本對象的共性,定義以下類:(1)HCdoFile類描述文件對象,包括文件的屬性、操作及文件進(jìn)行工作流操作時的描述和生成新版本的操作。
classHCdoFile{
intFileID;∥唯一標(biāo)識
CStringDescription;∥文件屬性
intCurrent;∥版本狀態(tài),1表示最新版本,0表示老版本
CStringCurrentVersion;∥版本標(biāo)識
HCdoFHContainer3mpFHCon;∥新老版本文件容器
HCap3DContainer3mp3DContainer;∥三維文件的容器
voidRaiseVersion();∥升級版本
voidDeclineVersion();∥降級版本
voidDBInsert();∥添加文件
voidDBSave();∥保存文件修改
voidDBRestore();∥從數(shù)據(jù)庫讀取文件信息
voidDBRemove();∥刪除文件
CString,Tasker;∥工作流操作時,任務(wù)發(fā)布者
CStringTTimeStamp;∥工作流操作時,任務(wù)發(fā)布時間
CStringTComment;∥工作流操作時,任務(wù)發(fā)布的說 明或備注
……∥工作流操作時的其它過程與上面3項(xiàng)類似
}
(2)HCdoFHContainer類描述文件容器對象。文件容器是用來裝同一實(shí)體對象的新老板本一種數(shù)據(jù)結(jié)構(gòu),實(shí)質(zhì)上是用數(shù)據(jù)鏈將新老版本文件聯(lián)系起來。它對裝入自己的新老版本文件進(jìn)行操作,本身沒有屬性,能對文件的數(shù)據(jù)庫中的記錄進(jìn)行操作,但本身在數(shù)據(jù)庫中沒有記錄。
classHCdoFHContainer{
intGetFileIDByVersion(HCenString&Version);∥通過文件的版本獲得文件的標(biāo)識
boolUpdateFHContainer(intNewFileID,HCenString&ver);∥更新文件容器
boolInsertNewFH(intNewFileID,HCenString&
ver,HCenString&Authority,intStatus);∥添加新的文件記錄到文件容器
boolRemoveCurrentFH(intFileID)∥刪除文件容器中1項(xiàng)文件記錄
HCdoFile3GetFHistory(intn=0);∥通過文件的標(biāo)識獲得容器中文件的歷史記錄
CStringGetTopFHistoryVer();∥獲得文件容器中最新版本文件的版本號
intGetNextFileID();∥獲得文件容器中當(dāng)前文件的下一個文件的標(biāo)識
}
(3)HCap3D類描述三維圖紙的對象,繼承HCdoFile類。因?yàn)槿S圖紙的各類圖具有整體性,它 的屬性包括與它聯(lián)系的其他圖的屬性。
ClassHCap3D{
int,F(xiàn)atherID;∥當(dāng)前圖上一級的部件圖或裝配圖的標(biāo)識
int,ChildID;∥當(dāng)前圖下一級的部件圖或零件圖的標(biāo)識
……
}
(4)HCap3DContainer類描述三維圖紙聯(lián)系的容器。該容器裝著作為一個整體的三維圖紙的裝配圖、零件圖、部件圖。
classHCap3DContainer{
HCdoFile3FindNewPrtFile();∥獲得三維圖對應(yīng)的二維圖
HCap3D3Find3DByFatherID(intID);∥通過三維圖上一級的標(biāo)識獲得三維圖
HCap3D3Find3DByChildID(intID);∥通過三維圖下一級的標(biāo)識獲得三維圖
HCap3D3Find3DByID(intID);∥通過三維圖的標(biāo)識獲得該三維文件
……
}
3.4 三維圖紙版本管理實(shí)現(xiàn)的界面
在PDM系統(tǒng)中,文件資料是以樹狀結(jié)構(gòu)表示的,類似操作系統(tǒng)中系統(tǒng)目錄的形式。當(dāng)進(jìn)行三維版本管理操作時,以審批過程為例,先在樹狀表中選中要操作的文件,點(diǎn)擊流程操作鍵,彈出,審批對話框,如圖2所示。點(diǎn)擊生成新版本,如果所選文件是裝配圖,彈出如圖3所示對話框,左邊文本框中將列出裝配圖下所有部件圖、零件圖,點(diǎn)擊需要同時升級的零件或部件圖,按添加選擇鍵,將出現(xiàn)在右邊可選子文件下的文本框,點(diǎn)擊確定這些選中的零件、部件圖隨裝配圖同時升級, 否則,它們?nèi)杂美习姹尽?/p>
圖2 審批過程圖
圖3 三維圖紙的版本管理
4 小結(jié)
本文針對中小型企業(yè)的機(jī)電產(chǎn)品,研究了版本管理中三維圖紙的管理。采用線性模型和三維圖紙整體性相結(jié)合版本管理方法,能更有效地記錄和使用早期設(shè)計過程中的知識內(nèi)容,大大提高產(chǎn)品設(shè)計的效率和版本管理的水平。面向三維圖紙的版本管理是對二維圖紙管理的改進(jìn)。數(shù)據(jù)組織靈活,占用空間少,數(shù)據(jù)整合算法簡單;數(shù)據(jù)獲取的效率高;安全控制更細(xì)致到位;能有效地支視圖管理。該方案是改進(jìn)PDM版本管理、強(qiáng)化信息集成平臺作用行之有效的技術(shù)方案。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://m.hanmeixuan.com/
本文標(biāo)題:PDM系統(tǒng)中三維圖紙版本管理的研究
本文網(wǎng)址:http://m.hanmeixuan.com/html/solutions/14019316863.html