Viscose is a fork of Bambu Studio. We maintain it here to make sure that (a) we have a copy of everything Bambu Lab publishes (in case it is removed elsewhere), and (b) to maintain a fork that respects users' software freedom and rights better than upstream Bambu Studio. This project is not affiliated in any way with Bambu Lab.
  • C++ 77.1%
  • JavaScript 11.1%
  • C 7.1%
  • HTML 1.7%
  • TypeScript 1%
  • Other 1.5%
Find a file
Daniel Williams 22638157e2
Some checks are pending
Build all / Build All (push) Blocked by required conditions
Build all / Build All-1 (push) Blocked by required conditions
Build all / Build All-2 (push) Blocked by required conditions
Build all / Build All-3 (push) Blocked by required conditions
Build all / Build All-4 (push) Blocked by required conditions
Build all / Check Cache (push) Waiting to run
Build all / Build Deps (push) Blocked by required conditions
Build all / Check Cache-1 (push) Waiting to run
Build all / Build Deps-1 (push) Blocked by required conditions
FIX: AMSMaterialsSetting calls non-existent get_extruder_id_by_ams_id
PR #10106 (commit 01781493c, maziggy 2026-03-28) introduced a call to
`obj->get_extruder_id_by_ams_id(...)` in `AMSMaterialsSetting::Popup`.
That method does not exist on `MachineObject`; every other call site in
the tree uses `obj->GetFilaSystem()->GetExtruderIdByAmsId(...)`. A
post-fix landed on master in commit 33b62edc1 (xin.zhang 2026-05-07)
that replaced the broken call and added an `if (ext_id > 0)` guard,
but a subsequent duplicate cherry-pick of #10106 (the same maziggy
commit, applied a second time) clobbered the post-fix; master HEAD now
contains the broken call again.

This commit re-applies xin.zhang's post-fix verbatim:
- Replaces `obj->get_extruder_id_by_ams_id(...)` with
  `obj->GetFilaSystem()->GetExtruderIdByAmsId(...)`.
- Re-introduces the `if (ext_id > 0)` guard so the call site doesn't
  feed a sentinel/negative ext_id into `GetNozzleDiameter`.

Behaviour matches every other call site in the tree
(AMSDryControl.cpp:1575, AMSMaterialsSetting.cpp:597 + :1025,
CalibrationWizardPresetPage.cpp:1549, SelectMachine.cpp:6005) and the
DevFilaSystem::GetExtruderIdByAmsId declaration in
DeviceCore/DevFilaSystem.h:288.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 20:20:23 +08:00
.github FIX: Sync with github 2026-04-15 15:03:11 +08:00
bbl/i18n ENH:Manually add plural translations for zh_CN.po 2026-05-14 19:59:59 +08:00
bbs_test_tools Revert GCodeChecker.cpp 2025-12-09 12:19:59 +08:00
cmake ENH: Porting multiple NoiseTypes of Orca FuzzySkin 2026-04-15 15:02:57 +08:00
deps NEW: texture to color painting support 2026-05-13 22:04:27 +08:00
doc Fix typos in several doc and config files 2025-12-09 12:19:59 +08:00
docker FIX: Sync with github 2026-04-15 15:03:11 +08:00
lib Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
linux.d linux.d/fedora: use webkit2gtk4.1-devel 2026-05-08 08:36:20 +08:00
resources Add camera fullscreen view 2026-05-15 14:04:11 +08:00
sandboxes Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
scripts/hooks NEW:add pre-commit for check error incorrect use like WxColour(0x00AE42) 2025-05-29 17:48:39 +08:00
src FIX: AMSMaterialsSetting calls non-existent get_extruder_id_by_ams_id 2026-05-18 20:20:23 +08:00
t Fix typos in several doc and config files 2025-12-09 12:19:59 +08:00
tests FIX: filament manager single-colour edit colour not refreshing 2026-05-14 16:11:13 +08:00
xs Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
.clang-format FIX: Sync with github 2026-04-15 15:03:11 +08:00
.dockerignore Add some dockery things to ignore 2023-03-02 21:21:30 +08:00
.gitignore ENH:add dist to .gitignore && disable TLS_VERIFY when downloading node/pnpm,already used hash to verify package 2026-05-13 22:05:30 +08:00
BambuStudio.mo Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
BambuStudio.sublime-project Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Build.PL Fix typos in several doc and config files 2025-12-09 12:19:59 +08:00
build_win.bat Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
BuildFedora.sh ENH:选料器适配 2026-04-15 14:44:37 +08:00
BuildLinux.sh FIX: Sync with github 2026-04-15 15:03:11 +08:00
BuildMac.sh ENG:update deps for mac15 2025-07-17 14:58:09 +08:00
CMakeLists.txt FIX: compiling: fix the compiling issue related on windows arm64 2026-04-15 15:02:18 +08:00
Containerfile Containerfile: libsoup2.4-dev -> libsoup-3.0-dev 2026-05-08 08:36:20 +08:00
diff_summary.txt ci: update translate file 2026_04_29_21_05_43 2026-05-13 22:00:31 +08:00
DockerBuild.sh FIX: Sync with github 2026-04-15 15:03:11 +08:00
DockerEntrypoint.sh Add an entrypoint covienience script for an out-of-the-box user experience. 2025-01-25 10:10:32 +08:00
Dockerfile fix: update base image to Ubuntu 24.04 in Dockerfile 2026-01-21 08:07:00 +08:00
DockerRun.sh correct image tag for consistency 2025-01-25 10:10:32 +08:00
LICENSE Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
localazy.json ENH: sync some missing codes between branches 2023-11-09 10:09:10 +08:00
README.md FIX: Sync with github 2026-04-15 15:03:11 +08:00
version.inc ci: update build version to 02.07.00.55 2026-05-14 19:59:59 +08:00

image

BambuStudio

Bambu Studio is a cutting-edge, feature-rich slicing software.
It contains project-based workflows, systematically optimized slicing algorithms, and an easy-to-use graphic interface, bringing users an incredibly smooth printing experience.

Prebuilt Windows, macOS 64-bit and Linux releases are available through the github releases page.

Bambu Studio is based on PrusaSlicer by Prusa Research, which is from Slic3r by Alessandro Ranellucci and the RepRap community.

See the wiki and the documentation directory for more information.

What are Bambu Studio's main features?

Key features are:

  • Basic slicing features & GCode viewer
  • Multiple plates management
  • Remote control & monitoring
  • Auto-arrange objects
  • Auto-orient objects
  • Hybrid/Tree/Normal support types, Customized support
  • multi-material printing and rich painting tools
  • multi-platform (Win/Mac/Linux) support
  • Global/Object/Part level slicing parameters

Other major features are:

  • Advanced cooling logic controlling fan speed and dynamic print speed
  • Auto brim according to mechanical analysis
  • Support arc path(G2/G3)
  • Support STEP format
  • Assembly & explosion view
  • Flushing transition-filament into infill/object during filament change

How to compile

Following platforms are currently supported to compile:

Report issue

You can add an issue to the github tracker if it isn't already present.

License

Bambu Studio is licensed under the GNU Affero General Public License, version 3. Bambu Studio is based on PrusaSlicer by PrusaResearch.

PrusaSlicer is licensed under the GNU Affero General Public License, version 3. PrusaSlicer is owned by Prusa Research. PrusaSlicer is originally based on Slic3r by Alessandro Ranellucci.

Slic3r is licensed under the GNU Affero General Public License, version 3. Slic3r was created by Alessandro Ranellucci with the help of many other contributors.

The GNU Affero General Public License, version 3 ensures that if you use any part of this software in any way (even behind a web server), your software must be released under the same license.

The bambu networking plugin is based on non-free libraries. It is optional to the Bambu Studio and provides extended networking functionalities for users. By default, after installing Bambu Studio without the networking plugin, you can initiate printing through the SD card after slicing is completed.