您所在的位置:e-works首页 > 产品创新数字化(PLM) > CAD

基于网络环境的CAD系统的设计与实现

发表时间:2008-7-17 刘萍 杨宏 赵春蕾 来源:万方数据
介绍基于网络环境的CAD系统的设计与实现方法.在网络环境中,把各个用户的CAD部件设计通过网络传输到网络平台上,利用AutoCAD提供的二次开发工具ObjectARX,把各个设计方案组合到同一个CAD文件中,实现CAD各部件设计的整体组合。通过计算机网络把组合后的CAD文件传输给各个用户,实现CAD组合文件的共享。

    目前许多CAD软件厂商都注重于完善面向专业领域的具体设计的功能.以机械CAD软件为例,AutoCAD,Pro/E等注重于相应的二维、三维的设计,有些还集成了CAE、CAM等,但是对于网络协同的支持方面还比较薄弱.本文介绍的网络CAD系统利用网络技术,通过分布协同的工作方式使产品设计合理有序,设计资源广泛共享,从而保证CAD产品的低成本和短周期。

    1 系统的构成

     系统采用客户机/服务器模式(C/S模式).将各个用户的CAD部件设计以CAD文件(后缀为dwg)的形式传输到网络平台上,在网络平台上将各个CAD文件组合到一起,然后把组合后的CAD文件传输给各个用户,从而实现CAD设计的整体共享.图1为系统设计示意图。

     2 数据传输部分的实现

    在网络平台与用户机上都建立起两种程序,即服务器程序和客户机程序.在CAD文件的传输过程中,利用W indows Sockets实现了文件在服务器和客户端之间的无差错快速传输,使用了MFC的CSocket类来实现两台机器之间的文件传输过程。

    2.1 服务器程序的实现过程

    图2是服务器程序的示意图。

    1)创建套接字.首先调用CSocket的构造函数来创建一个CSocket的对象;其次调用Create()函数来创建底层套接字.Create函数的调用方法如下:

    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)套接字的监听与连接.对于服务器应用程序,为了能够获得客户机的请求,必须创建一个专门的服务器套接字来监听是否有连接请求.在创建了套接字对象后,可以调用listen()成员函数来监听是否有连接请求。

    当服务器监听到客户机的请求时,服务器可以调用Accept()成员函数来接受客户机的请求,建立服务器与客户机之间的连接。

    virtual BOOL Accep t(CA syncSocket&rConnectedSocket,SOCKADDR* lpSockAddr=NULL,

    int* lpSockAddrLen=NULL);

    3)接收数据.当服务器和客户机之间建立起连接后,数据就可以通过套接字传递了.服务器接收数据时使用CAsynSocket类的Receive()成员函数:

    virtual int Receive(void* lpBuf,int nB ufLen,int nFlags=0);

    4)关闭套接字.数据传输结束后,在关闭应用程序之前,调用Close()成员函数来释放与套接字有关的系统资源。

本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。

责任编辑:赵蔓
3