Commit Graph

17375 Commits

Author SHA1 Message Date
4ff5a6134f Fix: Replace with STL to Replace with 3D file: Support STEP (#11637)
* Replace with STL to Replace with 3D file: Support STEP

Enhanced the replace logic to support STEP (.stp, .step) files, including user-configurable mesh settings and dialog, while maintaining backward compatibility with STL and other formats.
Updated the menu label and tooltips to 'Replace 3D file' for clarity.

* Update 'STL' references to '3D file' in UI and logs

Replaces user-facing text and log messages referring to 'STL' with '3D file' for broader file type support and improved clarity in the menu, status messages, and logging.

* Merge branch 'main' into remplace-with-stl
2025-12-14 13:20:14 +08:00
6f7ca4cb84 Enable IPv6 usage in curls resolve code (#11639)
* Enable IPv6 usage in curls resolve code

Before this change OrcaSlicer would fail to resolve the IPv6 addresses
of printers when trying to interact with them via HTTP.

For context: I'm running my Klipper based printers with only IPv6
addresses being assigned to them. That works fine for
everything (including other slicers such as prusa-slic3r).

A few years ago I did debug this and figured that it came down to the
single line in the code base that this commit removes. I've since
patched every single OrcaSlicer version with this change and never
noticed a downside. It should be fine to remove the restriction.
2025-12-14 11:43:04 +08:00
778b301060 Allow 'Change Type' to be used with Multiple Parts Selected (#11544)
* Initial changes allowing you to change the type of multiple parts at once by selecting them all.

* Removed second occurance of Change type in right click menu

* Ready to go feature change

* Remove accidental file creation

* Removing excessive std::cerr

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-13 22:36:47 +08:00
1590bd2c75 Minor Tab.cpp redirection fixes + PowerLoss recovery link (#11608)
* Update Tab.cpp

* Readme Fix

* Update Tab.cpp
2025-12-12 23:32:28 +08:00
14b755ce5e Add ability to disable Power Loss Recovery on BBL machines (#11582)
* Add ability to disable Power Loss Recovery

* Fix typo in PrintConfig.hpp for power loss recovery

* Attempt to resolve Unknown option exception: disable_power_less_recovery

Add disable_power_loss_recovery property to any json which had scan_first_layer

* Revert "Attempt to resolve Unknown option exception: disable_power_less_recovery"

This reverts commit ddaf34b317f8797540235b8f7d179b1c9b6d10f8.

* Fix typo

* Change attribution from BBS to Orca in PrintConfig.cpp

* Mini refactor power loss recovery handling in GCode export

- Moved power loss recovery G-code generation to a new method in GCodeWriter.
- Support Marlin 2

* Update comments and power loss recovery handling

* Implement power loss recovery G-code commands

Added functions to start and end power loss recovery with appropriate G-code commands and comments.

* Add power loss recovery methods to GCodeWriter

* refactor and fix build errors

---------

Co-authored-by: Michael Rook <michael@rook.id.au>
Co-authored-by: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-10 23:19:57 +08:00
56060ca6b9 Tab.cpp Machine + Material: Linking Wiki update (#11548)
* Fix tooltip + URL

* Full Material wiki redirection maping

* Machine wiki + append_option_line wiki linking

* Machine wiki 2

* Update README with improved wiki links and clarity

* Bring back Print statistics options

* Move num_extruders config to OtherSlicingStatesConfigDef

The num_extruders configuration option was relocated from OtherPresetsConfigDef to OtherSlicingStatesConfigDef for better organization and relevance. This change ensures that the number of extruders is defined in the context of slicing states rather than presets.

* Unifi adaptative bed mesh
2025-12-09 23:57:03 +08:00
e9b94018c6 Update zh_TW translations (#11514)
* Replace Simplified Chinese in `OrcaSlicer_zh_TW.po` with Traditional
  ones, fix '制', and add missing translatinos
* Fix settings -> system language selector (`Perefences.cpp`): 繁体 -> 繁體
* Two missing translation in `text.js`
2025-12-09 23:38:12 +08:00
9e0a1c655d Compact Printer Selection UI - part 2 (#11401)
* update

* match bbl covers with profile folder

* Update printer_placeholder.png

* match vertical margins

* improve logic for showing bed type preview

* fix focus

* fix conflict

* fix conflict

* Update printer_placeholder.png

* Update Plater.cpp

* Update printer_placeholder.png

* revert changes for margins

* Update Plater.cpp

* Update Plater.cpp

* Revert "Update Plater.cpp"

This reverts commit f73e482081c9451d07b28372e9e2505dc1bf7df6.

* Update Plater.cpp

* fix badges not visible

* fix badge

* Update Plater.cpp

* update sync icon

* improve cover auto hide logic

* Update Plater.cpp

* delete bed type images

* simplify events

* hide nozzle selector for ToolChangers

* fix bed type not remembers value after printer change
2025-12-09 01:05:03 +08:00
4dee32429f Fix tests (#10906)
* Get libslic3r tests closer to passing

I can't get geometry tests to do anything useful. I've added extra
output, but it hasn't helped me figure out why they don't work
yet. That's also probably the last broken 3mf test doesn't work.

The config tests were mostly broken because of config name changes.

The placeholder_parser tests have some things that may-or-may-not
still apply to Orca.

* Vendor a 3.x version of Catch2

Everything is surely broken at this point.

* Allow building tests separately from Orca with build_linux.sh

* Remove unnecessary log message screwing up ctest

Same solution as Prusaslicer

* Make 2 TriangleMesh methods const

Since they can be.

* Move method comment to the header where it belongsc

* Add indirectly-included header directly

Transform3d IIRC

* libslic3r tests converted to Catch2 v3

Still has 3 failing tests, but builds and runs.

* Disable 2D convex hull test and comment what I've learned

Not sure the best way to solve this yet.

* Add diff compare method for DynamicConfig

Help the unit test report errors better.

* Perl no longer used, remove comment line

* Clang-format Config.?pp

So difficult to work with ATM

* Remove cpp17 unit tests

Who gives a shit

* Don't need explicit "example" test

We have lots of tests to serve as examples.

* Leave breadcrumb to enable sla_print tests

* Fix serialization of DynamicConfig

Add comments to test, because these code paths might not be even used
anymore.

* Update run_unit_tests to run all the tests

By the time I'm done with the PR all tests will either excluded by
default or passing, so just do all.

* Update how-to-test now that build_linux.sh builds tests separately

* Update cmake regenerate instructions

Read this online; hopefully works.

* Enable slic3rutils test with Catch2 v3

* Port libnest2d and fff_print to Catch2 v3

They build. Many failing.

* Add slightly more info to Objects not fit on bed exception

* Disable failing fff_print tests from running

They're mostly failing for "objects don't fit on bed" for an
infinite-sized bed. Given infinite bed is probably only used in tests,
it probably was incidentally broken long ago.

* Must checkout tests directory in GH Actions

So we get the test data

* Missed a failing fff_print test

* Disable (most/all) broken libnest2d tests

Trying all, not checking yet though

* Fix Polygon convex/concave detection tests

Document the implementation too. Reorganize the tests to be cleaner.

* Update the test script to run tests in parallel

* Get sla_print tests to build

Probably not passing

* Don't cause full project rebuild when updating test CMakeLists.txts

* Revert "Clang-format Config.?pp"

This reverts commit 771e4c0ad2fdbaa26a8fee77030650afacdc5083.

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-08 22:42:11 +08:00
680735361b Fix typo in extruder clearance resource name (#11569)
Renamed 'param_extruder_clearence.svg' to 'param_extruder_clearance.svg' and updated the corresponding resource reference in Tab.cpp to correct the spelling error.

Co-authored-by: Nanashi <53353250+NanashiTheNameless@users.noreply.github.com>
2025-12-05 12:03:12 +00:00
1fe318f8ae Merge branch 'main' into libvgcode 2025-11-25 15:19:57 -05:00
56490283ac GPU overdrive fix (#4) 2025-11-25 12:25:03 -05:00
40b01fcb1a Fix emulated spiral Z-hop XY offset on multi-plate slicing (#11468) 2025-11-25 11:23:37 +08:00
6c03ba2b63 Validate invalid fields for hidden system profiles (#11455)
* Fix issue that for invisible system profiles, invalid fields are not removed

* Fix wrong note field
2025-11-24 20:11:42 +08:00
bbaa2224eb UI fixes / improvements (#11413)
* init

* flushing volumes

* vertical margins

* fix titlebar scaling

* fix filament section

* flushing volumes

---------

Co-authored-by: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com>
2025-11-22 22:54:36 +08:00
807c2ed6d9 Fix Spiral Z-Hop arc handling (#11430) 2025-11-22 22:09:29 +08:00
bd641aae96 FIX: Open provided file at startup (#11419) 2025-11-22 21:49:51 +08:00
958c00d950 Merge branch 'main' into libvgcode 2025-11-22 19:35:32 +08:00
d6fb3afe97 Re-include BBS's Clipperutils2 (#11415)
* Clipper2 from BBS

* Fix

* Clipper2 Update: 1.5.2 -> 2.1.5.4

* Replace Clipper2Lib::Area calls with Clipper2LibArea

Updated area calculation calls to use Clipper2LibArea<T> instead of Clipper2Lib::Area<T> in multiple locations. This change likely reflects a refactor or renaming of the area calculation function.

* Revert "Replace Clipper2Lib::Area calls with Clipper2LibArea"

This reverts commit c92a9a1522e8d7b0f1f8557d4c752a8b8c8fc279.

* Revert "Clipper2 Update: 1.5.2 -> 2.1.5.4"

This reverts commit a745894bdc9cda4ce4d19e0705d214b78091acad.

* Update project version
2025-11-22 15:39:12 +08:00
e4b2c90505 Fix filament profile import if inherit from vendor generic (#11398)
* Why log user id when importing profile?

* Use `find_preset2` when importing profiles
to properly handle renamed system profiles
2025-11-22 15:38:12 +08:00
c0b2dba2fb Fix crash after syncing printer (#11428)
Fix crash after syncing printer (OrcaSlicer/OrcaSlicer#11427)
2025-11-22 15:37:28 +08:00
4e5f1b1d6f Merge branch 'main' into libvgcode 2025-11-21 08:47:25 -05:00
9a50266ece 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
2d9154ca20 Merge branch 'main' into datalist-row-color 2025-11-19 13:53:36 +03:00
3694fa6cbf update 2025-11-19 13:51:52 +03:00
f9a144a34e Merge remote-tracking branch 'upstream/main' into libvgcode
# Conflicts:
#	src/libslic3r/GCode/GCodeProcessor.cpp
2025-11-18 20:22:57 -05:00
0733336471 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
dc889e387d Merge remote-tracking branch 'upstream/main' into dev/p2s-pr
# Conflicts:
#	src/slic3r/GUI/Plater.cpp
#	src/slic3r/GUI/PrePrintChecker.cpp
#	src/slic3r/GUI/StatusPanel.cpp
2025-11-18 09:17:13 +08:00
0ab978decd Merge branch 'main' into libvgcode 2025-11-17 17:48:25 +00:00
017244a395 Merge branch 'main' into datalist-row-color 2025-11-17 17:44:39 +00:00
5c67d483e2 Adjusted density multiline infill for adaptive cubic, support cubic, lightning patterns (prevent crash) and minor GUI correction. (#10967)
* FillAdaptive density adjusted
* Fill lightning multiline density adjust
* Gui corrections by IanAlexis
2025-11-17 17:27:55 +00:00
f7a2589879 Reorder Calibrations list (#11389)
* Reorder max volumetric speed calibration step

Moved the max volumetric speed calibration step after temperature tower in the documentation and updated the calibration menu initialization in MainFrame.cpp to match the new order.

* Update wiki image

* Reorder flow rate and pressure advance calibration steps

Updated documentation and GUI to list Pressure Advance calibration before Flow Rate calibration, reflecting the recommended calibration order. Adjusted menu item order in MainFrame.cpp and updated related documentation and image.
2025-11-17 17:21:03 +00:00
46bd1a65da Filament Ironing Override (#11194) 2025-11-17 15:56:39 +00:00
04d89a5d2d Compact Printer Selection UI (#11196) 2025-11-17 15:30:35 +00:00
42d063fc8d Fix spacing and punctuation issues (#11244) 2025-11-17 09:35:53 +00:00
339e2d6e5e Retraction Calib: Set wall_sequence to InnerOuter (#11372)
Set wall_sequence to InnerOuter in calib_retraction
2025-11-17 09:32:40 +00:00
27a471cea1 Merge branch 'main' into dev/p2s-pr 2025-11-17 14:56:09 +08:00
d994178cf4 Anycubic Predator machine and print profiles (#11252)
* feat: anycubic predator

* buildplate texture & cover image

* Newlines

* buildplate texture and model

* modified printable area

* added to custom printers list

* flip buildplate model

* Merge branch 'SoftFever:main' into feature/anycubic-predator-profile

* make profile safe (speed, acceleration, jerk), added better start gcode with prime line

* rotate texture to avoid confusion

* updated start gcode

* rotate the texture back

* Merge branch 'main' into feature/anycubic-predator-profile

* Merge branch 'main' into feature/anycubic-predator-profile

* Update cover image & fix gcode flavor
2025-11-17 12:20:26 +08:00
ca639f001f Merge remote-tracking branch 'upstream/main' into libvgcode
# Conflicts:
#	src/slic3r/GUI/GLCanvas3D.cpp
2025-11-16 22:53:04 -05:00
4ce3fb9ca8 Url update: SoftFever/OrcaSlicer -> OrcaSlicer/OrcaSlicer (#11371)
* SoftFever/OrcaSlicer -> OrcaSlicer/OrcaSlicer

* Revert for deps
2025-11-17 11:17:54 +08:00
a0d4a9829e Standard units need translation for CIS Languages (#11376)
* Standard units need translation for CIS Languages
2025-11-17 10:29:44 +08:00
cebb047383 Adjust shaders to increase shadows/contrast between layers 2025-11-16 11:34:56 -05:00
254b175219 feat: Reduce size of option marker in G-Code preview 2025-11-16 11:22:39 -05:00
a2ee150cf7 Remove unnecessary requires_extra_frame call 2025-11-15 12:00:24 -05:00
f813ca49b4 Don't hide some properties for non-extrusion moves 2025-11-15 11:11:25 -05:00
8139ce944e SPE-2359: Added speed and volumetric flow rate to imgui vertex properties dialog (#12840)
(cherry picked from commit 0602723695664eb77570c1ea04971f55a8779d6c)
2025-11-15 11:11:25 -05:00
c4adf6a549 Fix incorrect display of flow rate changes 2025-11-15 11:11:25 -05:00
bc57146639 Accumulate the total estimated print in doubles instead of floats.
Because total print time is typically a big floating point number and the time of trapezoid is typically a small number, summing those numbers leads to a loss in precision. Switching to doubles reduces the loss of precision.

(cherry picked from commit c5982f40196c178bd824c556ac11e8c6f67d5e7a)
2025-11-15 11:11:25 -05:00
4ad2cf6301 SPE-2441: Fix discontinuity between the processed blocks' exit speed and the new first block's entry speed.
This discontinuity affected both time estimation and actual speed visualization.

(cherry picked from commit 90073dce70fb05bda80421158175b851855f0a8f)
2025-11-15 11:11:25 -05:00
3639e6be5e SPE-2397: Fixed order of traversing time blocks in GCodeProcessor::TimeMachine::calculate_time() to match what is done in firmware
(cherry picked from commit 9b7961ddcb824c5b18cb414ed5b975d999a24641)
2025-11-15 11:11:25 -05:00