【機械設計】🛠 03. GUI CADとコード設計をどう併用するか ― FreeCADで始める最小コード設計
topics: [“機械設計”, “cad”, “freecad”, “python”, “設計思想”]
🧭 はじめに
GUI CAD から一歩進んで、
設計をコードとして記述する
という考え方があります。
次に出てくる疑問は、だいたいこれです。
「そのコード、どうやって書くの?」
この記事では、
設計意図を文章で整理し、それをコードとして表現する
という最小ステップを紹介します。
ここで重要なのは、
AIや自動化そのものではなく、
設計判断がコードとして残る という点です。
🎯 今回やること
本記事で扱うのは、
「最小構成でコード設計を体験する」ことです。
- 設計条件と判断を文章で整理する
- それを Python コードとして表現する
- FreeCAD に貼り付けて実行する
- CAD は 確認専用 として使う
GUI操作を覚える話ではありません。
🧠 設計コードを作るということ
コード設計というと、
いきなり複雑な API を書く印象を持たれがちですが、
本質はそこではありません。
重要なのは、
- 寸法を 変数 として定義する
- 条件を if 文 として明示する
- 配置や構造を ルール として書く
という点です。
設計者が頭の中で行っている判断を、
そのままコードに落とす
というだけの話です。
✍️ 設計意図を文章で整理する
まず、形状を作る前に
設計条件と判断を文章で整理します。
例として、次のような設計を考えます。
- 板の長さ・幅・板厚を持つ部品
- 板の長さが長い場合は、板厚を厚くする
- 取付穴は左右対称に配置する
この段階では、
まだ CAD も Python も使っていません。
🔄 設計意図からコードを生成する
整理した設計意図をもとに、
Python コードとして表現します。

ここで重要なのは、
設計判断そのものをコードにしている
という点です。
🧩 FreeCAD マクロに貼り付ける
生成したコードを、
FreeCAD の マクロエディタ に貼り付けます。

この時点では、
- スケッチ
- 拘束
- フィーチャ操作
は一切行っていません。
🧪 設計判断がコードに残る例
例えば、
板の長さによって板厚を切り替える設計判断は、
次のように書けます。
if L > 100:
T = 8.0
else:
T = 5.0
この数行だけで、
- どんな条件で
- 何が変わるのか
が明示的に残ります。
GUI CAD では、
この判断は操作の流れに埋もれてしまいます。
👀 GUI操作なしでの実行結果
マクロを実行すると、
設計ルールに基づいた形状 が生成されます。

- 再実行 = 再設計
- 寸法変更 = 派生設計
- 操作履歴は不要
という状態になります。
ここで FreeCAD は、
形状を描く道具 ではなく、
コードの実行結果を確認するビューア
として振る舞っています。
🖥 GUI CAD の役割はなくならない
誤解しがちですが、
コード設計は GUI CAD を否定するものではありません。
- 見た目の確認
- 干渉チェック
- 感覚的な形状把握
こうした点では、
GUI は今後も不可欠です。
変わるのは、
どこに設計の本体を置くか
という点です。
🧱 最小コード設計の位置づけ
今回のアプローチは、
- すべてをコードにする
- すべてを自動化する
という話ではありません。
- 設計条件
- 設計判断
- 再利用したいルール
差分として残したい部分だけ を
コードに逃がす、という考え方です。
🏁 おわりに
コード設計を始めるために、
大きな環境構築やツール変更は不要です。
- 設計判断を文章で整理し
- それをコードに落とし
- CAD で確認する
この小さな一歩だけで、
設計は「作業」から
再利用可能な資産 に変わり始めます。
次回は、
Part Design を捨てずにコード設計を導入する方法
について扱います。
📎 補足(コードの扱いについて)
本記事中のコードは、設計手法の説明を目的とした例示です。
実運用や再配布を前提としたものではありません。
実際に使用可能な設計コードおよびライセンスについては、
以下のリポジトリをご参照ください。