見出し画像

FreeCADで透明度を簡単に変更する方法。

はじめに

この記事では、「FreeCAD」での簡単なマクロとツールバーへの登録方法を解説します。
数行のマクロとツールバーへの登録によって、ツールバーのボタンで透明度を変更できるようになります。

前提

FreeCAD 0.20.2(Windows)で動作確認しました。

FreeCADの透明度の変更はどのようにしてますか?

一つ目の方法は、右クリックでメニューを出して、表示を選択。表示プロパティの表示の透明度のスライダーを変更。「閉じる」をクリック。でしょうか?
表示プロパティを出すとこまでは、「CTRL+D」でショートカットできますが、閉じるのクリックが少し面倒です。

二つ目の方法は、選択オブジェクトのプロパティからTransparencyを選ぶ方法です。が、これもタブがデータとビューとあって、探すのに手間取ったりします。

マクロの作成

そこで、マクロをつくります。
簡単です。2行です。

import FreeCAD

FreeCADGui.ActiveDocument.ActiveObject.Transparency += 10

最初に言っておくと、このコードは、バグというか仕様というか、すこし問題はあります。
ですが、最小で動くコードです。
マクロの作成で名前は「Transparency_Up」とでもしておけばいいです。
透明度を10上げるマクロです。

次に「Transparency_Down」で、透明度を10下げるマクロを作ります。
「+=」が「-=」に変更するだけです。

import FreeCAD

FreeCADGui.ActiveDocument.ActiveObject.Transparency -= 10

ツールバーへの登録

メニューの<ツール>ー<カスタマイズ>を選択。
もしくは、ツールバーの空いたところで、右クリック、<カスタマイズ>を選択。

最初に、マクロのタブで、カスタムマクロのセットアップを行います。
実行したい、マクロを選択し。メニューテキストに名前をいれます。
ピクセルマップで適当なアイコンを選択。
追加ボタンをクリックでセットアップ完了です。

これをTransparencyのUpとDownで二つ行います。

次に、実際にツールバーにセットアップしたボタンを登録します。
隣のツールバータブに移動し、左のコンボボックスはマクロを選択。
右のコンボボックスは、ボタンを追加したいワークベンチを選びます。
例えば、[Part Design] を選び、新規ボタンをクリックします。
適当に新しいツールバー名を入力し、左から登録したいボタンを右に入れます。

これで、ボタンを押せば、透明度が +10 あるいは -10 するマクロを簡単に呼び出せるようになります。

マクロの改良

最初にこのマクロには問題があると書きましたが、それは、オブジェクトが複数あった場合、アクティブなオブジェクトのほうだけしか透明度が変更されません。
それを改良するマクロを以下に書いておきます。
このマクロでは、透明度を変えたいほうのオブジェクトを選択しておいて、マクロを実行するようにしています。

import FreeCAD

sel = FreeCADGui.Selection.getSelection()
if len(sel) == 0:
	FreeCAD.Console.PrintMessage("Select something first !\n")
for obj in sel:
    if (hasattr(obj, 'ViewObject')):
        if (hasattr(obj.ViewObject, 'Transparency')):
            print(obj.Name + ' ' + str(obj.ViewObject))
            obj.ViewObject.Transparency += 10

何も選択してなければ、レポートビューに「Select something first !」と出ます。選択していれば、そのオブジェクトの透明度が変更されます。
Transparency_Downのほうは、obj.ViewObject.Transparency += 10 の部分を obj.ViewObject.Transparency -= 10に変更してください。
最初のマクロと違って、何かを選択している必要があるのに注意してください。

最後に

まだ、条件によって、不具合がでそうですが、これで完了とします。

FreeCAD、癖があるけど、なかなか面白いCADですね。パズルを解くように楽しんでいます。


この記事が気に入ったらサポートをしてみませんか?