Commit Graph

17207 Commits

Author SHA1 Message Date
Noisyfox
ff973dc937 Rearrange code a little bit to make it more reusable 2026-05-09 16:16:31 +08:00
Noisyfox
33d96d883e Fix issue that support/seam/fuzzy skin painting not kept after split 2026-05-09 10:12:36 +08:00
Noisyfox
a8c9013aa6 Rearrange code a little bit to make it more reusable 2026-05-08 22:54:20 +08:00
Noisyfox
ac1892418f Simplify mesh transform 2026-05-08 21:23:38 +08:00
Noisyfox
c454b11506 Fix issue that Geometry::deg2rad() do calculation in the same type as the parameter, which means if the parameter is int then you lose all the precision 2026-05-07 22:32:56 +08:00
Noisyfox
6df60a91d7 Merge branch 'main' into dev/cut-keep-paint 2026-05-07 08:49:57 +08:00
Noisyfox
4e2d889e68 Fix unicode preset name issue (#13503) 2026-05-06 23:45:32 +08:00
GeordieTomo
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
SoftFever
8f662d36c2 update profile validator (#13494) 2026-05-06 18:43:23 +08:00
yw4z
3baed19c8e Fix iconic button sizes on widgets (paint modes and gcode viewer buttons) (#13365)
* init

* update
2026-05-06 00:07:15 +08:00
Noisyfox
22f70ca23f Speed up calculation by caching barycentric independent variables 2026-05-05 21:53:58 +08:00
yw4z
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
yw4z
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
Noisyfox
4783836e68 Add option to enable/disable paint keep 2026-05-05 18:39:50 +08:00
Noisyfox
af2b582424 Fix part offset 2026-05-05 18:11:44 +08:00
Noisyfox
a490c0b3d8 Don't remap paint unless it's the final cut 2026-05-05 17:08:53 +08:00
Noisyfox
4d911b75e9 Check normal before expanding the painting to neighboring faces 2026-05-05 11:59:20 +08:00
Noisyfox
f8b682f398 Fix issue of pojection calculation 2026-05-05 11:05:48 +08:00
Ian Bassi
a6ffd8f62f EFC Density description (#13476) 2026-05-04 12:37:54 -03:00
Ian Bassi
176e53eca1 Wiki redirections (#13474) 2026-05-04 11:19:21 -03:00
Noisyfox
4ab857ec84 Remapping the paintings after cut 2026-05-04 20:41:00 +08:00
Noisyfox
fa499ec795 Refine code 2026-05-04 20:33:13 +08:00
Noisyfox
c38d05a7ec Remove unused facets 2026-05-04 20:33:13 +08:00
yw4z
2b7fcc5645 [Linux] Fix Black borders on checkbox and switch button (#13362)
init
2026-05-04 15:54:17 +08:00
Rodrigo Faselli
90d48d01c2 Fix crash ZAA (#13450)
fix crash zaa

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-05-04 15:52:34 +08:00
Kiss Lorand
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
Ian Bassi
2e7a6f776b ZAA Wiki redirection + tooltip (#13446)
* ZAA Wiki redirection + puntutation

* Clarify tooltip text for Z parameters
2026-05-03 11:51:42 -03:00
SoftFever
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
SoftFever
2c28dfaff4 make the uuid generation more robust 2026-05-03 16:04:22 +08:00
SoftFever
bf09851b96 Fix/fixed unicode preset name issue (#13458)
* fixed an issue for unicode preset name
2026-05-03 15:42:45 +08:00
Valerii Bokhan
c77e4ead38 Fix: Fixing the range check in ZAA code (#13452) 2026-05-02 18:35:15 -03:00
Kiss Lorand
562500f338 Fix role-based fan speeds being lost on layer change (#13390) 2026-05-02 18:24:09 -03:00
Kiss Lorand
5d6914c214 PR #12525 follow-up (#13440)
Decouple chamber temperature

- make chamber_temperature variable always accessible
2026-05-02 12:11:34 +01:00
SoftFever
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
Rodrigo Faselli
7f53d9c092 Correct center grid multiline (#13422) 2026-05-01 20:43:13 -03:00
yogihybo
cddb42490f Fix to raft checking logic for slow down layers (#13415) 2026-05-01 14:32:39 -03:00
Bhall338
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
SoftFever
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
SoftFever
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
SoftFever
fb78bbca85 Merge branch 'main' into zaa 2026-05-01 18:04:05 +08:00
Ian Chua
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
SoftFever
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
Kiss Lorand
6d8488c513 Fix outer wall for bridges (#13411) 2026-04-30 18:35:42 -03:00
Ian Bassi
16ec925eeb Fix and Improve 3MF impOrt (#13403) 2026-04-30 09:19:13 -03:00
SoftFever
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
SoftFever
f7ab4c5872 revert pure format changes 2026-04-28 19:57:14 +08:00
SoftFever
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
SoftFever
c62f064b8f Fixed a bug where the scarf seam wouldn't work properly when ZAA was disabled. 2026-04-28 18:46:56 +08:00
SoftFever
529bd93b34 fix missing settings after merging 2026-04-28 17:20:59 +08:00
SoftFever
195fa21d73 Merge branch 'main' into zaa 2026-04-28 16:57:02 +08:00