ものづくり革命総論 第2回:ソフトウェアの話 — CAD・スライサー・G-code
ものづくり革命総論 第2回:ソフトウェアの話 — CAD・スライサー・G-code
出典: note.com / 2026-06-01
1. まず現実を直視しよう
君はコードを書ける。でも立体を作ったことはない。
それでいい。むしろそこがスタートだ。
3Dプリンターを動かすには三つのソフトウェアが必要だ。CADで設計しスライサーで変換しプリンターがG-codeを読む。コード書きならもうピンときたはず。これはコンパイルフローだ。ソースコードを書いてコンパイラに通してバイナリを得る。まったく同じ構造だ。
2. CADという名のIDE
CADはコンピュータ支援設計。つまり画面上で立体を描く道具だ。
コード書きに例えるならCADはIDEだ。テキストエディタじゃない。統合環境だ。書いて確認して直してのサイクルが一つの画面で完結する。
一口にCADと言っても性格は様々だ。
Fusion 360 — 業界標準の一つ。パラメトリック設計が得意で寸法を変数として後から変更できる。変数で値を管理する感覚に近い。趣味から業務までこなす万能型。ただしクラウド前提で月額課金。
Blender — 実はCADではない。3DCGツールだ。でも3Dプリント用データを作れる。直感的なメッシュ編集が強み。粘土をこねるように形を作る。コードで言えばスクリプト言語みたいなもの。Pythonで自動化もできる。完全無料。これだけで生きていける。
Tinkercad — ブロックを組み合わせるだけのCAD。子供でも使える。でもそれで十分なケースは多い。コードで言えばScratch。原理を学ぶのに最適。完全無料。ブラウザだけで動く。
FreeCAD — オープンソースのパラメトリックCAD。Fusion 360に機能は近いが無料。コミュニティ駆動で発展中。ときどき壊れる。でもそれがオープンソースだ。
コード書きはどのCADを選べばいいか。目的で選べ。機械的な精度が必要ならFusion 360かFreeCAD。造形的な自由が欲しいならBlender。とにかく早く立体を出力したいならTinkercad。
3. スライサーはコンパイラ
CADで作ったデータはそのままではプリンターが読めない。翻訳が必要だ。その役目を担うのがスライサー。
スライサーは立体を薄い層に切り分ける。一枚一枚の断面を計算してプリンターの動作手順に変換する。
コード書きに言い換えよう。CADで書いたソースコードをスライサーがコンパイルする。 出力は機械語ならぬG-codeだ。最適化レベルもある。充填パターンや積層方向はコンパイラの最適化オプションと同じだ。同じソースでもスライサー次第で出力結果が変わる。GCCとClangの違いみたいなものだ。
Bambu Studio — Bambu Lab純正。プリセットが豊富で初心者でも高品質な出力が得られる。まるでXcode。囲い込み感もあるが使いやすい。
PrusaSlicer — オープンソースの本命。カスタマイズ性が高く設定項目が細かい。GCCに近い。経験者はこちらを好む。
Cura — Ultimaker製。一番普及している。プラグインが豊富でコミュニティも大きい。LLVM的な立ち位置か。どこでも使える。
4. G-code それはアセンブリ言語
G-codeは3Dプリンターのための命令コードだ。
G1 X10 Y10 Z0.2 E0.5 F1500
Xへ移動。Yへ移動。Zを上げろ。フィラメントを押し出せ。速度を変えろ。
たったこれだけの命令の羅列で立体ができる。コード書きならこの美しさがわかるだろう。高級言語で書いたロジックがアセンブリの単純な命令に落とし込まれる。あの感動と同じだ。
G-codeを人間が手書きすることはまずない。スライサーが生成する。でも中身を読めればトラブルシュートができる。アセンブリが読めればデバッグできるのと同じ理屈だ。
5. STLとメッシュの話
CADからスライサーにデータを渡すときの標準形式がSTL。正式にはStandard Tessellation Language。表面を小さな三角形の集まりで表現する。
メッシュとはこの三角形の集合体だ。三角形を細かくすればするほど滑らかになるがファイルサイズは大きくなる。ポリゴン数のトレードオフはゲーム開発者ならおなじみの話だ。
コード書き向けに言うならSTLはJSONみたいなもの。単純なデータ構造だがそこに全ての形状情報が詰まっている。人間が読むより機械が読むためのフォーマットだ。
メッシュは中身が空洞であることを知っておこう。STLは表面しか記録しない。だからスライサーは中身をどう埋めるか自力で計算する。充填率やパターンはここで決まる。
6. コード書き視点の解
ここまで読んで君はもう気づいたかもしれない。
CADはIDEだ。スライサーはコンパイラだ。G-codeはアセンブリだ。
この対応関係が全てを説明する。
| コード書きの世界 | 3Dプリントの世界 |
|---|---|
| IDE (VS Code / IntelliJ) | CAD (Fusion 360 / Blender) |
| コンパイラ (GCC / Clang) | スライサー (PrusaSlicer / Cura) |
| アセンブリ / 機械語 | G-code |
| 実行 (CPU) | 実行 (3Dプリンター) |
コード書きが3Dプリントを理解するのにこの比喩以上のものはない。新しい分野に飛び込むときは自分の知っている構造にマッピングするのが一番だ。
7. リバースエンジニアリングという選択
設計データがない物体を複製したい。そんなときは3Dスキャナーを使う。
実物に光やレーザーを当てて形状を点群データとして取得する。それをメッシュに変換してSTLにする。コードで言えばデコンパイラだ。実行ファイルからソースコードを復元する営みに似ている。
iPhoneのLiDARスキャナーでも簡易的なスキャンができる。専用機なら数万円からある。リバースエンジニアリングは製品改良や補修部品の製作で威力を発揮する。
注意点もある。スキャンデータはそのままでは使えないことが多い。ノイズ除去や穴埋めの処理が必要だ。デコンパイル結果をそのままビルドできないのと同じだ。
8. 次回予告
第3回は超小型と医療の話をする。血管の中を走るロボット。人工骨。バイオプリンティング。スケールが変わると原理も変わる。お楽しみに。
SVG設計案
図1. 3Dプリントソフトウェアパイプライン
コンセプト: CAD → STL → スライサー → G-code → プリンターの流れを水平なパイプラインで示す。各フェーズをアイコンとラベルで表現。
レイアウト: 横長カンバス(900×250)。中央に五つのノードを矢印で連結。ノードは左から右に流れる。各ノードの下に短い説明文。
色味: 背景 #f5f0eb。ノード背景は各段階でグラデーション(薄橙→薄黄土→薄朱)。矢印 #c4956a。
収める情報: 「CADで設計」「STLにエクスポート」「スライサーが計算」「G-code生成」「プリンターが出力」の順。
図2. CADの三つの流派
コンセプト: Fusion 360(パラメトリック)、Blender(スカルプト)、Tinkercad(ブロック)を三つの島として分類。FreeCADはFusion寄りのオープンソースとして併記。
レイアウト: 縦横比3:2(800×530)。三本の列。各列の上部にソフト名とアイコン。中部に特徴文(一行)。下部にコード書き向けの比喩(IDE風・スクリプト風・Scratch風)。FreeCADはFusion列の下に小さく追記。
色味: 背景 #f5f0eb。Fusion列 #d4a574、Blender列 #c4a882、Tinkercad列 #e8c9a0。文字は #3d2b1f。
収める情報: 各ソフトの特徴。料金。得意な形状。コード書きへの一言アドバイス。
図3. STLメッシュ概念図
コンセプト: 球体を三角形メッシュで近似する様子。ポリゴン数が少ない場合(粗い)と多い場合(滑らか)の対比。
レイアウト: 正方形カンバス(600×600)。左半分に粗い球体(12個の大三角形)。右半分に滑らかな球体(数百の小三角形)。下部に拡大した三角形の模式図。矢印で「粗→密」の方向を示す。
色味: 背景 #f5f0eb。三角形の枠線 #c4956a、面は半透明の #e8d5b5。右に行くほど密度が上がることを薄いグラデーションで表現。
収める情報: 「三角形が多ければ滑らか」「表面しか記録しない」「ファイルサイズとのトレードオフ」。
図4. コード書きのための対応関係マップ
コンセプト: 「CAD = IDE」「スライサー = コンパイラ」「G-code = アセンブリ」の三層対応を視覚化。コード書きの世界(左)と3Dプリントの世界(右)をブリッジで結ぶ。
レイアウト: 横長カンバス(900×400)。中央に三層。左列にコード概念(IDE/コンパイラ/アセンブリ)。右列に3D概念(CAD/スライサー/G-code)。各層を等号(≒)で接続。最下部に「結果→プリンター(=CPU)」と続く。
色味: 背景 #f5f0eb。左列は青系統の淡色 #a8c4d4、右列は暖色系 #d4a574。等号記号は金色 #b8860b。
収める情報: 各層の対応関係。対応する具体的なソフト名を小さく併記(例: IDEの下にVS Code/IntelliJ、CADの下にFusion 360/Blender)。

この記事は note.com から KTBLOG に移行されました。元記事: https://note.com/famous_prawn2009/n/nb99dcd2d1b4d