1122 Commits

Author SHA1 Message Date
enricoturri1966
40dbbd1c35 SPE-2397: Increased size of time blocks batches used to calculate time estimate and actual speed 2024-08-12 15:46:23 +02:00
enricoturri1966
88c94180f7 Fixed mismatch with firmware in calculating acceleration in time estimates 2024-08-12 15:46:23 +02:00
enricoturri1966
9b7961ddcb SPE-2397: Fixed order of traversing time blocks in GCodeProcessor::TimeMachine::calculate_time() to match what is done in firmware 2024-08-12 15:46:23 +02:00
Martin Šach
c6858d41bd Fix overhang perimeter dynamic speed.
* Use "corner" intersections when estimating the curl up height.
* If there is a redundant point in an extrusion loop at the end remove it.
2024-08-09 15:19:32 +02:00
Lukáš Hejl
7f666265e1 SPE-2368: Reduce the number of emitted M106 when dynamic fan speed on overhangs is enabled.
This fixed duplicity M106, which doesn't have any effect.
Also, it was implemented hysteresis that filters out small back-and-forth changes in fan speeds.
2024-08-09 09:56:42 +02:00
Lukáš Hejl
070b2af3fd Refactoring of the dynamic speed on overhangs. 2024-08-09 09:56:42 +02:00
Lukáš Hejl
b4fadc102d SPE-2193: Fix zero velocity when the pressure equalizer is combined with spiral vase mode.
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-08-01 13:39:36 +02:00
Lukas Matena
f30a8ac4fb Fixed conflicts after merge 2024-07-10 15:49:50 +02:00
Martin Šach
fb47a62fd7 Fix #12916: Seams now respect per object settings 2024-07-10 15:22:15 +02:00
Martin Šach
8c9b672c0d Refactor extrusion predicate naming and default lambda capture. 2024-07-10 15:18:53 +02:00
Martin Šach
8403edc12c Refactor smooth path generator lambda to be a functor. 2024-07-10 15:18:53 +02:00
Martin Šach
a59fd32962 Fix clockwise movements for skirt and brim 2024-07-10 15:18:52 +02:00
Martin Šach
af4a1d67a9 Fix cancel object annotation 2024-07-10 15:18:52 +02:00
Martin Šach
61e015fc38 Fix layer change handling 2024-07-10 15:18:52 +02:00
Martin Šach
796eddd971 Implement get_first_point for extrusions 2024-07-10 15:18:52 +02:00
Martin Šach
131f05c3c4 Add offset to extrusions an make sure to reset origin 2024-07-10 15:18:52 +02:00
Martin Šach
dca7318896 Refactor process layer single object 2024-07-10 15:18:52 +02:00
Martin Šach
a321a97f36 Use smooth path to extrude brim 2024-07-10 15:18:52 +02:00
Martin Šach
e24a781382 Use scaled point as previous position in ExtrusionOrder 2024-07-10 15:18:52 +02:00
Martin Šach
d2d9762322 Smooth path for infills 2024-07-10 15:18:52 +02:00
Martin Šach
d54f20a12c failed arc welder in path ordering 2024-07-10 15:18:52 +02:00
Martin Šach
773c34f906 Move skirt smooth path generation to extrusion order 2024-07-10 15:18:52 +02:00
Martin Šach
a5f6da6bd5 Move get_sorted_extrusions to a gcode generator method 2024-07-10 15:18:52 +02:00
Martin Šach
40da8d7336 Move get_extrusions to a function 2024-07-10 15:18:52 +02:00
Martin Šach
0bc86ace2e Make previous position independent of the object instance (offset) 2024-07-10 15:18:52 +02:00
Martin Šach
17dc776109 Separate extrusions ordering and extrusions exporting into two for loops 2024-07-10 15:18:52 +02:00
Martin Šach
fe1b8134d6 Remove ExtrusionOrder dependency on seam placer 2024-07-10 15:18:52 +02:00
Martin Šach
dbe9355672 Use dynamic cast for perimeter extrusion entity as it might not always be an ExtrusionLoop 2024-07-10 15:18:52 +02:00
Martin Šach
02c615999b Separate extrusion order utilities to a file. 2024-07-10 15:18:50 +02:00
Martin Šach
919740fb3e Apply fix includes. 2024-07-08 15:37:02 +02:00
Martin Šach
96e3e77fef Prepare fe for include optimization.
- Add pragmas to keep necessary headers with symbols not explicitly
stated in the file.
- Use include paths that IWYU understands.
2024-07-08 15:37:02 +02:00
Martin Šach
21116995d7 Refactor CMake and improve #includes.
* 1. Remove all global include_directories.
* 2. Move 3d party dependencies from src to budled deps if possible.
* Unify and enforce one way of including headers:
    e.g. #include "libslic3r/GCode.hpp" vs #include "GCode.hpp"
    (always use the "libslic3r/GCode.hpp" option).
* Make all dependencies (also header only) a cmake target.
2024-07-08 15:36:46 +02:00
enricoturri1966
443879d798 SPE-2219 - Added loading progress bar in GCodeViewer 2024-06-20 14:55:16 +02:00
Martin Šach
33e57827bc Fix neares corner seam picking 2024-06-20 14:53:13 +02:00
Martin Šach
f6396f59e9 Refactor seams - due to new rear implementation shells are now only required for aligned seams. 2024-06-14 14:55:50 +02:00
Martin Šach
7d6563641c Change implementation of rear seam.
Use line distancer to obtain the nearest line to a rear point.
Be smart about choosing the rear point.
2024-06-14 14:55:50 +02:00
Martin Šach
badd01b65d Make nearest seam position choose from corners first if there are any 2024-06-14 14:54:19 +02:00
Lukas Matena
dda46d7554 GCodeProcessor: Getting rid of needless std::vector::insert calls 2024-06-10 10:46:12 +02:00
Merill
357264272d fix reset() call on a copy (PR #12737) 2024-06-07 08:51:36 +02:00
Lukáš Hejl
d6136a34e3 SPE-2301: Add a new option that makes a printer print loops clockwise instead of counterclockwise. 2024-06-03 18:24:03 +02:00
Martin Šach
3543f8c738 Remove seam 'visit forward' assert and rename it to better convey what the function does. 2024-05-30 10:47:18 +02:00
Martin Šach
258882ca5a Fix SPE-2304. Rear seam not respecting paiting.
If a rear seam was projected it was not respecting seam paiting,
because it continued to search the points even if they had
'worse' point_type (e.g. common/blocker). Now the search
is aborted if there is an enforcer and it is not picked.
2024-05-20 16:49:25 +02:00
Lukáš Hejl
b425fe459d Rename EnforcerBlockerType to TriangleStateType because we no longer use it just as a blocker or an enforcer. 2024-05-14 17:16:23 +02:00
Lukas Matena
d8bf4fed18 Merge branch 'lh_ms_seam_improvements' 2024-05-14 07:33:26 +02:00
Lukas Matena
8d26de63f3 The new chamber_minimal_temperature parameter is taken into account 2024-05-14 07:14:18 +02:00
Lukas Matena
126de4d648 Chamber temperature G-code emission 2024-05-14 07:14:18 +02:00
Martin Šach
a0d6d9f4c3 Use lower arm length for better seams on spheres 2024-05-13 13:21:42 +02:00
Martin Šach
8ed0614b90 Gracefuly handle cases where the geometetry is not the same as generated perimeters 2024-05-13 11:23:45 +02:00
Martin Šach
9bf4a5f14b Add continuity modifier to seam aligned.
Previously, when searching for the optimal seam candidate, no previous
seams were taken into account. This sometimes led to ugly leaps in the seam
path. Now the visibility of a seam candidate that continues from a
previous seam is reduced, meaning there is a bigger chance it will
be picked.
2024-05-10 10:34:56 +02:00
Martin Šach
9a1dcc4720 Handle special seam case of just 2 or 3 perimeters.
If there are only 2 or 3 perimeters on a layer, exactly two of them are
external and just one of them is a hole, then the seams should be
choosen next to each other on the external perimeters.
2024-05-06 10:28:16 +02:00