佳工机电网 在线工博会 我的佳工网 手机版 English
关键字  
  选择展区 >>
您的位置: 首页 > CAD/CAM/PDM/PLM展区 > CAD/CAM软件展厅 > 产品库 > 技术论文 > 正文 产品库 会展 人才 帮助 | 注册 登录  
CAD/CAM软件
 按行业筛选
 按产品筛选
查看本类全部文章
e展厅 产品库 最新动态 技术文章 企业目录 资料下载 视频/样本 反馈/论坛
  技术应用 | 基础知识 | 外刊文摘 | 业内专家 | 文章点评 投稿 发表科技文章 
基于网络环境的CAD系统的设计与实现
作者:刘萍 杨宏 赵春蕾
欢迎访问e展厅
展厅
1
CAD/CAM软件展厅
CAD软件, CAD/CAM, CAM, 钣金CAD/CAM, CAI, ...
目前许多CAD软件厂商都注重于完善面向专业领域的具体设计的功能.以机械CAD软件为例,AutoCAD,Pro/E等注重于相应的二维、三维的设计,有些还集成了CAECAM等,但是对于网络协同的支持方面还比较薄弱.本文介绍的网络CAD系统利用网络技术,通过分布协同的工作方式使产品设计合理有序,设计资源广泛共享,从而保证CAD产品的低成本和短周期。

1 系统的构成

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

newmaker.com
图1

2 数据传输部分的实现

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

2.1 服务器程序的实现过程

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

newmaker.com
图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()成员函数来释放与套接字有关的系统资源。

2.2 客户端程序的实现过程

1)创建套接字.首先调用CSocket的构造函数来创建一个CSocket的对象;其次调用Create()函数来创建底层套接字,为该套接字绑定一个地址。

2)套接字请求连接.客户机应用程序的流式套接字使用Connect()成员函数向服务器发出连接请求.如果被服务器接受,则建立连接;如果连接请求得不到响应,那么连接就无法建立.如果在发出连接请求后服务器接受了请求,即调用函数成功,它将返回TRUE。

3)发送数据.服务器和客户机之间建立连接后,数据就可以通过套接字传递了.发送数据使用CA synSocket类的Send()成员函数:

virtual int Send(const vo id*lpBuf,int nB ufLen,int nFlags=0);

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

3 整体组合部分的实现

网络平台接收到用户传输过来的CAD部件文件,利用AutoCAD软件加载ObjectARX程序,实现CAD文件的整体组合.AutoCAD提供的二次开发平台ObjectARX,是以VC++为开发语言,采用了面向对象的编程方法,并支持MFC编程的强有力的开发工具[7].利用ObjectARX编程可以将面向对象的程序设计方法引入到CAD软件的二次开发中,实现网络平台上CAD部件的整体组合.图3是整体组合的实现过程。

newmaker.com
图3

1)在AutoCAD中加载ObjectARX.在AutoCAD2000环境下打开一个空文件,在菜单中选择“Tools”,在其中选择“Load Applications.”项,弹出“Load/Unload Applications”对话框,在文件的选择框中选中ARX文件,单击Load按钮,在左下角的属性会出现载入成功的ARX文件路径名。

2)打开CAD文件.在命令提示行中键入open1命令,选择一个后缀名为dwg的文件,将其打开并显示在AutoCAD 2000的窗口中。

newmaker.com

3)CAD文件的插入.在命令提示行中键入insert1命令,选择并打开待插入的dwg文件,通过调用acdbCurDwg()函数完成插入操作.在插入的过程中,通过调用AcGe库中的AcGeMatrix3d::kIdentity,来自动获取插入图形的坐标.只要将原来的图形坐标调整好,就能在组合的图形中保持原位置的不变.。

4)CAD文件的保存.以图形的方式完成两个CAD文件的整体组合后,需要对文件进行保存.在命令提示行中键入save命令,将文件保存为dwg的格式,以便以后的修改.然后通过打印的命令,将文件输出为dwg的格式。

newmaker.com
插入文件并显示

5)文件的共享.整体组合后的CAD图形可以在网上发布,并用IE浏览器打开.也可以利用文件传输程序,将组合后的dwg文件传输到各个用户来实现文件的共享.在对AutoCAD的操作过程中采用命令行的方式,不调用AutoCAD的菜单命令,使操作更加简单,也更容易实现集成化的功能。

4结 论

本文针对CAD系统的特点和要求,提出了网络传输的设计模式,通过W indows Sockets传输文件,并使用ObjectARX编程,对文件进行整体组合.并通过文件传输的功能,实现组合后CAD文件的整体共享.目前在AutoCAD的操作中采用命令行的方式,为将来实现整体组合的半自动化、自动化奠定了基础。(end)
文章内容仅供参考 (投稿) (如果您是本文作者,请点击此处) (7/8/2008)
查看更多CAD/CAM软件相关文章: more
·迪卡侬利用欧特克衍生式设计重新构想 更轻、更强、更可持续的自行车 Autodesk (11/18/2020)
·NUM助力台湾机床公司,实现机器人专用渐开线齿轮和摆线齿轮的自动化生产 (5/18/2019)
·hyperMILL革命性五轴加工策略 让复杂工件加工时间的节省高达90% OPEN MIND (12/6/2018)
·ESPRIT助力上海泷泽在机床行业寒冬期逆势增长300% DP Technology (8/13/2018)
·小型数控铣床刀具路径(刀路)参数曲面粗精选择 newmaker (3/26/2018)
·厦门东亚机械:CAXA提升企业设计效率 (3/11/2009)
·基于Pro/E的三维机械设计与运动仿真 郑伯学 吴俊海 (7/8/2008)
·基于UG的模具定制化设计工具平台的研发 华中科技大学 韩德福 王华昌 (7/6/2008)
·AutoCAD中电子表格的应用 newmaker (7/6/2008)
·CATIA V5在逆向工程上的应用 江達発索科技(上海)有限公司 胡献宇 (7/4/2008)
查看相关文章目录:
·CAD/CAM/PDM/PLM展区 > CAD/CAM软件展厅 > CAD/CAM软件文章
文章点评 查看全部点评 投稿 进入贴吧


对 CAD/CAM软件 有何见解?请到 CAD/CAM软件论坛 畅所欲言吧!


网站简介 | 企业会员服务 | 广告服务 | 服务条款 | English | Showsbee | 会员登录  
© 1999-2024 newmaker.com. 佳工机电网·嘉工科技