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