一、背景
小夥伴們在做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