一、背景
小伙伴们在做Civil3D二次开发时,如果要撤回上一步的操作,如何解决呢?
二、解决方案
骑士之前写过一篇在CAD中撤回的方式,参看CAD二次开发之撤销上一步(Undo)
结果这个方法在Civil3D中不能使用,经过骑士的一番探索,可以采用如下方式实现撤销
Application.DocumentManager.MdiActiveDocument.SendCommand("U" + "\n");
- 这里的U表示Undo,就是平时我们在Civil3D命令栏下输入的
- \n 表示执行enter操作
如果要实现一次撤回中间所有操作,骑士给大家提供一种思路
- 在类中定义一个静态变量number
- 把不同的事务操作封装到对应的方法
- 每次执行一个包含有事务的方法,则number++
- 最后根据number次数,来执行撤回操作
三、注意事项
1.大家好,我是黑夜の骑士,欢迎大家关注我的博客,笔者将持续输出建筑信息化开发、移动互联网开发以及游戏编程干货;
2.欢迎加入建筑信息化行业开发交流群,获取更多开发资料 群号:711844216
3.欢迎加入U3D魔法师交流群,共同学习进步,群号:1105535938