🏗️

【機械設計】07.Full Code設計とは何か ― FreeCAD・LaTeX・Klayoutに共通する構造

に公開

はじめに(最終回として)

本連載では、機械設計を起点に
設計を「コードを主語」に再構成するという考え方を扱ってきました。

  • GUI CAD の限界
  • FreeCAD をコード主導で使う方法
  • GUI とコードの現実的な分業
  • Git によって差分が意味を持つ設計
  • 幾何エンジンとしての FreeCAD

最終回となる本稿では、
これらを 一段抽象化 し、次の問いに答えます。

Full Code 設計とは、結局何だったのか?


Full Code 設計の本質

結論から述べます。

Full Code 設計とは、
成果物ではなく「生成元」を設計の一次情報源にする設計である

ここで言う生成元とは、

  • CAD を生成するコード
  • PDF を生成する LaTeX
  • レイアウトを生成するスクリプト
  • 回路を記述する RTL

といった 記述そのもの を指します。

GUI、PDF、STEP、GDS は否定されません。
しかしそれらは 設計の本体ではない という立場を取ります。


成果物中心設計の限界

多くの設計現場では、暗黙のうちに

  • 図面
  • CAD ファイル
  • PDF

が「正」として扱われます。

この構造では、

  • なぜその寸法なのか
  • どこを変えると何が変わるのか
  • どんな判断が入っているのか

が 履歴として残りません。

設計変更は「作業」となり、
差分は 意味を失います。


Full Code 設計の共通構造

分野は違っても、構造は同じです。

【生成元(コード)】
        ↓
【成果物(閲覧・製造用)】

例を挙げると:

  • FreeCAD

    • Python / パラメータ
    • → STEP / 図面
  • LaTeX

    • .tex
    • → PDF
  • Klayout

    • .ly / .py
    • → GDS
  • RTL

    • .v / .sv
    • → ネットリスト / レイアウト

設計変更は常に生成元に戻る
これが Full Code 設計の共通構造です。


差分が意味を持つ理由

生成元がコードであるとき、

  • 寸法変更
  • 条件変更
  • ルール変更

はすべて テキスト差分 になります。

差分には、

  • どこを変えたか
  • 何を変えたか
  • なぜ変えたか(コメント)

を載せることができます。

これにより、
設計レビューが成立 します。


GUI は不要なのか?

不要ではありません。

Full Code 設計は、

  • GUI を捨てる思想ではない
  • 自動化至上主義でもない

という点は強調しておく必要があります。

GUI は、

  • 可視化
  • 確認
  • 探索

に非常に有効です。

重要なのは、
GUI 操作が設計の一次情報源にならないことです。


どこまでコード化すべきか

すべてをコードにする必要はありません。

  • 形状の微調整
  • 見た目の検討
  • その場限りの試行

までコード化すると、
設計は逆に壊れます。

重要なのは、

あとから理由を説明したい判断だけをコードに残す

という割り切りです。


Full Code 設計の判定基準

実務では、次の問いで十分です。

  • 修正は成果物ではなく生成元に戻るか
  • 成果物は消しても再生成できるか
  • 差分を見れば変更内容が分かるか

YES であれば、
その設計は Full Code 設計です。


おわりに

本連載で扱った内容は、
新しい技術ではありません。

多くの設計者が無意識に感じてきた違和感を、
構造として揃えただけです。

設計を

  • 作業から
  • 属人技から
  • その場限りの成果物から

長期的に扱える資産へ。

そのための一つの整理として、
本連載が役に立てば幸いです。


Full Code Mechanical Design / 完

GitHubで編集を提案

Discussion