Skip to content
Back to Blog
informational

3MFとは?STLに取って代わる3Dプリントフォーマット

2026-05-17 9 min read

あまり語られないSTLの問題点

STLは1987年以来、3Dプリンティングの標準ファイルフォーマットであり続けてきました。テクノロジーの世界では永遠のような時間です。かつては家一軒よりも高価だった光造形機のために設計されたフォーマットが、今やスマートフォンより安いデスクトッププリンターの標準になっているのです。その限界が見え始めています。STLはもともと、色、材料特性、テクスチャマップ、プリント設定などを扱うことを想定していませんでした。 STLファイルの中身が気になりますか?テキストエディタで開いてみてください。そこにあるのは、単純で力任せな三角形のリストだけです。3Dモデルのすべての表面が平らな三角形の面に粉砕され、それぞれが3つの頂点と法線ベクトルで記述されています。このフォーマットには単位の概念がなく、これが常に頭痛の種です。幅10ユニットと記述された立方体は、10ミリメートルかもしれないし、10インチかもしれません。スライサーソフトが推測するまで分からないのです。同じSTLファイルが、あるスライサーではドールハウスのようなスケールで、別のスライサーでは巨大なサイズでインポートされることがあるのはこのためです。 そして、色情報を一切保存できません。Bambu Lab X1CやPrusa XLのような最新の機種でマルチカラーモデルをプリントしたい場合、モデルを色ごとに別々のSTLに分割するか、別のフォーマットを使う必要があります。STLの仕様には、材料、インフィル、サポートのためのフィールドが存在しないのです。STLをスライスするたびに、毎回ゼロから設定し直すことになります。 この混乱を解決するために、2015年にMicrosoft、Autodesk、Dassault Systèmes、HPなどが設立したのが3MFコンソーシアムです。彼らの解決策が「3D Manufacturing Format」、つまりジオメトリ、色、材料、プリント設定、メタデータを一つのクリーンなパッケージにまとめた最新のコンテナフォーマットなのです。

3MFファイルの中身とは

構造的に言えば、3MFファイルは拡張子が違うだけのZIPアーカイブです。どんな.3mfファイルでも拡張子を.zipに変更して展開すれば、XMLファイルやテクスチャ画像、マニフェストを含む整然としたフォルダが現れます。このオープンな構造が最大の強みです。中心となるジオメトリは3dmodel.modelというファイルにあり、読みやすいXMLスキーマで記述されているため、どんな開発者でもライセンス料を支払うことなく実装できます。 このアーカイブの中で、基本的な3MF仕様は豊富なデータを定義しています。 ジオメトリはSTLと同様にインデックス付きの三角形リストとして保存しますが、決定的な違いが一つあります。単位がXMLヘッダーで明確に定義されているのです。ミリメートルとタグ付けされたモデルは常に正しいスケールでインポートされ、当て推量はもう必要ありません。 色と材料をネイティブに扱えます。個々の三角形やオブジェクト全体に特定の色(RGBAの16進数値として)や材料を割り当てることができます。Materials & Properties拡張機能はこれをさらに推し進め、グラデーションや複合材料など、より複雑な割り当てをサポートします。 作者名、作成日、説明といったメタデータもすべて直接埋め込めます。パーツの履歴を追跡する必要があるプリントファームや製品チームにとって、これは非常に貴重です。 最も重要なのが「プリントチケット」です。この拡張機能により、スライサーソフトは積層ピッチ、インフィル率、サポート設定、プリンタープロファイルなどをファイル内に直接埋め込むことができます。Bambu Studioから保存した3MFを開くと、意図されたプリント設定がそのまま引き継がれるのです。 一つの3MFファイルで、ビルドプレート全体を記述することも可能です。複数のオブジェクトを正しく配置・方向付けし、それぞれに個別の設定を持たせることができます。STLが記述するのは一つのメッシュですが、3MFは一つの生産バッチ全体を記述できるのです。ファイルサイズも、効率的なXML圧縮により、複雑なモデルではバイナリSTLより小さくなることが多く、例えば45MBのSTLが38MBの3MFになることもあります。

主要スライサーソフトの現在の3MF対応状況

今や3MFのサポートは、主要なスライサーソフトすべてで標準となっていますが、そのサポートの深さには差があります。単なるジオメトリフォーマットとして扱うものもあれば、その能力を最大限に活用するものもあります。 **Bambu Studio**は、現在市販されている中で最高の3MFサポートを提供しています。これは断言できます。プロジェクトを保存(ファイル > プロジェクトを保存)すると、プレート全体のレイアウト、マルチカラープリント用のフィラメント割り当て、すべてのサポートペイントデータ、そしてスライサーの全設定を含む包括的な3MFが書き出されます。その単一ファイルを別のBambu Labユーザーに送れば、彼らはワンクリックであなたのプリントを完璧に再現できます。これこそ3MFが目指したワークフローです。 **Prusa Slicer**も強力なサポートを備えています。そのプロジェクトファイル(ファイル > プロジェクトを名前を付けて保存)は、プリントプロファイル、モディファイアメッシュ、オブジェクトごとの設定を埋め込んだ.3mfファイルです。単純な単一素材のプリント以外では、これが正しい作業の保存方法です。単に「プレートをSTLとしてエクスポート」オプションを使うと、そうした貴重な情報がすべて失われてしまいます。 **Ultimaker Cura**はバージョン3.0から3MFのインポートを、4.xからエクスポートをサポートしています。ジオメトリや基本設定の実装は堅実ですが、モディファイアメッシュのようなCura固有の機能は、PrusaSlicerのネイティブフォーマットほど確実には保存されないことがあります。 **Microsoft 3D Builder**は、Windows 10および11に付属しており、3MFをネイティブで読み書きします。Microsoftが3MFコンソーシアムの共同設立者であり、このフォーマットの初期の推進者であったことを考えれば、驚くことではありません。 **Fusion 360**は、製造ワークスペースから直接3MFをエクスポートします(作成 > 3Dプリント)。単位を正しく処理し、マルチボディコンポーネントを単一の3MFファイル内の別々のオブジェクトとしてエクスポートできます。 ただし、すべての3MFファイルが同じように作られているわけではないことを覚えておいてください。Fusion 360からの3MFは、純粋なジオメトリと単位情報を含みます。一方、Bambu Studioからの3MFプロジェクトファイルは、それに加えて完全なプリント設定を含みます。フォーマット自体はすべてをサポートしますが、ファイルの内容は、エクスポートするアプリケーションがどれだけ多くのデータを書き込むかにかかっています。

3MF vs. STL vs. OBJ: それぞれの使い分け

3Dプリンティングの世界には主に3つのファイルフォーマットがあり、どれを使うべきかを知ることが、フラストレーションを避ける鍵となります。 **STL**は、いわば「最大公約数」であり、最大限の互換性を確保する上では最も安全な選択肢です。PrintablesやThingiverseのような公開リポジトリにモデルをアップロードする場合、誰もが開けることを確信できる唯一のフォーマットがSTLです。その最大の制約は、同時に強みでもあります。つまり、生のジオメトリ以外は何も含まれていないということです。誤解されるような設定や色情報はありません。スライサーですべて自分で設定するつもりの、単純な単色プリントには、STLで全く問題ありません。 **OBJ**は、レンダリングやゲーム開発など、3Dプリンティング以外の用途で色やテクスチャ情報が必要な場合に選ばれるフォーマットです。頂点カラーやテクスチャマッピング用のUV座標を保存し、MTLマテリアルファイルや画像ファイル(PNGなど)にリンクします。弱点は、これらが常に一緒に移動しなければならない、ばらばらなファイルの集まりであることです。行方不明になった.mtlファイルやテクスチャマップを探し回った経験がある人なら、この苦労がわかるでしょう。ファイルが離れ離れにならないよう、自分でZIPにまとめる必要があります。 **3MF**は、モデルと一緒に設定や意図も伝えたい場合に最適なフォーマットです。マルチカラーやマルチマテリアルのプリントには必須と言えます。完全に設定済みのプロジェクトを共同作業者と共有する際には、救世主となります。また、HPのMulti Jet Fusionのような多くのプロ向けプリントサービスで要求されるフォーマットでもあります。 簡単なルールはこうです。自分のプロジェクトファイルや、同じエコシステム内の人々と完全なプリントジョブを共有する場合は3MFを使いましょう。全世界に向けてジオメトリを公開する場合はSTLを使います。テクスチャマップがあり、最終的な出力先がプリンターとは限らずレンダリングエンジンの場合はOBJを使いましょう。 CocoConvertのようなツールは、これらのフォーマット間でジオメトリを変換できます。しかし、ソースファイルに存在しなかったプリント設定を魔法のように作り出すツールはありません。STLを3MFに変換すると、ジオメトリを含む有効な3MFファイルが得られますが、STLには提供できる情報がなかったため、プリントチケットのセクションは空になります。

STLから3MFへ(またはその逆)の変換で実際に得られるもの

STLから3MFへの変換は一般的な作業ですが、その過程で実際に何が起こるかを理解することが重要です。 STLを3MFに変換すると、コンバーターは三角形メッシュを読み取り、それを3MFのXMLスキーマで書き直します。最も大きな利点は、単位が明確に定義されることです。CocoConvertは、ほとんどのコンシューマー向けスライサーが期待するミリメートルをデフォルトとします。ジオメトリ自体は正確に保持され、三角形が変更されたり、メッシュ修復が行われたりすることはありません。最新のスライサーならどれでも正しく開ける、有効な3MFファイルが得られます。 得られないのは、STLが持っていなかった情報です。色データ、材料の割り当て、プリント設定などは一切ありません。新しい3MFは、元のSTLをインポートしたのと全く同じように、Bambu StudioやPrusaSlicerに生のオブジェクトとしてインポートされます。では、なぜわざわざ変換するのでしょうか?この変換は、特定のCADシステムや、HPのSmartStream 3D Build Managerのようなプリント管理プラットフォームなど、入力として特に3MFを要求するワークフローに不可欠だからです。 逆方向の変換、つまり3MFからSTLへの変換は、情報が失われる変換です。ジオメトリは得られますが、すべての色データ、材料の割り当て、ビルドプレートのレイアウト、プリント設定は取り除かれます。複数のオブジェクトを含む3MFプロジェクトを変換すると、通常は複数のSTLファイル(オブジェクトごとに1つ)を受け取ることになります。CocoConvertもこの方法で処理します。これは多くの場合、望ましい結果です。 3MFからOBJへの変換では、頂点カラーは通常正しくマッピングされます。しかし、3MFがTexture 3MF拡張機能を使ってUVマッピングされたPNGを使用している場合、プロセスはより複雑になります。重要なワークフローで利用する前には、必ずターゲットのアプリケーションで出力を確認してください。 自動コンバーターでは、壊れたジオメトリを確実に修正することはできません。ソースのSTLに非多様体エッジ、反転した法線、穴などがある場合、それらの欠陥は3MFに引き継がれます。変換前に、Meshmixer(解析 > インスペクター)やMicrosoft 3D Builderの自動修復機能のような修復ツールでモデルを処理するのがベストプラクティスです。

プロフェッショナルおよび産業分野での3MF

ホビイストたちがファイルフォーマットについて議論している間に、産業界はすでに行動で答えを出しています。3MFは本格的な生産ワークフローのために設計されており、その強みが最も発揮されるのもその分野です。 非常に多くのプロフェッショナル向けナイロンパーツの製造を支えるHPのMulti Jet Fusionプリンターは、3MFをネイティブ言語として使用します。HP Jet Fusion 5200でフルカラーのパーツをプリントするには、ボクセルごとの色データを持つ3MFが必要です。これを実現できるSTLワークフローは存在しません。3MF一択なのです。 生産環境において、プリントチケット機能はゲームチェンジャーです。エンジニアは、公差のために0.1mmの積層ピッチ、強度のためにジャイロイドインフィル、構造壁のために4つの外周を指定し、それらすべてを一つの3MFファイルに保存できます。そのファイルがプリントファームに送られれば、すべてのオペレーターが設定に一切触れることなく、同一のパーツを生産できます。これにより、手動設定によるエラーが事実上排除されます。 Autodesk Fusion 360やPTC CreoのようなCADソフトウェアは、適切な単位メタデータ付きで3MFをエクスポートするため、多くの問題を解決します。ある部品がインチで、別の部品がミリメートルでモデリングされたために生産が台無しになった経験がある人なら、これがどれほど重要か分かるでしょう。スライサーが単位を推測し間違えると、壊滅的な嵌合問題や、現実的な金銭的損失につながる可能性があります。3MFの必須の単位宣言は、これを完全に防ぎます。 3MFコンソーシアムは、新しい拡張機能でさらなる可能性を押し広げています。Slice拡張機能は、スライス済みのレイヤーデータを埋め込むことを可能にし、プリント準備の整った命令をマシンに直接送ります。開発中のVolumetric拡張機能は、連続的な材料のグラデーションを定義し、硬い部分から柔軟な部分へと変化するようなパーツの実現を目指しています。これらは卓上のおもちゃをプリントするためのものではありません。これこそが、プロフェッショナルなアディティブ・マニュファクチャリングの未来なのです。

CocoConvertを使った3MFファイルの変換方法

CocoConvertは、3MF変換を扱うためのシンプルで直接的なツールです。STLから3MF、OBJから3MF、3MFからSTL、そして3MFからOBJへの変換をサポートしています。ファイルをアップロードし、フォーマットを選んで、結果をダウンロードするだけです。 変換をスムーズに進めるためのヒントをいくつか紹介します。 **STLから3MF**への変換では、出力の単位はミリメートルに設定されます。これは通常、望ましい設定です。しかし、元のSTLがインチでモデリングされていた場合(一部の米国製CADワークフローで一般的)、スライサーにインポートすると非常に小さく表示されます。幅50mmであるべきパーツが1.97mmと表示されたら、それが問題です。スライサーで25.4倍にスケールアップするか、さらに良い方法として、変換前に元のCADソフトウェアからミリメートルで再エクスポートする必要があります。 **3MFからSTL**への変換では、多数のオブジェクトを含む大きなプロジェクトファイルは、複数のSTLファイルを含むZIPアーカイブになることを覚えておいてください。3MF内の各メッシュオブジェクトが、それぞれ独自のSTLになります。もし単一の結合されたメッシュが目的だった場合は、変換後にMeshmixerやBlenderのようなツールを使ってそれらを結合する必要があります。 CocoConvertは最大500MBまでのファイルを扱えます。これはほとんどの3Dプリントモデルには十分すぎるサイズですが、高解像度のスキャンデータや非常に複雑なアセンブリは、この制限を超えることがあります。非常に大きなファイルがある場合は、エクスポートする前にソースアプリケーションでメッシュの解像度を下げてみてください。 また、目的に合った適切なツールを使うことも重要です。CocoConvertは強力なジオメトリコンバーターであり、スライサーやメッシュ修復ユーティリティではありません。プリント設定を生成したり、壊れたジオメトリを修正したりはしません。それらの作業には、スライサーのプロジェクト保存機能や、Meshmixerのような専用の修復ツールを使用してください。クリーンで信頼性の高いフォーマット変換には、CocoConvertが最適な選択です。