FreeCAD × 部品設計 | #01 スプレッドシートでパラメトリック設計

前回 #00 では、実物を採寸して1つの部品を設計しました。でも実際の設計では、「同じ形でサイズ違い」がほしい場面がよくあります。M3用とM4用のスペーサー、長さ違いのスタンドオフ……。そのたびに最初から作り直すのは大変です。そこで今回は、寸法を「表(スプレッドシート)」で管理して、数値を変えるだけで全サイズを作る方法——パラメトリック設計を学びます。

パラメトリック設計ってなに?

ふつうは寸法を直接数字で決めて固定します。たとえば「外径6mm」と打ち込んで終わりです。この方法だと、外径8mmの部品がほしくなったら、また一から描き直すことになります。

パラメトリック設計では、寸法をスプレッドシートのセルに入れておき、部品の寸法を「=そのセル」というでつなぎます。すると、セルの数字を書き換えるだけで、つながった寸法がいっせいに変わり、形が自動で更新されます。設計図そのものを「数値で動かせるレシピ」に変える、というイメージです。

寸法に「= Params.od」のような式を入れておくと、セルを変えるだけで形が変わる
寸法に「= Params.od」のような式を入れておくと、セルを変えるだけで形が変わる

今回作る部品:円筒スペーサー

題材は円筒スペーサー(スタンドオフ)です。基板(PCB)を浮かせてネジ留めするための筒で、ロボットや電子工作では必ず使う定番部品です。基板の下に部品があってもぶつからないように、ちょうどよい高さだけ浮かせるのが役目です。

スペーサーは基板を浮かせてネジ留めする筒。高さで浮かせる量が決まる
スペーサーは基板を浮かせてネジ留めする筒。高さで浮かせる量が決まる

スペーサーの寸法は外径・内径・高さの3つだけ。真ん中の穴(内径)にはネジを通すので、ネジのサイズで内径が変わります(M3なら3.2mm、M4なら4.2mm…)。必要な高さも場面ごとにいろいろ。つまり「同じ形でサイズ違いがほしい」——パラメトリック設計の練習にぴったりの部品です。

スペーサーの寸法は外径・内径・高さの3つ。内径はネジのサイズで決まる
スペーサーの寸法は外径・内径・高さの3つ。内径はネジのサイズで決まる
今回作る円筒スペーサー(M3用の例:外径6・内径3.2・高さ6)
今回作る円筒スペーサー(M3用の例:外径6・内径3.2・高さ6)

① スプレッドシートで寸法表を作る

手順1:スプレッドシートを作る

画面上のワークベンチ切り替えで「Spreadsheet」を選び、「新しいスプレッドシート」をクリックします。ツリーに表が1つできます。名前はF2キー「Params」に変えておくと、あとで式が読みやすくなります(Paramsは「パラメータ=設定値」の意味)。

Spreadsheetワークベンチで「新しいスプレッドシート」をクリック
Spreadsheetワークベンチで「新しいスプレッドシート」をクリック

手順2:寸法を入力する

ツリーの表をダブルクリックで開き、A列に項目名・B列に数値を入れます(A1=外径/B1=6、A2=内径/B2=3.2、A3=高さ/B3=6)。A列の項目名は自分用のメモなので、日本語でかまいません。セルをクリックして、上の「内容」欄から入力してもOKです。

A列に項目名、B列に数値を入れる(上の「内容」欄からも入力できる)
A列に項目名、B列に数値を入れる(上の「内容」欄からも入力できる)

手順3:エイリアス(別名)を付ける

数値のセルにエイリアス(別名)を付けます。これがあると、式から「B1」ではなく「od」という分かりやすい名前でセルを呼べます。数値セルを選び、右上の「エイリアス」欄(またはツールバーの「エイリアスを設定」ボタン)に od と入力。同じように内径セル→id、高さセル→ht とします。別名を付けたセルは青く表示されます。

セルを選び、エイリアス(別名)を od / id / ht と付ける。別名付きのセルは青くなる
セルを選び、エイリアス(別名)を od / id / ht と付ける。別名付きのセルは青くなる
  • ワンポイント:エイリアスは英数字で付けます。「h」など1文字は単位記号(時間など)と衝突して拒否されることがあるので、高さは ht のように2文字以上にすると安全です。

② 寸法を式でつなぐ

寸法欄の青丸ボタンで式を書き、Params.od/2 のように表とつなぐ。セルを変えると寸法も追従する
寸法欄の青丸ボタンで式を書き、Params.od/2 のように表とつなぐ。セルを変えると寸法も追従する

いよいよ本番です。スペーサー本体を作るときの寸法を、直接数字で打つ代わりににします。スペーサーは「外側の円(外径)」と「内側の円(内径)」を描いて、高さ方向に押し出した形です。それぞれの寸法を、さっきの表とつなぎます。

寸法の入力欄の右にある青い丸のボタン(式エディタ)を押すと、式を書く欄が開きます。そこに次のように入れます。

  • 外側の円の半径Params.od / 2(外径は直径なので、半径はその半分。÷2を忘れずに)
  • 内側の円の半径Params.id / 2
  • 押し出しの高さParams.ht

「Params」は表の名前、「od」などはエイリアスです。式でつないだ寸法には小さな青いマークが付き、「ここはセルと連動している」とひと目で分かります。これで表と部品が完全につながりました。

③ セルを変えるとサイズが変わる

あとは表の数値を書き換えるだけです。試しに B1(外径)を 6 → 8 に変えてみましょう。高さや内径はそのままで、外径だけがすっと太くなります

外径セルを6→8に変えると、外径だけが太くなる(高さ・内径はそのまま)
外径セルを6→8に変えると、外径だけが太くなる(高さ・内径はそのまま)

表が部品を動かす——これがパラメトリック設計の気持ちよさです。もし変わらないときは、更新(再計算)を押すと反映されます。

同じ設計のまま、3サイズに展開

数値だけ変えれば、同じ設計から S/M/L が一瞬で作れます。部品ごとにファイルを作り直す必要はありません。

設計はそのまま、スプレッドシートの数値を変えるだけで3サイズに展開できる
設計はそのまま、スプレッドシートの数値を変えるだけで3サイズに展開できる

寸法表が「設計のレシピ」になり、数値はその時々の「材料表」になるイメージです。1か所の表を直せば、つながった寸法がすべて追従するので、直し忘れや寸法の食い違いも起きにくくなります。

つまずきポイント

  • エイリアスが付けられない(Invalid alias)h など1文字は単位記号と衝突します。ht のように2文字以上にしましょう。
  • 式を入れても形が変わらない:参照名のつづりミスが定番です。表の名前Paramsとエイリアス(od/id/ht)が合っているか、大文字小文字まで確認しましょう。
  • サイズが2倍/半分になる半径と直径の取りちがえです。外径・内径は「直径」なので、半径にするときは必ず÷2します。
  • セルを消したら部品が壊れた:式が参照先を失ったためです。値は消さずに書き換えるのが基本です。
  • 数字を変えたのに更新されない更新(再計算)ボタンを押すと反映されます。
  • 単位がおかしい:スプレッドシートの数値は初期設定で mm として扱われます。

今回の課題:ロボットの土台「シャシープレート」を作る

ここで大事なお知らせです。第2部の章末課題は、じつは全部つながっています。毎回の課題で作る部品を集めていくと、最後には「物をつかんで運ぶ差動二輪ロボット」が1台組み上がります。その最初の部品が、今回のシャシープレート——モーターもキャスターも、すべての部品を載せる土台です。

第2部のゴール。章末課題の部品を集めると、この差動二輪ロボットが組み上がる
第2部のゴール。章末課題の部品を集めると、この差動二輪ロボットが組み上がる

下の図の寸法どおりに、シャシープレートをパラメトリックに作ってみましょう。ポイントは、外形だけでなく穴の位置も式でつなぐこと。モーターは板の端に取り付くので、幅(wid)を変えたら、ブラケット用の穴もいっしょに動いてほしいのです。穴の位置を「端からの距離」で考えて、wid / 2 − 33 のような式にします。

お題:シャシープレート(100×90×3)。穴は6つ、位置はすべて式でつなぐ
お題:シャシープレート(100×90×3)。穴は6つ、位置はすべて式でつなぐ
完成図:差動二輪ロボットのシャシープレート
完成図:差動二輪ロボットのシャシープレート
  • 使う機能:Spreadsheet(寸法表・エイリアス)/式エディタ(fx)/スケッチ+パッド(1-2の復習)/ポケット(1-2の復習)
解答を見る(作り方を順番に)

手順1:寸法表を作る。本文①と同じ要領で、スプレッドシート Params幅 wid = 90/全長 lng = 100/厚さ thk = 3 の3行を作り、エイリアスを付けます。

手順1:寸法表 Params。値のセルに別名 wid / lng / thk を付ける(別名セルは青)
手順1:寸法表 Params。値のセルに別名 wid / lng / thk を付ける(別名セルは青)

手順2:板を描く。XY平面のスケッチに長方形を1つ。原点が板の中心に来るように拘束し、横の寸法を fx → Params.wid、縦の寸法を fx → Params.lng でつなぎます。「パッド」の長さは Params.thk。これで板の外形がぜんぶ表と連動しました。

手順2:長方形の寸法を fx で Params につなぐ。つなぎ終わると「完全拘束」になる
手順2:長方形の寸法を fx で Params につなぐ。つなぎ終わると「完全拘束」になる
手順2:パッドで押し出す(長さ = Params.thk)
手順2:パッドで押し出す(長さ = Params.thk)

手順3:穴の位置を式で決める。板の上面に新しいスケッチを描き、円を6つ置きます(穴はM3ボルト用で直径3.2、つまり半径1.6)。位置の寸法拘束に式を入れます(板の中心が原点のとき):

  • ブラケット用4つ:横 = Params.wid / 2 − 33(左側はマイナス)・縦は前端から25と50(原点基準では +250
  • キャスター用2つ:横 ±12.5・縦 = −(Params.lng / 2 − 15)(後端から15)
手順3:穴の位置の寸法に式を入れる。式でつないだ寸法には fx 印が付く
手順3:穴の位置の寸法に式を入れる。式でつないだ寸法には fx 印が付く

円が描けたら「ポケット」を「全貫通」にして穴をあけます。

手順3:ポケット(全貫通)で6つの穴があいた
手順3:ポケット(全貫通)で6つの穴があいた

手順4:幅を変えて確かめる。寸法表の幅セルを 90 → 80 にしてみましょう。板が細くなると同時に、ブラケット穴が板の端についてくれば成功です(キャスター穴は中央なので動きません)。確認したら90に戻しておきます。

幅セルを変えると、板といっしょにブラケット穴もついてくる
幅セルを変えると、板といっしょにブラケット穴もついてくる

このプレートの穴は、これからの回でブラケットやキャスターを設計するたびに「本当にネジが合うか」をアセンブリで確かめていきます。穴が増えることもありますが、心配いりません——あとから育てられるのがパラメトリック設計の強みです。

まとめ

  • パラメトリック設計=寸法を表(スプレッドシート)で管理し、式でつなぐ。
  • セルにエイリアス(別名)を付けて、寸法に = Params.od のように入れる。
  • 外径・内径は直径なので、半径にするときは ÷2
  • 1文字の別名(h など)は単位と衝突するので2文字以上にする。
  • セルの数値を変えるだけでサイズ違いを一気に展開できる。
  • 寸法表が「設計のレシピ」になり、直し忘れや寸法の食い違いを防げる。

次回 #02 は、TTモーターを抱える「モーターブラケット」を設計します。L字の板に補強リブ、そしてネジがきく取付穴——今回作ったシャシープレートの穴と、ぴったり合う部品を作ります。ミラーで左右ペアにするのは第1部 #05 の復習です。

【応用のヒント】① 式には計算も書けます(例:外径 = Params.id + 肉厚×2)。内径を変えれば外径も自動でついてきます。② 1つの表で複数の部品をまとめて管理できます。共通寸法を1か所で変えれば全部に反映されます。③ M3/M4/M5 の早見表を Params に作っておくと、現場で寸法を調べる手間が減ります。

Back to top