计算机应用研究
APPLICATION RESEARCH OF COMPUTERS
2000　Vol.17　No.5　P.18-19



网络环境下的工程CAD实时协同研究
储备　杨庆丽　蔡青
摘  要  随着设计要求的不断提高，实现实时协同设计的条件已经成熟。CSRCD技术的需求也日益迫切。介绍了网络环境下一个应用于工程CAD的计算机实时协同系统。实践表明，提出的模型完全可行。
关键词  计算机支持的协同工作  实时协同设计   CAD
　　计算机支持的协同工作(CSCW)是80年代后期兴起的一个新的研究领域。主要研究如何利用计算机支持群体成员之间的协同工作，共同完成相关任务。计算机支持的实时协同设计(CSRCD Computer Supported Real-time Cooperative Design)是CSCW在设计工作中的一项重要应用。它主要支持群体并发工作，及时交流思想、协调工作进展情况、发现工作过程中出现的矛盾和冲突等，防止、避免或尽可能减少设计过程中反复修改的问题[1～4]。
　　随着设计要求的不断提高，CSRCD技术的需求也日益迫切。我们在局域网上设计并实现了一个应用于工程CAD的CSRCD原型系统。实践表明，此系统能够满足群体成员在协同设计时实时交互的需要。
1  支持实时协同设计的支撑环境
　　系统设计的一个主要原则是：利用成熟软件与柔性接口提供支持用户协作的使能技术，而不是专门研制开发一个通用的实时协同系统。所以在选择软、硬件平台时主要从用户的可选择性、可使用性、可接受性等几方面来考虑。计算机支持的实时协同设计系统必须支持设计者之间的协同工作。我们采用客户/服务器(Client/Server)模式建立的局域网，以高速以太网为骨干，通过TCP/IP协议连接到客户端，访问速度可达100 Mbps。见图1。

图1CSRCD系统支撑平台体系简图
　　多用户的实时交互要求一定的CSCW技术支持。如果重新编写新的支持协同工作的设计系统，则工作量太大且现有的成熟软件资源也无法得到继承。我们采取在现有系统加入支持协同工作的模块，大大减少了开发时间，也保持了前后软件的连续性和兼容性。实践证明这种思路是可行的。我们使用Winpopup和Microsoft NetMeeting2.1软件在局域网内进行远程呼叫和语音交互，并与IE 5.0上的有关控件最终实现了共享白板、共同编辑、电子邮件等功能。
2  工程CAD实时协同模型
2.1  实时协同设计信息
　　工程CAD实时协同设计信息主要指设计图形数据信息。在微机和工作站上用于数据交换的图形文件标准主要有：AutoCAD系统的DXF、美国标准IGES及国际标准STEP文件。AutoCAD的DXF图形数据交换文件主要用于实现高级语言编写的程序与AutoCAD系统的连接，或其它CAD系统与AutoCAD之间的图形文件交换。但由于DXF文件开发较早，存在很多的不足，所以Autodesk公司近来强调用二进制的DWG和网络上的DWF格式作为它的数据传输标准，但两者的格式都不公开，因此很难为其它CAD系统所利用。这就需要考虑异构环境下不同CAD系统间文件的共享与交换。
　　由于AutoCAD在世界范围内的应用极为广泛，已经深入到各行各业之中，所以它的数据文件格式已经成为一种事实上的工业标准。目前国内工程上基于微机的CAD系统仍以Autodesk公司的AutoCAD及其二次开发软件为主流。
2.2  实时协同设计过程
　　我们将设计成员按角色划分为设计主持人和参与人。设计主持人是主持实时协同设计者，他有权通过服务器发起实时协同设计，从而主持该设计。设计主持人可在协同过程中变更。设计参与人是其他参加实时协同设计的群体成员。当设计人员登录到服务器后，就可以通过远程呼叫组织CAD实时协同。一旦组织成功，设计主持人与设计参与人就开始进行协同设计。如图2所示。与计算机会议系统不同的是，群体成员的窗口有很大的不同。设计主持人的主窗口是CAD软件运行窗口，另外一个辅助窗口则显示出所有参与人员表、部分CSCW工具(语音、白板、电子邮件)等信息。设计参与人的主窗口是一个能阅读图形文件的Web浏览器窗口，辅助窗口与主持人的一样。设计主持人通过语音技术告知所有参与者打开某(些)图形文件，然后就实际出现的问题展开讨论。在协同工作中，设计主持人可随时在主窗口(CAD软件窗口)修改、编辑图形文件，然后动态地存储在临时工作区，并通过触发器刷新会议参与人的主窗口信息，达到实时同步显示的效果。而设计参与人就所关心的问题与主持人进行讨论，当需要控制图形信息资源，则可通过消息转发申请成为设计主持人。在设计过程中，设计主持人可以根据需要随时变更，所有成员能同步控制操作对象和结果。当设计主持人变更后，新、旧的设计主持人所用的CAD软件并不一定是统一的。这样也便于不同平台下的CAD软件应用共享。

图2工程CAD实时协同工作过程简图
3  工程CAD实时协同的触发器
　　工程CAD实时协同中的触发器主要实现两种方式的实时同步：事件驱动同步和定时连续同步。事件驱动同步是一种通知某一事件或事件集已经发生，通过触发器导致有关操作或操作集发生的同步操作。即设计主持人对设计信息编辑完成后，激活触发器完成类实时同步。定时连续同步是指同步表现为一系列事件或操作自动定时连续的执行。触发器在事先被启动，并实时监控、定时工作，从而保持协同设计成员间的周期性同步。为了保证设计成员都能对图形文件进行操作，我们利用触发器首先对图形文件进行转换，再储存操作对象和结果，然后转发消息，通知并实现其他协同成员的同步操作。触发器分两部分：一个是主件，在设计主持人CAD系统端，依照事件/时间驱动来控制产品信息实时协同的操作进程。绝大部分工作是靠主件在后台完成的；另一个是辅件，在设计参与人浏览器端，用来接收消息，在临时工作区内读取中性文件，刷新显示界面。触发器的关键在于事件/定时消息的传递与接收。没有将触发器主件置于网络服务器上是因为要考虑设计主持人的变更。
4  结论
　　我们在局域网上成功实现了一个工程CAD实时协同原型系统。在此系统上开发出触发器、远程指针等一些关键控件，基本达到了异构分布环境下的实时协同设计。其体系结构见图3。整个系统实用性强，易于使用。这里我们没有过多地采用计算机会议系统其它技术，特别是共享视频。

图3工程CAD实时协同原型系统结构简图
　　这里需要指出的是：工程CAD设计信息以DWG、DXF，DWF文件格式为主，由于DWG、DWF的不公开性与DXF的不完善性，大大地增加了系统中协同模块开发的难度。因此，对于工程CAD共享信息模型的构造及协同方式的研究是今后努力的重点方向。
储备(西北工业大学CAD/CAM研究中心  西安 710072)
蔡青(西北工业大学CAD/CAM研究中心  西安 710072)
杨庆丽(新疆工学院  乌鲁木齐 830000)
参考文献
1，Milad S et a1. Shared Understanding in Computer-Supported Collaborative Design. Computer-Aided Design, 1996, 28(3): 183～l92
2，Stefik M et al. WYSIWIS Revised: Early Experiences with Multiuser Interface. ACM Trans on Office Information System, 1987, 5(2): 147～167
3，Alex P et a1. Collaborative 3D Visualization with Cspray. IEEE Computer Graphics and Applications, Mar/Apr. 1997: 32～41
4，Rodger L et al. Virtual Society: Collaboration in 3D Spaces on the Internet. Computer Supported Cooperative Work: The Journal of Collaborative Computing, 1997, 6: 117～l40
收稿日期：1999-12-19
