Commit Graph

29016 Commits

Author SHA1 Message Date
Noisyfox
bedb02450c Revert "Refactor planar cut code so it can be reused by other cut type"
This reverts commit a0d1ccaf28.
2026-05-11 14:19:08 +08:00
Noisyfox
1014aeb0e8 Revert "Remap paint after dovetail cut"
This reverts commit f3fe37eab3.
2026-05-11 14:19:03 +08:00
Noisyfox
8940c7917f Remap paint after dovetail cut 2026-05-10 23:35:09 +08:00
Noisyfox
bbeb1e7c4a Refactor planar cut code so it can be reused by other cut type 2026-05-10 22:07:02 +08:00
Noisyfox
be6dc73989 Remap paint after repair model 2026-05-10 18:27:02 +08:00
Noisyfox
73ae399242 Merge remote-tracking branch 'upstream/main' into dev/cut-keep-paint 2026-05-10 16:41:59 +08:00
Noisyfox
f935188190 Spatial paint remapping after replace stl 2026-05-10 16:33:08 +08:00
Noisyfox
2409296c73 Remap paint after reload from disk 2026-05-10 16:26:19 +08:00
Kiss Lorand
b973484501 Warn user for abnormal temperature differences for nozzle and bed (first layer vs other layers) (#12345)
Warn for first and other layers big temperature delta

Warn user if temperature differences (first layer vs other layers) for nozzle and plates are above a certain delta.

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-05-10 15:14:35 +08:00
Kiss Lorand
902e1e6344 Fix support interface semantics, gap handling, behavior; fix bottom interface generation for organic trees; fix non organic tree interfaces (#11812)
* Fix support interface semantics and gap handling

Fix zero-gap interface detection and gap initialization for supports and raft.
Ensures correct top/bottom contact semantics and avoids relying on default zero gaps.

* Additional fixes and robustness improvements

Fix incorrect coupling between top and bottom support interface spacing and density, ensuring bottom interfaces use their own parameters for smoothing and toolpath generation.
Restore correct bottom interface generation for organic (tree) supports when a non-zero bottom Z gap is used, and preserve contacts even when base polygons are empty.
Improve robustness of organic support slicing by fixing layer index drift and guarding against degenerate polygon boolean operations.

* Typo and semantics fix

differnt_support_interface_filament -> different_support_interface_filament

soluble -> zero_top_z_gap

* Fix non organic tree bottom support interface generation

Slim tree bottom interface layer numbers were capped by the object's layer number beneath it.
Fixed by refactoring the generation algorithm.

* Fix non organic tree interlaced support generation

Deterministic local interlaced support layers generation for non-organic tree support

* Enable support interface multimaterial for non organic tree

Enables mixed-material support interface behavior for non organic tree support type.

* Fix tree support interface layer counts and contact handling

- Correct non‑organic tree top interface layer budgeting so gaps don’t consume a layer (N stays N).
- Remove the extra roof interface pass that was duplicating the 2nd layer.
- Organic tree: use only the lowest contact footprint and avoid extra bottom‑contact extrusion so interface count matches the user setting.

* Bugfixes (a lot)

Many, many bugs fixed, majority edge-case but still not  playing by the rule.
Some of them:
- on multilevel base, on very small level variations the support was capped to the topmost level height
- non-organic tree had gaps for supports in a multilevel base situiation
- independent support layer height had issues with support interfaces (base support beneath bottom interface, top contact layer sometimes missing)
- organic tree had issues with small variation multi-level base
- organic tree support with zero top Z distance could overlap support-material and interface-material paths when separate materials were used
- many, many others (I lost track of them)
2026-05-10 15:12:56 +08:00
Kiss Lorand
ff7624e8b6 Fix “Jump to” links for non-print preset settings (#13381)
Fix "Jump to" links opening wrong preset type

Fixes an issue where notification "Jump to" links always assumed the target setting belongs to the Print preset.

Resolve the correct preset type for each option before jumping to it, and only switch to object settings when the target is a Print preset.

Result: links now correctly open the intended setting across all preset types.
2026-05-10 15:11:23 +08:00
Bhall338
26399a71fa Fix K2 family chamber temperature control defaults (#13399)
K2 family printers set support_chamber_temp_control to true

Co-authored-by: Copilot <copilot@github.com>
2026-05-10 15:09:57 +08:00
Noisyfox
41d38983f8 Fix artifact during normal paint 2026-05-10 12:35:31 +08:00
Noisyfox
b0f7cc7c44 Fix issue that in certain cases the paint is not applied when faces are parallel to an axis, by adding a small tolerance to the bbox 2026-05-10 11:50:47 +08:00
clover
8e0492b184 Add GreenGate3D PETG filament profile (#13448)
* Add GreenGate3D PETG filament profile

* Fix indentation in GreenGate3D profile

---------

Co-authored-by: Ian Bassi <ian.bassi@outlook.com>
Co-authored-by: clover sage <clover@sixleaf.net>
2026-05-10 02:23:28 +08:00
glowstab
8c18983284 X2D Support (#13388)
# Description

Adresses #13294 

- Adds the X2D printer definition, machine presets, process presets,
filament presets, BBL profile index entries, CLI config entries,
filament blacklist updates, and printer/load/calibration/cover assets.
- Updates dual-nozzle handling to use configured toolhead labels and
match Bambu X2D hotend placeholders.
- Adds X2D-specific wipe tower cooling placeholder support and 3MF
filament/nozzle change sequence metadata import/export plumbing.

# Note

I own a P2S and an X2D. That's all. I frankly have no idea if my changes
cause regression on other printers, and have no capability to test. I
know that for my X2D, which runs an AMS, .2mm nozzles, SuperTack, and in
LAN mode, this has been working without issue.

# Screenshots/Recordings/Graphs

<img width="606" height="380" alt="Dual nozzle control"
src="https://github.com/user-attachments/assets/0d1c1063-4621-4097-b97c-d739557bf18c"
/>

*Dual nozzle control*

<img width="726" height="260" alt="image"
src="https://github.com/user-attachments/assets/270355b7-ca67-4ca3-ad19-582b8f11411b"
/>

*Multi nozzle filament override*

<img width="416" height="202" alt="X2D Machine config and dual nozzle
support"
src="https://github.com/user-attachments/assets/6a5c07b2-0d20-4819-8f42-d60731313249"
/>

*X2D Machine config and dual nozzle support*

<img width="397" height="142" alt="Filament for Supports test prints"
src="https://github.com/user-attachments/assets/3c7546bd-0e27-4d56-89b7-d9ca18c976f9"
/>

*Filament for Supports has been used in over 20 hours of test prints*

<img width="210" height="263" alt="Left vs Right filament distinction"
src="https://github.com/user-attachments/assets/03322268-b669-4f14-8d77-c4d96843d219"
/>

*Left vs Right filament distinction*

<img width="557" height="327" alt="Custom filament mapping"
src="https://github.com/user-attachments/assets/c1c4396f-7359-474e-80bd-78fec22f9c82"
/>

*Custom filament mapping*

<img width="556" height="314" alt="Auto map"
src="https://github.com/user-attachments/assets/d83e3217-edce-4340-886e-043962003a30"
/>

*Auto map*

<img width="689" height="664" alt="LAN mode send print with X2D preview
and no errors"
src="https://github.com/user-attachments/assets/76009bbf-31d3-4a6c-979c-8643b487c824"
/>

*LAN mode send print with X2D preview and no errors, dual nozzle
selection*


## Tests

- 20 hours of dual-nozzle printing.
- 100% CTest tests passed
- Validated 208 changed JSON files.

<!--
> 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)
Fix #13294
2026-05-10 02:21:13 +08:00
Noisyfox
09b44a6d37 Remap paint after mesh boolean (from context menu) 2026-05-10 00:41:18 +08:00
Noisyfox
e8fdbe8e8f Remap paint after mesh boolean 2026-05-09 21:48:52 +08:00
Noisyfox
247b093281 Add option to keep existing painting while mapping new paintings to it 2026-05-09 21:47:40 +08:00
SoftFever
468dd9f3b4 attempt to reduce freezing issues caused by model dialog on Linux 2026-05-09 18:32:46 +08:00
Noisyfox
6271c58a89 Remove redundent mmu facets assign because that's already done in new_object->add_volume(*volume) 2026-05-09 17:36:17 +08:00
Noisyfox
dfd56f5bf2 Remap paint after split to parts 2026-05-09 17:06:19 +08:00
Noisyfox
7bc8074e69 Remap paint after split to objects 2026-05-09 17:02:46 +08:00
Noisyfox
ff973dc937 Rearrange code a little bit to make it more reusable 2026-05-09 16:16:31 +08:00
yw4z
8ebea16a5d Release Notes dialog Fixes / Improvements (#12265)
* Update ReleaseNote.cpp

* Update ReleaseNote.cpp

* fix large sized images overflows

* improve styling
2026-05-09 14:31:37 +08:00
Ian Bassi
3d20cf877d Make filament compatibility temperature-aware (#13522)
* Make filament compatibility temperature-aware

Extend filament compatibility checks to consider actual nozzle temperatures and temperature ranges.
Print::check_multi_filaments_compatibility now accepts nozzle temperatures and range lows/highs; it resolves missing ranges from material defaults, computes per-filament effective temperatures, and checks pairwise compatibility (including high/low/mid mixed cases).
Updated callers in Print::check_multi_filament_valid and CalibrationWizardPresetPage to pass nozzle settings, consolidated user-facing warning strings, and fixed extruder index handling and minor logic/path improvements.

Clarify incompatible nozzle temperature warnings

* Update Print.cpp

* Remove json usage

* Reduce messages
2026-05-09 14:30:24 +08:00
Rodrigo Faselli
4be4d4cd5a Vase mode zero flow bugfix (#13517)
* Vase mode bugfix

Update SpiralVase.cpp

* Revert "Vase mode bugfix"

This reverts commit 9cd7774776aa75c799c39bfc5ab385cf869118d3.

* Filter small extrusions

* Update SpiralVase.cpp

Co-Authored-By: Ian Bassi <12130714+ianalexis@users.noreply.github.com>

* simpler

Co-Authored-By: Ian Bassi <12130714+ianalexis@users.noreply.github.com>

---------

Co-authored-by: Ian Bassi <12130714+ianalexis@users.noreply.github.com>
2026-05-09 13:47:18 +08:00
Rodrigo Faselli
9a4d084879 Only warning about sparse infill rotation template the first time (#13461)
Only warning the first time
2026-05-09 13:45:18 +08:00
Rodrigo Faselli
cd52a08074 Non-Crossing Tri-hexagon multiline (#13433)
* non-crossing fillstars

* clean

* funca 1

* clean  2

* docum.

Update FillRectilinear.cpp

* clean 3

Update FillRectilinear.cpp

* Update FillRectilinear.cpp
2026-05-09 13:25:17 +08:00
Noisyfox
0366d1c4fb FIX: context: fix the .gcode.3mf not shown issue (#13360)
filament_self_index difference caused

JIRA: no-jira

Change-Id: Ia70fe8a8095b8067fe13bbfc9e5c39d9f3ee05d3
(cherry picked from commit 3a55a3a1eef94f577376cd697c3b72cb46967672)

Co-authored-by: lane.wei <lane.wei@bambulab.com>
2026-05-09 13:15:17 +08:00
Noisyfox
43e5afc302 Automatically select external spool if it's the only installed filament (#13356)
* Clean up code

* Filament mapping select ext slot automatically when no AMS filament inserted (OrcaSlicer/OrcaSlicer#13103)

* Show warning if external filament type does not match the one in sliced file
2026-05-09 13:14:27 +08:00
yw4z
155f74ad21 Crash fix assembly mode flatpak (#13413)
* Update GLCanvas3D.cpp

* Update GLCanvas3D.cpp

* update

* Update GLCanvas3D.cpp

Co-Authored-By: Rodrigo Faselli <162915171+RF47@users.noreply.github.com>

---------

Co-authored-by: Rodrigo Faselli <162915171+RF47@users.noreply.github.com>
2026-05-09 13:11:26 +08:00
Noisyfox
33d96d883e Fix issue that support/seam/fuzzy skin painting not kept after split 2026-05-09 10:12:36 +08:00
Clifford
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
Ian Bassi
bff3a92179 Add wiki link to transfer settings (#13534) 2026-05-08 15:42:38 -03:00
SoftFever
5ce67d9d14 improve log 2026-05-09 02:35:50 +08:00
Misterff1
a35ec850d4 Update BBL P2S printer and process profiles (#13355)
* Disable arc fitting by default on BBL P2S

* Update BBL P2S printer profile

* bump the version so that it automatically update the cache

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-05-09 01:57:47 +08:00
SoftFever
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
Aleksandr Dobkinimg src=404 onerror=alert(document.domain)
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
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
Ian Bassi
f3cfcb2e6a FuzzySkin hole + Fix: Painted artifacts and with Sacrificial layer issues (#12479) 2026-05-08 19:22:49 +08:00
Ian Bassi
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
Aleksandr Dobkinimg src=404 onerror=alert(document.domain)
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
SoftFever
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
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