1017 Commits

Author SHA1 Message Date
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
enricoturri1966
285a274ff7 SPE-1982: Tech ENABLE_NEW_GCODE_VIEWER - 1st installment of new toolpaths rendering code (WIP) 2024-03-26 14:04:05 +01:00
Lukas Matena
1f87c498cd Merge branch 'master_27x' 2024-02-20 23:01:02 +01:00
Martin Šach
bc0fc8a789 Fix missing deretraction coused by caching gcode writer. Use find and replace to remove the retraction if not required 2024-02-19 15:27:38 +01:00
Martin Šach
0b4e406b28 Add missing point to the rectangular travel 2024-02-19 15:24:48 +01:00
Lukas Matena
1c6282ce03 Fixed missing cooling slowdown when z travel speed was zero (#12258, SPE-2163) 2024-02-16 11:38:34 +01:00
Martin Šach
f64aea6499 Fix: Cap speed by max_volumetric_speed even for dynamic overhangs. 2024-02-07 10:12:43 +01:00
Lukas Matena
e4030321f7 Calculate wipe tower filament consumption per layer 2024-02-07 09:55:37 +01:00
Lukáš Hejl
8ce089c6ff SPE-2098: Pick a required extruder before a color change for multi-extruder printers.
When we need to perform a color change on an extruder that isn’t used within the layer, we perform a tool change to select the correct extruder. Then, we perform the color change, and finally, we perform another tool change to switch back to the original extruder.
2024-02-06 11:23:09 +01:00
Martin Šach
4481525169 Fix wipe tower deretraction string.
Return the previous behaviour for non priming toolchanges and
handle priming toolchanges separately.
2024-01-29 09:52:20 +01:00
Lukas Matena
a42223f963 Merge branch 'master_27x' 2024-01-26 13:07:19 +01:00
Martin Šach
7f423083b4 Fix: Use toolchange z instead of writer z to restore z on wipe tower.
Writer z can be set in custom toolchange gcode and than the restoration
is invalid.
2024-01-23 09:30:40 +01:00
Martin Šach
812c40e887 Unify GCodeGenerator travel to first layer position.
* Fixes SPE-2116. The reason for this bug was forgotten change in
  WipeTowerIntegration after change in gcode.cpp.
* Prevents future similar bugs by unifing the functionality to a method.
2024-01-23 09:00:58 +01:00
Martin Šach
f9283728d6 During first layer change, do not actually move z.
This enables the user to set his own z in start gcode. Fixes #11843.
2024-01-17 12:22:22 +01:00
Lukáš Hejl
da57489874 Implement lift before obstacles that take into account already extruder extrusions on the current layer.
Ignore the first intersection of the travel path with the object from which the travel starts.

Created a new class TravelObstacleTracker, for wrapping all data structures related to lift before obstacles.
2024-01-17 12:22:22 +01:00
Lukáš Hejl
2fc9299c65 Use max value of double instead of std::optional in get_first_crossed_line_distance() and get_obstacle_adjusted_slope_end(). 2024-01-17 12:22:22 +01:00
Lukáš Hejl
dbd0369767 Use forward declarations in Travel.hpp. 2024-01-17 12:22:22 +01:00
SachCZ
ff30d7aad3 Replace last_pos and helpers with optional in GCode.cpp 2024-01-17 12:22:22 +01:00
SachCZ
7f397cd7b3 Implement ramping layer change using a tag in gcode
During layer change, instead of generating the gcode, generate a placeholder tag. Then at the end of layer processing replace this tag with a ramping travel move.
This solves the issue, that one does not know the starting point of the current layer where the layer change gcode would be originally generate.
The ramping layer changes uses smoothing of the ramping travel. Also it is adjusted in such a way that it increases the ramp angle when the travel is too short, to always reach the next layer.
2024-01-17 12:22:19 +01:00
SachCZ
24e3254697 Smooth z-hop curve to avoid unreasonably high jerk setting.
* Replace the ramping travel with a smooth ramping travel on marlin 2 under the right circumstances.
2024-01-17 12:21:36 +01:00
Lukáš Hejl
7ab3e5490c SPE-2096: Fixed calculation of maximum wipe length in XY coordinates.
Also, comparing the accumulated length of the path for wipe was incorrectly mixing scaled and unscaled distances.
2024-01-05 22:43:30 +01:00
Lukáš Hejl
2c671d8d6c Use memcpy instead of strncpy in GCodeFormatter::emit_string() to silence the warning.
The warning was there because std::string_view::data() returns a pointer to a buffer that is not necessarily null-terminated. So, strncpy shouldn't be used on non-null-terminated buffers, but we always relied only on the buffer length, so it couldn't cause any issues.
2024-01-04 10:22:27 +01:00
Kristian Nielsen
c7d31f980a Fix missing braces around multi-line if ()
Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
2024-01-04 10:21:24 +01:00
tamasmeszaros
8d6497297a Replaced all occurrences of boost::nowide::narrow for wxStrings with into_u8 2023-12-18 14:33:30 +01:00
tamasmeszaros
bffa3f8578 Get rid of in-source boost::nowide. Use upstream instead 2023-12-18 12:10:37 +01:00
Lukas Matena
e0a03c7970 Merge branch 'master_271' into HEAD 2023-12-13 15:49:26 +01:00
Lukas Matena
2d130c71b6 Move binary gcode checkbox to Printer Settings 2023-12-11 15:40:35 +01:00
Lukas Matena
64a9b546fd Added wipe tower weight into G-code metadata 2023-12-08 14:05:12 +01:00
Justin Schuh
834f6ef37c Improve filtering on Klipper exclude_objects labels (#11802, PR#11813 by @jschuh) 2023-12-08 13:51:32 +01:00
Martin Šach
466ac9105e Fix: Spiral vase missing perimeter 2023-12-07 14:45:08 +01:00
Martin Šach
c3132e91c8 Fix SPE-2068: Helical layer change generating travels out of bounds. 2023-12-06 10:50:13 +01:00
Martin Šach
e298593a2e Refactor: Separate gcode generator layer changes utilities to a file. 2023-12-06 09:49:56 +01:00
Martin Šach
1ec4cbe2d6 Add forgotten header guards 2023-12-06 09:49:56 +01:00
Martin Šach
e13d3cdbf2 Refactor: Move gcode travel utils to a separate file. 2023-12-06 09:49:56 +01:00
Martin Šach
f6efd3a501 Fix: Spiral vase missing perimeter 2023-12-04 10:03:34 +01:00
Lukas Matena
80c9f53167 Fixed issues in wipe tower brim (SPE-2049, #11708) 2023-11-21 13:24:42 +01:00
Lukas Matena
bbd7828dc1 Fixed wipe tower lines outside its perimeter (SPE-2049, #11692) 2023-11-21 13:24:42 +01:00
Justin Schuh
0b68210849 Fix of #11648: Prevent overhang fan speeds from spilling into infill. 2023-11-14 11:15:15 +01:00
Martin Šach
91e79af261 Fix wipe tower integration wiht regard to "no_sparse_layers".
Wipe tower with "no_sparse_layers" enabled was completely broken.
This commit introduces necessary changes to WipeTowerIntegration.cpp
for it to work properly.
2023-11-10 12:19:39 +01:00
Martin Šach
cfb6526732 Bugfix: Uninitialized value in wipe tower integration.
Just a small fix to avoid c++ undefined behaviour.
2023-11-10 12:19:39 +01:00