本日のお題は『UNDO, REDOの実行』です。
FreeCADでもExcelでも、何か処理を実行した後、自分の意図していない結果になった場合、Ctrl+Zキーなどを押して、元に戻す操作をしますね。
今回はそれと同じような操作を学んでいきます。
1. 環境
- FreeCAD 0.18
2. UNDO, REDOとは?
いろいろな呼び方はありますが、FreeCADでは1つ前の状態に戻す操作をUNDO、UNDOした後にやっぱりその実行結果に戻す(1つ先で実行した結果に戻す)操作をREDOと呼んでいるようです。
3. どういうときに使う?
プログラムを実行した際、あるパラメータや実行結果を取得するために、一時的なUNDOマークを作成し、実行後、UNDOをすることがあります。
例えば、とある形のソリッドボディを2つ作成し、そのボディ同士の位置関係などを確認した後、UNDOするというような流れです。
4. プログラムを書いてみよう
コードはいたってシンプルです。
UNDOもREDOも1行のコードで実行可能です。
5. UNDOを実行するコード
# -*- coding: utf-8 -*-
import FreeCAD
FreeCAD.ActiveDocument.undo()
6. REDOを実行するコード
# -*- coding: utf-8 -*-
import FreeCAD
FreeCAD.ActiveDocument.redo()
ちなみに気づいている方もいらっしゃるかもしれませんが、これらのコードはマクロの記録で記録することができません。
とりあえず、FreeCADのDocumentationに記載されているので、詳細を確認したい場合はこちらをご参照ください。
Std Undo - FreeCAD Documentation
Std Redo - FreeCAD Documentation
7. まとめ
- UNDOを実行する際は「FreeCAD.ActiveDocument.undo()」
- REDOを実行する際は「FreeCAD.ActiveDocument.redo()」
8. 最後に
いかがでしたか。やり方自体はいたって簡単ですね。
特に自作のコマンドを作成するような方には、役に立つ知識ですので覚えておきましょう。
なお、今回は作成済みのUNDOマークに対して、UNDO,REDOを実行するだけでしたが、次回はUNDOマーク自体を作成する方法について、触れてみたいと思います。首を相当長めにしてお待ちください。
更なる情報をお探しの方は!
下記のリンクから、FreeCADプログラミングのトップページに飛びます。
よろしければご参照くださいませ。