基于網(wǎng)絡(luò)環(huán)境的CAD系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
基于網(wǎng)絡(luò)環(huán)境的CAD系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
基于網(wǎng)絡(luò)環(huán)境的CAD系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
基于網(wǎng)絡(luò)環(huán)境的CAD系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、基于網(wǎng)絡(luò)環(huán)境的CAD系統(tǒng)的設(shè)計與實現(xiàn)      引 言  目前許多CAD軟件廠商都注重于完善面向?qū)I(yè)領(lǐng)域的具體設(shè)計的功能.機械CAD軟件為例,AutoCAD,Pro/E等注重于相應(yīng)的二維、三維的設(shè)計,有些還集成了CAE、CAM等,但是對于網(wǎng)絡(luò)協(xié)同的支持方面還比較薄弱.本文介紹的網(wǎng)絡(luò)CAD系統(tǒng)利用網(wǎng)絡(luò)技術(shù),通過分布協(xié)同的工作方式使產(chǎn)品設(shè)計合理有序,設(shè)計資源廣泛共享,從而保證CAD產(chǎn)品的低成本和短周期。 1 系統(tǒng)的構(gòu)成 系統(tǒng)采用客戶機/服務(wù)器模式(C/S模式).將各個用戶的CAD部件設(shè)計以CAD文件(后綴為dwg)的形式傳輸?shù)骄W(wǎng)絡(luò)平臺上,

2、在網(wǎng)絡(luò)平臺上將各個CAD文件組合到一起,然后把組合后的CAD文件傳輸給各個用戶,從而實現(xiàn)CAD設(shè)計的整體共享.圖1為系統(tǒng)設(shè)計示意圖。 圖12 數(shù)據(jù)傳輸部分的實現(xiàn) 在網(wǎng)絡(luò)平臺與用戶機上都建立起兩種程序,即服務(wù)器程序和客戶機程序.在CAD文件的傳輸過程中,利用W indows Sockets實現(xiàn)了文件在服務(wù)器和客戶端之間的無差錯快速傳輸,使用了MFC的CSocket類來實現(xiàn)兩臺機器之間的文件傳輸過程。 2.1 服務(wù)器程序的實現(xiàn)過程 圖2是服務(wù)器程序的示意圖。 圖21)創(chuàng)建套接字.首先調(diào)用CSocket的構(gòu)造函數(shù)來創(chuàng)建一個CSocket的對象;其次調(diào)用Create()函數(shù)來創(chuàng)建底層套接字.Creat

3、e函數(shù)的調(diào)用方法如下: BOOL C reate(U INT nSocketPort=0,int nSocket Type=SOCK_STREAM, long lEvent=FD_READ|FD_WR ITE|FD_OOB|FD_ACCEPT|FD_CONNECT|FD_CLOSE, LPCTSTR lp szSocketAddress=NULL); 2)套接字的監(jiān)聽與連接.對于服務(wù)器應(yīng)用程序,為了能夠獲得客戶機的請求,必須創(chuàng)建一個專門的服務(wù)器套接字來監(jiān)聽是否有連接請求.在創(chuàng)建了套接字對象后,可以調(diào)用listen()成員函數(shù)來監(jiān)聽是否有連接請求。 當服務(wù)器監(jiān)聽到客戶機的請求時,服務(wù)器可以調(diào)用A

4、ccept()成員函數(shù)來接受客戶機的請求,建立服務(wù)器與客戶機之間的連接。 virtual BOOL Accep t(CA syncSocket&rConnectedSocket,SOCKADDR* lpSockAddr=NULL, int* lpSockAddrLen=NULL); 3)接收數(shù)據(jù).當服務(wù)器和客戶機之間建立起連接后,數(shù)據(jù)就可以通過套接字傳遞了.服務(wù)器接收數(shù)據(jù)時使用CAsynSocket類的Receive()成員函數(shù): virtual int Receive(void* lpBuf,int nB ufLen,int nFlags=0);   &

5、#160; 4)關(guān)閉套接字.數(shù)據(jù)傳輸結(jié)束后,在關(guān)閉應(yīng)用程序之前,調(diào)用Close()成員函數(shù)來釋放與套接字有關(guān)的系統(tǒng)資源。 2.2 客戶端程序的實現(xiàn)過程 1)創(chuàng)建套接字.首先調(diào)用CSocket的構(gòu)造函數(shù)來創(chuàng)建一個CSocket的對象;其次調(diào)用Create()函數(shù)來創(chuàng)建底層套接字,為該套接字綁定一個地址。 2)套接字請求連接.客戶機應(yīng)用程序的流式套接字使用Connect()成員函數(shù)向服務(wù)器發(fā)出連接請求.如果被服務(wù)器接受,則建立連接;如果連接請求得不到響應(yīng),那么連接就無法建立.如果在發(fā)出連接請求后服務(wù)器接受了請求,即調(diào)用函數(shù)成功,它將返回TRUE。 3)發(fā)送數(shù)據(jù).服務(wù)器和客戶機之間建立連接后,數(shù)據(jù)就

6、可以通過套接字傳遞了.發(fā)送數(shù)據(jù)使用CA synSocket類的Send()成員函數(shù): virtual int Send(const vo id*lpBuf,int nB ufLen,int nFlags=0); 4)關(guān)閉套接字.數(shù)據(jù)傳輸結(jié)束后,應(yīng)該調(diào)用Close()成員函數(shù)來釋放與套接字有關(guān)的系統(tǒng)資源。 3 整體組合部分的實現(xiàn) 網(wǎng)絡(luò)平臺接收到用戶傳輸過來的CAD部件文件,利用AutoCAD軟件加載ObjectARX程序,實現(xiàn)CAD文件的整體組合.AutoCAD提供的二次開發(fā)平臺ObjectARX,是以VC+為開發(fā)語言,采用了面向?qū)ο蟮木幊谭椒?,并支持MFC編程的強有力的開發(fā)工具7.利用Obje

7、ctARX編程可以將面向?qū)ο蟮某绦蛟O(shè)計方法引入到CAD軟件的二次開發(fā)中,實現(xiàn)網(wǎng)絡(luò)平臺上CAD部件的整體組合.圖3是整體組合的實現(xiàn)過程。 圖31)在AutoCAD中加載ObjectARX.在AutoCAD2000環(huán)境下打開一個空文件,在菜單中選擇“Tools”,在其中選擇“Load Applications.”項,彈出“Load/Unload Applications”對話框,在文件的選擇框中選中ARX文件,單擊Load按鈕,在左下角的屬性會出現(xiàn)載入成功的ARX文件路徑名。 2)打開CAD文件.在命令提示行中鍵入open1命令,選擇一個后綴名為dwg的文件,將其打開并顯示在AutoCAD 200

8、0的窗口中。 3)CAD文件的插入.在命令提示行中鍵入insert1命令,選擇并打開待插入的dwg文件,通過調(diào)用acdbCurDwg()函數(shù)完成插入操作.在插入的過程中,通過調(diào)用AcGe庫中的AcGeMatrix3d:kIdentity,來自動獲取插入圖形的坐標.只要將原來的圖形坐標調(diào)整好,就能在組合的圖形中保持原位置的不變.。 4)CAD文件的保存.以圖形的方式完成兩個CAD文件的整體組合后,需要對文件進行保存.在命令提示行中鍵入save命令,將文件保存為dwg的格式,以便以后的修改.然后通過打印的命令,將文件輸出為dwg的格式。       插入文件并顯示5)文件的共享.整體組合后的CAD圖形可以在網(wǎng)上發(fā)布,并用IE瀏覽器打開.也可以利用文件傳輸程序,將組合后的dwg文件傳輸?shù)礁鱾€用戶來實現(xiàn)文件的共享.在對AutoCAD的操作過程中采用命令行的方式,不調(diào)用AutoCAD的菜單命令,使操作更加簡單,也更容易實現(xiàn)集成化的功能。 4結(jié) 論 本文針對CAD系統(tǒng)的特點和要求,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論