新規作成日 2015-07-27
最終更新日
公式ドキュメントの和訳
原文リンク
パワー・ユーザーの拠点(Power users hub)原文(外部サイト)
003 ドキュメントにオブジェクトを追加する
概要
FreeCADのPythonスクリプト(マクロ)で、ドキュメントにオブジェクトを追加します。
参考サイト
Python scripting tutorial/jp(外部サイト)
準備
あらかじめ、Pythonコンソールを表示させておきます。
操作
# docというドキュメントがあらかじめ追加されています。 # boxを追加します。 box = doc.addObject("Part::Box","myBox") #表示を更新します。 doc.recompute()
※ 動作速度向上のため、表示を更新しないと表示されません。

表示画面からはみ出てしまうのでフィットを実行します。
Gui.SendMsgToActiveView("ViewFit")

ビューの向きを変更します。
Gui.activeDocument().activeView().viewAxometric()
コンソールの状態です。
>>> box = doc.addObject("Part::Box","myBox") >>> doc.recompute() >>> Gui.SendMsgToActiveView("ViewFit") >>> Gui.activeDocument().activeView().viewAxometric()



これは、partワークベンチ
の立方体と同じ動作です。では、これは、どのようなスクリプトになるのでしょうか。作成される形状は全く同じです。

>>> Gui.activateWorkbench("PartWorkbench") >>> App.ActiveDocument.addObject("Part::Box","Box") >>> App.ActiveDocument.ActiveObject.Label = "立方体" >>> App.ActiveDocument.recompute() >>> Gui.SendMsgToActiveView("ViewFit")
#ワークベンチをPartワークベンチに移動します。
Gui.activateWorkbench("PartWorkbench")
#立方体のソリッドを作成します。
App.ActiveDocument.addObject("Part::Box","Box")
#ラベルを「立方体」にします。
App.ActiveDocument.ActiveObject.Label = "立方体"
#表示を更新します。
App.ActiveDocument.recompute()
#フィットを実行します。
Gui.SendMsgToActiveView("ViewFit")
先程、作成したドキュメントを示すdocが、App.ActiveDocumentsになっているだけです。

Pythonコンソールに、「doc.」と入力すると、入力支援で設定可能な、プロパティやメソッドが表示されます。

そのほとんどは、コンボビュー内のモデルツリーで、要素を選択すると下に表示される。ビューとデータビュータブの内容と同じです。

「ビュー」タブ

「データ」タブ
