计算机工程与应用 ›› 2012, Vol. 48 ›› Issue (4): 61-64.

• 研发、设计、测试 • 上一篇    下一篇

CAX系统中智能Undo/Redo操作的研究

刘云华,何 苗,罗年猛   

  1. 华中科技大学 国家CAD支撑软件工程技术研究中心,武汉 430074
  • 收稿日期:1900-01-01 修回日期:1900-01-01 出版日期:2012-02-01 发布日期:2012-04-05

Reserch of Undo/Redo operations in CAX systems

LIU Yunhua, HE Miao, LUO Nianmeng   

  1. National CAD Support Software Engineering Research Center, Huazhong University of Science and Technology, Wuhan 430074, China
  • Received:1900-01-01 Revised:1900-01-01 Online:2012-02-01 Published:2012-04-05

摘要: CAX系统中,对于复杂操作和关联操作,现有Undo/Redo机制很难保证Undo/Redo操作语义一致性,避免破坏图形数据,从而导致实现具体的Undo和Redo方法困难、二次开发难度大的问题。分析了CAX复杂操作和关联操作的特点,讨论了Undo操作中事务的原子性和一致性以及触发器机制,提出了基于事务保证操作语义一致性和基于触发器机制降低操作复杂度和关联度的解决策略,描述了具体的执行流程及主要算法。在大型CAD软件开发中实例分析证明了该方法的有效性。

关键词: Undo/Redo, 事务, 触发器, 一致性维护, 关联操作

Abstract: In CAX system, for complex operation and related operation, existing Undo/Redo mechanism is difficult to ensure the Undo/Redo operation semantic consistency, avoid the destruction of graphic data, thus it leads to realize specific methods of Undo/Redo and further development difficultly. This paper analyzes the characteristics of complex and related operation in CAX systems, discusses the atomicity and consistency of transaction and the reactor mechanism, introduces the transaction-based to ensure the Undo/Redo operation semantic consistency and the reactor mechanism to reduce the relationship and complexity of operations as the resolution method, and describes the concrete implementation process and main algorithms. A case analysis in large-scale CAD software shows the effectiveness of the strategy.

Key words: Undo/Redo, transaction, reactor, consistency maintenance, related operations