Commit Graph

29204 Commits

Author SHA1 Message Date
Noisyfox
73096a1161 Fix artifact during normal paint 2026-05-10 12:35:31 +08:00
Noisyfox
219ef664bd 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
07f10a4e99 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
9956ad5b48 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
f8a18e7656 Remap paint after mesh boolean (from context menu) 2026-05-10 00:41:18 +08:00
Noisyfox
3aadd6e080 Remap paint after mesh boolean 2026-05-09 21:48:52 +08:00
Noisyfox
e6b3f6ccef Add option to keep existing painting while mapping new paintings to it 2026-05-09 21:47:40 +08:00
SoftFever
7bef75b2cd attempt to reduce freezing issues caused by model dialog on Linux 2026-05-09 18:32:46 +08:00
Noisyfox
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
Noisyfox
fb0cf966cf Remap paint after split to parts 2026-05-09 17:06:19 +08:00
Noisyfox
c2d33bea08 Remap paint after split to objects 2026-05-09 17:02:46 +08:00
Noisyfox
bfde91685e Rearrange code a little bit to make it more reusable 2026-05-09 16:16:31 +08:00
yw4z
89c9c02ff6 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
635d96183d 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
16fc3c1b14 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
db8ca5feac 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
4abda6bffe 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
8c7cc6972f 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
fb1f4a7d24 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
a29d4fc495 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
4490dccade Fix issue that support/seam/fuzzy skin painting not kept after split 2026-05-09 10:12:36 +08:00
Clifford
7aed2dc8bd 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
1411f95434 Add wiki link to transfer settings (#13534) 2026-05-08 15:42:38 -03:00
SoftFever
cb033455fa improve log 2026-05-09 02:35:50 +08:00
Misterff1
e5294b1282 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
e42ff0b57d 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)
447d4452e6 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
2f160ad8bc Rearrange code a little bit to make it more reusable 2026-05-08 22:54:20 +08:00
Noisyfox
fad680fcc1 Simplify mesh transform 2026-05-08 21:23:38 +08:00
Ian Bassi
c9413bb4ef FuzzySkin hole + Fix: Painted artifacts and with Sacrificial layer issues (#12479) 2026-05-08 19:22:49 +08:00
Ian Bassi
8876c0b0df Ripple Wiki and Improvements (#13506) 2026-05-07 23:29:29 -03:00
π²
e131844cf5 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)
a1be11126d 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
762c935fb0 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
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
Noisyfox
8b716d43e5 Merge branch 'main' into dev/cut-keep-paint 2026-05-07 08:49:57 +08:00
Noisyfox
100a9a20d1 Fix unicode preset name issue (#13503) 2026-05-06 23:45:32 +08:00
GeordieTomo
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
SoftFever
02c9ab6a02 update profile validator (#13494) 2026-05-06 18:43:23 +08:00
yw4z
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
yw4z
c2ac0baa05 Fix iconic button sizes on widgets (paint modes and gcode viewer buttons) (#13365)
* init

* update
2026-05-06 00:07:15 +08:00
Noisyfox
be141d32c1 Speed up calculation by caching barycentric independent variables 2026-05-05 21:53:58 +08:00
yw4z
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
yw4z
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
Noisyfox
5978e96ff5 Add option to enable/disable paint keep 2026-05-05 18:39:50 +08:00
Noisyfox
368563e14e Fix part offset 2026-05-05 18:11:44 +08:00
Noisyfox
01e0013b16 Don't remap paint unless it's the final cut 2026-05-05 17:08:53 +08:00
SoftFever
aa35d3ae17 preserve a single trailing newline when reformatting JSON files 2026-05-05 14:58:26 +08:00
Noisyfox
4b489339c6 Check normal before expanding the painting to neighboring faces 2026-05-05 11:59:20 +08:00