知識がなくても始められる、AIと共にある豊かな毎日。
3Dプリンター

OpenSCAD AI パラメトリック設計:コードで作る「サイズ自在」の3Dモデル

ゲンキ

OpenSCAD AI パラメトリック設計:コードで作る「サイズ自在」の3Dモデル

「幅を5mm広くしたい」。また、たったこれだけの修正に、Blenderでは10分かかります。さらに、メッシュを選択し、頂点をひとつずつ動かし、隣接する面との整合性を確認し。また、再びSTLをエクスポートする。しかしOpenSCADなら。コード内の数値を「70」から「75」に書き換えるだけです。所要時間は3秒。これがOpenSCAD AI パラメトリック設計の威力です。

Blenderのようなメッシュベースのモデリングでは。さらに、寸法変更のたびに頂点を手作業で動かす必要があります。しかしOpenSCADなら変数を1つ書き換えるだけ。AIコーディングツール(Claude CodeやCursor)と組み合わせれば。自然言語の指示だけでパラメトリックなコードを生成し。サイズ違いのバリエーションを即座に量産できます。特に、本記事ではこの「コードベースCAD」のアプローチで。寸法変更が頻繁に発生する機能パーツを設計します。


OpenSCADとは何か――「プログラマーのためのCAD」

OpenSCADは。加えて、3Dモデルをプログラミングコードで記述する無料のオープンソースCADツールです。例えば。公式サイト(https://openscad.org)からWindows・macOS・Linuxの全プラットフォームに対応したインストーラーをダウンロードできます。

一般的なCADソフト(Blender、Fusion 360。特に、Tinkercad等)は。マウスで形状をドラッグ・プル・回転して3Dモデルを構築します。つまり、OpenSCADはこの操作をすべて「コード」に置き換えます。立方体を作るには cube([70, 80, 3]) と書き。円筒を作るには cylinder(h=50, d=25) と書きます。一方。ブーリアン演算(複数の形状を足したり引いたりする操作)も union() や difference() といった関数で記述します。

コード生成の実践例

つまり、この「コードで書く」という特性が。同様に、OpenSCAD AI パラメトリック設計において決定的な優位性を生み出します。理由は3つあります。

第一に、AIはコード生成が得意です。しかし、大規模言語モデル(LLM)は膨大なソースコードで訓練されており。しかし、OpenSCADのような構造化された言語のコード生成は。自然言語で形状を説明するよりも遥かに正確です。また。Claude CodeやCursorに「ケーブルホルダーを作って」と指示すると。BlenderのPython APIよりもOpenSCADコードの方が。意図に沿った形状を高確率で生成します。

第二に、コードはバージョン管理できます。さらに、Gitで変更履歴を追跡し、以前のバージョンに巻き戻し。つまり、ブランチを切って派生モデルを試作できます。具体的には、STLファイルやBlenderの.blendファイルでは。この粒度のバージョン管理は困難です。

第三に、パラメトリック設計との相性が完璧です。特に、これについては次のセクションで詳しく解説します。

OpenSCADの制約も正直に述べておきます。例えば、有機的な曲面やキャラクターモデルには向いていません。つまり、フィレット(角の丸め処理)のような操作も。一方、Blenderの「ベベル」に比べるとコード量が増えます。得意なのは、機能パーツ、治具、ケース、ホルダー。ブラケットなどの「幾何学的な形状」です。曲線美よりも寸法精度が重要な場面で真価を発揮します。


パラメトリック設計の本質――「変数ひとつで世界が変わる」

具体的には、パラメトリック設計とは。とりわけ、モデルの寸法を「固定値」ではなく「変数」として定義する設計手法です。OpenSCAD AI パラメトリック設計の核心はここにあります。

具体例で説明します。一方、直径6mmのケーブルを3本束ねるホルダーを設計するとします。しかし、従来のCADでは、直径6mmの円筒を3つ配置し。例えば、それを囲む外壁を手動で構築します。ケーブルの直径が8mmに変わったら、円筒の直径を変更し、外壁のサイズを再計算し。全体の配置を手動で調整する必要があります。

例えば、OpenSCADのパラメトリック設計では、冒頭で以下のように変数を宣言します。

cable_diameter = 6;
cable_count = 3;
wall_thickness = 2;
spacing = 3;

モデル全体がこれらの変数を参照して構築されるため。また、cable_diameter = 8; に書き換えるだけで、外壁、配置間隔。全体サイズがすべて自動的に再計算されます。ケーブル本数を5本に増やしたければ cable_count = 5; に変更するだけです。再モデリングの工数はゼロ。さらに、この「変数の書き換えだけでサイズ違いを量産できる」仕組みが。パラメトリック設計の本質です。

パラメトリック設計の応用

3Dプリントユーザーにとって。さらに、パラメトリック設計のメリットは「試行錯誤のコスト削減」に直結します。具体的には、最初の印刷で「少しきつい」と感じたら、寸法を0.3mm広げて再印刷。特に、このサイクルがコード内の数値変更だけで完結するため。フィードバックループが極めて高速になります。

第4回のワークフロー実践で解説した「AI生成モデルの印刷→検証→修正」サイクルにおいて。パラメトリック設計は修正フェーズの時間を劇的に短縮します。例えば、Blender MCPでメッシュを編集する場合。AIに「直径を0.3mm広げて」と指示しても。メッシュの頂点操作が正確に反映される保証はありません。つまり、OpenSCADなら変数の数値変更だけなので。意図した寸法が100%反映されます。


AIがOpenSCADコードを書く――3つのアプローチ

特に、OpenSCAD AI パラメトリック設計を実現するAIツールは。2026年3月時点で大きく3つのカテゴリに分かれます。

Claude Code + OpenSCAD MCPサーバー

Claude Codeは。MCPサーバーを介してOpenSCADを直接操作できます。jhacksman/openscad-mcp-server(GitHub公開)をインストールすると。Claude CodeのCLIまたはVS Code拡張から「ケーブルホルダーを作って」と指示するだけで。OpenSCADコードの生成、プレビュー画像の確認。STLファイルのエクスポートまでが自動化されます。加えて、VS Code拡張はGA済みで。/mcpコマンドからMCPサーバーの管理が可能です。

MCPサーバーの強みは「双方向通信」です。一方、Claude Codeが生成したコードをOpenSCADに送信し。レンダリング結果を受け取り、問題があれば自動修正するループが回ります。しかし、「この穴の位置がずれている」とフィードバックすれば、AIがコードを修正し。再レンダリング結果を確認して応答します。

第1回で解説したBlenderMCPの動作原理と同じ構造です。また、MCPプロトコルが「AIの手」をOpenSCADに伸ばし。テキスト指示だけでパラメトリックモデルを構築します。

Claude Proサブスクリプション($20/月、約3,000円)が必要ですが。MCPの統合深度は3ツール中最も高いです。さらに、複雑なパラメトリック設計で。AIとの対話的な修正を繰り返したい場合に最適です。

Cursor + OpenSCADファイル編集

Cursorは、.scadファイルをエディタ内で直接編集しながら。AIのインライン補完を活用するアプローチです。具体的には、Claude Codeのように外部ツールを「操作する」のではなく。エディタ内でコードを「書く」スタイルに最適化されています。

Cursorの強みは「コンテキスト認識」です。特に。既存のOpenSCADコードを開いた状態で「ここにM3ボルト穴を追加して」と指示すると。AIが既存コードの文脈(変数名、モジュール構造、座標系)を理解した上で。適切な位置にコードを挿入します。例えば、Tab補完の精度が高く。OpenSCADの関数名やパラメータを入力途中で正確に予測します。

Cursor Pro($20/月、約3,000円)が必要です。つまり、MCPによる外部ツール操作よりも。エディタ内でのコーディング体験を重視するユーザーに向いています。加えて、既にVS Codeを使い慣れている開発者であれば。学習コストはほぼゼロです。

OpenSCAD Studio / PromptSCAD

コミュニティが開発した専用ツールも注目に値します。一方、OpenSCAD Studioはウェブベースのエディタで。AIコパイロット機能を内蔵しています。しかし、ブラウザ上でOpenSCADコードを記述しながら。AIによる補完やコード生成を受けられます。ローカル環境のセットアップが不要なため、手軽に試せる点が魅力です。

PromptSCADは。自然言語のプロンプトからOpenSCADコードを生成するAI駆動ツールです。また、「直径30mm、高さ50mmの円筒に。上面から10mmの位置にM4貫通穴を4つ等間隔に配置」といった日本語の指示から。完成度の高いOpenSCADコードを出力します。

なお。Google Antigravityでも OpenSCADコードの生成は可能です。さらに、プリビルトMCPサーバーが統合されているため。MCPの手動設定なしでOpenSCADとの連携を試せます。具体的には。ただしOpenSCAD MCPとの統合成熟度ではClaude Codeが優位です。

これらのコミュニティツールは進化が速い反面。Claude CodeやCursorほどの安定性やサポート体制はありません。特に、メインツールとしてClaude CodeかCursorを使いつつ。補助的にAntigravityやOpenSCAD Studio。PromptSCADを活用する使い方が現実的です。


ハンズオン:AIでケーブルホルダーを設計する

ここからは実践です。OpenSCAD AI パラメトリック設計の手順を。ケーブルホルダーの設計を例に具体的に解説します。つまり、このケーブルホルダーは、デスク天板の縁にクリップで固定し。USBケーブルやLightningケーブルを整理する実用的なパーツです。

ステップ1:要件をAIに伝える

Claude Codeに以下のように指示します。

「デスク天板(厚み20mm)の縁にクリップで固定するケーブルホルダーをOpenSCADで設計してください。加えて、ケーブルは直径5mmを3本保持します。一方、パラメトリック設計にして、ケーブル径・本数・天板厚みを変数化してください。」

この指示に含まれる設計パラメータは以下の通りです。天板厚み20mm。ケーブル直径5mm。ケーブル本数3本。しかし、固定方式はクリップ式(天板を挟む)。

したがって、AIはこの指示を受け、パラメトリック変数を定義した上で。完全なOpenSCADコードを生成します。

ステップ2:生成されるコードの構造

AIが生成する典型的なコードは、以下の構造を持ちます。

冒頭のパラメータブロックで変数を宣言します。

// === パラメータ ===
cable_d = 5;          // ケーブル直径 (mm)
cable_n = 3;          // ケーブル本数
desk_t = 20;          // 天板厚み (mm)
wall = 2;             // 壁厚 (mm)
clip_gap = 0.3;       // クリップ隙間(印刷公差)
spacing = 3;          // ケーブル間スペース (mm)
slot_depth = 8;       // ケーブル差込溝の深さ (mm)

次にモジュール定義が続きます。OpenSCADでは module キーワードで再利用可能な部品を定義します。ケーブル穴のモジュール、クリップ部分のモジュール、本体のモジュール、それぞれが上記のパラメータを参照します。

module cable_slot(d, depth) {
    translate([0, 0, -1])
        cylinder(h = depth + 2, d = d + clip_gap * 2, $fn = 32);
}

さらに、本体は difference() で構成されます。外形の直方体からケーブル穴を difference() で切り抜き。天板を挟むクリップ部分を union() で結合します。

module holder() {
    total_w = cable_n * (cable_d + wall) + (cable_n - 1) * spacing + wall;
    difference() {
        // 外形ブロック
        cube([total_w, desk_t + wall * 2 + 5, slot_depth + wall]);
        // ケーブル穴をN本分繰り返し
        for (i = [0 : cable_n - 1]) {
            translate([wall + (cable_d + spacing) * i + cable_d / 2,
                       desk_t + wall * 2 + 5, wall])
                cable_slot(cable_d, slot_depth);
        }
        // 天板クリップの切り欠き
        translate([wall / 2, wall, -1])
            cube([total_w - wall, desk_t + clip_gap, slot_depth + wall + 2]);
    }
}

holder();

ステップ3:パラメータを変更して派生モデルを生成する

ここがパラメトリック設計の真骨頂です。さらに、生成されたコードの冒頭パラメータを変更するだけで。用途別のバリエーションを量産できます。

例えば、USBケーブル用(直径5mm×3本)がベースモデルです。LANケーブル用にするなら cable_d = 7; に変更します。充電ケーブル5本用にするなら cable_n = 5; に変更します。天板が厚い場合は desk_t = 25; に変更します。

各変更はコード内の1行だけの書き換えです。つまり、モデル全体が自動的に再計算され。新しいSTLを即座にエクスポートできます。加えて、Blenderで同じことをしようとすれば、メッシュの頂点を手動で移動し。穴の位置を再計算し、クリップ部分のサイズを調整する必要があります。パラメータ1つの変更で15分、5つの派生モデルを作れば1時間以上の作業です。OpenSCADなら5分で終わります。

ステップ4:印刷前のチェックポイント

最終的に、AIが生成したOpenSCADコードは、印刷前に以下の項目を確認してください。

壁厚の確認として。wall パラメータが使用するノズル径の2倍以上であることを確認します。0.4mmノズルなら wall = 2;(=0.4mm × 5ライン)で十分な強度が得られます。

クリップの公差として、clip_gap パラメータが適切であることを確認します。しかし、PLA素材の場合、0.2〜0.4mmが一般的です。また、きつすぎると天板に入らず、緩すぎると固定力が不足します。最初は0.3mmで印刷し、フィット感を確認して調整するのがベストです。

オーバーハングとして。ケーブル穴の上部が45度以上のオーバーハングにならないことを確認します。さらに、円形の穴は天井部分が180度のオーバーハングになるため。印刷方向の工夫(穴を上向きに配置しない)が必要です。

STL出力は。OpenSCADのメニューから「Export as STL」を選択するか。コマンドラインで openscad -o output.stl input.scad を実行します。具体的には。Claude Code + OpenSCAD MCPを使っている場合は。「STLに書き出して」と指示するだけで自動的にエクスポートされます。


Blender MCPとの比較――どちらをいつ使うか

第2回のBlender MCP入門で解説したBlenderMCPベースのモデリングと。OpenSCAD AI パラメトリック設計は、根本的に異なるアプローチです。特に、両者を正しく使い分けることで。AI × 3Dプリントの可能性を最大限に引き出せます。

設計思想の違い

BlenderMCPは「メッシュベース」のモデリングです。例えば、頂点・辺・面で構成される三角形メッシュを操作し、形状を構築します。有機的な曲面、キャラクターモデル、スカルプチャー的な造形に強いです。一方、寸法の正確な制御は苦手です。「この辺を正確に25.4mmにして」という指示は。メッシュの頂点座標変換で近似的にしか実現できません。

OpenSCADは「CSG(Constructive Solid Geometry)ベース」のモデリングです。つまり、基本図形(立方体、球、円筒)をブーリアン演算で組み合わせ。形状を構築します。加えて、寸法は数値で正確に指定でき、パラメトリック変数で管理できます。機能パーツ、治具、ケースのように「寸法が命」の設計に最適です。

修正フローの違い

Blender MCPで「穴の直径を5mmから7mmに変更して」と指示した場合。AIはメッシュの頂点を選択し、移動させ。周辺の面との整合性を保つ操作を実行する必要があります。一方、この操作は確率的であり、正確に2mm大きくなる保証はありません。しかし、結果をプレビューで確認し、必要に応じて再修正する往復が発生します。

OpenSCADで同じ修正を行う場合は。cable_d = 5; を cable_d = 7; に書き換えるだけです。また、再計算は決定論的であり、結果は常に正確です。確認の往復は不要です。

使い分けガイド

用途に応じた推奨を整理します。

設計対象推奨ツール理由
ケーブルホルダー、スタンド、治具OpenSCAD + AI寸法精度が重要。パラメトリック変数で派生品量産
スマホケース、カバー類OpenSCAD + AI端末寸法に合わせた精密なフィットが必要
フィギュア、装飾品Blender MCP有機的曲面が必要。寸法精度より造形美を優先
花瓶、ランプシェードBlender MCP自由曲面のデザインが主役
ギアボックス、ジョイントOpenSCAD + AI噛み合い精度が重要。公差管理をパラメータで制御
壁掛けフック、ブラケットOpenSCAD + AI荷重計算と寸法精度の両立が必要

両者は競合関係ではなく、補完関係にあります。さらに、Blender MCPでコンセプトモデルを作り、形状の方向性を固めた後。OpenSCADで寸法を正確に定義し直す、というワークフローも有効です。


実践テクニック:AIに良いOpenSCADコードを書かせるプロンプト術

OpenSCAD AI パラメトリック設計の品質は。AIへの指示(プロンプト)の質に大きく依存します。具体的には、効果的なプロンプトのパターンを紹介します。

パターン1:パラメータを明示的にリスト化する

良い指示の例を示します。特に。「以下のパラメータを変数化したケーブルホルダーをOpenSCADで設計してください。ケーブル直径: 5mm。ケーブル本数: 3。壁厚: 2mm。天板厚み: 20mm。クリップ公差: 0.3mm。」

避けるべき指示の例も示します。例えば、「ケーブルホルダーを作ってください。つまり、」この曖昧な指示では、AIが寸法を推測するため。意図しないサイズのモデルが生成されます。

パターン2:モジュール分割を指示する

「各部品をmoduleで分割してください。加えて、cable_slot、clip_body。main_holderの3モジュール構成にしてください。一方、」と指示すると、AIは再利用しやすい構造のコードを生成します。モジュール化されていないモノリシックなコードは、後からの修正が困難になります。

パターン3:印刷条件を伝える

「FDMプリンター(ノズル径0.4mm。積層ピッチ0.2mm)で印刷する前提で設計してください。しかし、最小壁厚は0.8mm以上。オーバーハング角度は45度以内に収めてください。また、」と伝えると、AIが印刷可能な形状を意識してコードを生成します。

パターン4:出力フォーマットを指定する

「コード冒頭にパラメータブロックをまとめ。各パラメータにコメントで単位と説明を記載してください。さらに、$fn(円の滑らかさ)はプレビュー用に32。最終レンダリング用に64を切り替えられるようにしてください。具体的には、」と指示すると、保守性の高いコードが生成されます。

これらのパターンを組み合わせることで。AIが生成するOpenSCADコードの品質が大幅に向上します。特に「パラメータの明示的リスト化」は、パラメトリック設計の根幹であり。必ず指示に含めるべきです。


OpenSCADのコマンドライン活用――バッチ処理で量産する

OpenSCADの隠れた強みとして。コマンドラインインターフェース(CLI)があります。特に、GUIを起動せずに、ターミナルからSTLを生成できます。

openscad -o cable_holder_5mm.stl -D "cable_d=5" cable_holder.scad
openscad -o cable_holder_7mm.stl -D "cable_d=7" cable_holder.scad
openscad -o cable_holder_9mm.stl -D "cable_d=9" cable_holder.scad

-D オプションでパラメータを外部から注入できるため。1つの.scadファイルから寸法違いのSTLを一括生成できます。例えば、Claude Codeに「5mm、7mm。9mmの3バリエーションをバッチ生成して」と指示すれば。AIがこのコマンドを自動実行し、3つのSTLファイルを出力します。

この仕組みは、3Dプリントの「量産」と相性が抜群です。つまり、たとえば、家庭内のすべてのケーブルに合わせたホルダーを一度に生成し。Bambu Lab A1 mini(¥29,800)のビルドプレートに並べて一括印刷する。というワークフローが実現します。加えて、パラメトリック設計とCLIバッチ処理の組み合わせは。メッシュベースのBlenderモデリングでは到達できない生産性を提供します。


環境構築ガイド:OpenSCAD + AI ツールのセットアップ

OpenSCAD AI パラメトリック設計を始めるための環境構築手順を。ツール別に整理します。

共通:OpenSCADのインストール

OpenSCAD公式サイト(https://openscad.org/downloads.html)から。使用OSに対応したインストーラーをダウンロードします。Windowsは.msi、macOSは.dmg。Linuxはsnapパッケージまたはフラットパックが利用可能です。インストール後。ターミナルから openscad –version でバージョンを確認してください。

Claude Code + OpenSCAD MCP構成

まず、Proサブスクリプション($20/月、約3,000円)を契約します。次に、Codeをインストールします。しかし、CLIでもVS Code拡張でも利用可能です。また。次にjhacksman/openscad-mcp-serverをGitHubからクローンし。設定ファイルにMCPサーバーを登録します(VS Code拡張では/mcpコマンドから設定可能)。セットアップ完了後、「OpenSCADでテストモデルを作って」と指示し。正常にコード生成とプレビューが行われることを確認します。所要時間は約20〜30分です。

Cursor構成

まず、Pro版($20/月、約3,000円)を契約します。次に、エディタをインストールします。さらに、OpenSCADの.scadファイルをCursorで開くと。AIのコード補完が自動的に有効になります。具体的には。Cursorの設定で「OpenSCAD」をファイルタイプとして認識させるため。拡張子の関連付けを確認してください。所要時間は約10〜15分です。

ウェブベース構成(セットアップ不要)

OpenSCAD Studio(https://zacharyfmarion.github.io/openscad-studio/)にブラウザでアクセスするだけで利用を開始できます。ローカル環境のセットアップが一切不要なため、「まず試してみたい」場合に最適です。特に、ただし、オフライン利用やCLIバッチ処理はできません。


まとめ:パラメトリック設計がもたらす「設計の自由」

OpenSCAD AI パラメトリック設計は。3Dプリントにおける「寸法変更の苦痛」を根本から解消します。例えば、コードベースCADの特性をAIが増幅し。自然言語の指示から正確な寸法のパラメトリックモデルを生成できる時代が到来しました。

本記事のポイントを整理します。つまり、OpenSCADはコードで3Dモデルを記述する無料CADであり。パラメトリック設計に最適です。加えて、AIツール(Claude Code、Cursor)と組み合わせることで。自然言語からパラメトリックコードを生成できます。変数の書き換えだけで寸法違いのバリエーションを即座に量産でき。CLIバッチ処理で大量のSTLを一括生成できます。Blender MCPとは補完関係にあり。「寸法精度重視の機能パーツはOpenSCAD。有機的造形はBlender」という使い分けが最適です。

CLIバッチ処理の活用

次に取るべきアクションを提案します。

まずOpenSCADをインストールし。公式チートシート(https://openscad.org/cheatsheet/)でcube。cylinder、differenceの3つの基本操作を試してください。所要時間は15分です。

次に。Claude CodeまたはCursorで「ケーブルホルダーをOpenSCADでパラメトリック設計して」と指示してみてください。本記事のプロンプト術を参考に、パラメータを明示的に指定するのがポイントです。

生成されたSTLをBambu Lab A1 mini等のプリンターで印刷し。フィット感を確認したら、パラメータを微調整して再印刷します。一方、このフィードバックループの速さに。パラメトリック設計の価値を実感するはずです。

明日のシリーズ最終回(第7回)では。Thingiverseの既存モデルをAIで「自分仕様」にカスタマイズする方法と。Creative Commonsライセンスの注意点を解説します。第1回のAIコーディングツール概要から読み進めてきた方は。すでにBlender MCPとOpenSCADの両方のスキルを手に入れています。また、最終回でカスタマイズ技術を習得すれば。「ダウンロード→そのまま印刷」の時代は完全に終わります。

ABOUT ME
swiftwand
swiftwand
AIを使って、毎日の生活をもっと快適にするアイデアや将来像を発信しています。 初心者にもわかりやすく、すぐに取り入れられる実践的な情報をお届けします。 Sharing ideas and visions for a better daily life with AI. Practical tips that anyone can start using right away.
記事URLをコピーしました