[发明专利]复制式协同CAD系统中保持用户意愿的Undo/Redo方法无效
申请号: | 200910061836.1 | 申请日: | 2009-04-27 |
公开(公告)号: | CN101539960A | 公开(公告)日: | 2009-09-23 |
发明(设计)人: | 何发智;程媛;李晓霞;蔡贤涛 | 申请(专利权)人: | 武汉大学 |
主分类号: | G06F17/50 | 分类号: | G06F17/50;G06F9/46 |
代理公司: | 武汉华旭知识产权事务所 | 代理人: | 刘 荣 |
地址: | 43007*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 复制 协同 cad 系统 保持 用户 意愿 undo redo 方法 | ||
技术领域
本发明涉及一种在复制式协同CAD系统中保持用户意愿的Undo/Redo方法,特别是涉及在复制式协同CAD系统中保持用户意愿的Undo/Redo功能的实现,属于CSCW领域。
背景技术
在复制式协同建模系统中,各个用户之间需要通过协作来完成共同的设计任务,当用户面临一个新的系统时,往往需要通过逐步的尝试性的操作来熟悉系统提供的各项功能,Undo/Redo功能能够让用户放心的进行尝试。同时在多用户环境中,一个用户的错误操作产生的影响范围更大,因此Undo/Redo功能显得犹为重要。关于Undo/Redo问题的研究主要集中在两个方面,Undo/Redo模型和基于Undo/Redo模型的原型系统的研究。
在CSCW概念被提出来以前,关于Undo/Redo内容的研究主要集中在单用户环境中,也提出了相关的模型,包括:单步Undo/Redo模型、线型Undo/Redo和US&R模型和历史Undo/Redo模型。随着CSCW概念的提出,人们也展开了在多用户环境中Undo/Redo模型的研究。
在多用户协同环境中进行Undo/Redo操作时,一个关键的方面是保持用户的意愿。从用户的“意愿”角度而言,Undo/Redo显然是针对各个用户自身操作历史记录的局部Undo/Redo,即选择Undo/Redo,而不是针对整个协同编辑系统全局历史记录的全局Undo/Redo。关于选择Undo/Redo模型的研究针对的是二维对象,包括数据记录、文本、二维图形、位图等,没有涉及到三维实体。其次,只有部分模型在研究过程中考虑到了操作之间的相关性。
而目前关于三维CAD系统中Undo/Redo的研究主要是在单机环境下进行的,并且都不支持任意的Undo/Redo操作。当前流行的三维CAD系统对Undo/Redo功能的支持描述如下:
1)SolidWorks:只支持当前已经执行所有操作中最后一个操作的Undo,不支持被撤消操作的Redo。实现了不能被Redo的单步Undo模型。
2)UG:支持“顺序列”的Undo,不能够进行被撤消操作的Redo。实现了不能被Redo的线性Undo模型
3)CATIA:在进入Undo/Redo模式后,可以对操作“顺序列”进行线性Undo/Redo,一旦脱离Undo/Redo状态Undo/Redo的操作序列将从系统中
删除掉,实现了“限定序列”的线性Undo/Redo模型。
4)PRO/E:支持“全部序列”的线性Undo/Redo,用户可以在脱离Undo/Redo状态后继续进行被Undo掉的操作的Redo操作,实现了线性Undo/Redo模型。
发明内容
本发明的目的是针对上述关于Undo/Redo模型研究的空白之处,提出了在复制式协同CAD系统中的保持用户意愿的Undo/Redo方法,该方法能够在多用户协同编辑的环境中,在保持用户操作意愿的前提下使其能够对所做操作进行Undo和Redo,并在各站点上保持结果一致。
为了实现本发明目的,本发明提供一种在复制式协同CAD系统中的保持用户意愿的Undo/Redo方法,包括以下步骤:
(1)某个特定的站点Si发出Undo命令后,首先在本地站点定位要被Undo的目标操作O,并在Si站点上得到依赖操作集DS(O)。
其中所描述的在本地站点定位目标操作,对于任何一个特定的协同站点,其发出的造型操作在本地站点都是被立即执行的。因此在本地站点上,被Undo的目标操作只可能存在于本地站点上的已经执行队列中。定位过程如下:根据站点标识号在执行队列中由后向前搜索,队列中满足站点号与本地站点号相等的最后一个操作即为所定位的操作。
上述依赖操作集DS(O)是指任意操作O所产生的特征实例的名字为FIN(包含站点号、特征类型、特征标识)。如果站点上已执行操作集中的操作O′中包含该特征实例的名字信息,则造型操作O′依赖于造型操作O。所有依赖于O的操作构成O的依赖操作集DS(O),其产生过程如下:
(a)得到造型操作O,已经执行操作集合EOS,被Undo掉的操作集合UOS,等待被执行的操作集合WOS,O所产生特征实例的名字FIN(O)。将DS(O),FINS,TFINS设置为空。
(b)将FIN(O)添加到FINS和TFINS中,FINS为特征实例名字集合,TFINS为临时FINS。
(c)当FINS不为空且EOS、UOS、WOS其中任一不为空时,获得FINS中第一个元素。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910061836.1/2.html,转载请声明来源钻瓜专利网。