胡 敏
(中船第九設(shè)計研究院工程有限公司,上海 200063)
勘察設(shè)計企業(yè)的特點決定了工程設(shè)計需要密切的配合和協(xié)作。隨著信息時代的到來以及中國加入WTO,國內(nèi)勘察設(shè)計企業(yè)面臨著來自國際競爭和信息化的雙重挑戰(zhàn)。中國勘察設(shè)計企業(yè)能否適應(yīng)未來,取決于它是否具備國際一流水平的競爭實力,即能否提供最好的服務(wù)、最快的速度和最低的成本。而要快速獲得這樣的能力,僅靠企業(yè)現(xiàn)有資源和工作方式是遠(yuǎn)遠(yuǎn)不夠的,而應(yīng)以信息技術(shù)為支撐,廣泛開展跨專業(yè)、跨企業(yè)、跨地區(qū),乃至跨國等多種形式的協(xié)同設(shè)計。
我院是以設(shè)計咨詢?yōu)橹鳡I業(yè)務(wù)的公司,主要解決的是項目設(shè)計過程管理難題,而協(xié)同設(shè)計主要想解決的管理難題是以項目組為單位的一線設(shè)計人員設(shè)計過程的協(xié)同,該系統(tǒng)的主要使用對象為項目組,以提高設(shè)計質(zhì)量和技術(shù)為首要目的,其次是通過優(yōu)化設(shè)計流程來提高項目的管理水平,因此其他管理部門都是配合項目組開展協(xié)同設(shè)計管理工作。公司經(jīng)過詳細(xì)的調(diào)研和考察,并充分考慮了自身的業(yè)務(wù)特點后,最終選擇了Bentley公司的ProjectWise(簡稱PW)產(chǎn)品作為協(xié)同平臺。但是ProjectWise是一個通用的平臺軟件,必須經(jīng)過二次開發(fā),才能滿足公司協(xié)同設(shè)計的需求。
能夠在網(wǎng)絡(luò)環(huán)境中實現(xiàn)分布式文檔管理,將分布在異地的文檔集中在一個統(tǒng)一的環(huán)境中管理。以發(fā)布的方式實現(xiàn)文件的共享,確保文檔的安全性、唯一性、可控制性及可追溯性。
對專業(yè)內(nèi)和專業(yè)間相互引用的文件關(guān)系進(jìn)行獨立于AutoCAD外部參照功能外的全面管理。即使引用文件路徑變化,系統(tǒng)也會依然保證文件之間的引用關(guān)系正常,可方便地進(jìn)行引用管理的建立和拆解操作。
系統(tǒng)提供了完備的版本管理體系,同時引入了文件的檢入/檢出概念,確保同一時間同一文件只有一人可以對文件進(jìn)行寫操作。另外文檔“歷史紀(jì)錄”功能,能夠紀(jì)錄文件從創(chuàng)建開始的所有活動的動作、人員及時間(如創(chuàng)建、刪除,檢入/檢出,狀態(tài)改變,復(fù)制移動等)。
PW提供了智能的文檔查詢功能,幫助我院速搜尋出目標(biāo)文件。傳統(tǒng)的樹狀目錄結(jié)構(gòu),最符合工程信息的分類查詢。矩陣式的邏輯目錄結(jié)構(gòu),能讓我們按不同的職能需求靈活組織、分類文檔。
包括打印與發(fā)布管理、數(shù)字安全性管理、標(biāo)準(zhǔn)化管理、分布式存儲管理和工程信息全生命周期的管理。
PW是提供了一個設(shè)計文件資料的統(tǒng)一管理的平臺,設(shè)計文件都上傳至服務(wù)器,工程項目中的所有圖紙資料都集中儲存在數(shù)據(jù)庫服務(wù)器,并且有安全、完善的共享管理和用戶權(quán)限管理,由服務(wù)器實現(xiàn)圖紙的版本管理與控制,這樣就為協(xié)同設(shè)計提供了平臺基礎(chǔ),但作為設(shè)計企業(yè)中的協(xié)同平臺,有些方面還是需要二次開發(fā)改造。主要是體現(xiàn)在以下方面:
1)與AutoCAD集成方面尚有不足,雖然PW也提供了在AutoCAD中的插件,但是整體還是完全獨立于繪圖平臺,而對于首要任務(wù)就是繪圖的設(shè)計人員來說,更希望所有工作都在AutoCAD中完成。
2)授權(quán)機制工作量過大。由于國內(nèi)的設(shè)計企業(yè),項目數(shù)量多,而參與每個項目的專業(yè)也多,PW雖然提供靈活的授權(quán)機制,但是給如此眾多的項目設(shè)置權(quán)限,并要隨著設(shè)計人員調(diào)整而調(diào)整,工作量是巨大的。
3)與其他業(yè)務(wù)系統(tǒng)的集成。經(jīng)過這些年來,中船九院也開發(fā)了不少應(yīng)用系統(tǒng),比如生產(chǎn)管理系統(tǒng),人事系統(tǒng)等,如果協(xié)同平臺不能與這些業(yè)務(wù)系統(tǒng)集成,而達(dá)到數(shù)據(jù)共享,那這個平臺就變成一個孤立的平臺,生命力也有限。
4)一些系統(tǒng)功能進(jìn)一步完善和改造才能適應(yīng)中船九院協(xié)同設(shè)計的需要,比如參考關(guān)系維護,需要進(jìn)一步完善。設(shè)校審流程和提資流程需要重新定制開發(fā)。
5)其它個性化需求。比如提資、歸檔和項目修改通知單管理等業(yè)務(wù)需求,PW平臺中沒有現(xiàn)成的功能,這些就需要二次開發(fā)。
1)實現(xiàn)與AutoCAD的無縫集成;
2)實現(xiàn)項目創(chuàng)建、授權(quán)和權(quán)限維護自動化;
3)實現(xiàn)與公司各個業(yè)務(wù)系統(tǒng)集成;
4)實現(xiàn)參考關(guān)系自動維護和流程管理;
5)實現(xiàn)其它個性化需求。
通過協(xié)同設(shè)計平臺定制開發(fā),為設(shè)計人員搭建一個在AutoCAD中的工作平臺,以外部參照為技術(shù)基點,核心解決設(shè)計過程中的“錯、漏、碰、缺”問題。其實質(zhì)是為企業(yè)和設(shè)計人員搭建一個將“設(shè)計”與“管理”進(jìn)行了一體化緊密集成的、易于推行的且真正意義上的“協(xié)同設(shè)計平臺”。
本次定制開發(fā)是基于AutoCAD 2008版本,主要的開發(fā)工具包括 ObjectARX、PW SDK和VS2005。
Autocad常用的二次開發(fā)工具包括:C/C++的ObjectARX、VB/VBA的 ActiveX開發(fā)以及 AutoLISP/VisualLISP開發(fā)工具。這三種開發(fā)工具中,ObjectARX擁有對AutoCAD最深入的控制能力,能夠提供最多類型的窗體。使用ARX可以向Auto-CAD注冊自己的命令,用戶運行你的程序時無需了解關(guān)于AutoCAD更多的知識。ObjectARX應(yīng)用程序不再是一個獨立的進(jìn)程,而是一個動態(tài)鏈接庫,它和AutoCAD處于同一地址空間,能夠直接利用AutoCAD的內(nèi)核代碼,直接訪問 AutoCAD數(shù)據(jù)庫、圖形系統(tǒng)及幾何造型,在運行期間能夠擴展AutoCAD具有的類及其功能。此外開發(fā) ARX應(yīng)用程序還可以充分利用Windows資源,MFC基本類庫和Visual C++可視化集成開發(fā)環(huán)境(IDE),能方便、高效地設(shè)計具有Windows風(fēng)格的CAD應(yīng)用程序。
利用ARX開發(fā)的程序在AutoCAD中的運行效率與AutoCAD的協(xié)調(diào)程度,以及它的靈活性是其他開發(fā)方法所無法比擬的。但這也包括了ObjectARX的致命弱點,那就是它很容易導(dǎo)致一些嚴(yán)重的錯誤從而使得AutoCAD崩潰,甚至導(dǎo)致死機。這些都要求ObjectARX的開發(fā)人員養(yǎng)成一個良好的編程習(xí)慣,在ARX代碼中加入嚴(yán)謹(jǐn)?shù)腻e誤檢查,盡量確保在發(fā)現(xiàn)異常后能及時返回,避免發(fā)生嚴(yán)重錯誤。
在代碼編寫過程,綜合使用了錯誤檢查、C++和結(jié)構(gòu)化異常處理方法以確保系統(tǒng)的強魯棒性。
ProjectWise提供了用戶開發(fā)環(huán)境,其所提供的APIs均為Win32 DLLs。所有的ProjectWise APIs均使用C的鏈接規(guī)則;所有的API函數(shù)均以名稱輸出;調(diào)用時使用WinAPI(Pascal)的調(diào)用約定。所有的ProjectWise APIs都是Unicode的,只能用在Uni-code的項目中。SDK包含完整的客戶端API庫(遵循C語言調(diào)用規(guī)范)、文檔和實例代碼。使用ProjectWise API,可以通過以下方法來創(chuàng)建、刪除、替換或擴展ProjectWise客戶端的功能。
ProjectWise是一個典型的三層結(jié)構(gòu)應(yīng)用程序。其最基本的構(gòu)成如下圖1所示。
圖1 ProjectWise結(jié)構(gòu)
我們的目標(biāo)就是利用ObjectARX開發(fā)工具,開發(fā)嵌入Autocad的動態(tài)鏈接庫,通過ProjectWise APIs來訪問ProjectWise數(shù)據(jù)庫及存儲在文件存儲區(qū)的文檔。并定制了系統(tǒng)的操作菜單,只提供了簡單常用的命令,去除了一些使用頻率低或者復(fù)雜的命令,添加一些自定義的命令,設(shè)計人員能快速掌握并使用。
界面如圖2所示,界面分為三個部分。左邊是項目樹,列出的是登錄者參與的所有項目。右上是文件區(qū),列出的是目錄下的所有文件,點右鍵就能對文件進(jìn)行各種操作。右下是文件詳區(qū),列出的是文件的版本信息、項目的人員信息、提資消息、參照關(guān)系、預(yù)覽和操作日志。
圖2 系統(tǒng)主界面
系統(tǒng)架構(gòu)圖見圖3所示。
圖3 系統(tǒng)架構(gòu)圖
1)實現(xiàn)與CAD繪圖平臺集成
ProjectWise平臺是個通用的平臺,所以要適當(dāng)改造讓設(shè)計人員更容易接受,考慮把ProjectWise嵌入到CAD平臺當(dāng)中,把一些常用的功能都整理出來,集成到CAD界面上,設(shè)計人員就可以不改變工作環(huán)境,不脫離繪圖平臺的情況下而集中到協(xié)同平臺中,從而有利于協(xié)同設(shè)計項目的整體推進(jìn)[1]。
2)實現(xiàn)與公司業(yè)務(wù)系統(tǒng)集成
協(xié)同管理系統(tǒng)的項目信息來自公司生產(chǎn)管理系統(tǒng)(MIS),項目信息主要包括項目名稱、甲方名稱、開工日期、項目經(jīng)理等信息。實現(xiàn)與生產(chǎn)管理系統(tǒng)信息同步,公司每安排一個項目,就在協(xié)同管理系統(tǒng)中自動開設(shè)一個項目,建立對應(yīng)的目錄結(jié)構(gòu),并根據(jù)生產(chǎn)計劃中的人員安排來設(shè)置協(xié)同管理系統(tǒng)中的人員權(quán)限。實現(xiàn)項目信息和人員權(quán)限的維護自動化,確保項目與人員信息的唯一性。
協(xié)同管理系統(tǒng)的人員和部門信息來自公司人事系統(tǒng)。人員信息主要包括姓名、部門以及資質(zhì)情況,及時同步人事系統(tǒng)中人員增減,人員調(diào)動以及部門拆分、變更等信息,實現(xiàn)人員和部門信息維護的自動化。
設(shè)計項目過程管理是協(xié)同設(shè)計中的一個重要管理內(nèi)容。協(xié)同管理系統(tǒng)的流程信息來自公司設(shè)計項目流程管理系統(tǒng),根據(jù)流程系統(tǒng)中的節(jié)點進(jìn)度調(diào)整協(xié)同管理系統(tǒng)中人員對文檔的操作權(quán)限,在平臺中實現(xiàn)設(shè)計、校對、審核和審定的流程和提資流程管理。通過改進(jìn)我們現(xiàn)有的業(yè)務(wù)流程,重建更適宜公司管理的設(shè)計業(yè)務(wù)流程。
協(xié)同管理系統(tǒng)可以與公司辦公自動化系統(tǒng)實現(xiàn)集成,從而把項目的各種統(tǒng)計信息等發(fā)布到公司內(nèi)網(wǎng)上,方便員工查閱與交流。
3)實現(xiàn)與出圖系統(tǒng)集成
設(shè)計人員提交打印申請后,系統(tǒng)后臺自動加載電子簽名、條形碼,并自動生成打印文件進(jìn)行打印;打印管理人員進(jìn)行審核后,自動打印出圖,并保證最后電子版本和紙質(zhì)的一致性及有效性。
4)實現(xiàn)與電子簽名系統(tǒng)集成
電子簽名配合流程使用,通過現(xiàn)有成熟產(chǎn)品的二次開發(fā)與協(xié)同管理系統(tǒng)的集成,實現(xiàn)了真正意義的數(shù)字簽名技術(shù)。
5)實現(xiàn)與即時通訊系統(tǒng)集成
在系統(tǒng)提資或者歸檔等系統(tǒng)操作時,自動提醒用戶,給設(shè)計人員提供了更方便的溝通方式,增強團隊的信息共享和溝通能力,提高工作效率[2]。
1)圖紙比對
系統(tǒng)提供的智能比較工具,深入比較CAD對象的屬性差異,并分別用不同的顏色直觀顯示出來,可以幫助設(shè)計人員、審圖人員快速準(zhǔn)確的了解版本之間的差異,過程記錄幫助有序設(shè)計。
2)非標(biāo)準(zhǔn)圖層轉(zhuǎn)換
可以將圖紙中已存在的非標(biāo)準(zhǔn)的圖層轉(zhuǎn)換到標(biāo)準(zhǔn)圖層,同時移動圖層中的所有實體到標(biāo)準(zhǔn)圖層。此工具大大降低了協(xié)同的使用門檻,對于那些本身協(xié)同使用規(guī)則不明確或者歷史項目需要使用協(xié)同系統(tǒng)的情況特別有用。
3)繪圖標(biāo)準(zhǔn)管理
提供專業(yè)間及專業(yè)內(nèi)的圖層級協(xié)同規(guī)則的維護管理,包括各專業(yè)的圖層規(guī)則、字體、線型、打印樣式、圖簽圖框等。同時提供標(biāo)準(zhǔn)的分發(fā)工具,管理員可以自定標(biāo)準(zhǔn)文件,并將需要分發(fā)的標(biāo)準(zhǔn)文件上傳、發(fā)布。其他用戶在重新登錄協(xié)同系統(tǒng)時,會自動下載并更新標(biāo)準(zhǔn)文件。
4)圖層引用規(guī)則管理
用以管理專業(yè)間項目引用時的圖層更改規(guī)則[4],分為規(guī)則管理和規(guī)則設(shè)置,一個引用專業(yè)和被引用專業(yè)對,形成一條唯一的規(guī)則,規(guī)則可以導(dǎo)入、導(dǎo)出,并自行設(shè)置具體規(guī)則內(nèi)容,針對被引用專業(yè)的某個標(biāo)準(zhǔn)圖層進(jìn)行修改設(shè)定,可更改顏色、開關(guān)、凍結(jié)、打印開關(guān)、鎖定、線型。在用戶定義好規(guī)則之后,打開可對應(yīng)引用規(guī)則的圖紙時,系統(tǒng)自動應(yīng)用規(guī)則,將圖層做相應(yīng)的修改,通常用于參考圖的置灰,變色,不打印等需要。
5)圖層便捷開關(guān)
對于當(dāng)前圖紙中的所有圖層進(jìn)行方便的開關(guān)設(shè)置,過濾引用圖層的前綴,標(biāo)準(zhǔn)圖層按專業(yè)分類。
1)提資和歸檔
提資操作備份用戶的提資文件,自動進(jìn)行版本以及參考關(guān)系管理[5],記錄用戶每一次提資的歷史痕跡,并把文件打包后鏈接發(fā)送給接收資料的專業(yè),并通過即時通訊系統(tǒng)通知設(shè)計人員。設(shè)計人員接收到資料是,系統(tǒng)自動運用圖層引用標(biāo)準(zhǔn),使接收專業(yè)只看到相關(guān)的圖層,其它圖層自動關(guān)閉;使用外部參照時,系統(tǒng)保證每次引用都是最新版本,并自動管理參考關(guān)系和參考文件。系統(tǒng)還提供了提資歷史記錄比較的功能,能便捷地知道每次提資之間的差別,方便了設(shè)計人員的工作。歸檔也提供了類似的功能。
2)項目修改通知單管理
隨著項目規(guī)模越來越大,項目修改通知單的數(shù)量急劇增多,通知單的管理也變得越來越重要。系統(tǒng)根據(jù)模板生成項目修改通知單,并自動填寫項目相關(guān)的信息,減少了設(shè)計人員重復(fù)輸入和錄入時內(nèi)容的千差萬別。所有的修改通知單都保存在系統(tǒng)中,能做各種統(tǒng)計分析,并跟蹤修改通知單的狀態(tài),有效地管理了項目修改通知單。
此系統(tǒng)是2011年6月份正式在中船九院上線,全院所有設(shè)計項目都進(jìn)入該平臺,大部分設(shè)計人員都此平臺上進(jìn)行設(shè)計、提資和歸檔。期間我們一直收集設(shè)計人員反饋的意見,對系統(tǒng)不斷完善和優(yōu)化,系統(tǒng)基本運行穩(wěn)定。院里在協(xié)同設(shè)計方面進(jìn)行了大量的探索。
1)統(tǒng)一CAD繪圖版本到2008版;
2)統(tǒng)一定制專業(yè)軟件;
3)制定圖層標(biāo)準(zhǔn);
4)引用模式的研究;
5)協(xié)同平臺的定制開發(fā)。
目前,中船九院的協(xié)同設(shè)計在全院領(lǐng)導(dǎo)和全體設(shè)計人員的共同努力下積極推進(jìn)。協(xié)同平臺的二次開發(fā)為協(xié)同設(shè)計的推廣奠定了堅實的技術(shù)基礎(chǔ)。平臺通過這次的二次開發(fā),實現(xiàn)了與AutoCAD的無縫結(jié)合,并與公司的業(yè)務(wù)系統(tǒng)實現(xiàn)集成,直接從底層將多個信息島與數(shù)據(jù)中心關(guān)聯(lián);提高了信息傳遞的自動化程度,降低了項目成員的工作量,有利于系統(tǒng)在企業(yè)內(nèi)部的推廣應(yīng)用;避免了信息在二次傳遞中的錯誤和損失,解決傳統(tǒng)的協(xié)同環(huán)境下只能保留結(jié)果數(shù)據(jù),而不能保留過程信息的弊端;那些繁瑣的重復(fù)性勞動交給計算機來完成,增加了數(shù)據(jù)的唯一性,減少了由于操作人員疏忽而導(dǎo)致的低級錯誤,使設(shè)計人員的精力大多放在設(shè)計而不是制圖上;管理者不僅可以通過該平臺實現(xiàn)對項目進(jìn)行動態(tài)監(jiān)控,而且可以將管理工作規(guī)范化,使管理水平進(jìn)一步提高,個人的工作成果能在系統(tǒng)中得到反映,使管理者對每個成員的考核更加客觀公正。
另外通過這次平臺定制開發(fā)項目,我院的軟件開發(fā)團隊對ProjectWise平臺有了更深刻的認(rèn)識,也具備了在該平臺上進(jìn)行更深入定制開發(fā)的能力,為該平臺的進(jìn)一步完善打下了堅實的基礎(chǔ)。
[1]李敏強,寇紀(jì)淞,紀(jì)仕光.計算機支持協(xié)作工作與系統(tǒng)──CSCW/CSCS[J].管理科學(xué)學(xué)報,1994,2.
[2] J.Grudin.“Computer – Supported Cooperative Work”,History and Focus,IEEE COMPUTER,V27 I5(1994)
[3] Kevin LMills.Introduction to the electronic symposium on computer- supported cooperative work,ACM Computing Surveys,V 31 I2(1999),P105-116.
[4]趙紅.AutoCAD中外部圖形引用的實現(xiàn)方法[J].甘肅科技,2003,19(3):24-25.
[5]曹健,吳瑞民,張友良.CSCW環(huán)境下協(xié)同設(shè)計的多版本問題及其管理策略[J].計算機工程與應(yīng)用,31(11)(1998),P32-34.