基于網(wǎng)絡(luò)環(huán)境的CAD系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
2013-05-20 by:廣州有限元分析、培訓(xùn)中心-1CAE.COM 來源:仿真在線
介紹基于網(wǎng)絡(luò)環(huán)境的CAD系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方法.在網(wǎng)絡(luò)環(huán)境中,把各個(gè)用戶的CAD部件設(shè)計(jì)通過網(wǎng)絡(luò)傳輸?shù)骄W(wǎng)絡(luò)平臺(tái)上,利用AutoCAD提供的二次開發(fā)工具ObjectARX,把各個(gè)設(shè)計(jì)方案組合到同一個(gè)CAD文件中,實(shí)現(xiàn)CAD各部件設(shè)計(jì)的整體組合。通過計(jì)算機(jī)網(wǎng)絡(luò)把組合后的CAD文件傳輸給各個(gè)用戶,實(shí)現(xiàn)CAD組合文件的共享。
劉萍 楊宏 趙春蕾 來源:萬(wàn)方數(shù)據(jù)
關(guān)鍵字:網(wǎng)絡(luò)CAD ObjectARX編程 CAD部件的整體組合
目前許多CAD軟件廠商都注重于完善面向?qū)I(yè)領(lǐng)域的具體設(shè)計(jì)的功能.以機(jī)械CAD軟件為例,AutoCAD,proe等注重于相應(yīng)的二維、三維的設(shè)計(jì),有些還集成了CAE、CAM等,但是對(duì)于網(wǎng)絡(luò)協(xié)同的支持方面還比較薄弱.本文介紹的網(wǎng)絡(luò)CAD系統(tǒng)利用網(wǎng)絡(luò)技術(shù),通過分布協(xié)同的工作方式使產(chǎn)品設(shè)計(jì)合理有序,設(shè)計(jì)資源廣泛共享,從而保證CAD產(chǎn)品的低成本和短周期。
1 系統(tǒng)的構(gòu)成
系統(tǒng)采用客戶機(jī)/服務(wù)器模式(C/S模式).將各個(gè)用戶的CAD部件設(shè)計(jì)以CAD文件(后綴為dwg)的形式傳輸?shù)骄W(wǎng)絡(luò)平臺(tái)上,在網(wǎng)絡(luò)平臺(tái)上將各個(gè)CAD文件組合到一起,然后把組合后的CAD文件傳輸給各個(gè)用戶,從而實(shí)現(xiàn)CAD設(shè)計(jì)的整體共享.圖1為系統(tǒng)設(shè)計(jì)示意圖。
2 數(shù)據(jù)傳輸部分的實(shí)現(xiàn)
在網(wǎng)絡(luò)平臺(tái)與用戶機(jī)上都建立起兩種程序,即服務(wù)器程序和客戶機(jī)程序.在CAD文件的傳輸過程中,利用W indows Sockets實(shí)現(xiàn)了文件在服務(wù)器和客戶端之間的無(wú)差錯(cuò)快速傳輸,使用了MFC的CSocket類來實(shí)現(xiàn)兩臺(tái)機(jī)器之間的文件傳輸過程。
2.1 服務(wù)器程序的實(shí)現(xiàn)過程
圖2是服務(wù)器程序的示意圖。
1)創(chuàng)建套接字.首先調(diào)用CSocket的構(gòu)造函數(shù)來創(chuàng)建一個(gè)CSocket的對(duì)象;其次調(diào)用Create()函數(shù)來創(chuàng)建底層套接字.Create函數(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)聽與連接.對(duì)于服務(wù)器應(yīng)用程序,為了能夠獲得客戶機(jī)的請(qǐng)求,必須創(chuàng)建一個(gè)專門的服務(wù)器套接字來監(jiān)聽是否有連接請(qǐng)求.在創(chuàng)建了套接字對(duì)象后,可以調(diào)用listen()成員函數(shù)來監(jiān)聽是否有連接請(qǐng)求。
當(dāng)服務(wù)器監(jiān)聽到客戶機(jī)的請(qǐng)求時(shí),服務(wù)器可以調(diào)用Accept()成員函數(shù)來接受客戶機(jī)的請(qǐng)求,建立服務(wù)器與客戶機(jī)之間的連接。
virtual BOOL Accep t(CA syncSocket&rConnectedSocket,SOCKADDR* lpSockAddr=NULL,
int* lpSockAddrLen=NULL);
3)接收數(shù)據(jù).當(dāng)服務(wù)器和客戶機(jī)之間建立起連接后,數(shù)據(jù)就可以通過套接字傳遞了.服務(wù)器接收數(shù)據(jù)時(shí)使用CAsynSocket類的Receive()成員函數(shù):
virtual int Receive(void* lpBuf,int nB ufLen,int nFlags=0);
4)關(guān)閉套接字.數(shù)據(jù)傳輸結(jié)束后,在關(guān)閉應(yīng)用程序之前,調(diào)用Close()成員函數(shù)來釋放與套接字有關(guān)的系統(tǒng)資源。
相關(guān)標(biāo)簽搜索:基于網(wǎng)絡(luò)環(huán)境的CAD系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) SolidWorks培訓(xùn)課程 SolidWorks設(shè)計(jì)教程 SolidWorks視頻教程 SolidWorks軟件下載 SolidWorks在建筑室內(nèi)設(shè)計(jì)工業(yè)設(shè)計(jì)的應(yīng)用 SolidWorks基礎(chǔ)知識(shí) SolidWorks代做 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) Autoform培訓(xùn)