私は小規模ながら3Dプリントアイテムの販売をしています、BambuLabのX1-CarbonとA1 miniの二台のプリンターを駆使して注文が入ったアイテムを次々に造形しています。そんな日々の作業の中でBambu Studioで毎回スライスしてプリンターに造形データを送るというワークフローに色々と限界を感じはじめました。
■オンデマンド大量生産におけるBambuLabプリンター課題
BambuLab製プリンターにはSDカードが刺さっており、直近のプリントについてはデータが入っているので本体タッチパネルからそれを選択して再プリントすることはできます。また予めBambu Studioからデータを送信しておくこともできます。ただ、本当にベタでSDカードに保存されるだけで、フォルダ分けとかお気に入りフラグといった気の利いたことは一切できません。プリントするアイテムが何十種類にも及ぶと目的のデータを探すのが非常に困難です。長いファイル名だと画面上で確認すらまともにできません。
結局毎回PCでBambu Studioを開く->データを読み込みスライス->プリンターに送信、という手順を踏むことになります。プロジェクトファイルである.3mfデータにはプリント設定も一緒に保存できるので、基本的に開けば同じ設定でプリント指示を出せるはずなのですが、実用上はいくつか問題点があります。それはプリンターとの同期機能によるノズルやプレートがプリンターの現況に釣られてしれっと上書きされてしまう点。0.4mmノズルで設定するべきなのに、たまたまプロジェクトファイルを開いた瞬間にプリンターに0.2mmノズルが取り付けられていると、いつのまにか0.2mm設定に書き換えられたりしがち。また最近プリンターを複数台にしたのですが、そのハンドリングもヒドいものでした。マルチプレートのプロジェクトなどでX1cのプロジェクトを開いた時、たまたまつながっているのがA1 miniだと、Bambu Studioが自動で切り替えるかダイアログで聞いてきます。うっかり「はい」にしてしまうと、接続先がX1cになるのではなく、プロジェクトがA1 mini用に書き換えられてしまうのです。プレートサイズが違うのでレイアウトが滅茶苦茶になり、自動保存をオンにしていると直す間もなく上書き保存されるという事故になります(なりました)。全体的に.3mfファイルをBambu Studioで開くと設定がいつのまにか書き換えられがち。
■Bambu Farm Managerは発展途上
- 同じデータで繰り返し出力
- 多数のプリンターを効率よく回して大量出力
というプリンターファーム向けにBambuLab公式でBambu Farm Managerというツールがリリースされています。サーバー・クライアント方式で一旦サーバーにデーターが送られ、サーバーがスペックの合う空きプリンターにプリント指示を出す、といた仕組みです。ウチは2台しかないし機種毎に作るアイテムもわけているので、空きプリンターに自動選択などについてはさほど重要ではないのですが、スライス済みの完成データを壊さずに再送信でき、かつそれなりにリスト管理できるのであれば充分活用できるのではないかと考えました。
しかし残念ながら現時点ではWindows版しかない。macOSもLinuxも予定はあるらしいですが今はまだ気配なし。Win/Mac混合環境である我が家ではちょっと厳しい。
■Bambu Connectが使えるかも?
次に考えたのは同じく公式ツールのBambu Connectです。本稿執筆時点ではまだβ版ですが、少し前にBambuLabが他社ツールからのコントロール(プリントを含む)をブロックした時に、かわりに用意したツールです。macOS版もリリース済み。例えばOrcaSlicerなどサードパーティ製品でスライスしたデータをBambuプリンターに送るだけの単機能ツールです。コマンドラインオプション(URLスキーム)からスライス済みデータを送信できるので、AIでデータ管理ツールを作って、Bambu Connectで送信するということを考えました。例えば、NASに置いたスライスデータのパスをWebアプリで管理して、ブラウザからURLスキーム付きリンクをクリックすればローカルでBambu Connectが立ち上がりNASにあるファイルをプリンターに送信してくれるのでは?と考えました。WindowsとmacOSでパス記法が違いますが、それくらい簡単に自動変換できます。NASだったりBambuConnectのインストールだったり環境条件はありますが、一応やりたいことはできるのかな?というところ。
しかしこれも難点があり、できるのはあくまでデータ送信であって、AMSのフィラメント指定などはプリンター側で手動で行う必要があるとのこと。
■そこでBambuddyですよ!
そんなリサーチをしてる中で見つけたのがサードパーティ製ツールのBambuddyです。日本語だとバンバディとでも発音すればいいのかな?Bambu + buddyからきてるんでしょうか。BIQU Pandaのように「竹とはマブだぜ」感を醸すネーミングですね。ブラウザからアクセスして使用するWebアプリなのでWindows/macOSを問わずに使用できなんならスマホからでも使えてしまいます。海外のメンテナーさんが作っていますがUIは日本語化対応済みです。Docker環境があれば簡単にセットアップできます。無料です。
プリンターと同じネットワーク内にサーバーを建ててプリンターをLANモード/開発モードにして接続します。つまり、Bambuクラウドからは切り離されるためBambu Handyは使えなくなります。ここが大きなハンデというか難点にはなります。ただHandyでMakerWorldを検索することはあっても印刷キューを出すことはなく、プリントの進捗の表示やカメラ映像の確認、緊急停止などはBambuddyからでもできるのでいさぎよくHandyは捨てることに。
■Bambuddyでできること
スライス済みの.3mfデータである、.gcode.3mf形式のファイルをサーバーのストレージに保管しておき、再スライスなしでプリンターに送信してプリントできます。またキュー(印刷順リスト)として追加していくことができ、プリンターが空いたら順にプリントしていくような管理ができます(人力でプレート上の造型物をよけてスタンバイ状態になったことは知らせる必要がある)。つまり、繰り返しプリントするものは一度gcodeを作ってサーバーに置いておけば、再スライスの手間やうっかり設定が入れ替わってしまうリスクなしに完全同一条件で再プリントができるわけです。これがやりたかった!(まぁ、室温とかフィラメントの乾燥度合いとかで結局微調整が必要になったりするのが3Dプリントの難しいところなんですが…)
アップロードしたデータはフォルダ分けやタグ付けができるので、プリンター本体のストレージ(SDカード)で下がるよりもずっと効率的に大量のデータを置いても見つけやすいです。
また複数台のプリンターがある場合、空いているものに自動で振り分けたりといったこともしてくれるので、プリントファームを運用している人にも便利。ウチはX1cとA1 miniが1台ずつで、基本的になにをどちらで作るかは固定なので、自動割り当てはまだ活用していません。
時間指定で開始もできるので、朝出かけた後に開始、深夜に開始、ちょうど帰宅することに終わるように、みたいな使い方も便利でしょう。3Dプリンターはプリント開始にノズルやプレートを急速加熱する時がもっとも電力を食いますが、複数台のプリンターがある時に一斉に電気を使わないように開始タイミングをズラすといった制御まであるようです。
ブラウザ上で3Dモデルをグリグリしてプレビューすることもできるので、ファイル名だけでなく中身を直接確認してプリントキューに入れることが可能なのも嬉しい。
ノズル、ベッド、チャンバー温度などを固定したり、カメラ映像をストリームでみたり、印刷のポーズや停止など基本的な操作もできます。MQTT経由でできることは一通り実装されていると思います。
あと地味に良いなと思ったのはビルドプレートの事前過熱やヒートソーク(プレート全体が充分に温まるまで長めに過熱してから印刷開始すること)ができる点。PAなどのプリントだと単にセンサーが指定温度に到達したと認識した時点でプリントを開始すると充分に均一に温まってなくて失敗したりしがちなので、手動で100°とかにして数分余計にまったりしますが、それを自動化できるわけです。
HTMLはリキッドレイアウトに対応しており、スマホからでも操作できます。PWAにも対応しているので、Safariなどからホーム画面にブックマークすると、ナビゲーションバーを非表示にして疑似アプリ状態で使うこともできます(ただし割と頻繁にログインが外れて面倒 → 初期設定が24時間なだけで設定で延ばせました)。
通知は外部チャットサービスに連携して送信できます。我が家ではDiscordで専用サーバーを作成して、そこの特定のチャットスレッドに流れてくるようにしています。例えば一層目が造形された時や完成された時にカメラの静止画が添付されて通知されます(この時のメッセージは設定画面で定義できるのですが、ここだけ初期値が英語で、全部日本語に書き直すのが大変でした)。
Home Assistantにも対応していて、外部のカメラや温度計と連携したりもできるようです。グラフで時系列データを表示してくれるので、「これを造形している時に室温やチャンバー温度がどうなっていたか」みたいなことを後で調べたりも可能。
総じてBambu Studio/Handyでできないことが数多く実現しています。公式サイトにライブデモがあるので興味がある方はアクセスしてみてください。
また連携ツールのSpoolBudyというプロジェクトがあり、専用の量りとNFCリーダーを組み込んだDIYハードを作成すると、スプールの在庫/材料管理も統合して行えるようです。これもいずれ挑戦してみたいです。
■Bambuddyでできないこと、不便な点
まず先も書いたようにBambuクラウドから完全に切り離されます。結果として、
- Bambu Handyが使えなくなる。
ただ、これはほとんどの機能は代替可能な気がしています。ただいまのところエラーが発生した時の内容(フィラメント切れ、ファン異常など)が出ない気がします(どこかにあるだろうと思うけど見当たらない)。外出先からアクセスしたい場合は、VPNで自宅に入るか、Tailscaleをサポートしているのでそれ経由でアクセスする、もしくはWebサーバーをインターネットに公開する形になります。二段階認証なども設定できるので、ID/PWのみの認証よりも安全に外に出せる感じです。ウチは毎度愛用のCloudflareのtunnneldを使って専用ホスト名を割り当ててアクセスできるようにしています。スマホのブラウザやPWA化してBambu Handyの代替ツールとして使うにはそれが一番な気がします。
なお、Bambu Handyの主要機能であるMaker Worldからの直接インポートですが、Bambuddyの場合は、URLを貼り付けると印刷キューに追加することはできるみたいです。試してないですが。
■惜しい点
キューに名前がつけられない
.gcode.3mfのファイル名がデフォルトで名前になり、変更も可能です。ただそこから印刷キューに入れた個々のインスタンスに名前をつけられないっぽい。可能であれば「〇〇様注文分」とか個別に名前かメモがつけられるとキューの一覧で見分けがついて最高なんですが。
■画面例
「プリンター」画面

プリンター一覧の画面です。純正ツールでわかる情報はおおむね網羅されている気がします。独自要素は、右のX1cで見えている「次のキュー」と、左のA1 miniの方で出ている「プレートをクリア済みにする」です。前の造形物を片付けてビルドプレートがクリーンになった時点でこのボタンをクリックすると次に控えたキューが繰り上がって造形がスタートする感じです。
「印刷キュー」画面
以下、サイドバーは省略します。
実行予定のリストです。2Dプリンターでお馴染みのあれです。

プリンターが空き次第、上から順に送信され造形が開始します。このリスト上でドラッグ&ドロップして順番を入れ替えたり削除することもできます。
「ファイル管理」画面
アップロードした.gcode.3mfファイルのブラウザです。

目的のファイルが探しやすいように、階層付きフォルダに分類したり、タグをつけておくことができます。もちろん名前で検索も。
多種多様なプリントファイルを管理するという意味では、Bambu Studioや本体タッチパネルを遥かに凌駕する使いやすさ、安心感です。登録はFinder/エクスプローラーから直接ドラッグ&ドロップもできます。
惜しむ楽は、
- リスト表示ができず、ファイル名が切れて見えないので、似たような形状のファイルを見分け辛い
- 別のフォルダに移動するのにドラッグ&ドロップが使えない
- タグやカードを色分けできない
- プリンター内のSDカードにあるファイルが「アーカイブ」画面から閲覧できるが、直接ここに登録できない(多分。一度PCローカルにダウンロードしてここにアップロードしなおす必要がありそう。)
キュー投入ポップアップ
ファイル管理画面などから「印刷」を選ぶとこのようなオーバーレイのポップアップウインドウが表示され、様々なパラメーターを指定してキューに追加できます。

写真では既にプリンターを選んで、詳細項目を表示した様子です。
一番上の「Any X1C」を選ぶと、多数ある同型機から空いているものが自動選択されるようです(ないので試せてない)。
「フィラメントマッピング」でAMS上のどのスロットのフィラメントを使うか指定できます。gcode内の指定にマッチするものがあればデフォルトで選択されますが、例えばここで同種別カラーを選びなおしてプリントすることも可能です。
印刷オプションはデフォルト値を設定で決めておけて、ここで個別に例外設定ができるという感じ。Bambu Studioでは個別指定できない「振動キャリブレーション」「第1層検査」もここでオンオフできるようです。
「プレヒート&ヒートソーク」は残念ながらプリンター毎のデフォルト値を記憶させておくことはできません。ウチだとチャンバー機のX1cではオン、オープン機のA1 miniはオフ、というのをデフォルトにしたいんですが。まぁここで個別指定できることは良いですね。
「印刷タイミング」でキューに入れて順番待ちをする他、即時やスケジュールなど事細かに選べます。
■まとめ
量産プロダクトを繰り返し造形するのに、Bambu Studioはやや面倒くさいばかりか、しれっと一部の設定を上書きしてくれるのでミスやデータ破損にもつながりかねませんでした。
Bambu Lab自身もそれを見越してBambu Farm Managerというフリート管理ツールを提供していますが、現状はWindows専用で発展途上な感が否めません。
Bambuddyはその救世主となるサードパーティツールで、LAN内にDocker環境があればものの数分でセットアップして使うことができます。プロジェクトやフィラメント管理などまだ活用しきれてない部分もありますが、当面ほしかった機能は網羅されている気がします。プリンターをLANモード/開発モードにする必要があるため、Bambu Handyが使えなくなりますが、インターネットからアクセスできるよう設定して、通知はDiscordなどに投げるようにすればさほど不便はないかなという印象です。
スライス済みファイルをスライサー(=PC)無しでプリントできるので、最悪PCが急に故障した、となっても既存データのみなら早計できるなど、ウチのような超小規模環境でもメリットはあると感じます。
主要開発者であるmaziggy氏や多くの貢献者に深く感謝します。なお開発支援としてGithubの月額スポンサーになる他、ko-fiというサイトで単発のチップを送ることもできます(決済はPayPal)。Bumbuddyが有用だと感じたら是非支援しておきましょう。
