カワハラの、雑多な記録。

FreeCADで構成テーブル(コンフィギュレーション)を使用する方法

   

Solidworksで言うところの「コンフィギュレーション」をFreeCADでやる方法を説明します。
例えばスパナは同じ形状で寸法のバリエーションが複数あります。
地道にやろうとすると、サイズ違いを複数ファイルごとに作ることになりますが、「コンフィギュレーション」を用いれば作るのは一つのファイルで済みます。
スプレッドシート(表)に寸法値を入力しておくことで、複数サイズを切り替えられるようにできます。

こうすることで、修正が発生したときに一つのファイルの修正で済み、とっても効率的に!
FreeCADではこの機能を「構成テーブル(Configuration Table)」と呼びます。

構成テーブルを使った例 (六角棒スパナ)

下の画像はサイズ違いの六角棒スパナが9本ありますが、構成テーブルを使ってサイズのバリエーションを作成しています。
アセンブリからは六角棒スパナのファイルにリンクされていますが、サイズごとにファイルを作成してるんじゃなくて、サイズに関わらず同じファイルを参照しています。

このように「形は同じだけど寸法違いのバリエーションが複数ある」という状況に威力を発揮します。

ファイルをコピーして寸法違いを別ファイルで作ってもよいのでは?と思うかもしれませんが、Excelの表みたいなスプレッドシートで寸法を管理でき、後の修正や寸法値の一覧性が高まります。

さらに「断面を六角形じゃなく四角形にしたい!」みたいな変更も、1つのスケッチを修正すれば全サイズに適用でき、状況によっては劇的に作業工数を短縮できます。

構成テーブルのやり方説明

では具体的な手順を簡単な例で説明します。
ざっくりとした全体の流れは次の通り。

  1. 3Dモデル作成
  2. スプレッドシートに構成テーブルを作成
  3. 3Dモデルの寸法値などに構成テーブルの値を設定

3Dモデルより先に構成テーブルを作成してもOKです。

今から作ろうとしているもの

この説明で何を作ろうとしているか先に見といたほうが理解しやすいかと思います。
次のような物を作ります。

コンフィギュレーションを選択すると、直方体の寸法が変化する、という簡単なものです。

3Dモデル作成

では、3Dモデルを作っていきましょう。
FreeCADを立ち上げ、新規ファイルを作成し、「Part Design」ワークベンチでボディを作成。
XY平面にスケッチ作成し、四角形と寸法を入れます。

後で構成テーブルの値を反映させるので、寸法の値は今は適当で構いません。
後で設定しますが、横の寸法が「幅」、縦の寸法が「奥行き」になります。

スケッチを終了させたら、パッドでとりあえず10 mm押し出します。
この10 mmが、後で設定しますが「高さ」になります。

これで3Dモデルの作成は完了です。
構成テーブルに基づいて、幅、奥行き、高さの寸法を切り替えられるようにしていきます。

「Spreadsheet」ワークベンチに切り替えてスプレッドシートを作成

次は、スプレッドシートに寸法を入力していきます。

① 「Spreadsheet」ワークベンチに切り替えます。
② 「スプレッドシートを作成」のアイコンをクリック。

下記のように入力。2行目は開けておくのがキモ。(Variant, 高さ, 幅, パターン1, パターン2などは任意の名前でよい)

「幅」、「奥行き」、「高さ」にはそれぞれの寸法の数値が、A列の「パターン1」、「パターン2」はコンフィギュレーションを選択するときの名前になります。

エイリアスを設定

エイリアスとは、スプレッドシートのセルに別名をつけること。
構成テーブルを使わなくても例えばセル「B3」の内容を寸法値に利用することができますが、このB3セルに「長さ」など理解しやすい名前を付けておく事ができます。

空欄になっているセルB2を右クリック→「プロパティ」

出現したダイアログの「エイリアス」タブ→エイリアス名「Width」を設定 (任意の名前でよい)

セルC2にも同様に、エイリアス名「Depth」, D2に「Height」を設定します。 (任意の名前でよい)

エイリアス設定したセルは黄色く表示されます。

構成表をセットアップ

A2~D4セルを選択→右クリック「構成表」

プロパティに「Body.Configuration」と入力(Configurationは任意の名前でよい)
セル範囲を、さっき選択した範囲に修正する。
この例だとA2 ~ D4。
スプレッドシートで選択した範囲が入力窓にそのまま反映されないことがあるようなので、よく確認しましょう。

構成表をセットアップすると、先程黄色くなったセルに青い枠が付きました。

スケッチの寸法にエイリアスを設定

3Dモデルと構成テーブルが出来ました。
3Dモデルの寸法に構成テーブルのエイリアスを設定していきます。

今画面にはスプレッドシートが表示されていると思いますが、モデルツリーの「Body」をクリックすると、3Dモデルの表示に戻れます。

ツリー上の、先ほど作成したスケッチをダブルクリックして編集状態にします。

幅の寸法をダブルクリック→「f(x)」と書かれた小さいボタンを押すと数式エディターが出ます。

表示された数式エディターに「Spreadsheet.Width」と入力します。

「Spreadsheet.」はお決まりの言葉なので、このまま入力。
「Width」はさっき設定したエイリアスの名前です。
これで、Spreadsheetの中の「Width」というエイリアスを参照するという意味になります。
「結果」に先ほど構成テーブルに入力した値の「20.00」が入ってますね。

ちなみに数式エディターに文字を入力すると候補が出るますが、私の環境ではなぜか真っ黒で見えません。バグかな?
下の画像は「sp」と入力して、候補に「Spreadsheet」が表示されてるはずですが、見えません。不便…

この状態でカーソルキーの上下を押すと選択した項目だけは見えるので、正しい候補を選んでEnterで補完できます。

すべて手入力するよりは、何文字か入力して候補から選んだほうが間違いが減るかと思います。

数式が設定されると寸法がオレンジ色になる。
(下の画像は見やすくするためにソリッドを非表示にしました。)

奥行きの寸法も同様に、数式エディターに「Spreadsheet.Depth」を入力してください。

パッド(押し出し)の寸法にエイリアスを設定

さっきはスケッチ上の寸法に数式エディターでエイリアスを適用しましたが、パッドの押出量にも適用できます。
ツリー上のパッドをダブルクリックして編集状態にします。

押出の寸法の右にある「f(x)」ボタンをクリック。

数式エディターが現れるので、高さ寸法のエイリアスの「Spreadsheet.Height」を設定します。

これで、構成テーブルと3Dモデルの「幅」、「奥行き」、「高さ」の寸法が紐づきました。

コンフィギュレーションの切り替え

すでにコンフィギュレーションの切り替えができる状態になっています。
①ツリーの「Body」を選択。
②「データ」タブのプロパティ「Configuration 」の右の三角をクリックすると、設定したコンフィギュレーションが選択可能。
(「Configuration」は構成テーブルセットアップで設定した名前です)

選択したコンフィギュレーションに応じて寸法が変化するのが分かります。

構成テーブルの設定方法は以上です。

構成テーブルの部品をアセンブリで使うには?

今回作成した部品をアセンブリに挿入して使おうとすると、ひと癖あってすんなりといかないかもしれません。

部品をアセンブリに2つ挿入し、片方をコンフィギュレーション「パターン1」、もう一方を「パターン2」にしようとするとします。
ところが、一方のコンフィギュレーションを変更するともう一方も追従して変化してしまい、別々のコンフィギュレーションを設定できないんです。

サブシェイプバインダー使ってなんとかする方法があるんですが、それについては別の記事で詳しく説明したいと思います。

まとめ

FreeCADは機能はそこそこ充実していますが、相変わらず操作方法が難解ですね。
早く普通に使えるCADになってくれることを期待しています。

 - 機械設計