Commit Graph

1699 Commits

Author SHA1 Message Date
8f08b587c6 ENH: Optimize the number of function calls during information parsing
During the printer connection cycle, each Filament and slot is only judged once
When deleting custom filaments or modifying the temperature of custom filaments, re evaluate

Jira: XXXX

Change-Id: If495a343efdb1be6f46d11dd20f6ec7934266e87
(cherry picked from commit e5dab1487188d744c732568232b32666e5f2cc5c)
2025-01-23 11:38:11 +08:00
06ba32e117 Make sure to move to prime tower before moving down (#8140)
Make sure to move to prime tower before moving down (SoftFever/OrcaSlicer#8120)
2025-01-22 20:52:09 +08:00
302b40af22 Port Quartercubic infill pattern (#7243)
* Ported Quarter Cubic infill pattern from Cura

* Code reformat
2025-01-22 14:22:22 +08:00
880081226a Fix first layer tool ordering in print-by-object mode (#6664)
Fix first layer tool ordering in print-by-object mode (SoftFever/OrcaSlicer#6615)
2025-01-22 10:05:38 +08:00
74cf736903 Fix issue that is_infill_first doesn't work correctly on regions (#8126)
Fix issue that `is_infill_first` doesn't work correctly on regions (SoftFever/OrcaSlicer#8111)
2025-01-22 10:04:03 +08:00
16340fd6b6 FIX: step model split COMPOUND and COMPOUNSOLID type (#8084)
JIRA:STUDIO-5632

GITHUB: #3153
Change-Id: I1b9b49321cc0da8bdd79e2beb4009283cfada287
(cherry picked from commit 6191a66441549b1cee8be8d7f740c2d466557691)
(cherry picked from commit 90f325792dc4910b80d69c9d6a5677f24b8fa259)

Co-authored-by: Mack <yongfang.bian@bambulab.com>
2025-01-22 10:03:43 +08:00
cef15842bb Fix arrange when print-by-object and have object off-plate (#8038)
* Fix arrange when print-by-object and have object off-plate (SoftFever/OrcaSlicer#7745)
Partly revert 0b6a1d3636

* Fix issue that fill bed with instance ignores print-by-object clearance (SoftFever/OrcaSlicer#5153)
2025-01-22 10:03:21 +08:00
61331ce113 Fix extruder number issue when SEMM is not enabled (#8027)
* Revert ac80575b28

* Fix issue that extruder number is not initialized properly when SEMM is not enabled
2025-01-22 10:02:57 +08:00
fab7eaab49 Fix wrong custom gcode layer caused by rounding error (#8017)
Compare the custom gcode z to `0.5*(layer_z[n] + layer_z[n+1])` instead of `EPSILON`
to compensate float rounding error during gcode processing (SoftFever/OrcaSlicer#7834)
2025-01-22 10:02:22 +08:00
f3fddcb225 Fix issue that support surfaces get filtered out unexpectly (#7988)
Fix issue that support surfaces get filtered out unexpectly (SoftFever/OrcaSlicer#7935)
2025-01-22 10:01:15 +08:00
ec591dcef1 Fix per-object overhang slow down (#7976)
* Make sure the `m_extrusion_quality_estimator.set_current_object()` is called after regional config has been applied (SoftFever/OrcaSlicer#7946)

* Init `m_extrusion_quality_estimator` based on region config

* Revert "Make sure the `m_extrusion_quality_estimator.set_current_object()` is called after regional config has been applied (SoftFever/OrcaSlicer#7946)"

This reverts commit d13d4a47b78b6f80cdc4bff935ea8c3c52ff556b.

* Call `m_extrusion_quality_estimator.set_current_object` regardless, because that doesn't hurt

* Add a comment
2025-01-22 10:00:27 +08:00
2253ab304a Fix arachne wall ordering (#7959)
* Revert "SPE-1950: Optimization of computation complexity of perimeter ordering for Arachne generator."

This reverts commit 47ec9b9b06.

* Revert "SPE-1963: Improve ordering of perimeters with Arachne perimeter generator"

This reverts commit babb84c70a.
2025-01-22 09:58:34 +08:00
b488fdecec Fix issue that TIMELAPSE_TAKE_FRAME is recognized as tool change command (#7926)
Fix issue that `TIMELAPSE_TAKE_FRAME` is recognized as tool change command and triggers preheat (SoftFever/OrcaSlicer#7842)
2025-01-22 09:57:28 +08:00
10b9928506 Fix issue that the support contact layer is printed in wrong filament (#7924)
Fix issue that the contact layer is printed in wrong filament when interface layer number is set to 0

Cherry-picked from prusa3d/PrusaSlicer@ca5f6da08d

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
2025-01-22 09:57:05 +08:00
105a8444e9 capitalize support names in the UI for consistency (#8089)
Capitilize support labels for UI consistency
2025-01-21 08:48:39 +08:00
5ec8f51bd4 fix little typo Customize (#8069)
Customize
2025-01-20 20:44:30 +08:00
330ac879c1 gcode: keep line endins in post processing (#8092)
Some portions of GCode (like BTT_TFT thumbnails)  has to be CRLF in
order to work correctly. However, gcode post processor was ignoring
input line endings style emitting '\n' (LF) into post-processed output.
2025-01-20 10:34:03 +08:00
70579f9159 Fix "Too small ironing spacing" error in default config (#8053) 2025-01-15 20:06:14 +08:00
7f391bc1af Update OrcaSlicer.pot (#7949)
* Update OrcaSlicer.pot

Made sentence a bit clearer.

* Update PrintConfig.cpp

Made sentence a bit clearer.

* Update OrcaSlicer.pot

corrected previous expression

* Update PrintConfig.cpp

corrected previous expression
2025-01-08 14:37:13 +08:00
2b95ef4e3b Fix some errors uncovered via compiler warnings (#7954)
* fix: tray_exist_bits != tray_exist_bits comparison

* fix: title == GetTitle() == title comparison

* fix: possibly dangling reference to a temporary
```
OrcaSlicer/src/libslic3r/calib.cpp:456:17: warning: possibly dangling reference to a temporary [-Wdangling-reference]
  456 |     const auto &w         = bed_ext.size().x();
OrcaSlicer/src/libslic3r/calib.cpp:456:45: note: the temporary was destroyed at the end of the full expression ‘((Eigen::DenseCoeffsBase<Eigen::Matrix<double, 2, 1, 2>, 1>*)(& Slic3r::BoundingBoxBase<PointClass>::size() const [with PointClass = Eigen::Matrix<double, 2, 1, 2>]()))->Eigen::DenseCoeffsBase<Eigen::Matrix<double, 2, 1, 2>, 1>::x()’
  456 |     const auto &w         = bed_ext.size().x();
```

* fix: mixup of | and ||
in this case I think it actually does not change the semantics it just means that both comparison have to be evaluated.

* fix: multi-character character constants need "

OrcaSlicer/src/slic3r/GUI/MediaPlayCtrl.cpp:392: warning: multi-character character constant [-Wmultichar]
  392 |     if (auto n = tunnel.find_first_of('/_'); n != std::string::npos)
OrcaSlicer/src/slic3r/GUI/MediaPlayCtrl.cpp: In member function ‘void Slic3r::GUI::MediaPlayCtrl::Stop(const wxString&)’:
OrcaSlicer/src/slic3r/GUI/MediaPlayCtrl.cpp:392: warning: overflow in conversion from ‘int’ to ‘char’ changes value from ‘12127’ to ‘95’ [-Woverflow]

* fix: missing paranthesis - skips null check

* NFC: Remove this check it can never be false

* NFC: fix warning: statement has no effect
2025-01-08 13:06:39 +08:00
7834f78c90 Feature Ironing Inset added (#7969) 2025-01-08 11:35:08 +08:00
a90cc292e9 Fix compatibility with newer Boost (#7884)
* PrintBase.cpp: fix compatibility with newer Boost

* Plater.cpp: fix compatibility with newer Boost

* RemovableDriveManager.cpp: fix compatibility with newer Boost

* AuxiliaryDataViewModel.cpp: fix compatibility with newer Boost
2025-01-07 23:25:32 +08:00
99a0facfb3 Check missing compatible_printers error 2025-01-06 20:56:07 +08:00
333ed4c34d Fix flatpack build 2025-01-06 09:07:58 +08:00
4c1a42e2e8 Merge branch 'main' into dev/arachen-sync 2025-01-05 23:47:38 +08:00
e62d6a3b68 Enhancement: ERS - segment length - convert to float (#7400)
Enhancement: ERS segment length - convert to float

To allow splitting of line segments down to 0.5mm for improved external surface finish.

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-01-05 23:23:11 +08:00
bb009eaa99 Enhancement: ERS - Option to limit ERS to external perimeters and overhangs only (#7399)
* Option to limit ERS to external perimeters and overhangs only

* Label name

* Label update

* Merge branch 'main' into Limit-ERS-to-external-perimeters-and-overhangs

* Merge branch 'main' into Limit-ERS-to-external-perimeters-and-overhangs

* Merge branch 'SoftFever:main' into Limit-ERS-to-external-perimeters-and-overhangs

* Merge branch 'SoftFever:main' into Limit-ERS-to-external-perimeters-and-overhangs

* Merge branch 'main' into Limit-ERS-to-external-perimeters-and-overhangs

* Merge branch 'SoftFever:main' into Limit-ERS-to-external-perimeters-and-overhangs

* Merge branch 'main' into Limit-ERS-to-external-perimeters-and-overhangs

* Merge branch 'SoftFever:main' into Limit-ERS-to-external-perimeters-and-overhangs

* Merge branch 'main' into Limit-ERS-to-external-perimeters-and-overhangs
2025-01-05 23:19:00 +08:00
67cc143916 Optimisation: ERS - Reduce redundant gcode commands from extrusion rate smoothing (#7398)
* Optimisation: Reduce volume of output gcode commands for pressure equalizer

* Update thresholds

* Update PrintConfig.cpp

* Merge branch 'main' into Optimisation-Reduce-reduntant-gcode-commands-produced-by-Estrusion-Rate-Smoothing

* Merge branch 'SoftFever:main' into Optimisation-Reduce-reduntant-gcode-commands-produced-by-Estrusion-Rate-Smoothing

* Merge branch 'SoftFever:main' into Optimisation-Reduce-reduntant-gcode-commands-produced-by-Estrusion-Rate-Smoothing

* Merge branch 'SoftFever:main' into Optimisation-Reduce-reduntant-gcode-commands-produced-by-Estrusion-Rate-Smoothing

* Merge branch 'main' into Optimisation-Reduce-reduntant-gcode-commands-produced-by-Estrusion-Rate-Smoothing

* Merge branch 'SoftFever:main' into Optimisation-Reduce-reduntant-gcode-commands-produced-by-Estrusion-Rate-Smoothing

* Merge branch 'main' into Optimisation-Reduce-reduntant-gcode-commands-produced-by-Estrusion-Rate-Smoothing

* Merge branch 'SoftFever:main' into Optimisation-Reduce-reduntant-gcode-commands-produced-by-Estrusion-Rate-Smoothing

* Merge branch 'main' into Optimisation-Reduce-reduntant-gcode-commands-produced-by-Estrusion-Rate-Smoothing
2025-01-05 23:05:04 +08:00
091ab68811 Display Commit ID Used for Build in AboutDialog (#6516)
* Display commit ID used for build in AboutDialog

* Dynamically check for snapshots

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-01-03 00:38:25 +08:00
2f55dd7cfe Fix regressions with introduction of supertak plate for non BBL printers. Generalised plate title. (#7883) 2025-01-01 22:34:38 +08:00
cbc04e944c Merge branch 'main' into dev/arachen-sync 2024-12-27 08:54:05 +08:00
f3b2dc26f5 Merge branch 'main' into bugfox/layer-cooling 2024-12-25 23:43:09 +08:00
91fbd1a417 Merge branch 'main' into dev/arachen-sync 2024-12-25 08:54:30 +08:00
aa1f1dfcc0 Fix boost_log_setup link errors on libslic3r_cgal (#6690)
Signed-off-by: Filipe Laíns <lains@riseup.net>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-12-24 22:18:33 +08:00
b9432f4247 Update anti-vibration algorithm from PrusaSlicer (#7818)
* SPE-1950: Reimplement algorithm for filtering vibrating extractions inside the ensuring infill to make it less computation complex.

Cherry-picked from prusa3d/PrusaSlicer@b3510ac808

Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>

* Remove unused file

---------

Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
2024-12-24 22:05:22 +08:00
8ff64f3751 Fix rare Arachne crash due to invalid voronoi diagram (#7817)
Revert the changes BBL made for diagram fix, because this happens! (SoftFever/OrcaSlicer#7815)

(cherry picked from commit f2f827c175)
2024-12-24 22:04:30 +08:00
35ecb8ab4a Fan mover: Ignore non-part cooling fans (SoftFever/OrcaSlicer#7171) (#7193)
* Fan mover: Ignore non-part cooling fans (SoftFever/OrcaSlicer#7171)

* Update comment
2024-12-24 21:35:28 +08:00
5115ceb8f8 Fix dynamic linking Boost on Arch Linux (#6697)
Fix dynamic linking Boost

Signed-off-by: Filipe Laíns <lains@riseup.net>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-12-24 15:40:55 +08:00
ba1752680c Fix a compilation error in the debug build (#6689)
Fix debug builds

Signed-off-by: Filipe Laíns <lains@riseup.net>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-12-24 10:40:33 +08:00
1c68e19aca Update to latest code from PS 2024-12-22 20:52:02 +08:00
6575bd1ead SPE-1837: Fixed issue when perimeters weren't generated with Arachne.
Cherry-picked from prusa3d/PrusaSlicer@6df4891e6c

Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
2024-12-22 20:51:15 +08:00
f2f827c175 Revert the changes BBL made for diagram fix, because this happens! (SoftFever/OrcaSlicer#7815) 2024-12-22 18:53:36 +08:00
71304368d0 Update to latest PS code 2024-12-22 18:52:23 +08:00
5d1583db85 Apply fix includes.
Cherry-picked from prusa3d/PrusaSlicer@919740fb3e

Co-authored-by: Martin Šach <martin.sachin@gmail.com>
2024-12-22 18:50:00 +08:00
47ec9b9b06 SPE-1950: Optimization of computation complexity of perimeter ordering for Arachne generator.
The previous implementation during the grouping of perimeters using depth-first searches unnecessarily searched nodes that had no impact on grouping, which significantly increased the search space.

Cherry-picked from prusa3d/PrusaSlicer@86309ba939

Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
2024-12-22 18:36:06 +08:00
babb84c70a SPE-1963: Improve ordering of perimeters with Arachne perimeter generator
Especially in cases when the object is composed only of 2 external perimeters and 1 or 2 internal perimeters, the order of perimeters wasn't optimal and differed from the Classic perimeter generator. That caused unnecessary long travels before the external contour was printed.

The ordering of perimeters is slightly inspired by the latest changes in CuraEngine.

Cherry-picked from prusa3d/PrusaSlicer@10875082de

Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
2024-12-22 18:36:06 +08:00
4b739539a4 SPE-2298: Add detection of Voronoi diagram with parabolic edge without a focus point.
Cherry-picked from prusa3d/PrusaSlicer@c44ffed475

Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
2024-12-22 17:01:54 +08:00
44e53c90f0 Add missing header guards to VoronoiVisualUtils.
Cherry-picked from prusa3d/PrusaSlicer@34d9b0678b

Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
2024-12-22 16:45:37 +08:00
862acea2af SPE-2298: Fix crash caused by a numerical issue during testing if a Voronoi vertex is inside a corner of a polygon.
Cherry-picked from prusa3d/PrusaSlicer@669c931b77

Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
2024-12-22 16:44:36 +08:00
3a43050ad1 Remove some unused functions from Arachne perimeter generator.
Cherry-picked from prusa3d/PrusaSlicer@e704d8216d

Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
2024-12-22 16:32:24 +08:00