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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章