Commit Graph

28977 Commits

Author SHA1 Message Date
b3a513eab9 Remove redundent mmu facets assign because that's already done in new_object->add_volume(*volume) 2026-05-09 17:36:17 +08:00
fb0cf966cf Remap paint after split to parts 2026-05-09 17:06:19 +08:00
c2d33bea08 Remap paint after split to objects 2026-05-09 17:02:46 +08:00
bfde91685e Rearrange code a little bit to make it more reusable 2026-05-09 16:16:31 +08:00
4490dccade Fix issue that support/seam/fuzzy skin painting not kept after split 2026-05-09 10:12:36 +08:00
2f160ad8bc Rearrange code a little bit to make it more reusable 2026-05-08 22:54:20 +08:00
fad680fcc1 Simplify mesh transform 2026-05-08 21:23:38 +08:00
83e9f17aa8 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
8b716d43e5 Merge branch 'main' into dev/cut-keep-paint 2026-05-07 08:49:57 +08:00
100a9a20d1 Fix unicode preset name issue (#13503) 2026-05-06 23:45:32 +08:00
97c7afa2af 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
02c9ab6a02 update profile validator (#13494) 2026-05-06 18:43:23 +08:00
d84ac149d1 Fix filamanent / printer selection stucks on loading (#13492)
* Update re3D rPP.json

* add vector type check

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-05-06 18:42:25 +08:00
LH
57cee529b4 Add LH Stinger printer profiles (#13410) 2026-05-05 14:33:30 -03:00
c2ac0baa05 Fix iconic button sizes on widgets (paint modes and gcode viewer buttons) (#13365)
* init

* update
2026-05-06 00:07:15 +08:00
be141d32c1 Speed up calculation by caching barycentric independent variables 2026-05-05 21:53:58 +08:00
1433521f98 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
b3482265e0 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
5978e96ff5 Add option to enable/disable paint keep 2026-05-05 18:39:50 +08:00
368563e14e Fix part offset 2026-05-05 18:11:44 +08:00
01e0013b16 Don't remap paint unless it's the final cut 2026-05-05 17:08:53 +08:00
aa35d3ae17 preserve a single trailing newline when reformatting JSON files 2026-05-05 14:58:26 +08:00
4b489339c6 Check normal before expanding the painting to neighboring faces 2026-05-05 11:59:20 +08:00
e451df27f7 Fix issue of pojection calculation 2026-05-05 11:05:48 +08:00
7ecf2225a4 Update Czech translations in OrcaSlicer_cs.po (#13465) 2026-05-04 19:12:34 -03:00
62ccd979c6 EFC Density description (#13476) 2026-05-04 12:37:54 -03:00
a943252b6a Wiki redirections (#13474) 2026-05-04 11:19:21 -03:00
24458ba5a2 Remapping the paintings after cut 2026-05-04 20:41:00 +08:00
ded2e72dcc Refine code 2026-05-04 20:33:13 +08:00
07173a8de4 Remove unused facets 2026-05-04 20:33:13 +08:00
8e9906f747 Fix Ender-3 V3 KE nozzle switching (#13438)
Fix Ender-3 V3 KE nozzle switching by adding printer_variant

The four Creality Ender-3 V3 KE 0.X nozzle profiles were missing the
printer_variant key, so OrcaSlicer could not map a UI nozzle selection
to a specific profile and reverted every choice to 0.2mm. Add the
matching printer_variant to each, following the CR-10 SE / K1C pattern.
2026-05-04 17:41:07 +08:00
84ccee7fe6 Add indentation check to profile workflow (#13417)
Introduce an 'indentation_check' job step to .github/workflows/check_profiles.yml that validates profile JSON files under resources/profiles use tab-only indentation (1 tab per level). The step runs an inline Python check, emits a log (indentation_check.log) with errors and a fix tip, and exits non‑zero on violations. Workflow conditionals for preparing the PR comment artifact, uploading the artifact, and failing the job were updated to include the new step so indentation failures are reported alongside other profile validation failures.
2026-05-04 15:57:50 +08:00
988b500f33 [Linux] Fix Black borders on checkbox and switch button (#13362)
init
2026-05-04 15:54:17 +08:00
1d4c7c56a2 Fix crash ZAA (#13450)
fix crash zaa

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

* Clarify tooltip text for Z parameters
2026-05-03 11:51:42 -03:00
84d896bbd3 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
522343a193 make the uuid generation more robust 2026-05-03 16:04:22 +08:00
66b3d5e263 Fix/fixed unicode preset name issue (#13458)
* fixed an issue for unicode preset name
2026-05-03 15:42:45 +08:00
6fd4984cad Fix: Fixing the range check in ZAA code (#13452) 2026-05-02 18:35:15 -03:00
0ee62a9662 Fix role-based fan speeds being lost on layer change (#13390) 2026-05-02 18:24:09 -03:00
0c415708d7 PR #12525 follow-up (#13440)
Decouple chamber temperature

- make chamber_temperature variable always accessible
2026-05-02 12:11:34 +01:00
e66ec7fd70 Add processor mapping for ARM64 -> DEPS_ARCH=arm64 (#13424)
# Description

With this change, builds on ARM64 hosts will successfully kick off!
Unfortunately there are still missing/outdated dependencies, so the
build doesn't yet succeed. This makes it much easier to check what we're
failing on though.
I've also added the processor/arch to "Unknown X" error messages for
easier debugging.

Follow-up to #10183

Affects #5783

# Screenshots/Recordings/Graphs

N/A

## Tests

Kicked off `build_release_vs.bat` on my Windows ARM machine. Observed
progress in the build process!

<!--
> A guide for users on how to download the artifacts from this PR.
-->

[How to Download Pull Requests Artifacts for
Testing](https://www.orcaslicer.com/wiki/how_to_download_pr_artifacts)
2026-05-02 12:00:59 +08:00
0f366ddff1 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
3cf187c727 Correct center grid multiline (#13422) 2026-05-01 20:43:13 -03:00
699a11f75e Fix to raft checking logic for slow down layers (#13415) 2026-05-01 14:32:39 -03:00
6b96ce45dd 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
3d0b24f94d 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
20c3c833df 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
066243afe2 Merge branch 'main' into zaa 2026-05-01 18:04:05 +08:00