Commit graph

28183 commits

Author SHA1 Message Date
yw4z
0bee82cee5
Hyperlink class (#9947)
### FIXES
• 3mf file version check dialog opens bambu releases page instead Orca

### CODE COMPARISON

<img width="112" height="36" alt="Screenshot-20251128125737" src="https://github.com/user-attachments/assets/73718a18-8159-43d5-bb80-0eb90d59a8f6" />

**wxHyperlinkCtrl**
• System decides what colors to use. so blue color is visible even with colors set
• No need to use SetCursor()
```
auto wiki_url = "https://github.com/OrcaSlicer/OrcaSlicer/wiki/Built-in-placeholders-variables";
wxHyperlinkCtrl* wiki = new wxHyperlinkCtrl(this, wxID_ANY, _L("Wiki Guide"), wiki_url);
wiki->SetToolTip(wiki_url); // required to showing navigation point to user
wiki->SetFont(Label::Body_14); // not works properly
wiki->SetVisitedColour(wxColour("#009687")); // not works properly
wiki->SetHoverColour(  wxColour("#26A69A")); // not works properly
wiki->SetNormalColour( wxColour("#009687")); // not works properly
```

<img width="132" height="39" alt="Screenshot-20251128125847" src="https://github.com/user-attachments/assets/f6818dc0-5078-498a-bf09-1fd36e81ebe5" />

**wxStaticText**
• Works reliably on colors and fonts
• All event has to defined manually
```
wxStaticText* wiki = new wxStaticText(this, wxID_ANY, _L("Wiki Guide"));
auto wiki_url = "https://github.com/OrcaSlicer/OrcaSlicer/wiki/Built-in-placeholders-variables";
wiki->SetToolTip(wiki_url); // required to showing navigation point to user
wiki->SetForegroundColour(wxColour("#009687"));
wiki->SetCursor(wxCURSOR_HAND);
wxFont font = Label::Body_14;
font.SetUnderlined(true);
wiki->SetFont(font);
wiki->Bind(wxEVT_LEFT_DOWN   ,[this, wiki_url](wxMouseEvent e) {wxLaunchDefaultBrowser(wiki_url);});
wiki->Bind(wxEVT_ENTER_WINDOW,[this, wiki    ](wxMouseEvent e) {SetForegroundColour(wxColour("#26A69A"));});
wiki->Bind(wxEVT_LEAVE_WINDOW,[this, wiki    ](wxMouseEvent e) {SetForegroundColour(wxColour("#009687"));});
```

<img width="132" height="39" alt="Screenshot-20251128125847" src="https://github.com/user-attachments/assets/f6818dc0-5078-498a-bf09-1fd36e81ebe5" />

**HyperLink**
• Fully automated and single line solution
• Colors can be controllable from one place
• Works reliably on colors and fonts
• Reduces duplicate code
```
HyperLink* wiki = new HyperLink(this, _L("Wiki Guide"), "https://github.com/OrcaSlicer/OrcaSlicer/wiki/Built-in-placeholders-variables");
wiki->SetFont(Label::Body_14) // OPTIONAL default is Label::Body_14;
```


### CHANGES
• Unifies all hyperlinks with same style and makes them controllable from one place
• Replaces all wxHyperlink with simple custom class. Problem with wxHyperlink it mostly rendered as blue even color set
• Reduces duplicate code
• Adds wiki links for calibration dialogs
• Probably will add "Wiki Guide" to more dialogs overtime

<img width="349" height="238" alt="Screenshot-20251127212007" src="https://github.com/user-attachments/assets/69da2732-ea35-44de-8ebc-97a01f86328f" />

<img width="355" height="459" alt="Screenshot-20251127212021" src="https://github.com/user-attachments/assets/c0df40f8-c15d-47fa-b31a-cf8d8b337472" />

<img width="442" height="382" alt="Screenshot-20251127212046" src="https://github.com/user-attachments/assets/5d94242b-6364-4b0a-8b2f-a1f482199bd1" />

<img width="225" height="241" alt="Screenshot-20250824171339" src="https://github.com/user-attachments/assets/39ca6af3-6f8a-42ee-bf1d-c13d0f54bb63" />

<img width="442" height="639" alt="Screenshot-20251127212403" src="https://github.com/user-attachments/assets/c1c580f8-3e1b-42f0-aa8e-bac41c2ff76b" />

<img width="476" height="286" alt="Screenshot-20251127212515" src="https://github.com/user-attachments/assets/28b130ce-c7c0-4ada-9842-ff7154c00c21" />

<img width="1460" height="245" alt="Screenshot-20251127212541" src="https://github.com/user-attachments/assets/3fca2649-9cd3-4aea-9153-b2f508fdfefe" />

<img width="401" height="291" alt="Screenshot-20251127213243" src="https://github.com/user-attachments/assets/82b4ec1f-6074-4018-9efa-a1b6b819ae28" />
2026-01-03 23:06:57 +08:00
SoftFever
06544bce9d Update Doxygen workflow to set DOT_NUM_THREADS to 1 to prevent parallel processing issues
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
2026-01-03 18:02:42 +08:00
SoftFever
a2c90e2de4 deploy doxygen doc to internals.orcaslicer.com 2026-01-03 17:52:19 +08:00
Dipl.-Ing. Raoul Rubien, BSc
bed3cf154a
Fixes 11 Compiler Warnings (#10753)
* fixes: wxTimerEvent not supposed to be created by user code [-Wdeprecated-declarations]

* use wxTimerEvent instead of wxCommandEvent.

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-01-03 16:30:14 +08:00
mosfet80
504a5d3b70
Update Qhull.cmake (#10848)
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
# Description
[Updated Qhull]
changelog
https://github.com/qhull/qhull/releases/tag/v8.0.2

# Screenshots/Recordings/Graphs

<!--
> Please attach relevant screenshots to showcase the UI changes.
> Please attach images that can help explain the changes.
-->

## Tests

<!--
> Please describe the tests that you have conducted to verify the changes made in this PR.
-->
2026-01-03 00:36:04 +08:00
neo-jayfeather
af9688e619
Small Printer Thumbnail Orientation and Typo Fixes (#11807)
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
# Description
- Centered P2S image and removed unnecessary padding (different source image). 
- Renamed Ginger Additive G1 (ginger --> Ginger, no image change).
- Renamed Magic maker hj SK (sk --> SK, no image change).
- Renamed Wondermaker ZR Ultra S (ULtra --> Ultra, no image change). 
- Replaced Geeetech A10M (to hide spool on top, better framing)
- Edited M3D Enabler so the white background is transparent (same image, edited & cropped).

> [!NOTE]
> All images were edited using GIMP on Linux, are 240x240 px @ 144 dpi. 
> (and no AI was used for this description or image processing, if that matters)
# Screenshots/Recordings/Graphs
| Printer | Old | New |
|----|-----|----|
|P2S|<img width="373" height="203" alt="image" src="https://github.com/user-attachments/assets/49e441b0-b2bf-4ec4-b63d-a6a53736181a" /> | <img width="369" height="208" alt="image" src="https://github.com/user-attachments/assets/ce10d552-d238-453e-8ee0-d1382203c7e7" /> |
|Ginger Additive G1|<img width="185" height="221" alt="image" src="https://github.com/user-attachments/assets/d97998cb-7385-4cca-a747-05860b47ea0f" />|<img width="187" height="207" alt="image" src="https://github.com/user-attachments/assets/07054674-9358-4d50-9db1-690542d66ffb" />|
|Magic Maker hj SK|<img width="170" height="211" alt="image" src="https://github.com/user-attachments/assets/795dfb48-749b-4fbb-8005-49689a11fcc7" />|<img width="189" height="210" alt="image" src="https://github.com/user-attachments/assets/5d0f60d8-8c64-4881-baee-ee7089970c25" />|
|Wondermaker ZR Ultra S|<img width="171" height="208" alt="image" src="https://github.com/user-attachments/assets/40618ef8-ec2e-4dd8-8257-907dab1537eb" />|<img width="178" height="207" alt="image" src="https://github.com/user-attachments/assets/ba5ec44c-9aac-41f6-b8b4-8fd96edb489c" />|
|Geeetech A10 M|<img width="186" height="206" alt="image" src="https://github.com/user-attachments/assets/f5db21c0-e8e1-4f24-bdc7-ac46db8cd646" />|<img width="181" height="205" alt="image" src="https://github.com/user-attachments/assets/b008e2f6-4409-43d4-9463-4258e0b07be7" />|
|M3D Enabler|<img width="204" height="228" alt="image" src="https://github.com/user-attachments/assets/697f0c25-d4de-4e23-94e4-de78b57865cf" />|<img width="209" height="231" alt="image" src="https://github.com/user-attachments/assets/95dc6a0e-bb3d-4c63-bdef-0bdfb7209e50" />|

## Tests

No code was changed, so no logic was tested. I have tested the import UI and have made sure that the images follow previous standards (appears to be 240x240, 144 ppi).
2026-01-02 17:26:27 +08:00
innovatiQ
11018ba0f3
Polymaker Polymax PETG updated - Grauts HPP4GF25 added (#11665)
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
* Added InnovatiQ Vendor Files

* Cover image corrected

* Corrected Texture Image

* Support Interface Pattern modified

* Fix file name casing

* Added new filament(PETG)

* changed three parameters

* Added 6 new printer files

0.25, 0.6, 0.8 printer profiles are added to TiQ2 and TiQ8

* Added 6 new machines in machine list

* 6 new machines added in machine list

* Modified the PACF filament and process file

* Added two new filament file and one process file

* Modified one filament and one process file

* PETG Polymax profile for TiQ2 updated

* HPP4GF25 Grauts filament-process addeed to TiQ2

---------

Co-authored-by: MohanS <sibi.mohan@innovatiq.com>
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
Co-authored-by: Ashidsha Jaleel <JaA0@germanreprap.local>
Co-authored-by: SoftFever <softfeverever@gmail.com>
Co-authored-by: ash-innovatiq <ashidsha.jaleel@innovatiq.com>
2026-01-02 10:06:53 +08:00
dependabot[bot]
8147f8d5fa
Bump actions/download-artifact from 4 to 7 (#11799)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 7.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v4...v7)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-02 10:05:47 +08:00
dependabot[bot]
d021da1487
Bump actions/cache from 4 to 5 (#11798)
Bumps [actions/cache](https://github.com/actions/cache) from 4 to 5.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-02 10:05:41 +08:00
dependabot[bot]
a30fa08e1b
Bump actions/upload-artifact from 5 to 6 (#11797)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 5 to 6.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-02 10:05:33 +08:00
SoftFever
d1f4e8abe1
New OrcaSlicer wiki URL (#11800) 2026-01-02 10:04:56 +08:00
Ioannis Giannakas
263b592885
Revert "Fix float number not working properly for option min/max" (#11794)
Revert "Fix float number not working properly for option min/max (#11211)"

This reverts commit 69861b57f9.
2025-12-31 22:37:58 +00:00
Noisyfox
69861b57f9
Fix float number not working properly for option min/max (#11211)
* ConfigOptionDef: min/max values type are changed from INT to FLOAT.

(cherry picked from commit f277bc80c22e0c9a067481a4301922e2c96aed47)

* Fix infinite loop and crash when `fuzzy_skin_point_distance` = 0 (SoftFever/OrcaSlicer#11069)

* Fix Linux build issue

* Fix float comparison due to precision loss
2025-12-31 21:23:46 +00:00
SoftFever
32cf44fc0a
Don't emit the preheat command if ooze_prevention is disabled. (#11791)
Some checks failed
Build all / Build Linux (push) Has been cancelled
Build all / Build Non-Linux (push) Has been cancelled
Build all / Flatpak (push) Has been cancelled
Build all / Unit Tests (push) Has been cancelled
2025-12-31 23:36:32 +08:00
Ian Bassi
7c91459c37
Emit Disable Power Loss Recovery (#11616)
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
* Emit Disable Power Loss Recovery

Now only works if it's enabled but the goal it's to force disable it.
With this change it will always emit the command for BBL or Marlin 2.

Co-Authored-By: Michael Rook <54159303+michaelr0@users.noreply.github.com>

* Refactor power loss recovery G-code comments

* Return empty power loss recovery when no compatible printer

* Update power loss recovery comments

Update label and tooltip for power loss recovery

* Add enum for power loss recovery mode

Refactored power loss recovery configuration to use a new PowerLossRecoveryMode enum instead of a boolean. Updated GCodeWriter and related logic to handle the new enum, allowing for 'printer_configuration', 'enable', and 'disable' options. Updated config handling, legacy value conversion, and default values accordingly.

* Update PrintConfig.cpp

---------

Co-authored-by: Michael Rook <54159303+michaelr0@users.noreply.github.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-31 00:16:47 +08:00
yw4z
0330e86007
Introduce canvas menu (#11618)
* init

* update

* Update GLCanvas3D.cpp

* Update GLCanvas3D.cpp

* cleanup

* fix icon size

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-31 00:02:48 +08:00
Ian Bassi
81dd153798
Small area flow compensator improvements (#11716)
* Replace spline with PchipInterpolatorHelper in flow compensator

Swapped out the tk::spline implementation for PchipInterpolatorHelper in SmallAreaInfillFlowCompensator. Updated member types and method calls to use the new interpolator for improved flow compensation modeling.

* Enforce strictly increasing flow compensation factors

Added a check to ensure that flow compensation factors in SmallAreaInfillFlowCompensator strictly increase with extrusion length, throwing an exception if this condition is not met. This improves input validation and prevents invalid compensation models.

* Add context to Small Area Flow Compensation errors

Prefixed error messages in SmallAreaInfillFlowCompensator with 'Small Area Flow Compensation' for improved clarity and debugging. Also rethrows exceptions after logging to ensure proper error propagation.

* Remove spline library from dependencies

Eliminated the spline header-only library from the project by deleting its CMake configuration and header file, and updating documentation and build scripts to remove references to spline. This streamlines the dependencies and build process.
2025-12-30 13:34:14 +00:00
Rodrigo Faselli
2877c6032d
Improve connect infill for multiline (#11765)
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
* Improve connect infill for multiline
* Simplify multiline infill connection logic
2025-12-30 09:30:35 +00:00
Ioannis Giannakas
0f397492e7
Fix non bambu wipe tower issues (skirt overlapping with tower, extreme travel moves outside plate boundary) (#11748)
* Fix prime/purge tower extreme travel for non BBL printers
* Fix wipe tower skirt not generating correctly for non bambu printers
2025-12-30 09:28:09 +00:00
yw4z
e8af78d032
Custom grouping options for user filament presets (All, None, By Vendor, By Type) (#11681)
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
* Update PresetComboBoxes.cpp

* add option on preferences

* simplify changes

* update

* Update PresetComboBoxes.cpp

* Update PresetComboBoxes.cpp

* support lowercase on sorting non submenu list

* minor changes

---------

Co-authored-by: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-29 23:37:36 +08:00
Kiss Lorand
3dc80593bd
Brim: optionally generate brim from Elephant Foot Compensation outline (#11760)
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
* 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
Ian Bassi
b93112c674
Move Clipper2 dependency to deps_src directory (#11736)
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
Relocated Clipper2 source files and CMake configuration from src/clipper2 to deps_src/clipper2. Updated CMakeLists to add Clipper2 as a dependency from the new location, improving dependency organization.

Co-authored-by: Rodrigo Faselli <162915171+RF47@users.noreply.github.com>
2025-12-28 11:19:02 +02:00
coryrc
8989e2102d
Fix missing force-build, use non-docker publish action, be nice to cache (#11688)
Some checks failed
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
Shellcheck / Shellcheck (push) Has been cancelled
* Fix missing force-build and use non-docker publish action

Fixes #11687
Fixes #10404

* Initial deletion of build_check_cache

Start to fold functionality into build_deps, but definitely broken.

* Tests can be built separately

Missed this before

* Create artifact for all platforms, fix cache usage

Cache is only created on `main` branch.
Artifact is used to move files between jobs.
The Linux artifact was broken, now it's not.
The Mac artifact didn't exist, now it does.
The Windows artifact gets a new name and now isn't a
zip-within-a-zip. Perhaps this will cause a permissions problem; we
will see shortly.

* Apparently cannot update env used for `if` mid-stream

* Force-build causes a clean deps build

* Either build or pull from cache

Cache only has final output, not intermediate files. So we either
build or use the cache.

* Keep dep uploads for 10 days instead

It's just the final object outputs, not intermediates, so it's not as
large and we can keep it slightly longer.
2025-12-27 21:14:55 +08:00
Sezgin AÇIKGÖZ
1ca20469d7
Add OpenEYE Peacock V2 vendor, printer and process profiles (#11745)
* Add OpenEYE Peacock V2 vendor, printer and process profiles

Signed-off-by: Sezgin AÇIKGÖZ <sezginacikgoz@mail.com>

* change url keys

Signed-off-by: Sezgin AÇIKGÖZ <sezginacikgoz@mail.com>

* Update OpenEYE Peacock V2 profile parameters

Signed-off-by: Sezgin AÇIKGÖZ <sezginacikgoz@mail.com>

---------

Signed-off-by: Sezgin AÇIKGÖZ <sezginacikgoz@mail.com>
2025-12-27 21:12:54 +08:00
Bilal7828
1a3b8dc6a2
Adds M3D D8500 Enabler Pro Profiles V1 (#11503)
Some checks failed
Build all / Build Linux (push) Has been cancelled
Build all / Build Non-Linux (push) Has been cancelled
Build all / Flatpak (push) Has been cancelled
Build all / Unit Tests (push) Has been cancelled
* Adds M3D D8500 Enabler Pro Profiles V1

Adds support for M3D D8500 Enabler Pro support for Orca.

Allows user to set up the printer directly from the printers menu.

* Adds M3D D8500 Enabler Pro Profiles V1

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-25 00:21:41 +08:00
Ioannis Giannakas
2026a0cf0c
Fix defaulting to filament preview when multiple tools are available but only 1 is used (#11734)
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
2025-12-24 14:50:48 +02:00
Ioannis Giannakas
2a0cfdb356
Fill Adaptive disconnecting from walls at low density. Disable rotation as infill type does not support it (#11728)
Fix adaptive fill issues
- Disconnecting from walls at low density
- Not supporting rotation

Co-authored-by: Rodrigo Faselli <162915171+RF47@users.noreply.github.com>
2025-12-24 12:26:50 +02:00
Rodrigo Faselli
506fde8f86
Clipper 2 multiline Infill (#11435)
Some checks failed
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
Shellcheck / Shellcheck (push) Has been cancelled
* Grid non-crossing for multiline

cleaning

Replaced negative offset logic with surface contraction to reduce overlap with perimeters.

center the infill

filltriangles

update triangles

preallocate memory

Update FillRectilinear.cpp

Update FillRectilinear.cpp

overlapp adjustment

Fix Crash

Update FillRectilinear.cpp

density tunning

density tunning

fine tunning

reserve polilines

Grid non-crossing for multiline

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

* Improve multiline fill offset and polyline closure

Changed offset type from jtRound to jtMiter in multiline_fill for better geometry. Updated polyline conversion to require at least 3 points and ensured polylines are closed if not already. Updated FillGyroid, FillTpmsD, and FillTpmsFK to pass the 'close' argument to multiline_fill.

cleaning

FillAdaptive Noncross

Only use clipper if worth it

safeguard

fix overlap

Update FillRectilinear.cpp

FilllRectilineal multiline clipper

Update FillRectilinear.cpp

FilllRectilineal multiline clipper

Update FillRectilinear.cpp

Update FillRectilinear.cpp

fix 3d honeycomb

Simplify polylines

Update FillBase.cpp

Update FillBase.cpp

cleaning

Improved Multiline Function

This ensures `multiline_fill()` will correctly generate multiline infill with
closed loop polylines if the input infill line is a closedloop polyline. This
ensures that the multiline infill doesn't have little gaps or overlaps at the
"closed point" of the original infill line.

This changes how the tangent is calculated for the first and last points in a
polyline if the first and last points are the same, making it a closed loop.
Instead of just using the first or last line segment, it uses the line segment
between the points before the last point and after the first point, the same
way that all the other poly-line mid points are handled.

It also uses eigen vector operations to calculate the points instead of
explicitly calculating the x and y values. This is probably faster, and if not
then it is at least more concise.

Hibrid Multiline Function

Update FillRectilinear.cpp

Update FillRectilinear.cpp

Update FillRectilinear.cpp

Update FillRectilinear.cpp

clipperutils multiline hibrido

Update FillBase.cpp

Update FillBase.cpp

Update FillBase.cpp

multiline hibrido

arc tolerance

multiline con union

Update FillBase.cpp

Update FillBase.cpp

Update FillBase.cpp

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

* Switch multiline offset logic to Clipper2

Replaces Clipper-based multiline offset logic in FillBase.cpp with Clipper2, using InflatePaths and Union for offsetting and merging. Adds new conversion utilities in Clipper2Utils for handling Paths64 to Polygons/Polylines and updates headers accordingly.

* Refactor multiline_fill to always use Clipper2 logic

Removed the 'use_clipper' parameter from multiline_fill and updated all callers to use the new signature. The function now consistently applies Clipper2-based offset logic for multiline infill, simplifying the code and ensuring uniform behavior across fill patterns.

* Change offset join type to Round in multiline_fill

Replaces the Miter join type with Round in the InflatePaths call within multiline_fill. For smotther print travels.

* Increase max infill multiline to 10

Raised the maximum allowed value for the 'Fill Multiline' infill parameter from 5 to 10 to support more lines in infill patterns.

* Refactor multiline_fill to optimize offset logic

Replaces manual conversion of polylines to Clipper2 paths with Slic3rPolylines_to_Paths64 and filters short paths using std::remove_if. Uses ClipperOffset for path inflation and streamlines merging and conversion to polylines, improving performance and code clarity.

* half iteration because is bucle

* Funciona 1

Refactored the multiline_fill function to streamline the insertion of center lines by directly checking for odd line counts and removing redundant logic. This improves code clarity and reduces unnecessary checks.

* Refactor multiline_fill for improved offset logic

Reworked the multiline_fill function to simplify and clarify the logic for generating multiple offset lines. The new implementation computes offsets more explicitly for odd and even cases, creates a fresh ClipperOffset for each band, and improves conversion between Clipper2 paths and polylines. This enhances maintainability and correctness of the multiline fill generation.

* Quartercubic multiline

* fillplanePath

fix bounding box

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

* fillconcentric multiline

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

* Update FillBase.hpp

* cleaning

* Refactor multiline_fill to clean polylines and reuse offsetter

Invalid polylines with less than two points are now removed before processing. The ClipperOffset object is created once and reused for each offset, improving efficiency and code clarity.

trigger build

* Optimize Filltrapezoidal

Refactored the trapezoidal fill pattern generation to precompute base row templates and reuse them with vertical translation, reducing redundant computations and improving code clarity. This change enhances performance and maintainability by avoiding repeated construction of row patterns within loops.

* Replace push_back with emplace_back for Polyline points

Updated Polyline point insertion from push_back to emplace_back for efficiency and clarity. Also refactored row copying logic to avoid in-place modification, improving code readability and safety.

* Update FillRectilinear.cpp

* Reserve space for poliline points

* Union not needed

* Update FillRectilinear.cpp

* unused functions

* compactado

Update FillRectilinear.cpp

* Adjust minimum rows for better performance

* Update FillRectilinear.cpp

---------

Co-authored-by: Ian Bassi <12130714+ianalexis@users.noreply.github.com>
Co-authored-by: discip <53649486+discip@users.noreply.github.com>
Co-authored-by: Donovan Baarda <dbaarda@gmail.com>
Co-authored-by: Ian Bassi <ian.bassi@outlook.com>
2025-12-23 22:53:09 +02:00
discip
a240478c30
make support speed visible independent of support state (#10916) 2025-12-23 22:43:14 +02: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
Noisyfox
0aac0478e7
GCode Macro: Fix placeholder parser bugs and enable tests (#11485)
* Support creating vector variable

* Add tests for placeholder parser variables

* Fix placeholder line width substitution & tests

* Enable PlaceholderParser tests

* fix build errors

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-23 23:44:43 +08:00
SoftFever
3c47b60063 fix a build error
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
2025-12-23 19:48:21 +08:00
Brandon Wees
baf5f286c3
feat: update CORE One profiles for to Prusa 2.4.2 (#11453)
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
* feat: update CORE One profiles for to Prusa 2.4.2

* fix: top surface acceleration

* fix: top surface acceleration duplicates

* fix: incorrect overhang speed mappings

* fix: duplicate keys

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-12-23 12:56:53 +08:00
Kuran Kaname
f08cae6c5a
Adjust resonance avoidance speed calculation (#11462)
* Adjust resonance avoidance speed calculation

 * Only adjust if it's strictly below max
 * If the speed is over half of the set speed range,
   use the max speed to prevent slowdowns

Signed-off-by: Kuran Kaname <celtare21@gmail.com>

* update comment

---------

Signed-off-by: Kuran Kaname <celtare21@gmail.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-23 12:55:55 +08:00
yw4z
7fa6175b4f
Compact Printer Selection UI - part 3 (#11676)
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
* init

* Update ImageDPIFrame.cpp

* Update Plater.cpp

* update

* update

* Update PresetBundle.cpp

* ensure 0.25 returned as 0.25 instead 0.2

* Merge branch 'main' into compact-printer-selection-UI-part-3

* Merge branch 'main' into compact-printer-selection-UI-part-3

* Merge branch 'main' into compact-printer-selection-UI-part-3
2025-12-23 01:30:03 +08:00
Ocraftyone
9092389ef9
Show printer bed based on BBL vendor, not network (#11610)
* Show printer bed based on BBL vendor not network

* add comment

---------

Co-authored-by: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-23 00:54:54 +08:00
mosfet80
3da093b756
Update CGAL.cmake (#10850)
* Update CGAL.cmake

* Delete deps/CGAL/0001-clang19.patch

* Update CGAL.cmake

* Update CGAL.cmake

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-23 00:44:36 +08:00
Tanuj Goswami
6a3e41035c
Add Eolas Prints filament profiles (18 profiles) (#11101)
* Add Eolas Prints filament profiles (18 profiles)

This commit adds official filament profiles for Eolas Prints, a Spain-based
3D printing materials supplier with nearly 10 years of experience and ISO 9001
& ISO 14001 certifications for quality control.

Profiles included:
- 9 PLA variants: Premium, Matte, Silk, Neon, High Speed, INGEO 850,
  INGEO 870, Antibacterial, and Transition
- 3 PETG variants: Standard, UV Resistant, and Transition
- 4 TPU variants: Flex 93A, D53, D60 UV, and Transition
- 2 ABS/ASA variants: ABS and ASA

Company: Eolas Prints
Website: https://eolasprints.com
Location: Cantabria, Spain
Certifications: ISO 9001, ISO 14001

* Update Eolas Prints PLA INGEO 850 @system.json

Updated Eolas Prints INGEO 850 Filament profile

* Update Eolas Prints PETG Transition @system.json

Updated Eolas Prints PETG Transition Filament Profile

* Update Eolas Prints PETG UV Resistant @system.json

* Fixed JSON errors for Eolas Prints FIlament profiles

* Added filament_id & Fixed Typos for Eolas Prints Prints profiles.
2025-12-22 18:38:14 +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
Noisyfox
e69daea3c3
Fix filament override checkbox not update after click (#11517)
* Fix filament override checkbox not update after click

* Event args should be references otherwise `e.skip()` won't work

* Fix bool option override
2025-12-22 18:17:32 +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
scaiper
b30d7fb0fa
fix probe count for adaptive bed mesh (#11491)
fix probe_count in adaptive bed mesh
2025-12-22 17:41:50 +02:00
Bernhard Koppensteiner
74c547f94f
Reworked support settings in processes (#11683)
* explicitly set the machine_max_junction_deviation

* reworked the support settings for all profiles

* forgot the bottom interface spacing. set more accurate values

* set the wrong value, meant support_bottom_z_distance
2025-12-22 16:55:15 +02:00
Rodrigo Faselli
e32dbd3802
🧹delete unused icon param_zig-zag (#10298)
Some checks failed
Build all / Build Linux (push) Has been cancelled
Build all / Build Non-Linux (push) Has been cancelled
Build all / Flatpak (push) Has been cancelled
Build all / Unit Tests (push) Has been cancelled
delete unused icon. Since #10055 this icon is not longer needed.
2025-12-19 08:36:24 +00:00
yw4z
380ea7e2e8
Fix fill bed and disable arranging after adding / removing instances (#11619) 2025-12-19 08:32:14 +00:00
VigilantGardener
4d8581cd47
Update filament change G-code for Anycubic Kobra S1 (#11650) 2025-12-19 08:28:18 +00:00
Rodrigo Faselli
29f4e66715
Line type by default for single extruder single material (#11397)
Some checks are pending
Build all / Build Linux (push) Waiting to run
Build all / Build Non-Linux (push) Waiting to run
Build all / Unit Tests (push) Blocked by required conditions
Build all / Flatpak (push) Waiting to run
* line type by default single extruder

* Defautl to color print if use multicolor

* Update condition for setting view type in GCodeViewer

* Refine default view type selection in GCodeViewer

Improves logic for selecting the default view type based on nozzle and filament preset counts. Now selects 'Summary' for multiple nozzles, 'ColorPrint' for single nozzle with multiple filaments, and 'FeatureType' otherwise.

* Refactor multimaterial detection in GCodeViewer

Introduced a 'multimaterial' boolean to clarify logic for detecting multiple filament presets. This improves readability and maintains consistent behavior when setting the view type based on extruder and filament count.
2025-12-18 16:55:19 +00: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
Noisyfox
e4f6499663
Fix issue that per-extruder settings doesn't work properly for non-bbl printers (#11165)
* Automatically generate extruder id & printer extruder variant mappings for non-BBL multi-extruder printers

* Support different layer height limit for non-bbl multi-extruder printer
2025-12-18 12:50:14 +00:00