Civil3D二次开发之撤销(Undo\Ctrl+Z)命令

一、背景

小伙伴们在做Civil3D二次开发时,如果要撤回上一步的操作,如何解决呢?

二、解决方案

骑士之前写过一篇在CAD中撤回的方式,参看CAD二次开发之撤销上一步(Undo)
结果这个方法在Civil3D中不能使用,经过骑士的一番探索,可以采用如下方式实现撤销

  Application.DocumentManager.MdiActiveDocument.SendCommand("U" + "\n");
  • 这里的U表示Undo,就是平时我们在Civil3D命令栏下输入的
  • \n 表示执行enter操作

如果要实现一次撤回中间所有操作,骑士给大家提供一种思路

  1. 在类中定义一个静态变量number
  2. 把不同的事务操作封装到对应的方法
  3. 每次执行一个包含有事务的方法,则number++
  4. 最后根据number次数,来执行撤回操作

三、注意事项

1.大家好,我是黑夜の骑士,欢迎大家关注我的博客,笔者将持续输出建筑信息化开发、移动互联网开发以及游戏编程干货;
2.欢迎加入建筑信息化行业开发交流群,获取更多开发资料 群号:711844216
3.欢迎加入U3D魔法师交流群,共同学习进步,群号:1105535938

你可能感兴趣的:(Civil3D)