计算机支持的实时协同设计CSRCD(Computer Supported Real-time Cooperative Design) 是CSCW 在设计工作中的一项重要应用,它主要支持设计群体并发工作即使交流思想、协调工作进展情况、发现工作过程中出现的矛盾和冲突等,防止、避免和尽可能的减少设计过程中反复修改的问题。目前在实时协同设计领域已经进行了大量的研究和开发工作,有SketchPad、Shsatra、Co-CAD 等。但大多数还是集中于模型设计阶段,很少可以真正达到远程的同步协同设计。SketchPad是一个支持多个用户的分布式草图系统,主要用于视频会议上对共享的图像进行浏览并作草图标注等操作:Shastra 是在桌面系统上实现的一种多媒体协同设计环境,它支持基于用户层和应用层的协同操作; Co-CAD 是一个协同的机械CAD 系统, 它提供一些零件,可以支持地理上分散的机械CAD 工程师进行同步协同操作。AutoCAD 是AutoDesk 公司设计的一个用于工程设计的软件,目前己经在机械、电子、土木等领域得到了广泛的应用。目前,国内的很多工程软件都是基于AutoCAD 二次开发的系统, 这不仅简化了系统开发的复杂度,还降低了用户操作的难度,充分体现了"以人为本"。考虑到这一事实,该文也将以AutoCAD系统为平台,对实时协同图形系统的开发进行尝试。
1 系统结构
1.1 实时协同系统的基本要求
实时协同系统设计的目的是提供有效的支持,使用计算机技术来帮助设计群体的交互,从而协同完成一个共同的任务和合作目标。一般来说还要满足分布性、动态性、实时通讯信息存储等要求。
1.2 基于AutoCAD的实时协同系统模型
基于AutoCAD的实时协同系统模型由3个部分组成,分别为用户界面、AutoCAD内核和代理群。AutoCAD内核是AutoCAD系统提供的核心功能:代理群和用户界面用于在AutoCAD基础上采用Visual C++和ObjectARX 二次开发完成。其系统模型如图1所示。
图1系统模型
用户界面是设计参与者与系统交流的通道,是用户使用系统完成一种或多种操作