Skip to content
Published on

3Dプリンターモデリング完全ガイド — Fusion 360からスライサー、出力まで

Authors
  • Name
    Twitter
3D Printing Guide

はじめに

3Dプリンターはアイデアを物理的なオブジェクトに変えるツールです。Arduinoケース、ドローン部品、キーキャップ、フィギュア——想像したものを作ることができます。この記事ではモデリングから出力まで全工程を整理します。

3Dプリンターの種類

FDM vs SLA vs SLS

項目FDMSLA(レジン)SLS
原理フィラメントを溶かして積層UVでレジンを硬化レーザーで粉末を焼結
解像度100〜400μm25〜100μm80〜120μm
材料PLA、PETG、ABS、TPUUVレジンナイロン、PA12
価格(入門)2〜5万円3〜6万円50万円以上
後処理サポート除去、ヤスリ洗浄+後硬化が必須粉末除去
用途ケース、部品、試作品フィギュア、ジュエリー、歯科産業部品、少量生産
おすすめ機種Bambu Lab A1 miniElegoo Saturn 4-(産業用)

FDMフィラメント比較

フィラメント温度ベッド強度特徴
PLA190〜220°C60°C中程度最も簡単、環境に優しい、臭い少ない
PETG220〜250°C80°C高い耐薬品性、透明可能、実用的
ABS230〜260°C100°C高い耐熱性、収縮大、換気必須
TPU210〜230°C50°C柔軟ゴムのように柔軟、スマホケース
ASA240〜260°C100°C高い紫外線耐性、屋外使用

Part 1:Fusion 360モデリング

基本ワークフロー

1. Sketch(2D図面)
   ├── Rectangle、Circle、Line
   ├── Dimension(寸法拘束)
   └── Constraint(水平、垂直、対称)

2. 3D変換
   ├── Extrude(押し出し):2Dに3D高さを付与
   ├── Revolve(回転):2Dを軸中心に回転
   ├── Loft(ロフト):2つのプロファイル間を接続
   └── Sweep(スイープ):パスに沿ってプロファイルを移動

3. 修正
   ├── Fillet(フィレット):角を丸める
   ├── Chamfer(面取り):角を削る
   ├── Shell(シェル):中を空にする
   ├── Mirror(ミラー):反対側に複製
   └── Pattern(パターン):円形/直線の繰り返し

4. エクスポート
   └── STLまたは3MF(スライサー用)

Arduinoケース作成例

Fusion 360の手順:
1. 新規スケッチ(XY平面)
2. Rectangle:70mm × 55mm(Arduino Unoサイズ+余裕)
3. Extrude:25mm高さ
4. Shell:壁厚2mm(上面開放)
5. スケッチ(内壁):USBポート穴(12mm × 11mm)
6. Extrude Cut:USB穴を貫通
7. スケッチ(底面):マウント穴4つ(M3、φ3.2mm)
8. Extrude Cut:穴を貫通
9. Fillet:外部エッジ3mm
10. フタ:新規Body → スケッチ72mm × 57mm → Extrude 2mm
    → 内部突起1.5mm(はめ込み式)
11. ExportSTL(High Resolution)

3Dプリント設計ルール

設計ルール(FDM基準):
├── 最小壁厚:1.2mm(ノズル0.4mm × 3ライン)
├── 最小穴径:2mm
├── はめ込み公差:+0.20.3mm(きつめ:+0.1mm)
├── ネジ穴:-0.2mm(M3 = φ2.8mmでモデリング)
├── オーバーハング:45°以下(サポート不要)
├── ブリッジ:最大50mm(サポート不要)
├── 最小ディテール:0.4mm(ノズル径)
├── テキスト突出:最小0.6mm
├── スナップフィット:フック1mm+ギャップ0.3mm
└── 45°ルール:45°以上の傾き → サポートが必要

Part 2:OpenSCAD(コードで3Dモデリング)

// 開発者に最適!コードで3Dモデルを生成

// Arduinoケース(パラメトリック)
board_w = 68.6;  // Arduino Unoサイズ
board_h = 53.3;
board_d = 15;    // 部品高さ

wall = 2;        // 壁厚
clearance = 0.5; // はめ込み公差

// 本体
difference() {
    // 外部ボックス
    rounded_box(
        board_w + wall*2 + clearance*2,
        board_h + wall*2 + clearance*2,
        board_d + wall,
        r = 3
    );
    // 内部空間
    translate([wall, wall, wall])
        cube([board_w + clearance*2, board_h + clearance*2, board_d + 1]);
    // USBポート穴
    translate([-1, wall + 10, wall + 3])
        cube([wall + 2, 12, 11]);
    // 電源ジャック穴
    translate([-1, wall + 30, wall + 2])
        cube([wall + 2, 10, 12]);
}

// M3マウント穴
mount_positions = [[14, 2.5], [15.3, 50.7], [66.1, 7.6], [66.1, 35.6]];
for (pos = mount_positions) {
    translate([pos[0] + wall + clearance, pos[1] + wall + clearance, 0])
        cylinder(d = 3.2, h = wall, $fn = 20);
}

// モジュール:丸角ボックス
module rounded_box(w, h, d, r) {
    hull() {
        for (x = [r, w-r], y = [r, h-r])
            translate([x, y, 0]) cylinder(r = r, h = d, $fn = 30);
    }
}

// CLIでSTL生成:
// openscad -o case.stl case.scad
OpenSCADコア文法:
├── cube([x,y,z])         — 直方体
├── cylinder(d, h)        — 円柱
├── sphere(r)             — 球
├── translate([x,y,z])    — 移動
├── rotate([x,y,z])       — 回転
├── scale([x,y,z])        — スケール
├── difference()A - B(引き算)
├── union()A + B(合体)
├── intersection()AB(交差)
├── hull()                — 凸包
├── linear_extrude(h)     — 2D → 3D押し出し
└── rotate_extrude()      — 2D → 3D回転

Part 3:スライサー設定

主要パラメータ

Cura / PrusaSlicer 共通設定:

レイヤー高さ:
├── 0.12mm:高品質(遅い、フィギュア用)
├── 0.20mm:標準(一般部品)
├── 0.28mm:超高速(試作品、テスト)
└── ルール:ノズル径の2575%0.4mmノズル → 0.10.3mm)

/上下厚:
├── 壁ライン数:341.21.6mm)
├── 上/下レイヤー:450.81.0mm)
└── 強度が必要なら壁を増やす

インフィル(充填):
├── 1015%:装飾用(弱い)
├── 2030%:一般部品(標準)
├── 4060%:機械部品(強い)
├── 100%:ソリッド(最強、遅い)
└── パターン:Grid(標準)、Gyroid(強度/柔軟性)、Lightning(高速)

サポート:
├── オーバーハング角度:45°(デフォルト)
├── サポート密度:1015%(デフォルト)
├── サポートZ距離:0.2mm(除去しやすい)
└── ツリーサポート:複雑なモデルにおすすめ

速度:
├── 外壁:30〜50mm/s(品質)
├── 内壁:60〜80mm/s
├── インフィル:80〜150mm/s(速度)
├── 移動:150〜250mm/s
└── Bambu Lab:300mm/s以上(加速度20000mm/s²)

温度:
├── PLA:ノズル200°C、ベッド60°C
├── PETG:ノズル235°C、ベッド80°C
├── ABS:ノズル245°C、ベッド100°C(エンクロージャー必須!)
└── 最初のレイヤー:+5°C、速度50%(定着力)

G-codeの基礎

; 3Dプリンターの命令 = G-code
G28           ; ホームポジション(原点)
G29           ; オートレベリング
M104 S200     ; ノズル温度200°C設定
M140 S60      ; ベッド温度60°C設定
M109 S200     ; ノズル温度到達まで待機
M190 S60      ; ベッド温度到達まで待機

G1 X50 Y50 F3000  ; X50 Y50に移動(3000mm/min)
G1 Z0.2 F300      ; Z 0.2mm(最初のレイヤー高さ)
G1 X100 E10 F1500 ; X100に移動しながら10mm押し出し
G1 Y100 E20       ; Y100に移動しながら追加押し出し

M106 S128     ; ファン50%(0〜255)
M84           ; モーター無効化
M104 S0       ; ノズルヒーターオフ

トラブルシューティング

問題 → 原因 → 解決:

最初のレイヤーが定着しない:
  → ベッドレベリング / ノズルが高すぎる
Zオフセットを下げる、ベッド温度を上げる、接着剤を使用

糸引き(Stringing):
  → リトラクション不足
  → リトラクション距離6mm以上、速度40mm/s以上、温度を下げる

レイヤー剥離(分離):
  → レイヤー接着不良
  → 温度を上げる、ファン速度を下げる、エンクロージャーを使用

エレファントフット:
  → 最初のレイヤーの押し付けすぎ
Zオフセットを上げる、最初のレイヤーフロー90%

詰まり(Clogging):
  → ヒートクリープ / 不純物
  → コールドプル、ノズル交換、PTFEチューブ点検

クイズ — 3Dプリンターモデリング(クリックして確認!)

Q1. FDMとSLAの主な違いは? ||FDM:フィラメントを溶かして積層(100〜400μm)、低価格、大型出力可能。SLA:UVでレジンを硬化(25〜100μm)、高解像度、フィギュア・歯科用。FDMは機能部品、SLAは精密モデル向き||

Q2. レイヤー高さ0.12mmと0.28mmのトレードオフは? ||0.12mm:高品質、レイヤーラインが見えない、出力時間2.3倍。0.28mm:高速、レイヤーラインが見える、強度はほぼ同等。ノズル径(0.4mm)の25〜75%の範囲||

Q3. オーバーハング45°ルールとは? ||45°以上傾いた面は下の支えなく空中に出力されるため垂れが発生。45°以下なら前のレイヤーが十分に支持。45°超過時はサポートが必要||

Q4. OpenSCADのdifference、union、intersectionの違いは? ||difference:AからBを引く(穴)。union:AとBを合体。intersection:AとBの交差部分のみ残す。CSG(Constructive Solid Geometry)方式||

Q5. インフィルパターンでGyroidが優れている理由は? ||全方向に均一な強度、柔軟性、レジン・水の排出可能(非ソリッド)。Gridに比べて等方性強度が優れ、印刷中の振動も少ない||