私たちは、ボタンをクリックするだけで、より手軽に、より高精度な造形ができるよう、プリンターの改良に力を注いできました。ハードウェアとファームウェアを磨き上げ、設定の手間や、プリント中に付きっきりで様子を見る必要を減らしてきたのです。そして今日、3Dプリントを支えるもう一方の要素、モデルのプリント準備に使うソフトウェアでも、大きな一歩を踏み出します。

本日、PrusaSlicer 3.0初の公開プレビュー版をリリースします。今回は、とびきり大きなリリースです。PrusaSlicer史上最大のアップグレードとなります。ユーザーである皆さんが本当に必要としているものを出発点に、従来のユーザーインターフェースをすべて取り払い、ゼロから書き直しました。新しいプロジェクトシステム、最新のマルチツールプリンターを前提に全面刷新したプロファイル、改善された3Dシーンの描画、大幅なパフォーマンス向上、安全なプラグインシステムなど、数多くの変更を盛り込んでいます。

史上最大のアップデートと呼ぶ理由は、特定の機能があるからでも、単に機能の数が多いからでもありません。今後のアップデートに向けて、大きな可能性を切り開くものだからです。そして、これ以上ふさわしいタイミングはありません。2011年9月1日にSlic3rで最初のコミットが行われてから、ちょうど15年となる日に、この初の公開プレビュー版をリリースします

PrusaSlicerのこれほど大きな部分を、なぜ、どのように書き直したのか。お伝えしたいことはたくさんあります。でも、まずは実際に何ができるようになったのかから見ていきましょう。そのほうが、3.0の変化の大きさを実感していただけるはずです。

PrusaSlicer 3.0.0-previewのダウンロードはこちら

プリント作業全体を、ひとつのプロジェクトに

PrusaSlicer 2.9.0で複数ベッドへの対応を導入しましたが、その時点では意図的に最小限の実装にとどめていました。PrusaSlicer 3では、ベッドがプロジェクトを構成する本格的な要素になっています。

つまり、ベッドごとに独立した設定を持たせられるようになったということです。ひとつのプロジェクトで複数のベッドを準備し、それぞれ個別にスライスしたり、異なるプロファイルを使ったりできます。さらに、同じプロジェクト内で、さまざまなプリンターを混在させることも可能です

ひとつのウィンドウで、MK4S用とXL用のプリントを並べて準備できます。モデルはドラッグ操作でプリンター間を簡単に移動でき、2.9.xにあった最大9ベッドの制限もなくなりました。スライス時には、複数のベッドが並列処理されます。

これは大幅な時間短縮と使い勝手の向上につながります。3Dプリンターを1台しか持っていなくても、材料や設定ごとにベッドを作成し、プロジェクト全体をひとつのファイルで管理できます。

ひとつのウィンドウで複数のプロジェクトを開く

ひとつのPrusaSlicerで、複数のプロジェクトをそれぞれ別のタブとして開くこともできます。開いているダイアログ、使用中のツール、選択状態などは、プロジェクトごとに独立して保持されます。別のプロジェクトに影響することはありません。

PrusaSlicerを同時に6つも起動していた日々とは、もうお別れです。

さらに、開いているプロジェクトがローカルに継続的にバックアップされるようになりました。アプリケーションがクラッシュしても、作業を復元できます。バックアップは、PrusaSlicerのデータディレクトリ内にあるbackup_projectsフォルダーに保存されます。

最新のプリンターに合わせたプロファイルシステム

この変更により、PrusaSlicerが長年抱えていた課題のひとつが解消され、特に要望の多かった機能も実現できるようになります。

Prusa XLのようなプリンターでは、ツールごとに異なるノズルを装着できます。あるツールには細かなディテールを表現するための0.25 mmノズル、別のツールには普段のプリント用の0.4 mmノズル、さらに別のツールには大型で強度の高いパーツを作るための0.6 mmノズルを装着する、といった構成です。これらはすべて、取り付けたまま、いつでも使える状態にできます。

従来のプロファイルシステムでは、このようなプリンターの構成を十分に表現できませんでした。PrusaSlicerが生まれた当時、マルチツールによるプリントは、実用化された手法というより、まだ構想の段階だったのです。その後に登場した機能は、すべて元の構造に直接組み込まなければなりませんでした。そのため、先ほどの構成でも、3つの独立したプリンタープロファイルが必要になることがよくありました。そして、使いたいツールに応じてプロファイルを切り替える必要がありました。動作はしましたが、扱いにくい仕組みでした。ひとつのプリントで異なるノズルを組み合わせる高度な設定となると、扱いにくいだけでなく、設定自体も難しかったのです。

今回、プリントプロファイルシステム全体を階層構造に改め、最新のマルチツールプリンターを中心に据えて設計しました。これにより、固定された設定の組み合わせに無理やり当てはめるのではなく、実際にお使いのハードウェア構成をPrusaSlicer上で表現できます。プリントに使うノズルも、選択ボックスからツールを選ぶだけで指定できます。ツールごとにまったく異なるプリントプロファイルやプリンタープロファイルを割り当て、必要に応じて組み合わせることも可能です。

プリセットの更新機能も書き直しました。「Preset Sources & Updates」では、オンラインとローカルの両方のプリセットソースをひとつの画面で管理できるようになり、プロファイルシステム全体の柔軟性が大きく向上しています。

プロファイルのファイル形式も.iniから.yamlへ移行し、データ構造全体を刷新しました。PrusaSlicer 2.xで作成した従来の3MFプロジェクトも正しく読み込めます。設定は自動で変換され、適切なシステムプロファイルに対応付けられます。

これらの変更に伴い、PrusaSlicerの操作方法そのものを見直す必要もありました。プロジェクト、ベッド、プリンター、プロファイルの自由度が大きく高まるなか、従来のインターフェースは、私たちが次に実現したいことに対応できる設計ではありませんでした。そこで、ユーザーである皆さんが本当に必要としているものと、これからの3Dプリントに求められる新しいワークフローを出発点に、ユーザーインターフェースをすべて取り払い、ゼロから書き直しました

必要なものを、必要な場所に

アプリケーションを起動して、まず気付くのは、UIが完全に新しくなったことです。「ボタンをいくつか移動して、角を丸くした」という意味での刷新ではありません。2026年の今、ユーザーが実際にスライサーをどう使っているのかをじっくり見つめ直し、全体を設計し直しました。

UIの変更には、いつも賛否がつきものです。しかし、従来のレイアウトは古さが目立つようになっていました。熟練ユーザーでさえ探し回らなければならない場所に機能が隠れていたり、初めて使う人にはとっつきにくかったり、新機能を実装しにくかったりしたのです。

それでは、新しいUIを見ていきましょう!

新しいレイアウトでは、上部にツール、左側にシーンブラウザー、右側に操作状況に応じて内容が変わるパネルを配置しています。多くの機能は、おなじみの位置から大きくは変わっていません。ただし、すべてが同じ場所にあるわけではないので、慣れるまで少し時間がかかるかもしれません。特に、従来のPrusaSlicerの操作が体に染み付いている方は、そう感じるでしょう。でも、ご安心ください。キーボードショートカットは、ほとんどそのままです。

右側のパネルは、操作状況に完全に連動するようになりました。ペイントツールを使っているときに必要なのは、ペイントに関する設定であって、現在のインフィル率ではありません。ベッドを選択するとプロファイル設定が、オブジェクトを選択するとそのオブジェクト固有のオプションが、ツールを使用するとそのツールの操作項目が表示されます。

シーンブラウザーは専用の折りたたみ式パネルになり、ビューポートを圧迫しません。G-codeプレビューには、手早く確認するための基本表示と、詳しく分析するためのインスペクションモードを用意しました。

カメラ操作用のビューキューブを追加し、標準のダークテーマに加えてライトモードも用意しました。ビューポート内の視点操作がより滑らかになり、ベッドを選択すると、カメラが自動的にそのベッドを中心に捉えます。

使い慣れたマウス操作方式を選ぶこともできますPrusaSlicerには、TinkercadBlenderSolidWorksFusionに合わせた操作方式が用意されています。

UIについて、あまり細かく説明しても仕方がないかもしれません。何より、直感的に使えて、マニュアルを必要としないものであるべきだからです。ぜひ試して、感想をお聞かせください。大きな変更も含めて、私たちは引き続き柔軟に検討していきます。後になって「これが当たり前で自然だ」と感じられる形にたどり着くには、何度も試行錯誤が必要なものです。

見やすく、軽快に操作できる3Dビューポート

3Dビューポートも大幅に改良しました。影、反射、アンビエントオクルージョンなど、より高度なOpenGLレンダリングを採用し、3Dシーンを実物に近い見た目にするとともに、オブジェクトがベッド上にどのように配置されているかを、より分かりやすくしています。これらはすべて環境設定で調整でき、従来の見た目が好みの場合や、GPUの性能が限られる場合は、まとめて無効にすることもできます。

プレビューでは、これまでよりもはるかに複雑な形状まで、軽快に表示できるようになりました。シーンが非常に複雑な場合は、視点を回転させている間だけツールパスを非表示にし、カメラが止まった時点で描画します。負荷の高いプリントでも視点を滑らかに操作でき、必要なときにはすぐにすべての詳細を確認できます。

よく使う設定を、右側のパネルに

これは、PrusaSlicer 3.0の「小さく見えて、効果は大きい」変更のなかでも、私のお気に入りのひとつです。個々の設定をお気に入りに登録できるようになりました。登録した設定は右側のパネルに直接表示され、すぐにアクセスできます。

毎回すべての設定ページを開く代わりに、普段使う操作項目だけを集めた、自分専用の小さな設定パネルを作れるというわけです。上級ユーザーは引き続きすべての設定にアクセスできますが、多くの方にとって、普段の作業がずっと速く、すっきりしたものになるはずです。正直なところ、私もお気に入りの設定をひと通り登録してからは、プリント設定全体を開くことがほとんどなくなりました。開くときも、内蔵の検索機能からアクセスしています。

安全なプラグインと、コミュニティのプラグインマーケットプレイス!

PrusaSlicerは、これまでもずっとオープンソースでした。つまり、誰でもフォークして機能を追加できます。実際に、多くの個人や企業がそうしてきました。OrcaSlicer、SuperSlicer、BambuStudioなども、そのようにして生まれました。しかし、フォークには相応のコストが伴います。高度なスキルを持ち、多大な労力を注ぐ意欲のある人が必要です。思い付いた便利な機能をひとつ追加するためだけに、プロジェクト全体をフォークして独自版をコンパイルしようとする人は、そう多くありません。そして、実際にそうしたとしても、ほとんどのフォークはしばらくすると開発が止まり、更新されなくなってしまいます。

さらに、フォーク同士の違いが広がり、同じ機能が別々に実装され、改善が元のプロジェクトに還元されず、進歩が遅くなります。必ずしもそれが悪いというわけではありません。現代のスライサーのように複雑なソフトウェアを、別バージョンとして維持していく現実が、そういうものなのです。

プラグインは、この状況を変えます。PrusaSlicer 3.0では、コミュニティがスライサーをフォークすることなく、私たちがプルリクエストをマージするのを待つこともなく、機能を拡張できます。プラグインとして実装すればよいのです。

独自のキャリブレーション用モデル、QRコード生成、モデルの自動方向調整、独自のインフィルなど、可能性を決めるのは皆さんの想像力です。まあ、現在のAPIでできる範囲という制約もありますが。🙂

まず、プラグインが特に役立つ分野として、キャリブレーション用のプリントに着目しました。PrusaSlicer 3.0には、パラメーターを指定して生成できる2種類のキャリブレーション用モデル、フロータワーと温度タワーが付属しています。作りたいモデルを選び、ダイアログでパラメーターを入力して確定すると、オブジェクトと設定を含むプロジェクトが生成されます。その後は、ほかのプロジェクトと同じように保存したり、スライスしたりできます。このダイアログと「プロジェクト生成」のロジック全体は、PrusaSlicer本体のソースコードに組み込まれているのではなく、Luaプラグインとして本体と一緒に配布されています。

3.0での実装は、意図的にまだ基本的なものにとどめています。まずは皆さんに使っていただき、どのようなものが作られるかを見たうえで、次にどの方向へ発展させるべきかを決めたいと考えています。内部の仕組みに興味のある方に向けて、技術的なポイントもいくつかご紹介します。

PrusaSlicer 3.0のプラグインの仕組み

アプリケーションはプラグインフォルダーを読み取り、メニュー項目を動的に生成します。プラグインが入力項目を定義し、それに応じてPrusaSlicerがパラメーター入力ダイアログを組み立て、実行時に入力値をプラグインへ渡します。プラグインは、定義されたAPIを使ってPrusaSlicerとやり取りします。

今後の発展に向けた構想はありますが、現時点では皆さんの意見を聞くために、あえて最小限の実装を公開しています。ただし、いくつか注意点があります。

Lua APIは現在実験段階で、今後変更される可能性があります。ときどき互換性を壊す変更も行うことになるでしょう。おそらく、完全に安定した仕様になることは今後もありません。

現在あるプラグインはproject.plugin型で、プログラムによってオブジェクトを作成することを目的としています。アーキテクチャは、それぞれ異なる目的を持つ、ほかの種類のプラグインにも対応できる設計になっています。

現在のAPIは、シーン内にすでにあるものを操作するよりも、新しいものを追加する機能が中心です。それでも、この基本的なAPIだけで、私たちはさらに多くのツールを作ることができました。皆さんにも、きっと大いに楽しんでいただけるはずです。

基本的なプラグインマーケットプレイスの準備も進めています。誰でも自作のプラグインをアップロードでき、ほかのユーザーは簡単にインストールして評価できます。Printablesに似た仕組みで、人気のプラグインを確認できます。準備はほぼ整っており、コミュニティのプラグインマーケットプレイスは、近いうちのリリースに含める予定です。

プラグインは、標準でサンドボックス内で実行されます。ディスクへの汎用的なアクセス権限はなく、読み込まれているプロジェクト以外のデータにも、HTTP、ソケット、そのほかのネットワーク通信にもアクセスできません。将来的には、信頼できるプラグインや作者に対し、ユーザーが明示的に一部の権限を付与できるようにする可能性があります。

マーケットプレイスに提出されたプラグインは、私たちの審査も受けます。未検証のプラグインも自己責任でインストールできます。そうしたプラグインにはバグがあったり、PrusaSlicerを遅くしたり、クラッシュさせたりする可能性はありますが、サンドボックスは、プラグインがスライサーの外部へアクセスすることを防ぐように設計されています。

パフォーマンスの向上

PrusaSlicer 2.xは、数百万もの三角形で構成される、非常に負荷の高いモデルにも対応できる数少ないアプリケーションのひとつでした。それでも、スライス処理をキャンセルするときなどに、一時的に応答しなくなることがありました。また、起動時に多くの処理を行っていたため、起動にもかなりの時間がかかっていました。

内部構造を大規模に整理し直したことで、違いをはっきり実感していただけるはずです。PrusaSlicerの起動もスライスも速くなり、複数のベッドを含むプロジェクト全体を並列でスライスできるようになりました。

セキュリティと、真のオフラインモード

PrusaSlicerは、監視機能を組み込まず、実際のソースコードをすべてGitHubで確認できるようにすることで、すでにセキュリティ面をリードしています。私たちは何も隠していません。

それでも、改善を続けます。今回、ネットワーク用ライブラリすら読み込まない、新しいオフラインモードを追加しました。新しいプラグインシステムも、セキュリティを考慮して設計しています。完全なサンドボックス化により、プラグインは読み込まれているプロジェクト以外のデータにも、ネットワークにもアクセスできません。これにより、リスクを増やすことなく、ワークフローを深くカスタマイズできます。さらに、新しいプラグインマーケットプレイスに提出されるプラグインは、すべて私たちが確認しています。こうした取り組みは、自宅やオンプレミスで動作する小さなクラウド、今後登場するPrusa Connect Localとも、うまくつながります。

私たちは皆さんのファイルを見たいとは思っていません。ファイルが最も安全なのは、皆さん自身のハードウェア上です

PrusaSlicer 2.8にPrusa ConnectとPrintablesの連携を導入し始めたとき、私たちは、それらがすべて任意の機能であることを明確にしていました。それでも、警戒する声があったのは、もっともなことです。ログインの義務化に向けた第一歩だと考える方もいました。また、オンライン機能を無効にしているなら、ウェブ関連のプロセスは一切動作するべきではない、という正当な指摘もありました。そうした声は、すべて受け止めています。

PrusaSlicer 3.0では、ネットワーク通信が発生する前に、Connect、Printables、さらにはプロファイルの更新確認まで、すべてのオンラインサービスを個別に無効化できます。そして、完全オフラインモードでは、ネットワーク用ライブラリを一切読み込みません。PrusaSlicerは完全に隔離された状態で動作します。ファイアウォールの警告も、バックグラウンドでの接続もありません。外部ネットワークから切り離された環境や、利用制限のある環境にも完全に対応します。

PrusaSlicerを書き直した理由

ここまでの変更をご覧いただければ、PrusaSlicer 3.0が通常の機能アップデートよりも、はるかに根本的な部分に踏み込んでいることがお分かりいただけたと思います。

ここで、大規模な書き直しの話につながります。

この10年で、PrusaSlicerはシンプルなスライスツールから、何百万人ものユーザーが毎日頼る基盤へと成長しました。PrusaSlicerを直接使っている方だけでなく、それを基盤とするOrcaSlicer、SuperSlicer、BambuStudio、Creality Print、Anycubic Slicer Next、QIDI Slicer、ElegooSlicer、Flash Studio Desktop、Snapmaker Orcaなどを使っている方も含まれます。

その始まりは、@alranelが2011年9月1日に立ち上げたSlic3rでした。私たちはそれをフォークし、以来、継続的に開発を続けています。だからこそ、今日という日は、このリリースにとって特別なのです。Slic3rの最初のコミットからちょうど15年となる日に、PrusaSlicer 3.0初の公開プレビュー版をリリースします。すべての始まりとなったコミットの記念日に、新しい基盤の上に築いた、新しいメジャーバージョンをお届けします。

Slic3rの最初のコミットからPrusaSlicer 3.0までの道のりは、決して平坦ではありませんでした。私たちは、アプリケーションをPerlというプログラミング言語から、何段階かに分けてC++へ全面的に書き直しました。Perlを覚えている方は、まだいるでしょうか?! この移行だけでも、アーキテクチャ上の妥協が生じました。

そして、当初のアーキテクチャを設計した時点では想像もできなかったワークフローに対応するため、新機能を追加し続けました。設定モディファイアー、マルチツールプリンター、複数ベッドを含むプロジェクト、サポートと色のペイント、SVGとテキストの編集、カラーミキシング、プリンターのリモート管理などです。

それぞれの機能は、単独で見れば理にかなっていました。しかし、長い年月をかけて積み重なることで、多くの技術的負債を生みました。「技術的負債」は、実際に直面するまでは抽象的に聞こえるソフトウェア用語のひとつです。現場では、単純な変更が単純ではなくなることを意味します。バグを直すために、本来触れるべきではない箇所まで変更しなければならなくなる。2016年に下した設計判断のせいで、新しい機能を実装するために不自然な回避策が必要になる。そういうことです。

本当に限界を超えてしまったと痛感したのは、明らかなバグを前にして、「確かにこれは間違っている。でも、直すともっとひどい問題が起きる」と考えることが出てきたときでした。

そこで、ついに大きな一歩を踏み出し、コードの非常に大きな部分を書き直しました。

書き直しによって、これからできること

新しいアーキテクチャでは、各部分の役割、インターフェース、データの流れを慎重に定義し、テストの網羅性も高めました。ユーザーインターフェースのコードは、ゼロからきれいに作り直しています。スライス処理を担うバックエンドについては、実績のあるアーキテクチャを維持しつつ、そのコードにも大幅な変更を加えました。

ユーザーの皆さんにとって、ソフトウェアの内部事情を気にする理由がないことは分かっています。しかし、これこそが、これからお話しするすべてを可能にし、今後、新機能をより速くお届けするための土台になるのです。

私たちは、シンプルに使いたいときにはシンプルで、細かく制御したいときには強力なPrusaSlicerを目指しています。

私たちが作り上げようとしているPrusaSlicerは、3Dプリントのエコシステム全体とシームレスにつながるものです。どのプリンターが利用できるのか、どの材料が装填されているのか、別のデバイスでどのプロジェクトに取り組んでいたのか、生成したG-codeを次にどこへ送るべきなのかを把握します。一方で、必要な方や、そうした使い方を望む方のために、完全なオフラインでも問題なく動作し、ネットワーク関連のコードは一切読み込みません。

ほぼあらゆるデバイスで動作しながら、利用できる計算能力があれば、それを最大限に活用します。

このビジョンには、これまで以上に近づいています。それでも、PrusaSlicer 3.0はゴールというより、新たな出発点です。3.0でお見せしているのは、これからも積み上げていくための基盤なのです。

オープンソース

この点について、SNS上でさまざまな議論があることは把握しています。PrusaSlicer 3.xはAGPLv3のもとで公開されます。つまり、PrusaSlicer 2.x、Slic3rPE、そしてオリジナルのSlic3rと同じように、オープンであり続けます。これは、私たちだけでなく多くの開発者が、今も誇りを持ってその上に立つ基盤を築いてくれた、@alranelの意思に沿うものです。

GUIの書き直しは非常に大規模だったため、技術的には、GUIをスライス処理のバックエンドから切り離し、ライセンスに違反することなく、そのソースコードを非公開にすることも可能でした。しかし、私たちは、創業当初から会社の礎としてきた原則を大切にすることを選びました。ソースコードは自由に読んだり、変更したりできます。ただし、派生作品のソースコードも公開し、ほかの人も望めば同じことができるようにする必要があります。詳しくはAGPLv3ライセンスの全文をご確認ください。オープンソースの旅は続きます。どなたでも、私たちと一緒に歩んでいただけます。

互換性

  • PrusaSlicer 2.xの3MF:形状と設定の両方を読み込めます。変更した値は、変更済みとしての表示も保持されます。
  • PrusaSlicer 3.xの3MFを2.xで開く場合:形状は読み込めますが、設定は破棄されます。PrusaSlicer 2.9.1以降では、その旨が通知されます。
  • サードパーティー製スライサーの3MF(Bambu Studio、OrcaSlicer):形状として読み込まれます。
  • STL、OBJ、STEP:従来どおり利用できます。
  • 共存インストール:PrusaSlicer 3.xは、プロファイルを別のディレクトリに保存します。2.xと競合することなく、併用できます。

まだ完成していない部分

これは初期のプレビュー版であり、これまで公開してきた、完成間近まで磨き上げられたアルファ版とは異なります。把握している問題もあれば、まだ把握できていない問題もあります。今回お見せしているのは実運用向けのビルドではなく、私たちが進もうとしている全体的な方向性を示すための、未完成のアルファ版です。

また、このプレビュー版には、2.9.6と比べて、まだすべての機能が揃っているわけではない点にもご注意ください。PrusaSlicer 2.xから各種機能を移植する作業を続けていますが、残念ながら、一部の機能の完全な再実装は3.1.0までお待ちいただく必要があります。ご不便をおかけすることは承知しています。しかし、アプリケーションの大部分をゼロから書き直したため、すべてを再実装するには時間と労力が必要です。PrusaSlicerには、驚くほど多くの機能があるのです。

未完成の機能の一覧は、この変更履歴の末尾で確認できます。

これからに向けて

ぜひ試して、限界まで使い込んでみてください。うまくいかない点も、良かった点も、ぜひ教えてください。バグはGitHubリポジトリか、私たちのフォーラムにご報告ください。プラグインを作ったり、コミュニティ向けのプロファイルを公開したりした際も、ぜひお知らせください。皆さんがこれで何を作るのか、楽しみにしています。

PrusaSlicer 3.0.0-previewのダウンロードはこちら