CAD實時協(xié)同圖形系統(tǒng)設(shè)計

2013-05-25  by:廣州有限元分析、培訓(xùn)中心-1CAE.COM  來源:仿真在線

AutoCAD系統(tǒng)是目前最常用的工程制圖軟件,基于AutoCAD系統(tǒng)開發(fā)實時協(xié)同圖形設(shè)計系統(tǒng)具有較好的市場前景.開發(fā)了基于AutoCAD的實時協(xié)同設(shè)計系統(tǒng)模型,并對其通訊機制、協(xié)同方式、界面設(shè)計等關(guān)鍵技術(shù)進行了研究,最后給出了一個建筑協(xié)同設(shè)計的實例.

計算機支持的實時協(xié)同設(shè)計CSRCD(Computer Supported Real-time Cooperative Design) 是CSCW 在設(shè)計工作中的一項重要應(yīng)用,它主要支持設(shè)計群體并發(fā)工作即使交流思想、協(xié)調(diào)工作進展情況、發(fā)現(xiàn)工作過程中出現(xiàn)的矛盾和沖突等,防止、避免和盡可能的減少設(shè)計過程中反復(fù)修改的問題。目前在實時協(xié)同設(shè)計領(lǐng)域已經(jīng)進行了大量的研究和開發(fā)工作,有SketchPad、Shsatra、Co-CAD 等。但大多數(shù)還是集中于模型設(shè)計階段,很少可以真正達到遠程的同步協(xié)同設(shè)計。SketchPad是一個支持多個用戶的分布式草圖系統(tǒng),主要用于視頻會議上對共享的圖像進行瀏覽并作草圖標注等操作:Shastra 是在桌面系統(tǒng)上實現(xiàn)的一種多媒體協(xié)同設(shè)計環(huán)境,它支持基于用戶層和應(yīng)用層的協(xié)同操作; Co-CAD 是一個協(xié)同的機械CAD 系統(tǒng), 它提供一些零件,可以支持地理上分散的機械CAD 工程師進行同步協(xié)同操作。AutoCAD 是AutoDesk 公司設(shè)計的一個用于工程設(shè)計的軟件,目前己經(jīng)在機械、電子、土木等領(lǐng)域得到了廣泛的應(yīng)用。目前,國內(nèi)的很多工程軟件都是基于AutoCAD 二次開發(fā)的系統(tǒng), 這不僅簡化了系統(tǒng)開發(fā)的復(fù)雜度,還降低了用戶操作的難度,充分體現(xiàn)了"以人為本"。考慮到這一事實,該文也將以AutoCAD系統(tǒng)為平臺,對實時協(xié)同圖形系統(tǒng)的開發(fā)進行嘗試。

    1 系統(tǒng)結(jié)構(gòu)

    1.1 實時協(xié)同系統(tǒng)的基本要求

實時協(xié)同系統(tǒng)設(shè)計的目的是提供有效的支持,使用計算機技術(shù)來幫助設(shè)計群體的交互,從而協(xié)同完成一個共同的任務(wù)和合作目標。一般來說還要滿足分布性、動態(tài)性、實時通訊信息存儲等要求。

    1.2 基于AutoCAD的實時協(xié)同系統(tǒng)模型

基于AutoCAD的實時協(xié)同系統(tǒng)模型由3個部分組成,分別為用戶界面、AutoCAD內(nèi)核和代理群。AutoCAD內(nèi)核是AutoCAD系統(tǒng)提供的核心功能:代理群和用戶界面用于在AutoCAD基礎(chǔ)上采用Visual C++和ObjectARX 二次開發(fā)完成。其系統(tǒng)模型如圖1所示。

CAD實時協(xié)同圖形系統(tǒng)設(shè)計autocad培訓(xùn)教程圖片1

    圖1系統(tǒng)模型

用戶界面是設(shè)計參與者與系統(tǒng)交流的通道,是用戶使用系統(tǒng)完成一種或多種操作所需要的一系列工具的有機組合。實時協(xié)同系統(tǒng)中,用戶界面是個性化的,它根據(jù)用戶的不同角色和權(quán)限動態(tài)生成。

    AutoCAD 內(nèi)核在這里指AutoCAD 系統(tǒng),包括它的所有資源,例如,數(shù)據(jù)庫、編輯功能、ARX類庫等。

    代理群是在AutoCAD基礎(chǔ)上,結(jié)合實時協(xié)同系統(tǒng)的需求進行二次開發(fā)完成的。主要包括數(shù)據(jù)庫代理、編輯代理、信息激勵代理和通訊狀態(tài)代理。數(shù)據(jù)庫代理用于監(jiān)視數(shù)據(jù)庫對象的創(chuàng)建、修改、刪除等事件:編輯代理用于監(jiān)視用戶操作AutoCAD 系統(tǒng)時編輯器的狀態(tài),主要監(jiān)視監(jiān)視器的命令狀態(tài)和文件操作狀態(tài):信息激勵代理是把當前發(fā)生的狀態(tài)變化形成信息激勵,然后通過通訊網(wǎng)絡(luò)傳遞給其它設(shè)計群體:通訊狀態(tài)代理負責捕獲其它設(shè)計人員通過網(wǎng)絡(luò)發(fā)布的協(xié)同消息,并轉(zhuǎn)化為本地命令,然后傳遞給AutoCAD內(nèi)核實現(xiàn)協(xié)同。

    2 系統(tǒng)實現(xiàn)

    2.1 用戶界面

    基于AutoCAD的實時協(xié)同圖形系統(tǒng)中用戶的操作是通過用戶界面實現(xiàn)的,用戶界面在整個系統(tǒng)運行過程中隨著用戶身份和權(quán)限的不同動態(tài)變化。用戶界面管理系統(tǒng)是根據(jù)用戶身份和權(quán)限的不同,對其設(shè)計界面進行動態(tài)的管理,用戶身份、用戶權(quán)限和用戶界面等信息進行管理,目的是增加系統(tǒng)的透明度、可擴展性和簡化系統(tǒng)設(shè)計。圖2是動態(tài)用戶界面管理的系統(tǒng)模型。

該模型中用戶界面管理模塊的主要功能包括:用戶身份認證、用戶權(quán)限管理和用戶界面生成3個模塊:用戶身份認證是對提出請求的用戶身份進行確認。進行身份認證的依據(jù)是被認證方擁有除自己之外的任何三方都不能偽造的信息:實時協(xié)同系統(tǒng)中每一個參與設(shè)計的操作者都具有一定的權(quán)限,權(quán)限管理系統(tǒng)的功能就是對用戶所擁有的權(quán)限進行動態(tài)管理:傳統(tǒng)應(yīng)用軟件的用戶界面是在系統(tǒng)設(shè)計過程中確定,或者可以在一定范圍內(nèi)動態(tài)變化,但是不具有擴充性。用戶界面生成系統(tǒng)設(shè)計的目的就是解決這一問題,從而使協(xié)同設(shè)計系統(tǒng)可以根據(jù)用戶的不同請求生成不同的用戶界面和應(yīng)用程序。

CAD實時協(xié)同圖形系統(tǒng)設(shè)計autocad培訓(xùn)教程圖片2

    圖2 動態(tài)用戶界面管理系統(tǒng)模型

用戶界面管理系統(tǒng)的運行需要認證服務(wù)器、XML 界面庫和DLL 模塊庫的支持。它們的功能分別為:認證服務(wù)器用于存儲實時協(xié)同設(shè)計環(huán)境下的用戶信息及其權(quán)限,它是保證用戶合法性的基礎(chǔ); XML界面庫以XML文件的方式存儲實時協(xié)同設(shè)計系統(tǒng)中的所有功能的描述及其相互關(guān)系; DLL模塊庫存儲實時協(xié)同系統(tǒng)完成各項功能所需要的函數(shù)。

    2.2 代理群設(shè)計

    2.2.1 結(jié)構(gòu)設(shè)計

基于AutoCAD的實施協(xié)同圖形系統(tǒng)包含數(shù)據(jù)庫、編輯、信息激勵和通訊狀態(tài)等4種代理,盡管4種代理的功能各不相同,但是其概念模型結(jié)構(gòu)完全相同。

    (1)代理結(jié)構(gòu)

面向?qū)ο蠹夹g(shù)和AutoCAD系統(tǒng)支持是完成代理設(shè)計的基礎(chǔ),基于代理的特點和實時協(xié)同設(shè)計系統(tǒng)的需求,并結(jié)合面向?qū)ο蠹夹g(shù)的封裝、繼承以及多態(tài)性等特性,設(shè)計了如圖3所示的由支撐庫、核心控制和功能群3層組成的代理結(jié)構(gòu)。

CAD實時協(xié)同圖形系統(tǒng)設(shè)計autocad培訓(xùn)教程圖片3

    圖3 代理結(jié)構(gòu)

1)支撐庫

    支撐庫是代理運行的基礎(chǔ),包括知識庫、規(guī)則庫和Acad數(shù)據(jù)庫三部分組成。知識庫存儲代理求解問題所涉及的所有知識,對于不同的應(yīng)用領(lǐng)域知識庫中存儲的信息不同,例如應(yīng)用于工程設(shè)計領(lǐng)域時包括設(shè)計規(guī)范知識、專家經(jīng)驗知識和設(shè)計實例知識:規(guī)則庫記錄代理運行時遵循的行為準則,用于確定代理在感知到外部變化時應(yīng)作出的響應(yīng):數(shù)據(jù)庫基于AutoCAD系統(tǒng)數(shù)據(jù)設(shè)計,數(shù)據(jù)庫中一方面存儲了業(yè)務(wù)處理所涉及的內(nèi)部數(shù)據(jù),另一方面還記錄了代理自身狀態(tài)變化的記錄和代理運行的日志。

    2) 核心控制

核心控制是代理運行的控制系統(tǒng),包括通訊接口、信息解釋器、命令集成器和功能群接口。通訊接口不僅是代理實現(xiàn)內(nèi)外信息交互的門戶,同時也是代理對外部變化的感知器。信息解釋器是對通訊接口傳遞的信息流進行分析,這一過程需要在知識庫、規(guī)則庫和Acad數(shù)據(jù)庫的輔助下完成。功能群接口捕獲經(jīng)過信息解釋器處理的信息流,并根據(jù)需求與功能群層進行交互。另外,功能群接口還需要把由功能群層返回的信息傳遞到命令集成器,以便進行進一步的處理。命令集成器是把功能群接口傳遞的信息進行組合形成AutoCAD命令流,該命令流是實現(xiàn)協(xié)同設(shè)計的具體實施者。

    3) 功能群

功能群是代理功能模塊的集合,組成功能群功能模塊稱為功能體,功能體是采用面向?qū)ο蠹夹g(shù)編寫的二個個對象,功能體有主動功能體和被動功能體兩種。被動功能體類似于對象,它只能提供方法:主動功能體不僅可以提供方法調(diào)用的接口,還可以主動地把消息反饋給邏輯控制層。代理結(jié)構(gòu)中的通訊接口就是通過主動功能體實現(xiàn)的。功能體之間相互獨立,隸屬于同一代理的各功能體之間通過核心控制層完成信息交流,采用這種設(shè)計方法極大的增加了系統(tǒng)模塊的可復(fù)用性,并在一定程度上降低了代理設(shè)計的復(fù)雜度。

    2.2.2 代理問通訊

基于AutoCAD的實時協(xié)同圖形系統(tǒng)是一個多代理系統(tǒng),各個代理能夠協(xié)同工作的基礎(chǔ)是代理之間具備有效可靠的通訊協(xié)議。系統(tǒng)的通訊主要有兩種方法:直接通訊和黑板通訊。直接通訊是點對點通訊,也就是發(fā)送到代理把信息直接發(fā)送到接收方代理,該系統(tǒng)中這種通訊方式出現(xiàn)在"信息激勵代理與通訊代理之間";黑板通訊是通過存取公用數(shù)據(jù)區(qū)以達到交換信息的目的,也就是說代理可以把信息發(fā)送到公共數(shù)據(jù)區(qū),其它代理可以從公共數(shù)據(jù)區(qū)中獲取該代理發(fā)送的信息,該系統(tǒng)中這種通訊方式出現(xiàn)在"信息激勵代理與數(shù)據(jù)庫代理或編輯代理的通訊中"。

為了保證系統(tǒng)的開放性,代理間通訊必須遵循一定的標準,基于AutoCAD的實時協(xié)同圖形系統(tǒng)代理間通訊遵循FIPA的通訊規(guī)范。為了保證代理之間有效地進行連續(xù)會話,FIPA預(yù)定義了一組交互協(xié)議,其中每個協(xié)議對應(yīng)一種典型會話模式,FIPA交互協(xié)議采用擴展的UML語言AUML表示,目前FIPA交互協(xié)議庫中共有11種交互協(xié)議,包括:請求交互協(xié)議、查詢交互協(xié)議、合同網(wǎng)交互協(xié)議、中介交互協(xié)議、提議交互協(xié)議等。

    3 應(yīng)用實例

基于AutoCAD的實時協(xié)同圖形系統(tǒng)的最基本功能包括添加、刪除和修改等,以實體添加過程為例,它的主要功能包括以下幾個部分:①根據(jù)數(shù)據(jù)庫代理和編輯代理的信息,獲取變化的實體數(shù)據(jù):②將實體數(shù)據(jù)轉(zhuǎn)換為動態(tài)數(shù)據(jù)格式(例如XML格式),并生成信息激勵流:③捕獲信息激勵流,把接收到的動態(tài)數(shù)據(jù)格式的數(shù)據(jù)轉(zhuǎn)換為實體數(shù)據(jù):④根據(jù)實體的數(shù)據(jù)將實體在AutoCAD 數(shù)據(jù)庫中重新生成。這些功能需要兩部分程序子模塊來完成,其一是實體的動態(tài)數(shù)據(jù)生成模塊,它完成①、②兩項功能,定義為模塊1 ;其二是實體二次生成模塊,它完成③、④兩項功能,定義為模塊2 .兩個模塊的工作流程如圖4所示。

CAD實時協(xié)同圖形系統(tǒng)設(shè)計autocad培訓(xùn)教程圖片4

    圖4 添加實體功能流程

由圖4可知,一個ARX應(yīng)用程序的模塊1和模塊2并不相互作用,而是分布在異地的ARX應(yīng)用程序中的模塊l和模塊2通過網(wǎng)絡(luò)相互作用。在ARX應(yīng)用程序中模塊l和模塊2通過Socket 端口連接。

圖5所示是基于AutoCAD的實時協(xié)同圖形系統(tǒng)在建筑設(shè)計中的一個應(yīng)用實例。設(shè)計任務(wù)是一個古典的涼亭,參與設(shè)計的有兩個設(shè)計師,一位完成涼亭的結(jié)構(gòu)設(shè)計,另一位完成涼亭的環(huán)境設(shè)計。

CAD實時協(xié)同圖形系統(tǒng)設(shè)計autocad資料圖片5

    圖5 協(xié)同設(shè)計實例

圖5中左側(cè)是結(jié)構(gòu)設(shè)計師完成涼亭的主體設(shè)計,右側(cè)是環(huán)境設(shè)計師完成涼亭的周邊環(huán)境設(shè)計,兩者之間實現(xiàn)實時協(xié)同,每一方的設(shè)計變更可以實時的在另一方及時體現(xiàn)。兩個界面顯示的內(nèi)容雖然相同,但在操作上卻有本質(zhì)的區(qū)別。設(shè)計過程中,任何一方以只讀方式查看另一方的設(shè)計方案,不能任意修改,對設(shè)計的建議需要通過代理反饋給設(shè)計方,徑協(xié)商后由設(shè)計方更改。圖6是最終設(shè)計結(jié)果渲染圖。

CAD實時協(xié)同圖形系統(tǒng)設(shè)計autocad資料圖片6

    圖6 設(shè)計結(jié)果渲染圖

    4 結(jié)論

實時協(xié)同設(shè)計是工程設(shè)計領(lǐng)域的先進設(shè)計技術(shù),它符合信息時代工程師工作模式的群體性、分布性和動態(tài)性的特點。該文在最常用的工程繪圖軟件——AutoCAD的基礎(chǔ)上使用Visual C++和0bjectARX 進行了二次開發(fā),設(shè)計了基于AutoCAD 的實時協(xié)同繪圖系統(tǒng)的總體框架,并對動態(tài)用戶界面生成、代理設(shè)計等內(nèi)容進行了討論,最后用一個簡單的實例驗證了系統(tǒng)的可行性。


開放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學(xué)成才

相關(guān)標簽搜索:CAD實時協(xié)同圖形系統(tǒng)設(shè)計 AutoCAD培訓(xùn) AutoCAD培訓(xùn)課程 AutoCAD圖紙設(shè)計 AutoCAD在線視頻 AutoCAD技術(shù)學(xué)習(xí)教程 AutoCAD軟件教程 AutoCAD資料下載 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) Autoform培訓(xùn) 

編輯
在線報名:
  • 客服在線請直接聯(lián)系我們的客服,您也可以通過下面的方式進行在線報名,我們會及時給您回復(fù)電話,謝謝!
驗證碼

全國服務(wù)熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓(xùn)QQ咨詢:點擊咨詢 點擊咨詢
項目QQ咨詢:點擊咨詢
email:kf@1cae.com