すべての記事

2026年9月9日

STLファイルは壊れていないか?穴、non-manifoldエッジなどのメッシュエラーを診断する

0 閲覧数まだ評価がありません· 評価するにはログインしてください
ハンディタイプのVIUscan 3Dレーザースキャナーが小さな金属製ベルトバックルをスキャンしており、隣に置かれたノートPCの画面には断片化した不完全な点群再構成が表示されている

スライサーが突然モデルのスライスを拒否したり、「non-manifold geometry」という要領を得ない警告を表示したり——さらに厄介なのは、見た目には問題なくプリントできたのに、本来は一体の壁であるはずの継ぎ目からポロッと崩れてしまうケースです。こうした場合、たいていプリンター本体や設定に非はありません。壊れているのはSTLファイルそのものです。エクスポートやダウンロードのどこかの段階でメッシュが損傷しており、スライサーはユーザーの意図を推測することを拒否するか、あるいは黙って誤った推測をしてしまいます。

STLが「壊れている」とは実際どういうことか

STLファイルは、表面を構成する三角形のリストにすぎません。内側と外側という概念は一切含まれておらず、それを判断するのはスライサー自身の仕事です。しかもスライサーが確実にそれを判断できるのは、表面が閉じていて(隙間がなく)、すべてのエッジがちょうど2枚の三角形に共有されている場合に限られます。この前提がたった1箇所でも崩れると、スライサーはどこにプラスチックを積み、どこを空洞にするか推測するしかなくなります。プロファイルのどの設定とも無関係に見えるプリントの不具合は、こうしたところから生まれます。

表面の穴

もっとも多く、かつ一番イメージしやすい問題です。単純に1枚以上の三角形が欠けていて、表面に隙間が空いている状態です。メッシュは「水密(watertight)」ではなくなり、スライサーはその隙間付近でモデルの内側がどこまでかを確実に判断できなくなります。結果として、その部分が薄肉になったり、インフィルが入らなかったり、穴のあった箇所に壁がまったく生成されなかったりします。

穴が発生しやすいのは主に3つの状況です。複雑な操作、特にある立体から別の立体を切り抜くブーリアン差演算を行った後のCADエクスポート、結果を確認せずに実行したメッシュの簡略化(デシメーション)、そして3Dスキャンから得られたモデル——スキャナーが物理的に見えなかった部分(回転台に置かれた対象物の底面など)がそのまま隙間として残るケースです。

Non-manifoldエッジ

エッジが「manifold」——位相的に正しい状態——であるとは、実在する立体のあらゆるエッジと同じように、ちょうど2枚の三角形に共有されている状態を指します。non-manifoldエッジとは、3枚以上の三角形に同時に共有されているエッジ(余計な薄い壁が本体に溶接されたように付いている場合によく見られます)、あるいは逆に1枚の三角形にしか属していないエッジ——これは別の角度から見た穴の縁にほかなりません。

どちらのケースも実在する立体には対応するものがないため、スライサーは表面のどちら側を「内側」とすべきか判断する確実な方法を持ちません。よくある原因は、1つのファイル内で複数の重なり合う立体を雑にブーリアン結合したこと、モデルのどこかに自己交差する形状があること、あるいは一部のパラメトリックCADのエクスポーターが残す不具合です。

縮退三角形

縮退三角形とは面積がゼロの三角形のことで、3つの頂点が一直線上に並んでいるか、2つ以上の頂点が完全に同じ座標に重なっている状態です。ビューアー上では壊れているようには見えませんが、ジオメトリにノイズを加え、スライサーの法線計算や体積計算を狂わせることがあります。積極的なメッシュ簡略化や、数値精度の低いエクスポート——近接した頂点が1つに統合されてしまう場合——の副作用として発生するのが典型的です。

法線の反転

STL内のすべての三角形には法線——面のどちら側を「外側」とするかを示すベクトル——が設定されています。モデルの一部、あるいは全体で法線が反転していると、スライサーが内側と外側を取り違えてしまうことがあります。反転したメッシュの典型的な症状は、3Dビューアーでは完全に正常に見えるのに、本来ソリッドであるべき箇所が中空にスライスされる(あるいはその逆が起こる)というものです。

こうした問題が実際どこから来るのか

仕組みの話は以上として、実際には破損したメッシュの原因は次の3つのいずれかに行き着くことがほとんどです。

  • マーケットプレイスからのダウンロード(Thingiverse、Printables、MakerWorldなど)。特に古いファイルや、何年もかけて複数の人の手で編集されてきたファイルは要注意です——別のソフトを通るたびに新たな不具合を拾うチャンスが生まれます。ちなみに、ダウンロードしたモデルを販売目的でプリントする予定があるなら、先にライセンスを確認しておく価値があります。この点については別記事他人のSTLファイルから作ったプリントを販売するのは合法か?で扱っています。
  • 中断・破損したダウンロード——転送の失敗、破損した圧縮ファイル、プログラムのクラッシュで保存が完了しなかったファイルなど。
  • 設定を誤ったCADエクスポート——曲面を近似するテッセレーションが粗すぎる(三角形の数が少なすぎる)ため、本来ぴったり重なるはずの隣接する頂点がわずかにずれてしまい、見た目には問題なさそうでもメッシュが1つの連続した表面として縫合されないケースです。

プリント前にファイルをチェックする方法

分かりにくいスライサーのエラーを待ったり、プリント後にパーツが崩れて初めて気づいたりする必要はありません——事前にモデルをチェックすればよいのです。そのための無料ツール、STL修復を用意しています。STL、3MF、OBJ、GLBファイル(最大80MB)をアップロードすると、ブラウザ上でこの記事で扱った4つの問題(加えて重複面、浮いた小さなシェル、面の向きの不整合)——表面の閉塞(穴の境界の数も表示)、non-manifoldエッジ、縮退三角形、法線の反転——をチェックし、その場で修復もできます。ファイルはどこにもアップロードされず、処理はすべてブラウザ内でローカルに完結します。

このツールは診断だけでなく修復も行います。離れた頂点の溶接、縮退三角形と重複の削除、反転した面や裏返ったシェルを外向きに直す処理、小さなゴミシェルの削除(しきい値は自分で選べます)、単純な穴の充填、non-manifoldの「バタフライ」頂点の分離です。修復後はモデルを再チェックし、「修復前/修復後」の表とレポートで何をしたかが分かります。修復できないのは、自己交差(表示のみ)と複雑な穴——大きく非平面なもの、輪郭が自己交差するもの——です。その場合はMeshmixer(無料、Analysis → Inspector)、Blender(3D Print Toolbox)、Windows 3D Builder内蔵の**「修復」**ボタン、あるいはスライサー自体の修復機能(PrusaSlicerとOrcaSlicerはNetfabbエンジンを使用)に頼ることになります。チェックと修復は登録なしで使え、修復後のモデルをSTLまたは3MFでダウンロードするには、メールでの無料ログインが必要です。

1分で価格を計算

無料の計算機:部品の重量、印刷時間、材料価格——登録不要です。

計算機を開く
アプリでもご利用いただけます:App StoreApp StoreGoogle PlayGoogle PlayRuStoreRuStore

まとめ

「プリントできない」「おかしな形になる」という問題は、必ずしもプリンターの設定が原因とは限りません。多くの場合、STLファイル自体がスライサーに届くずっと前——エクスポート、ダウンロード、あるいは複数の編集ソフトを行き来する過程——ですでに損なわれています。穴、non-manifoldエッジ、縮退三角形、法線の反転は、メッシュが壊れる最も一般的な4つのパターンであり、そのすべてを数秒で無料チェックできます。何時間もフィラメントを費やしたあとになって、最初から成功する見込みのないファイルだったと気づくよりも、はるかに安上がりです。

この記事は役に立ちましたか?00記事を評価するにはログインしてください

コメント