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
Martin Šach
e60b8b1193
Seam placement improvements.
...
Previously there was an algirithm that was fitting a curve through
the resulting seam points. This worked for smooth models, but was
failing for some very basic cases (such as a cylinder).
The new algorithm builds on the previously implemented visibility
algirithm but does not do the curve fitting anymore.
Now the code is more separated for the four seam placement
options (rear, random, aligned, nearest).
Nearest and random are handled as one would expect.
Aligned is handled in a more "brute force" manner
(trying multiple seams and picking the best one)
and rear smartly switches between two modes
(center straight line projection and max y).
2024-05-06 10:11:32 +02:00
Lukáš Hejl
7e06a955bd
SPE-2196: Fix the incorrect direction of travel at the end of the external perimeter when ArcWelder is enabled together with disabled wipes.
2024-05-03 14:37:27 +02:00
Lukas Matena
666b8ae5e4
Fixed conflict after merge
2024-03-27 17:08:32 +01:00
Lukas Matena
9dc7b70084
Merge branch 'master_27x'
2024-03-27 16:37:47 +01:00
Lukáš Hejl
9b252b1c8b
SPE-2201: Fix deretractions (tiny extrusions) when the spiral vase is enabled.
2024-03-27 13:59:02 +01:00
enricoturri1966
858e431f97
Removed obsolete tech ENABLE_GCODE_VIEWER_DATA_CHECKING
2024-03-26 14:41:55 +01:00
enricoturri1966
539c155c59
Code cleanup and techs removal - completed
2024-03-26 14:41:55 +01:00
enricoturri1966
7bd60043d8
Code cleanup and techs removal - step 1
2024-03-26 14:27:02 +01:00
enricoturri1966
5c4c18661e
SPE-1872: Implemented G2/G3 lines discretization for gcfMarlinFirmware firmware flavour
2024-03-26 14:27:02 +01:00
enricoturri1966
ebc7444a20
SPE-1872: Corrections into GCodeProcessor::process_G2_G3() to match firmware code
2024-03-26 14:27:02 +01:00
enricoturri1966
07d2fb32fa
SPE-1872: Actual speed profile - Rework in its calculation + enhanced imgui debug window
2024-03-26 14:27:01 +01:00
enricoturri1966
e51647b5da
SPE-1872: Fixed actual speed for seam moves and at extrusion/travel/wipe start
2024-03-26 14:27:01 +01:00
enricoturri1966
fbb7eb77b4
SPE-1872: Actual speed profile extended to travel and wipe moves
2024-03-26 14:27:01 +01:00
enricoturri1966
42c9174567
SPE-1872: Fixes in function recalculate_trapezoids() and method GCodeProcessor::TimeMachine::calculate_time() to smooth actual speed profile
2024-03-26 14:27:01 +01:00
enricoturri1966
0ba4a67af2
SPE-1872: Added visualization of actual volumetric flow rate
2024-03-26 14:27:01 +01:00
enricoturri1966
268b5860fd
SPE-1872: Fixes in calculating actual speed
2024-03-26 14:27:01 +01:00
enricoturri1966
e4a3fb3b45
SPE-1872: Added visualization of actual speed in gcode preview
2024-03-26 14:27:01 +01:00
enricoturri1966
55b674ca3b
Code cleanup
2024-03-26 14:15:37 +01:00
enricoturri1966
c57d63f2f9
New gcode visualization integration - Removed tech ENABLE_GCODE_VIEWER_STATISTICS
2024-03-26 14:12:32 +01:00
enricoturri1966
08b6369ae4
New gcode visualization integration - Removed GCodeProcessorResult::spiral_vase_layers
2024-03-26 14:12:32 +01:00
enricoturri1966
d3fd11dad9
New gcode visualization integration - Layers times
2024-03-26 14:04:08 +01:00
enricoturri1966
cea952a208
New gcode visualization integration - Travels and Extrusion roles times
2024-03-26 14:04:08 +01:00