興味があろうがなかろうが。

なるべく役に立つ、とがった内容を記していきたいと思います。

【FreeCADプログラミング】UNDO, REDOの実行

本日のお題は『UNDO, REDOの実行』です。

FreeCADでもExcelでも、何か処理を実行した後、自分の意図していない結果になった場合、Ctrl+Zキーなどを押して、元に戻す操作をしますね。

今回はそれと同じような操作を学んでいきます。

1. 環境

  • FreeCAD 0.18

2. UNDO, REDOとは?

いろいろな呼び方はありますが、FreeCADでは1つ前の状態に戻す操作をUNDOUNDOした後にやっぱりその実行結果に戻す(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プログラミングのトップページに飛びます。

よろしければご参照くださいませ。

www.interested-or-not.com