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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值