In generate_contact_points, the rotated_dims don't actually generate a Point, but generate an abstract expression that holds a reference to bounding_box_size. Unfortunately, this goes wrong because bounding_box_size ages out instantly; GCC's Address Sanitizer complains that this is a "stack-use-after-scope" issue. Interestingly, the Eigen documentation says that this is a known problem with using C++11 "auto" to generate matrices (which a Point is)! It is buried here: https://eigen.tuxfamily.org/dox/TopicPitfalls.html This is probably an extremely theoretical correctness improvement, and also an extremely theoretical performance improvement. But it is an improvement nonetheless, and, more importantly, it enables me to continue to run the slicer with Address Sanitizer turned on to find other potential issues. |
||
---|---|---|
.github/ISSUE_TEMPLATE | ||
bbl/i18n | ||
bbs_test_tools | ||
cmake | ||
deps | ||
doc | ||
lib | ||
resources | ||
sandboxes | ||
src | ||
t | ||
tests | ||
xs | ||
.gitignore | ||
BambuStudio.mo | ||
BambuStudio.sublime-project | ||
Build.PL | ||
BuildLinux.sh | ||
CMakeLists.txt | ||
Containerfile | ||
LICENSE | ||
README.md | ||
Readme.txt | ||
build_win.bat | ||
localazy.json | ||
version.inc |
README.md
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 releases are available through the github releases page.
Linux version currently is not supported.
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 informations.
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:
- Windows 64-bit, Compile Guide
- Mac 64-bit, Compile Guide
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 functionalities for users.