FreeCAD Tips

  • FreeCAD でオブジェクトを同じ場所に配置
  • FreeCAD で STL 出力時の偏差を指定
  • FreeCAD で Part Design の内容が Part に反映されないとき
  • コンパウンド
  • グループ
  • オブジェクトの描写線幅のデフォルト値を変更
  • マクロの登録
  • マクロをショートカットに割り当てる
  • ワークベンチ切り替えマクロ
  • 透過率切り替えマクロ

FreeCAD でオブジェクトを同じ場所に配置

FreeCAD で同じ位置に複数のオブジェクトを配置する場合、2 つ目以降のオブジェクトは、以下のような手順で簡単に最初のオブジェクトと同じ位置に配置できます。

  1. 基準となるオブジェクトを配置
  2. 基準オブジェクトを選択
  3. Edit - Placement... を選択して Placement ダイアログを開く
  4. ダイアログでは何もせずに、配置したいオブジェクトを選択。この時、基準となるオブジェクトは選択が解除されます
  5. Placement ダイアログの Apply ボタンを押す。すると、選択中のオブジェクトが基準オブジェクトと同じ位置に配置されます。
  6. 複数ある場合、次のオブジェクトを選択、Apply ボタンを押す
  7. 終わった場合、Placement ダイアログの OK ボタンを押す

FreeCAD で STL 出力時の偏差を指定

STL ファイルのメッシュの粗さを決める偏差を指定できます。

  1. オブジェクトを選択
  2. プロパティテーブルの View タブにある Deviation の値を設定
  3. 設定値を変更しても変化しないことがあるため、この値を変更したオブジェクトを一度非表示にしてから、もう一度表示します (スペースキー)。
  4. STL ファイルにエクスポート

表示時の描写にも影響しているようなので、普段は Deviation を 0.5 に設定して作業し、エクスポート前にオブジェクトの Deviation 値を 0.025 などの小さな値にしてエクスポートするといいかもしれません。
エクスポートしたいオブジェクトが複雑にブール演算されている場合でも、エクスポートしたいオブジェクトの Deviation 値を変更するだけで、オブジェクトツリー全体の値を一つずつ変更する必要はありません。

Version 0.16 では Angular Deflection も設定できるようになっています。

Edit - Preference - Part design - Shape view でデフォルト値を設定できます。

FreeCAD で Part Design の内容が Part に反映されないとき

Part Design で作画して Part に戻っても、編集した内容が反映されないことがありました。

FreeCAD をコマンドラインから起動して編集していると、Part Design から Part に戻るときにエラーメッセージが表示されていました。

Sketch with redundant constraints
Please remove the following redundant constraints:
6, 16, ...

指定された constraints を削除すると Part が更新されるようになりました。

GUI にエラーメッセージを表示させるには、View - Views - Report view を選択します。

コンパウンド

ブロック、グループ、コンパウンドなどと呼ばれる、複数のオブジェクトをまとめたものを作成します。

  1. Part ワークベンチに切り替え
  2. まとめたい複数のオブジェクトを選択
  3. Part - Make Compound を選択

コンパウンドの場合、オブジェクトごとの色などをそのまままとめられます。

グループ

オブジェクトなどをグループ分けできます。

  1. Combo View の Model タブにあるツリービューなどのノードのうちドキュメントの上で右クリック
  2. Create group... を選択
  3. 新しいグループが作成されます

グループへオブジェクトを移動するには、項目をツリービュー上でドラッグ&ドロップします。グループにはサブグループを作成することもできます。

オブジェクトの描写線幅のデフォルト値を変更

  1. Tools - Edit parameters を選択
  2. BaseApp - Preferences - View - DefaultShapeLineWidth の値を変更

Edit - Preference - Display - Part colors の設定と同じ。

拡大縮小のステップを変更

拡大縮小を行う際のステップごとの拡大縮小率を設定します。

  1. BaseApp - Preferences - View - ZoomStep の値を変更します。

デフォルト値は 0.2 です。

マクロの登録

マクロはファイルの拡張子が .FCMacro の Python スクリプトファイルを、Macro - Macros... メニューから開く Execute macro ダイアログの Macro destination に入れておくと登録されていることになります。拡張子が違うものは登録されていることにはなりませんが、Execute macros ダイアログから実行できます。

マクロをショートカットに割り当てる

マクロを前述のように登録してある場合、マクロをツールバーのボタンに配置したり、ショートカットキーに割り当てることができるようになります。

  • Tools - Customize...
  • Customize ダイアログの Macros タブ
  • マクロを選択、必要な項目を入力して Add。左のマクロのリストから項目をダブルクリックで既存のものを編集、Replace できます。
  • Toolbars タブでマクロを実行するボタンをツールバーに追加できます。
  • Keyboard タブでマクロを実行するショートカットキーを割り当てられます。ツールバーに登録されていないとキーを割り当てられないようです。

マクロを実行するボタンを割り当てたツールバーが非表示になっていると、ショートカットキーからもマクロを実行できないようです。(Version 0.16)

ワークベンチ切り替えマクロ

ツールバーを縦置きにするとワークベンチ切り替えの項目が邪魔だったのでマクロで切り替えられるようにしてみた。

import FreeCAD
FreeCAD.Gui.activateWorkbench("PartWorkbench")

PartWorkbench, PartDesignWorkbench, DraftWorkbench などが指定できます。

透過率切り替えマクロ

オブジェクトの透過率を 0% と 85% でよく切り替えるのでマクロにしてみた。

import FreeCAD

def get_selection():
    return FreeCAD.Gui.Selection.getSelection()

def set_transparency(value):
    items = get_selection()
    if items:
        for item in items:
            item.ViewObject.Transparency = value

set_transparency(0)