「設計通りに出力したのに、0.3mm足りない」の正体
3Dプリンターで精密部品を出力して、ノギスで測ってみたら…微妙にサイズが小さい。嵌合させようとしたら入らない。ケースの蓋がパカパカ。この「あと少し」のズレこそ、フィラメントの熱収縮が引き起こす寸法誤差だ。
この計算機は、材料を選んで設計寸法を入れるだけで、収縮を見込んだ補正寸法とスライサー用のスケール倍率を X/Y/Z 軸ごとに一発で算出する。アニール処理を加える場合の二段階補正にも対応している。
なぜ3Dプリント収縮率補正計算機を作ったのか
開発のきっかけ
PLAで設計した嵌合ジョイントが、毎回 0.2〜0.4mm ほど小さく仕上がる。スライサーの「XY寸法補正」をいじってみたものの、Z方向は別パラメータだし、材料を変えると値が全然違う。ABS に切り替えたら反りと収縮のダブルパンチで、もう手計算では追いきれなくなった。
さらに PLA をアニールして耐熱化しようとしたら、一気に 5〜8% も縮んで設計が台無しに。アニール前提の補正を加味しつつ、軸ごとの異方性も考慮できるツールが欲しい — そう思って作ったのがこの計算機だ。
こだわった設計判断
異方性を分離したことが最大のポイント。FDM方式ではXY方向(ノズルの走査面)とZ方向(積層方向)で収縮率が異なる。多くの簡易ツールは「収縮率」を1つの値で扱うが、このツールはXYとZを独立して入力できる。
もう一つはアニール二段階補正。印刷時の収縮とアニール時の収縮は発生メカニズムが違うため、合算ではなく加算で扱う設計にした。PLAのアニールでは 5〜15% の追加収縮が発生するため、この機能がないと精密部品は作れない。
3Dプリントの収縮とは何か — 熱収縮のメカニズムを第一原理から
熱可塑性樹脂と温度変化の関係
FDM(熱溶解積層)方式の3Dプリンターは、フィラメントを200〜260°C前後まで加熱して溶融し、ノズルから押し出して積層していく。この溶けた樹脂が常温(約25°C)まで冷却される過程で、分子鎖が再配列して体積が縮む。これが熱収縮だ。
身近なたとえで言えば、熱湯を注いだカップ麺の容器がわずかに変形するのと同じ原理。高温で柔らかくなったプラスチックが冷めると元のサイズよりわずかに縮む。3Dプリントでは層ごとにこの収縮が積み重なるため、最終的な寸法誤差として顕在化する。
3Dプリンター 収縮率の材料別傾向
| 材料 | XY収縮率 | Z収縮率 | 特徴 |
|---|---|---|---|
| PLA | 0.2-0.5% | 0.3-0.6% | 低収縮だがアニールで大幅に縮む |
| ABS | 0.5-1.0% | 0.6-1.2% | 反りが出やすく寸法管理が難しい |
| PETG | 0.3-0.6% | 0.4-0.7% | PLAに次ぐ低収縮で初心者向け |
| ナイロン | 1.0-2.0% | 1.5-2.5% | 吸湿による膨張も要注意 |
| PP | 1.0-2.5% | 1.5-3.0% | 射出成形に近い高収縮率 |
参考: RepRap Wiki - Filament properties
異方性収縮 — なぜXYとZで収縮率が違うのか
FDM方式の特性として、XY方向はノズルが樹脂を引き延ばす方向、Z方向は層同士が融着する方向になる。Z方向では層間の融着不良や気泡が入りやすく、冷却時の収縮も大きくなる傾向がある。
XY方向: ノズル走査面(引き延ばし方向)→ 収縮率 小
Z方向: 積層方向(層間融着方向) → 収縮率 大
この異方性を無視して一律のスケール補正をかけると、XY方向は過補正、Z方向は補正不足になり、嵌合部品の精度がガタ落ちになる。
アニールによる追加収縮
PLAの耐熱性を上げるために行うアニール処理(60〜80°Cで1〜2時間加熱)では、非晶質だったPLA分子が結晶化し、さらに体積が収縮する。この収縮は印刷時の熱収縮とは別のメカニズムで発生するため、二段階で補正する必要がある。
寸法精度が重要な理由 — 嵌合不良で設計をやり直すコスト
0.3mmの誤差が組立を不可能にする
3Dプリントの嵌合部品で最もよくある失敗は「穴にシャフトが入らない」ケース。設計上は φ10mm の穴に φ9.9mm のシャフトを通すつもりが、収縮で穴が φ9.7mm に縮み、物理的に挿入できない。
再印刷のコストは材料費だけではない。印刷時間(大型部品で数時間〜十数時間)、試行錯誤の工数、プロジェクト全体のスケジュール遅延が積み重なる。特に受注品やプロトタイプの場合、1回の再印刷が数千円〜数万円のロスになることもある。
材料ごとの寸法管理の難しさ
ABS は反りが大きいため、収縮率だけでなくビルドプレートからの剥離やエンクロージャの温度管理も影響する。ナイロンは吸湿すると膨張するため、保管状態によって出力寸法が変わるという厄介な特性がある。材料ごとの特性を数値で把握し、補正に反映することが寸法管理の基本になる。
参考: Simplify3D - Print Quality Troubleshooting Guide
収縮補正が活躍する場面
精密嵌合部品の設計
ベアリングホルダー、ギアのシャフト穴、スナップフィットなど、0.1mm単位の精度が求められる部品。収縮を見込んだ補正寸法で設計すれば、後加工なしで嵌合できる。
3Dプリント治具・固定具の製作
生産ラインで使う位置決め治具は、ワークとの隙間が大きすぎると位置精度が出ない。PLAやPETGで低コストに治具を量産する場合、収縮補正は必須の工程になる。
アニール前提の耐熱部品
PLA部品を自動車のダッシュボードやLED照明の近くで使う場合、アニールで耐熱温度を引き上げる。この際の追加収縮を織り込んで設計しないと、組立後に隙間が生じる。
マルチマテリアル組み合わせ
PLA製のフレームにTPU製のパッキンを嵌め込むような構成では、材料ごとに収縮率が違うため、それぞれ個別に補正をかける必要がある。
基本の使い方
材料を選んで寸法を入れるだけの3ステップ。
Step 1: 材料を選択する
プルダウンから使用するフィラメント材料を選ぶ。PLA・ABS・PETG・TPU・ナイロン・PC・PP・ASAの8材料に対応。選択すると収縮率が自動で入力される。手動で値を変更することもできるので、実測値がある場合はそちらを使ってみて。
Step 2: 設計寸法を入力する
CADで設計したX(幅)・Y(奥行)・Z(高さ)の寸法をmm単位で入力。アニール処理を行う場合はトグルをONにして追加収縮率を設定する。
Step 3: 補正結果を確認する
補正後の寸法とスケール倍率が即座に表示される。スケール倍率はスライサーのXY/Zスケール設定にそのまま入力できる。「結果をコピー」ボタンで全データをクリップボードに取得可能。
具体的な使用例 — 6ケースで検証
ケース1: PLA嵌合ジョイント(基本)
φ10mmの穴にφ9.9mmのピンを通す設計。
入力値:
- 材料: PLA(XY: 0.3%, Z: 0.4%)
- X: 10mm, Y: 10mm, Z: 20mm
計算結果:
- 補正後X: 10.03mm, Y: 10.03mm, Z: 20.08mm
- XYスケール: ×1.0030
→ 解釈: XY方向で約0.03mmの補正。嵌合クリアランス0.1mmが確保でき、スムーズに挿入できる寸法になる。
ケース2: ABSケース(反り対策込み)
スマホサイズのケース(150×75×10mm)をABSで印刷。
入力値:
- 材料: ABS(XY: 0.7%, Z: 0.8%)
- X: 150mm, Y: 75mm, Z: 10mm
計算結果:
- 補正後X: 151.06mm, Y: 75.53mm, Z: 10.08mm
- XYスケール: ×1.0070
→ 解釈: 長辺で1mmを超える補正が必要。ABSの反り対策としてエンクロージャ使用も推奨。
ケース3: ナイロン歯車(高収縮)
モジュール1の小型歯車(φ30×10mm)をナイロンで印刷。
入力値:
- 材料: ナイロン(XY: 1.5%, Z: 2.0%)
- X: 30mm, Y: 30mm, Z: 10mm
計算結果:
- 補正後X: 30.46mm, Y: 30.46mm, Z: 10.20mm
- XYスケール: ×1.0152
→ 解釈: ナイロンは収縮率が大きく、φ30mmで0.46mmの補正。歯車のバックラッシュ設計に直接影響する。
ケース4: PLAアニール処理(二段階補正)
PLA部品(50×50×20mm)をアニールして耐熱化。
入力値:
- 材料: PLA(XY: 0.3%, Z: 0.4%)
- アニール補正: ON(追加5.0%)
- X: 50mm, Y: 50mm, Z: 20mm
計算結果:
- 補正後X: 52.80mm, Y: 52.80mm, Z: 21.15mm
- XY合計収縮率: 5.30%, Z合計収縮率: 5.40%
- XYスケール: ×1.0560
→ 解釈: アニール込みだとXY方向で2.8mmも大きく作る必要がある。アニール無しの10倍近い補正量になる点に注意。
ケース5: TPUフレキシブルカバー
スマートウォッチ用のTPUカバー(45×40×5mm)。
入力値:
- 材料: TPU(XY: 1.0%, Z: 1.5%)
- X: 45mm, Y: 40mm, Z: 5mm
計算結果:
- 補正後X: 45.45mm, Y: 40.40mm, Z: 5.08mm
- XYスケール: ×1.0101
→ 解釈: TPUは弾性体なので多少の誤差は変形で吸収できるが、フィット感を重視するなら補正しておくと良い。
ケース6: PP容器(高収縮材料)
食品保存容器(120×80×60mm)をPPで印刷。
入力値:
- 材料: PP(XY: 1.5%, Z: 2.0%)
- X: 120mm, Y: 80mm, Z: 60mm
計算結果:
- 補正後X: 121.83mm, Y: 81.22mm, Z: 61.22mm
- XYスケール: ×1.0152
→ 解釈: PPは射出成形でも収縮が大きい材料。蓋との嵌合がある場合、蓋も同じ補正率で設計すること。
仕組み・アルゴリズム — 補正式の導出と計算フロー
候補手法の比較
方法A: 加算補正 — 設計寸法に収縮量を足す
補正寸法 = 設計寸法 × (1 + 収縮率/100)
方法B: 逆算補正(採用) — 収縮後に設計寸法になるよう逆算する
補正寸法 = 設計寸法 / (1 - 収縮率/100)
方法Aは近似計算で、収縮率が小さい場合(< 1%)は十分な精度を持つ。しかし、アニールで5〜15%もの収縮が発生する場合、近似誤差が無視できなくなる。方法Bは厳密解で、収縮率の大小に関わらず正確な結果を返す。
異方性モデル
XY方向(ノズル走査面)とZ方向(積層方向)で収縮率を分離:
scaleXY = 1 / (1 - shrinkXY / 100)
scaleZ = 1 / (1 - shrinkZ / 100)
compensatedX = designX × scaleXY
compensatedY = designY × scaleXY
compensatedZ = designZ × scaleZ
X軸とY軸は同じノズル走査面にあるため同一のscaleXYを適用し、Z軸のみ別のscaleZを適用する。
アニール二段階補正の計算例
PLA(XY: 0.3%, Z: 0.4%)+アニール(5.0%)で設計寸法100mmの場合:
合計収縮率XY = 0.3 + 5.0 = 5.3%
scaleXY = 1 / (1 - 5.3/100) = 1 / 0.947 = 1.0560
補正後寸法 = 100 × 1.0560 = 105.60mm
差分 = +5.60mm
参考: All3DP - How to Anneal PLA
なぜ逆算方式を選んだか
加算方式(×(1+r))と逆算方式(÷(1-r))の差は、収縮率が小さいときは微小だ。しかしPLAアニール(5%超)やナイロン(2%)では、加算方式だと補正後の寸法がまだ足りないケースが発生する。逆算方式なら「この寸法で印刷→収縮後にぴったり設計寸法になる」ことが数学的に保証される。
既存の収縮補正ツールとの違い
異方性収縮に対応している
多くのオンライン補正ツールは収縮率を1つの値しか入力できない。このツールはXY方向とZ方向を分離して入力できるため、FDM特有の異方性を正確に反映できる。
アニール二段階補正
印刷時の収縮とアニール時の収縮を個別に設定できる。PLAのアニールが一般化しつつある現在、この機能は実用上の差別化ポイントになっている。
スライサー直接入力対応
結果にスケール倍率を表示するため、Cura・PrusaSlicer・Bambu Studioなどのスライサーの「スケール」設定にそのまま入力できる。わざわざ補正寸法からパーセンテージを逆算する手間がない。
3Dプリントの収縮にまつわる豆知識
射出成形との収縮率比較
射出成形では材料ごとの収縮率が JIS K 7152 などで規格化されており、金型設計に組み込まれている。ABS の射出成形収縮率は 0.4〜0.7% 程度で、実は FDM 印刷時とほぼ同じ範囲。違いは射出成形では金型が収縮を均一に拘束するのに対し、FDM では拘束がないため歪みが出やすい点だ。
参考: JIS K 7152-4:2005 プラスチック成形収縮率
環境温度と収縮の関係
印刷室の温度が10°C違うだけで、ABSの収縮率は0.1〜0.2%変動する。冬場の暖房なしの部屋と夏場のエアコン稼働中では、同じ設定でも出力寸法が異なる。エンクロージャ(囲い)を使って印刷室温度を安定させることが、再現性の高い寸法管理の第一歩になる。
精度を上げるためのTips
テストピースを印刷して実測値を使う
プリセット値はあくまで一般的な目安。最も確実なのは、20×20×20mmのテストキューブを印刷してノギスで実測し、その収縮率を手入力する方法。材料ロットやプリンター個体差を吸収できる。
ノギスの当て方で0.1mm変わる
デジタルノギスでも、挟み方や測定箇所によって0.05〜0.1mmの誤差が出る。同じ箇所を3回測定して平均を取り、部品の複数箇所(上部・中央・下部)で測定するのが正確な測り方。
スライサーのスケール設定を活用する
補正寸法でCADを修正する代わりに、スライサーのXY/Zスケール設定にスケール倍率を入力する方法もある。CADデータを汚さずに収縮補正できるため、設計変更が多い試作段階ではこちらが便利。
よくある質問
Q: プリセットの収縮率と実際の値が違う場合はどうすれば?
プリセット値は一般的な目安のため、プリンターやフィラメントメーカーによって異なる。テストキューブ(20×20×20mm)を印刷してノギスで実測し、得られた収縮率を手動で入力するのが最も正確な方法だ。
Q: XY方向の収縮率を分けて入力できないのはなぜ?
FDM方式ではXとYは同じノズル走査面にあり、収縮率の差は通常0.05%以下。分離するメリットより、入力の複雑さが上回るため、XY統合の設計にしている。SLA/DLP方式でXY分離が必要な場合は、X寸法とY寸法を別々に計算すれば対応できる。
Q: アニール収縮率の目安は?
PLAのアニール(60-80°C、1-2時間)では5-15%程度の追加収縮が発生する。温度が高いほど、時間が長いほど結晶化が進み収縮量も増える。最初は5%で試し、実測結果を見て調整するのがおすすめ。ABS・PETGなどはアニール不要な場合が多い。
Q: 入力したデータはどこかに送信される?
すべての計算はブラウザ内(JavaScript)で完結しており、入力データがサーバーに送信されることはない。ページを閉じればデータは消える。
Q: 穴径の補正はどうすれば?
穴はFDM方式で特に収縮しやすい。このツールで算出した補正寸法に加えて、穴径には+0.1〜0.2mmの追加クリアランスを設けるのが実務的なコツ。将来的に穴径個別補正機能の追加も検討している。
まとめ
3Dプリントの寸法精度は、材料の収縮特性を理解して適切に補正することで大幅に改善できる。この計算機なら、材料を選んで寸法を入力するだけで異方性とアニールを考慮した補正値がすぐ手に入る。
精密な嵌合部品を作るなら、まずテストキューブで実測して、その値をこのツールに入力してみて。
3Dプリントのコスト感が気になった人は3Dプリントコスト計算機も試してみて。
不具合や要望があれば、X (@MahiroMemo)から気軽に教えて。