Commit Graph

17202 Commits

Author SHA1 Message Date
97a96f62fe fix(preset): don't truncate child variant vectors to parent size on load (#13316)
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-08 16:03:39 -03:00
bff3a92179 Add wiki link to transfer settings (#13534) 2026-05-08 15:42:38 -03:00
5ce67d9d14 improve log 2026-05-09 02:35:50 +08:00
591ca117ad when the stealth mode is enabled, log out cloud service and hide sideboard (#13531)
* when the stealth mode is enabled, log out cloud service and hide sideboard

* update tooltip
2026-05-09 00:46:41 +08:00
f928f63ced ZAA: Fix Z-contouring raycast reference plane and Eigen UB (#13510)
* Add safety checks and add logic to avoid creating degenerate polygons in contour_extrusion_path

* fix comment

* fix(zaa): cast from slice_z upward only, guard normal on miss

* remove old code

---------

Co-authored-by: Aleksandr Dobkin <alex@dobk.in>
Co-authored-by: Rodrigo Faselli <162915171+RF47@users.noreply.github.com>
2026-05-08 13:22:00 -03:00
f3cfcb2e6a FuzzySkin hole + Fix: Painted artifacts and with Sacrificial layer issues (#12479) 2026-05-08 19:22:49 +08:00
2f6a5f6444 Ripple Wiki and Improvements (#13506) 2026-05-07 23:29:29 -03:00
9f71d7e499 Fixed: Correct calculation of the elephant's foot density layers (#13523) 2026-05-07 18:41:56 -03:00
47cee7cb22 ZAA: Add safety check and logic to avoid creating degenerate polygons in CountourZ (#13508)
Co-authored-by: Aleksandr Dobkin <alex@dobk.in>
2026-05-07 15:41:26 -03:00
4b069a5e9e Fixed regression bug that MANUAL_TOOL_CHANGE not working for BBL printers (#13516)
* fix: manual filament change not emitting MANUAL_TOOL_CHANGE for BBL printers
BBL-specific M1020 S handling in toolchange() bypassed toolchange_prefix(),so manual_filament_change had no effect — M1020 was always emitted regardless of the setting. Move the BBL logic into toolchange_prefix() so all callers respect the option consistently.
Fixes #11795

* add comment
2026-05-08 00:31:35 +08:00
4e2d889e68 Fix unicode preset name issue (#13503) 2026-05-06 23:45:32 +08:00
4948316543 Feature/fuzzy skin ripple mode (#13471)
* fuzzy skin ripple mode

add fuzzy skin ripple mode, which is a uniform pattern option. fixes #13325

* remove unused wall width parameter

* remove cmath import

* style consistency

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-05-06 23:02:42 +08:00
8f662d36c2 update profile validator (#13494) 2026-05-06 18:43:23 +08:00
3baed19c8e Fix iconic button sizes on widgets (paint modes and gcode viewer buttons) (#13365)
* init

* update
2026-05-06 00:07:15 +08:00
17824e21ec Improvements for Color paint widget (#13421)
* init

* fix build error

* Update GLGizmoMmuSegmentation.cpp

* Update GLGizmoMmuSegmentation.cpp

* Update GLGizmoMmuSegmentation.cpp

* fix popup positioning and add tooltip for remap info
2026-05-05 20:35:31 +08:00
fd275096c9 Simplify drawing splash screen using wxPaintDC and Fix scaling & blank rendering issues (#12586)
* Update GUI_App.cpp

* Update GUI_App.cpp

* make splash screen parentless
2026-05-05 20:34:10 +08:00
a6ffd8f62f EFC Density description (#13476) 2026-05-04 12:37:54 -03:00
176e53eca1 Wiki redirections (#13474) 2026-05-04 11:19:21 -03:00
2b7fcc5645 [Linux] Fix Black borders on checkbox and switch button (#13362)
init
2026-05-04 15:54:17 +08:00
90d48d01c2 Fix crash ZAA (#13450)
fix crash zaa

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-05-04 15:52:34 +08:00
8b70dceba1 Fix extrusion of some support layers at wrong Z height (again) (#13460)
Fix extrusion of some support layers at wrong Z height

Fixes the issue that PR #12736 (github.com/OrcaSlicer/OrcaSlicer/pull/12736) reverted the changes of PR #13327 (github.com/OrcaSlicer/OrcaSlicer/pull/13327)
2026-05-03 23:36:02 +08:00
2e7a6f776b ZAA Wiki redirection + tooltip (#13446)
* ZAA Wiki redirection + puntutation

* Clarify tooltip text for Z parameters
2026-05-03 11:51:42 -03:00
62042faa05 fixes an issue that devmgr ping cloud server every second
Co-authored-by: Copilot <copilot@github.com>
2026-05-03 16:59:30 +08:00
2c28dfaff4 make the uuid generation more robust 2026-05-03 16:04:22 +08:00
bf09851b96 Fix/fixed unicode preset name issue (#13458)
* fixed an issue for unicode preset name
2026-05-03 15:42:45 +08:00
c77e4ead38 Fix: Fixing the range check in ZAA code (#13452) 2026-05-02 18:35:15 -03:00
562500f338 Fix role-based fan speeds being lost on layer change (#13390) 2026-05-02 18:24:09 -03:00
5d6914c214 PR #12525 follow-up (#13440)
Decouple chamber temperature

- make chamber_temperature variable always accessible
2026-05-02 12:11:34 +01:00
af1e5ec378 feat: Add Z Anti-Aliasing (ZAA) contouring support (updated) (#12736)
This PR supersedes #12225, which originally proposed this feature but
appears inactive.

The feature originated from work I developed earlier in
[BambuStudio-ZAA](https://github.com/adob/BambuStudio-ZAA), a private
fork of Bambu Studio

Compared to #12225, I updated the implementation for current upstream
and fixed the following issues:
 - fixed broken tests
 - removed references to nonplanar directory

Reviewers may want to compare against #12225 for earlier
discussion/context.

## Summary

Port of **Z Anti-Aliasing (ZAA)** from
[BambuStudio-ZAA](https://github.com/adob/BambuStudio-ZAA) to
OrcaSlicer.

ZAA eliminates visible stair-stepping on curved and sloped top surfaces
by raycasting each extrusion point against the original 3D mesh and
micro-adjusting its Z height to follow the actual surface geometry. The
result is visibly smoother domes, chamfers, and shallow slopes — without
post-processing.

## How It Works

1. The slicer runs normally, then a **posContouring** step processes
each layer
2. `ContourZ.cpp` raycasts every extrusion point vertically against the
source mesh
3. Each point's Z is adjusted to the mesh intersection, converting flat
`Polyline` paths into `Polyline3` paths with per-point Z coordinates
4. The G-code writer emits the adjusted Z values, so the printer follows
the true surface

## Configuration

Five new settings under **Print Settings > Quality**:

| Setting | Type | Default | Description |
|---------|------|---------|-------------|
| `zaa_enabled` | bool | off | Master enable/disable switch |
| `zaa_min_z` | float | 0.06 mm | Minimum Z layer height; controls
slicing plane offset |
| `zaa_minimize_perimeter_height` | float | 35° | Reduce perimeter
heights on slopes below this angle (0 = disabled) |
| `zaa_dont_alternate_fill_direction` | bool | off | Keep fill direction
consistent instead of alternating |
| `zaa_region_disable` | bool | off | Disable ZAA for a specific print
region/material |

## Key Changes

- **Core algorithm**: New `src/libslic3r/ContourZ.cpp` (~330 lines) —
raycasting engine
- **3D geometry**: `Point3`, `Line3`, `Polyline3`, `MultiPoint3` extend
existing 2D types
- **Arc fitting**: Templated to work with both 2D and 3D geometry
- **Pipeline**: `ExtrusionPath::polyline` changed from `Polyline` to
`Polyline3`; new `posContouring` step in `PrintObject.cpp`
- **G-code**: `GCode.cpp` writes per-point Z when `path.z_contoured` is
set
- **UI**: ZAA settings exposed in Print Settings > Quality panel
- **Documentation**: `docs/ZAA.md` with usage and implementation details

57 files changed, ~1800 insertions, ~200 deletions.

## Test Plan

- [ ] Load a model with curved top surfaces (sphere, dome, chamfered
box)
- [ ] Enable **Z contouring** in Print Settings > Quality
- [ ] Slice and verify G-code has varying Z values within contoured
layers
- [ ] Build on macOS (verified), test on Linux and Windows
2026-05-02 11:03:00 +08:00
7f53d9c092 Correct center grid multiline (#13422) 2026-05-01 20:43:13 -03:00
cddb42490f Fix to raft checking logic for slow down layers (#13415) 2026-05-01 14:32:39 -03:00
7eeef6b263 Fix: Expose support_chamber_temp_control flag outside developer mode (#12924) (#13393)
* Refactor chamber temperature control logic in TabFilament

* Enhance chamber temperature control logic in TabFilament
2026-05-01 14:31:09 -03:00
0cb18e4478 Tweak UI
1. Move ZAA options to comExpert
2. Expose zaa_dont_alternate_fill_direction to the UI
3. Remove ironing_expansion from UI as it's not implemented
2026-05-01 21:25:58 +08:00
4c7bd5f9fc fixed an issue that zaa_enabled is redefined in both object and region. move all zaa config to region to keep it consistent 2026-05-01 19:47:00 +08:00
fb78bbca85 Merge branch 'main' into zaa 2026-05-01 18:04:05 +08:00
61f6812d5e Feature/per vendor update (#13394)
* init work - refactored OrcaSlice side
backend is not updated yet

* end-to-end flow

* Delete task.md

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-05-01 18:03:19 +08:00
c86ca771de Introducing Orca Cloud: https://cloud.orcaslicer.com (#13414)
* Add OrcaCloud sync platform and preset bundle sharing system

  Introduce OrcaCloud, a cloud sync platform for user presets, alongside
  a preset bundle system that enables sharing printer/filament/process
  profiles as local exportable bundles or subscribed cloud bundles.

  OrcaCloud platform:
  - Auth to Orca Cloud
  - Encrypted token storage (file-based or system keychain)
  - User preset sync with
  - Profile migration from default/bambu folders on first login
  - Homepage integration with entrance to cloud.orcaslicer.com

  Preset bundles:
  - Local bundle import/export with bundle_structure.json metadata
  - Subscribed cloud bundles with version-based update checking
  - Thread-safe concurrent bundle access with read-write mutex
  - Canonical bundle preset naming (_local/<id>/... and _subscribed/<id>/...)
  - Bundle presets are read-only; grouped under subheaders in combo boxes
  - PresetBundleDialog with auto-sync toggle, refresh, update notifications
  - Hyperlinked bundle names to cloud bundle pages

  Co-authored-by: Sabriel Koh <sabrielkcr@gmail.com>
  Co-authored-by: Derrick <derrick992110@gmail.com>
  Co-authored-by: Mykola Nahirnyi <mnahirnyi@amcbridge.com>
  Co-authored-by: Ian Chua <iancrb00@gmail.com>
  Co-authored-by: Draginraptor <draginraptor@gmail.com>
  Co-authored-by: ExPikaPaka <112851715+ExPikaPaka@users.noreply.github.com>
  Co-authored-by: Ian Bassi <ian.bassi@outlook.com>
  Co-authored-by: Ocraftyone <Ocraftyone@users.noreply.github.com>
  Co-authored-by: yw4z <ywsyildiz@gmail.com>
  Co-authored-by: peterm-m <101202951+peterm-m@users.noreply.github.com>

* Fixed an issue on Windows it failed to login Orca Cloud with Google account
2026-05-01 18:01:29 +08:00
6d8488c513 Fix outer wall for bridges (#13411) 2026-04-30 18:35:42 -03:00
16ec925eeb Fix and Improve 3MF impOrt (#13403) 2026-04-30 09:19:13 -03:00
5aaa82a8e2 Fix a regression issue orca couldn't login into BBL cloud (#13407)
* Add ticket-based OAuth flow for third-party login in HttpServer

* Fix legacy plugin login
2026-04-30 16:12:08 +08:00
f7ab4c5872 revert pure format changes 2026-04-28 19:57:14 +08:00
c07b854428 Fixed a bug where zaa_dont_alternate_fill_direction still had an effect even when ZAA is disabled. 2026-04-28 18:47:56 +08:00
c62f064b8f Fixed a bug where the scarf seam wouldn't work properly when ZAA was disabled. 2026-04-28 18:46:56 +08:00
529bd93b34 fix missing settings after merging 2026-04-28 17:20:59 +08:00
195fa21d73 Merge branch 'main' into zaa 2026-04-28 16:57:02 +08:00
8e3e859731 WIP fix sacrificial layer.cpp (#13018)
* fix sacrificial layer.cpp

Fix sacrificial layer edgecase , with 2 perimeters only

* copilot suggsetions

* one perimeter left

Update PerimeterGenerator.cpp

* Update offset calculation in PerimeterGenerator

Adjust the offset calculation for unsupported filtered polygons.
2026-04-26 20:31:56 +08:00
5711a5fa1e Fix auto-arrangement boundary for skirt loops (#12999)
https://github.com/bambulab/BambuStudio/pull/10086
2026-04-26 20:30:39 +08:00
b567e91931 Fix: Crash when changing type of SVG / TEXT volume to Support Blocker / Enforcer (#13120)
init
2026-04-26 20:29:56 +08:00
7aa0b17606 toggle printability of selection with keyboard shortcut (#13279)
* toggle printability of object with keyboard shortcut

* add localization for toggle shortcut
2026-04-26 20:29:20 +08:00
781448b152 Fix fan stuck at wrong speed (#13336)
Fix fan speed staying high

When fan speed-up time is enabled, layers can inherit a higher fan speed than intended.

If a layer ended with a role-driven fan change, the last applied fan speed
was not properly tracked. As a result, the next layer could start with an
incorrect fan state and keep the higher speed until another fan command
overrode it.

Ensure the emitted fan speed is always tracked correctly, including when
flushing buffered commands at the end of a layer.
2026-04-26 20:19:40 +08:00