Commit Graph
30 Commits
Author SHA1 Message Date
Kiss Lorand ecc2c91e32 Fix aligned back seam positioning for mirrored objects (#12028)
* Fix aligned back seam positioning for mirrored objects

This change makes “Aligned back” seams behave the same on mirrored models as on normal models.
Mirroring flips the model’s surface directions, so the slicer treated the back as the front.
Now it corrects those directions when calculating seam visibility, so seams still line up on the back after mirroring.

* Comments

Add comments to the changes
2026-01-21 16:00:32 -03:00
Kiss Lorand 4c90144b98 Fix zigzag symmetry (#12022)
### Description

ZigZag infill didn't respect the "Symmetric infill Y axis" parameter's setting. This PR fixes it.

Fixes #12015

### Screenshots/Recordings/Graphs
- **Before:**
<img width="611" height="612" alt="image" src="https://github.com/user-attachments/assets/1f6fc3f9-ec37-4974-86fc-fd4fe6dd9329" />

&nbsp;

- **After:**
<img width="587" height="582" alt="image" src="https://github.com/user-attachments/assets/088715c2-5d12-4596-aab6-3a1eca353abe" />
2026-01-21 12:38:15 +08:00
Kiss Lorand 95c6cd05fa Fix incorrect layer and time shown in Preview legend for pause/custom G-code entries (#11968)
Fix layer/time display in Preview legend for pause/custom G-code

The Preview legend showed incorrect layer numbers and elapsed time for pause/custom G-code entries. The issue was caused by:

• get_layer_id_at() performing a strict upper_bound search on float Z values,  while custom G-code stores Z positions as doubles. Minor precision differences  often pushed the lookup to return layer 0 or the last layer.

• The legend displayed the raw zero-based layer index.

Fixes included:

• Fetch layer Z values as doubles and use an epsilon-based closest-layer search.
• Display layers as 1-based values for user-facing UI.
• Accumulate time up to the beginning of the identified layer.

This aligns the legend with the vertical slider marker and provides consistent pause/custom G-code reporting.
2026-01-16 14:20:17 -03:00
Kiss Lorandandyw4z 304ea7867e QoL: Enable Enter key to confirm Clone dialog and run cloning action (#11422)
Enter key confirms Clone dialog

Co-authored-by: yw4z <ywsyildiz@gmail.com>
2026-01-16 01:25:29 +03:00
Kiss Lorand cc585a646b Fix: Bring back "Only lift Z below" can be disabled (#11440)
Let "Only lift Z below" to be disabled
2026-01-15 11:39:19 -03:00
Kiss Lorand 5c05e036c4 Fix: Apply bed–filament compatibility checks to all printers (#11432)
### What was the issue?

The check that validates whether a filament is compatible with the selected build plate type was only executed for Bambu Lab printers.
Other printers skipped this entirely, even though they can also use multiple plate types with different temperature requirements.

This caused cases where:
- incompatible filament/plate combinations went unnoticed,
- users received no warning even when the bed type clearly couldn’t support the selected filament.

### What’s changed?
- The validation block extends beyond BambuLab printers.
- Now all printers get the same compatibility check:
  - if a filament requires a bed temperature not supported by the chosen plate,
  - Orca shows the same clear error message as it does for BBL printers.
- Show the selected filament preset name (alias if present) in bed/filament mismatch warnings instead of substituting the parent preset.

### Why this helps
- Consistent behavior across all printer brands.
- Prevents invalid filament/plate setups that could cause print failures.
- Makes plate presets more robust and predictable for custom and community printers.

### Notes
- No behavior changes for BBL printers — they keep the existing checks.
- Other printers now benefit from them too.
2026-01-15 19:02:58 +08:00
Kiss Lorand b74335e15e Fix UTF-8 corruption in Custom G-code editor (°C and other Unicode characters) (#11521)
This PR fixes an issue where certain characters (for example the degree symbol ° used in °C) became corrupted after opening and saving the Custom G-code editor multiple times.

#### What was the problem?

When users added symbols like ° inside Start/End G-code, the editor would show them correctly the first time, but after reopening the dialog a few times the text would slowly change into strange characters.

#### How to reproduce

- Open any Custom G-code field
- Add a line containing °C
- Save the dialog
- Reopen it several times
- The text begins to change into unreadable characters

#### What this PR changes

The Custom G-code editor now properly loads and saves text that contains symbols such as °, so these characters stay exactly as the user typed them. This keeps Custom G-code stable across editing sessions and prevents slow corruption of Unicode characters.

#### Result

- °C and similar symbols remain correct
- No more “weird characters” appearing after multiple reopen/save cycles
- Custom G-code is preserved accurately

Fixes #11502
2026-01-09 21:25:48 +08:00
Kiss Lorand 0a9cab3991 Fix: remove extra padding from GCode window (#11871) 2026-01-09 09:02:09 +00:00
3dc80593bd Brim: optionally generate brim from Elephant Foot Compensation outline (#11760)
* Brim can follow EFC outline

* Optimization

* Update Spanish EFC brim description

Adopt reviewer-proposed wording from RF47.

Co-authored-by: RF47 <RF47@users.noreply.github.com>

* Tag Orca specific changes

Tag Orca specific changes vs. Bambu using the comment //ORCA: . This helps when reviewing merge commits from upstream Bambu so we don't end up causing regressions when pulling in commits from upstream

* Tooltip update

---------

Co-authored-by: RF47 <RF47@users.noreply.github.com>
Co-authored-by: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com>
2025-12-29 09:35:44 +08:00
Kiss Lorand b1d659bad5 FIX: Refresh filament setting overrides on preset change (#11712)
Refresh filament setting overrides on preset change

The filament “Setting Overrides” page derives its UI state from multiple configs
(filament, printer, process), but this derived state was not recomputed during
preset reloads.

As a result, override widgets could reflect stale values until the page was
revisited or a user interaction triggered an update.

Recompute the filament setting overrides as part of TabFilament::reload_config(),
keeping the derived UI in sync with the active preset immediately after reload.
2025-12-23 19:06:29 +02:00
Kiss Lorand ace2bd1349 FIX: Embossed text edit not reflected in Objects list (#11692)
Fix object list name refresh after emboss edits

Refresh the object list immediately after embossed text name changes so the displayed name stays in sync.
2025-12-22 18:23:41 +02:00
Kiss Lorand b2a2b71b92 Fix filament preset undo tracking (#11693)
Fix filament preset undo/dirty tracking to match Bambu behavior

Use deep compare for filament presets so vector options report #idx keys.
Align undo/dirty mapping with indexed fields and Bambu’s filter_diff_option.
Pass explicit indices for filament override fields.
Add missing filament variant keys (retract lift bounds, ironing overrides) to filament_options_with_variant so per‑filament undo works.
2025-12-22 18:18:41 +02:00
Kiss Lorand 8e9daad2e8 Fix: Misaligned undo icons across all field types (#11431)
Align undo icons
2025-12-22 17:47:15 +02:00
Kiss Lorand ad7fe3785a Fix: Timelapse Z-hop logic used when timelapse was disabled (#11444)
No timelapse gcode if no timelapse
2025-12-18 14:34:32 +00:00
Kiss Lorand f9d5519294 Scale emulated spiral Z-hop segments based on slicing resolution (#11556)
Spiral Z-Hop resolution

Use slicing resolution to determine segment count for emulated spiral Z-hop

What’s changed

The number of linear segments used to approximate a spiral Z-hop is now derived from the PrintConfig resolution value.

The segment count is clamped to a safe range (4–24) to avoid excessive G-code generation or MCU queue overflow.

Why

Previously a fixed 24 segments were always used, regardless of model resolution.

For small-radius spiral lifts this was excessive and could overwhelm some printers.

Adapting segment count to resolution ensures smooth motion where needed, but lighter G-code where possible.

Details

m_resolution is now stored via apply_print_config().

_spiral_travel_to_z() uses this value to compute segment count dynamically.

Only the linear-segment fallback path is affected; G2/G3 arc-fitting remains unchanged.
2025-12-18 12:30:41 +00:00
Kiss Lorand 9a30704194 GPU overdrive fix (#4) 2025-11-25 12:25:03 -05:00
Kiss Lorand 855870e256 Fix emulated spiral Z-hop XY offset on multi-plate slicing (#11468) 2025-11-25 11:23:37 +08:00
Kiss Lorand f48a438b27 Fix Spiral Z-Hop arc handling (#11430) 2025-11-22 22:09:29 +08:00
Kiss Lorand 589eb2cfeb FIX: Open provided file at startup (#11419) 2025-11-22 21:49:51 +08:00
Kiss LorandandSoftFever 36fcf17358 Reduce artifacts from short travel moves before external perimeters (#10722)
Accel to extloop

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-11-20 22:11:12 +08:00
Kiss LorandandAndrew Sun a87df7f0b5 Bugfixes (#2)
* Bugfixes

* Reduce size of diff

to avoid merge conflicts when we cherry-pick from upstream :)

* remove extraneous space

---------

Co-authored-by: Andrew Sun <as-com@users.noreply.github.com>
2025-11-18 19:50:48 -05:00
Kiss Lorand f2e6a4c08e Fix Z offset for 1st layer (#11011) 2025-10-20 21:49:06 +08:00
Kiss Lorand c3521b4d25 Reflect swapped mouse buttons in Help → Keyboard Shortcuts (#10647)
Swap function description
2025-09-16 23:18:59 +08:00
Kiss Lorand 5707f8f4a5 Swap pan and rotate mouse buttons (#9972)
* Swap pan and rotate buttons

* Add translation
2025-06-24 23:41:41 +08:00
Kiss Lorand 24784bae9a Auto orient shortcuts (#9615) 2025-05-14 11:45:08 +08:00
Kiss Lorand 1a5b238ba4 Gizmo shortcuts (#9604)
* Gizmo shortcuts

* Delete invalid comment
2025-05-12 22:11:39 +08:00
Kiss Lorand cc525608e9 Organic tree support GUI fix (#9587) 2025-05-10 12:50:12 +08:00
Kiss Lorand 5c0afd5e84 Skirt settings GUI fixes (#9325) 2025-04-13 13:32:18 +08:00
Kiss Lorand a12af8ab04 Fix Line sparse infill (#5658)
Fix Line sparse infill bug
2024-06-15 12:21:37 +08:00
Kiss LorandandSoftFever cc2eb3638d Fix Rectilinear sparse infill (#5308)
Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-05-18 16:08:54 +08:00