宋一淇 汪學(xué)鋒
1上海交通大學(xué)船舶海洋與建筑工程學(xué)院,上海 200030
2上海交通大學(xué) 船舶海洋與建筑工程學(xué)院,海洋工程國家重點(diǎn)實(shí)驗(yàn)室,上海 200030
Windchill系統(tǒng)中外來技術(shù)文件的批量導(dǎo)入方法研究
宋一淇1汪學(xué)鋒2
1上海交通大學(xué)船舶海洋與建筑工程學(xué)院,上海 200030
2上海交通大學(xué) 船舶海洋與建筑工程學(xué)院,海洋工程國家重點(diǎn)實(shí)驗(yàn)室,上海 200030
設(shè)計(jì)所、船廠作為船舶的設(shè)計(jì)和制造部門,經(jīng)常要從合作部門,或者是上游部門接收大量的技術(shù)設(shè)計(jì)結(jié)果。為了將這些外來技術(shù)文件快速提交入庫,本文基于PDM軟件Windchill開發(fā)了批量導(dǎo)入方法。該方法以常用的Excel表格作為文件導(dǎo)入的載體,在Windchill系統(tǒng)用戶界面開發(fā)添加下拉菜單操作項(xiàng),鏈接JSP文件導(dǎo)入頁面,并通過定制開發(fā)的Java程序,具體實(shí)現(xiàn)船舶設(shè)計(jì)制造中外來技術(shù)文件的批量導(dǎo)入,為企業(yè)Windchill系統(tǒng)中PDM管理的有效開發(fā)應(yīng)用提供了參考。
Windchill;技術(shù)文件;批量導(dǎo)入;客制化;PDM
船舶產(chǎn)品設(shè)計(jì)周期長,技術(shù)文件和數(shù)據(jù)數(shù)量龐大,設(shè)計(jì)階段設(shè)計(jì)信息變更頻繁,設(shè)計(jì)過程螺旋前進(jìn),需要對(duì)產(chǎn)品數(shù)據(jù)和相關(guān)文檔進(jìn)行有效管理,包括數(shù)據(jù)存取、版本控制、技術(shù)狀態(tài)監(jiān)控以及產(chǎn)品數(shù)據(jù)間關(guān)聯(lián)關(guān)系的維護(hù)。而傳統(tǒng)的手工管理已經(jīng)難以滿足實(shí)際需要,所以急需將產(chǎn)品數(shù)據(jù)管理(PDM)實(shí)施于船舶行業(yè)[1]。
當(dāng)前,全球商用的PDM軟件有近百種,國外比較有影響力的有PTC公司的Windchill,UGS公司的 IMAN,MatrixOne公司的 eMatrix,IBM 公司的ProductManager等。國內(nèi)也有很多公司開發(fā)了相應(yīng)的PDM系統(tǒng),如清華同方PDM,武漢天喻PDM,武漢華中軟件的 IntePDM 等[2]。另外,還有上海交通大學(xué)正在研制開發(fā)的 “船舶數(shù)字化智能設(shè)計(jì)系統(tǒng)”(KSHIP),該系統(tǒng)在高度集成現(xiàn)行主流船舶設(shè)計(jì)制造軟件的基礎(chǔ)上,構(gòu)建了一個(gè)異地協(xié)同設(shè)計(jì)平臺(tái),有效處理設(shè)計(jì)中的業(yè)務(wù)流、數(shù)據(jù)流、信息流,也包含了軟件子系統(tǒng)接口開發(fā)[3]及PDM方面的內(nèi)容。
目前,PTC公司的Windchill是國際上應(yīng)用最廣泛的PDM系統(tǒng)。該系統(tǒng)基于Web的3層B/S結(jié)構(gòu)[4],把服務(wù)器的能力與因特網(wǎng)的便捷有效地結(jié)合起來,構(gòu)造出一個(gè)分布式的協(xié)同產(chǎn)品商務(wù)平臺(tái)。Windchill利用先進(jìn)的Java2企業(yè)版(J2EE)技術(shù)進(jìn)行開發(fā),使系統(tǒng)可以運(yùn)用于不同的平臺(tái),并且具備了更好的開發(fā)性和動(dòng)態(tài)更新的功能。此外,Windchill的數(shù)據(jù)層采用了Oracle關(guān)系數(shù)據(jù)庫來有效地管理數(shù)據(jù)間的關(guān)聯(lián)關(guān)系。該系統(tǒng)在我國船舶行業(yè)得到了越來越多的應(yīng)用,上海交通大學(xué)KSHIP項(xiàng)目組也引進(jìn)了該系統(tǒng),并得到了應(yīng)用。
研究所、船廠作為船舶設(shè)計(jì)制造的設(shè)計(jì)和制造部門,經(jīng)常需要接收上游單位,或者是合作單位等提供的技術(shù)設(shè)計(jì)結(jié)果,如CADDS5模型、Auto-CAD圖紙、設(shè)計(jì)文件、生產(chǎn)裝配和工藝方面的指導(dǎo)性文件等。
當(dāng)外來文件數(shù)量較小時(shí),可直接在Windchill系統(tǒng)中以創(chuàng)建文檔的方式來導(dǎo)入。但是,如果外來文件的數(shù)量較大,手動(dòng)添加的方法耗時(shí)耗力,而且容易出錯(cuò),此時(shí)則迫切需要通過批量導(dǎo)入手段來處理[5]。
本文使用PTC公司的Windchill 9.0,對(duì)船舶設(shè)計(jì)制造過程中的外來技術(shù)文件批量導(dǎo)入手段進(jìn)行了開發(fā)和研究,為Windchill的有效應(yīng)用及PDM管理提供了手段與參考。由于Windchill系統(tǒng)龐大,系統(tǒng)Oracle數(shù)據(jù)庫中的數(shù)據(jù)信息很多,因此采用直接對(duì)數(shù)據(jù)庫進(jìn)行操作上傳的方法難度比較大。同時(shí),一旦Windchill系統(tǒng)在版本升級(jí)時(shí)對(duì)數(shù)據(jù)庫結(jié)構(gòu)進(jìn)行變動(dòng),則用這種方法開發(fā)的手段很可能失效。本文采用了另外一種方法,以含有上傳文件屬性信息和路徑的Excel表格為載體開發(fā)了新的導(dǎo)入手段。我們?cè)赪indchill用戶界面上添加了下拉菜單操作項(xiàng),當(dāng)用戶點(diǎn)擊操作項(xiàng)時(shí)會(huì)鏈接到定制好的JSP頁面,在頁面處指定Excel表格的路徑,繼而我們開發(fā)的Java程序會(huì)自動(dòng)將Excel表格中所列的批量外來技術(shù)文件導(dǎo)入到Windchill中。
文檔的屬性代表了文檔在Windchill中建立和存儲(chǔ)的一些信息。外來技術(shù)文檔在提交入庫時(shí)需要給出如文件編號(hào)、文件名稱、所屬專業(yè)、項(xiàng)目階段、文件大類、文件小類、提交單位、設(shè)計(jì)人員、系統(tǒng)、總段、分段、區(qū)域、艙、頁數(shù)等屬性信息。當(dāng)然,這些屬性信息可以根據(jù)各實(shí)際使用部門的情況進(jìn)行增減。該操作需要在Windchill系統(tǒng)中的“類型和屬性管理器”里作相應(yīng)的定義。
如在類型根“文檔>Reference Document”下添加一個(gè)“圖樣和技術(shù)文件”類型,并定義添加所需的 IBA 屬性及其約束條件[6],如表 1。
表1 所添加的部分屬性及其約束條件Tab.1 Added attributes and constraints
在Windchil用戶操作界面中,所有操作都對(duì)應(yīng)一個(gè) action[7]。 這些操作是通過 Windchill中成對(duì)出現(xiàn)的兩類文件進(jìn)行定義的。其中一類定義了所添加action的顯示位置,另一類則定義了所添加action要執(zhí)行的操作內(nèi)容。
在定義action顯示位置的文件中,所有操作是通過model(類)來組織的。每一個(gè)類都對(duì)應(yīng)著用戶界面上的一個(gè)下拉選項(xiàng),而該類下的每個(gè)action又對(duì)應(yīng)著相應(yīng)下拉選項(xiàng)中的一個(gè)操作。本文添加一個(gè)名為“importDesignList”的操作項(xiàng),其位于“產(chǎn)品”主選項(xiàng)下的 “詳細(xì)信息”頁面操作的下拉菜單中?!霸敿?xì)信息”頁面操作所對(duì)應(yīng)的類為“product details page actions”。 本文設(shè)計(jì)了名為“importDesignList”的操作項(xiàng),并將其添加到所屬類下。我們添加該操作,將在Windchill系統(tǒng)中創(chuàng)建文檔,因此將其類型定義為“document”,如圖 1 所示。
在定義action執(zhí)行內(nèi)容的文件中,所有操作的內(nèi)容都是通過objecttype(對(duì)象類型)來組織的。從上一步對(duì)操作對(duì)象類型的定義中可知,我們所添加的“importDesignList”類型為“document”,故在該對(duì)象類型下添加代碼定義importDesignList所執(zhí)行的內(nèi)容,如圖2所示。
因?yàn)辄c(diǎn)擊我們添加的操作項(xiàng)后,要彈出一個(gè)新的JSP頁面,所以為了實(shí)現(xiàn)這一功能窗體類型要定義為“popup”。JSP頁面的定制將在后文進(jìn)行,該頁面的名稱暫且定義為importDesignCatalog.jsp,存放在 netmarkets/jsp/ext/sjtu/document目錄下。
Windchill系統(tǒng)用戶界面上的中文顯示是通過系統(tǒng)的資源綁定功能實(shí)現(xiàn)的。資源綁定用于消息的本地化處理和一些文本信息的本地化處理。本文利用這一功能,將用戶界面下拉菜單中所要添加action的顯示名稱“設(shè)計(jì)目錄導(dǎo)入”與其在系統(tǒng)程序中所使用的英文名稱“importDesignList”進(jìn)行資源綁定。這樣做的好處在于,當(dāng)想把“設(shè)計(jì)目錄導(dǎo)入”改為其它顯示時(shí),只需在資源綁定中修改一處即可,而不必修改應(yīng)用程序代碼。
Windchill默認(rèn)的是英文顯示,在進(jìn)行本地化處理時(shí),需要先寫一個(gè)英文的資源綁定,再跟它對(duì)應(yīng)著寫一個(gè)中文的資源綁定。上文中我們定義了操作項(xiàng)的類型為document,可根據(jù)該對(duì)象類型找到其資源綁定的定義位置。然后便可找到相應(yīng)的.rbInfo文件,在其中添加我們的資源綁定。
最后一步,也是比較容易被遺忘的重要步驟,就是在 WindchillShell中運(yùn)行 ResourceBuild命令,對(duì)剛修改過的資源綁定文件進(jìn)行編譯。
至此,如進(jìn)入Windchill系統(tǒng),便可在產(chǎn)品>詳細(xì)信息下的操作下拉菜單中看到我們添加的 “設(shè)計(jì)目錄導(dǎo)入”選項(xiàng),如圖3所示。
在Windchill系統(tǒng)中有三種頁面:JSP頁面、HTML頁面和DCA頁面。HTML技術(shù)主要用來設(shè)計(jì)靜態(tài)頁面,而DCA技術(shù)在Windchill系統(tǒng)中用來設(shè)計(jì)查詢頁面。JSP頁面是Java中用來設(shè)計(jì)動(dòng)態(tài)頁面的WEB技術(shù),使用JSP技術(shù)可以有效地進(jìn)行基于MVC模式的設(shè)計(jì)開發(fā)[8]。
本文需要利用頁面調(diào)用系統(tǒng)導(dǎo)入程序,而只有JSP頁面能實(shí)現(xiàn)這一功能。因此本文利用JSP技術(shù),設(shè)計(jì)了一個(gè)簡潔的導(dǎo)入設(shè)計(jì)目錄界面,如圖4所示。
本文采用了常用的Excel表格文件作為導(dǎo)入文檔及其主文件的載體,非常直觀,且便于重復(fù)利用。只要Excel表格中文檔的屬性能滿足表1中的約束條件,導(dǎo)入文件的數(shù)量及其路徑可根據(jù)上傳的實(shí)際需要自由選擇,如圖6所示。
根據(jù)Excel表格中的信息,經(jīng)過由Java代碼編寫的系統(tǒng)程序完成導(dǎo)入過程[9-10],如圖 5 所示。.Java源代碼通過Eclipse高級(jí)開發(fā)環(huán)境編譯后,變?yōu)?class可執(zhí)行文件配置到Windchill系統(tǒng)的特定目錄下。重新啟動(dòng)系統(tǒng),就完成了本導(dǎo)入手段的開發(fā)工作。
開發(fā)完成后的導(dǎo)入操作非常簡單,共3步:填寫好上傳文件的Excel表格,如圖6所示;通過所添加的JSP頁面瀏覽指定第一步中Excel表格的地址;點(diǎn)擊JSP頁面的“導(dǎo)入”鍵開始自動(dòng)導(dǎo)入。
對(duì)于文件的導(dǎo)入,Windchill中提供了創(chuàng)建單個(gè)文檔和創(chuàng)建多個(gè)文檔兩種方式,前者所能填寫的屬性信息詳細(xì)全面,但文件數(shù)量大時(shí)耗時(shí)多;后者雖然可同時(shí)上傳多個(gè)文檔,可以節(jié)省時(shí)間,但容易出錯(cuò),而且可填的屬性信息不完整。我們開發(fā)的批量導(dǎo)入手段可有效地克服這些缺點(diǎn)。以上傳20個(gè)文件為例,使用創(chuàng)建單個(gè)文檔的方法需要大約15 min,使用一次性手動(dòng)創(chuàng)建20個(gè)文檔的方法需要大約10 min,而使用我們的批量導(dǎo)入手段則僅僅需要大約2~3 min(包括填寫Excel表格的時(shí)間),大大節(jié)省了時(shí)間。同時(shí),我們?cè)O(shè)計(jì)的Excel表格可根據(jù)實(shí)際使用部門的需要設(shè)置屬性信息,克服了手動(dòng)創(chuàng)建多個(gè)文檔時(shí)屬性信息不全的弊端。而且Excel表格易于檢查,不易出錯(cuò),還可存檔待以后校核使用。
導(dǎo)入成功后,便可在目標(biāo)路徑下找到我們導(dǎo)入的文檔,如圖7。查看文檔的詳細(xì)信息,便可看到我們?cè)贓xcel表格中定義的屬性值。
當(dāng)需要對(duì)屬性信息進(jìn)行增加時(shí),也只需要3步便可以完成:在Excel表格中依次添加屬性列;在Windchill系統(tǒng)中的“屬性和類型管理器”中定義新屬性,并將新屬性添加到我們定義的“圖樣和技術(shù)文檔”類中;在系統(tǒng)程序中添加相應(yīng)的Java代碼。通過該方法添加屬性信息,只需對(duì)系統(tǒng)程序中6處添加少量代碼即可,簡便易于掌握,便于非專業(yè)開發(fā)人員使用。
本文在上一步所實(shí)施實(shí)例的Excel表格的基礎(chǔ)上,添加了“文件類型”和“編制單位”兩個(gè)新屬性,其中前者的約束條件為“技術(shù)任務(wù)書|技術(shù)計(jì)算結(jié)果|設(shè)計(jì)圖紙|總結(jié)報(bào)告|其它文件|”,后者沒有約束條件。按照上述3個(gè)步驟作相應(yīng)修改后,填寫完整Excel表格,刪除原有文檔重新導(dǎo)入,在文檔的詳細(xì)信息中便可看到新添加的屬性及其值,如圖8所示。
本文開發(fā)的導(dǎo)入手段可根據(jù)上傳文件屬性信息的不同,建立多種文件導(dǎo)入表格模板,可重復(fù)使用。文檔主文件的位置可以自由填寫,上傳過程更加直觀,便于所有普通操作人員進(jìn)行數(shù)據(jù)導(dǎo)入。對(duì)文檔屬性信息進(jìn)行增加時(shí),所要添加修改Excel表格及處理表格程序的工作量小,便于企業(yè)內(nèi)部人員進(jìn)行后續(xù)開發(fā)完善。這些特點(diǎn)將避免過度依賴軟件提供商的后續(xù)服務(wù),減小客制化開發(fā)實(shí)施成本。
該方法的思想不僅可以運(yùn)用到Windchill系統(tǒng)中,也可以用到其他PDM系統(tǒng)的開發(fā)中,我們也將該方法運(yùn)用到了KSHIP系統(tǒng)的開發(fā)中去。雖然應(yīng)用于不同的PDM系統(tǒng)所使用的技術(shù)手段不同,但該方法的直觀性和易用性仍可為其它PDM系統(tǒng)的開發(fā)研究提供借鑒。
但是,使用本文中的導(dǎo)入方法,一個(gè)Excel文件只能導(dǎo)入有相同屬性信息的文件,而當(dāng)文件的屬性信息數(shù)量或種類不同時(shí),則要建立不同的Excel表格模板分別進(jìn)行導(dǎo)入工作。所以本文中的方法仍可進(jìn)行更深一步的開發(fā)完善。我們計(jì)劃下一步將所有的模板集中到一個(gè)Excel文件中,用不同的sheet來進(jìn)行分類,這樣將Excel模板文件數(shù)量減少到一個(gè),更加簡化了導(dǎo)入過程。
[1]喬珊,應(yīng)文燁,何剛.艦船數(shù)字化設(shè)計(jì)應(yīng)用研究[J].中國艦船研究,2007,2(4):20-25.
[2]朱曉蓮,鄭平,劉瑜.Windchill系統(tǒng)產(chǎn)品結(jié)構(gòu)樹的功能改進(jìn)[J].物流技術(shù),2006(10):40-42.
[3]顧敏芳,汪學(xué)鋒.Patran集成Fluent處理中模型的轉(zhuǎn)換[J].中國艦船研究,2010,5(1):6-13.
[4]趙賢,趙成碧.基于PDM船舶初步設(shè)計(jì)管理系統(tǒng)的開發(fā)[J].廣東造船,2008,(3):36-38.
[5]張芳,任宏.Windchill系統(tǒng)的應(yīng)用[C]//06MIS/S&A 學(xué)術(shù)交流會(huì)論文集.江西:中國造船工程協(xié)會(huì),2006:62-66.
[6]郭進(jìn)濤,肖俊,李俊華,等.基于Windchill的艦船設(shè)計(jì)流程建立與開發(fā)技術(shù)研究[J].中國水運(yùn),2006,4(11):118-119.
[7]PTC Inc.PTC University: Customizing the Windchill 9.0 User Interface[M].USA:PTC Inc.,2008.
[8]孟曉軍,張旭,白書清,等.基于Windchill的集成平臺(tái)的研究與構(gòu)建[J].制造業(yè)自動(dòng)化,2006,28(S):15-17.
[9]JavaTM Platform Standard Edition 6[CP].Sun Microsystem Inc,2007.
[10]Windchill TM[CP].PTC Inc,2008.
Method for Batch Importing External Technical Documents in Windchill System
Song Yi-qi1 Wang Xue-feng2
1 School of Naval Architecture,Ocean and Civil Engineering,Shanghai Jiaotong University,Shanghai 200030,China
2 State Key Laboratory of Marine Engineering, School of Naval Architecture,Shanghai Jiaotong University,Shanghai 200030,China
As the sectors of ship design and manufacture, the design institutes and shipyards usually receive a large number of technical design results from supporting sectors or upstream sectors.In order to upload these external technical documents quickly,a method of batch importing was developed based on Windchill.By this method, a new action was added to drop-down list in Windchill user interface.Then,a JSP page was linked to the action to upload external technical documents by using Excel table forms.Finally, the Java code is added to the Windchill system to handle with the process of uploading.This method can be applied in Windchill PDM management for design institute and shipyards.
Windchill; technical document; batch importing; tailor-made; PDM
U662.9
A
1673-3185(2011)03-94-05
10.3969/j.issn.1673-3185.2011.03.020
2010-08-16
國家教育財(cái)政部重大項(xiàng)目(ZXZY019);國家高技術(shù)研究發(fā)展計(jì)劃(863)項(xiàng)目(2008AA09A108)
宋一淇(1985-),男,碩士研究生。研究方向:船舶與海洋結(jié)構(gòu)物設(shè)計(jì)制造。
汪學(xué)鋒(1966 - ) ,男,研究員,博士生導(dǎo)師。 研究方向:船舶與海洋工程。 E-mail:wangxuef@sjtu.edu.cn