Lukáš Hejl
0d4f8b20c4
Revamp of implementation of the avoid crossing perimeters algorithm.
...
The strategy for the avoid crossing perimeters algorithm has been redesigned. But external travels (travel between objects or supports) have not been solved yet. For these travels is used a direct path between two points.
Much of the code has been reworked, which leads to significant speedup compared to the previous implementation.
Also, several potential bugs have been fixed.
2020-11-29 13:58:36 +01:00
Vojtech Bubnik
5f8d4e988e
Little more refactoring.
2020-11-20 11:56:40 +01:00
Vojtech Bubnik
73d3ce2080
Avoid crossing perimeters: Further refactoring for clarity, code review.
2020-11-17 15:34:50 +01:00
Vojtech Bubnik
09aea4437d
AvoidCrossingPerimeters: Refactored for better encapsulation.
2020-11-17 10:42:27 +01:00
Vojtech Bubnik
5ead86bdea
Removed the old motion planner.
2020-11-17 09:33:30 +01:00
Lukáš Hejl
8649a8fd44
Enable previous heuristics which was disabled by mistake
2020-11-16 14:37:42 +01:00
Lukáš Hejl
7470fcbc64
Add heuristics for removing unnecessary detours
2020-11-16 14:22:32 +01:00
Lukáš Hejl
90d58fecee
Add missing includes
2020-11-16 14:22:32 +01:00
Lukáš Hejl
1179146d3f
Fix another compiler warning
2020-11-16 14:22:32 +01:00
Lukáš Hejl
deb096c609
Fix compiler warnings
2020-11-16 14:22:32 +01:00
Lukáš Hejl
f1a104c701
Rework of outer borders to reduce unnecessary detours along the border.
...
The resulting path now contains all intersection with borders, which allows eliminating more unnecessary detours and more simplify the path.
2020-11-16 14:22:32 +01:00
Lukáš Hejl
e14fb6c18a
Disabling wipe for avoid crossing perimeters
2020-11-16 14:22:32 +01:00
Lukáš Hejl
61d4992338
Fixed perimeters crossing when supports are printed.
2020-11-16 14:22:32 +01:00
Lukáš Hejl
5a200c2d21
Fixed division by zero when the layer is empty
2020-11-16 14:22:32 +01:00
Lukáš Hejl
e648ca12ef
Fixed avoiding of other printed objects, again
...
Calling std::move on itself causes that the first polygon is empty, which results in disabling this feature on Linux.
This was fixed before, but I accidentally reverted it when AvoidCrossingPerimeters was moved to separate file.
2020-11-16 14:22:32 +01:00
Lukáš Hejl
2b2e9a8ce2
Moved AvoidCrossingPerimeters to separate file
2020-11-16 14:22:32 +01:00
enricoturri1966
5f9df6333f
ENABLE_GCODE_VIEWER set as default in libslic3r
2020-11-12 14:03:58 +01:00
enricoturri1966
21aedc156e
Removed the legacy PreviewData.cpp,hpp
2020-11-11 16:38:51 +01:00
enricoturri1966
28cfd71f51
Follow-up of bb74d2da5b and 7b2aca0159 -> Removed inclusions of GCode/Analyzer.hpp and GCodeTimeEstimator.hpp
2020-11-11 15:41:48 +01:00
enricoturri1966
554e0918d3
GCode Viewer - Fixed color print visualization for gcode containing multiple extruders
2020-11-09 13:06:20 +01:00
enricoturri1966
65e42ee8a4
GCode Viewer - Show print/printer/filament settings names in legend
2020-11-09 08:41:14 +01:00
enricoturri1966
792f4ec199
#5079 - Fixed GCode Viewer changing files modified date on Windows
2020-11-05 14:02:43 +01:00
enricoturri1966
6ab6a1320f
Fixed post-processing of placeholders in gcode when not exporting remaining times
2020-11-03 12:26:48 +01:00
Vojtech Bubnik
4c48e2017b
Fixed quadratic complexity of the time estimator post processor
...
with a constant complexity (amortized) code.
2020-10-30 09:13:04 +01:00
Vojtech Bubnik
a0c44ad37f
Fixed previous commit for Linux/OSX
2020-10-29 13:16:32 +01:00
Vojtech Bubnik
3aa8162d37
Workaround for missing or partially implemented std::from_chars()
2020-10-29 11:37:45 +01:00
Vojtech Bubnik
2ec8ef85f6
Fix of Slicer image not good #4992
...
Tighter parsing of PrusaSlicer's own G-code annotations
to avoid clashes with comments inside user G-codes.
Also the GCodeReader was extended to return string_views instead
of copying a substring, and the GCodeProcessor was partially adapted
to string_views.
2020-10-29 10:51:51 +01:00
Vojtech Bubnik
c18619dcdd
Removed the dead code GCode/Analyzer.cpp,hpp to simplify code navigation.
2020-10-28 17:26:08 +01:00
enricoturri1966
7ae2121cc8
Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer
2020-10-27 17:21:41 +01:00
enricoturri1966
85bd35802a
#4982 - Load config data when importing gcode produced by Slic3r and Slic3rPE
2020-10-27 17:18:15 +01:00
enricoturri1966
889c863f22
#4986 - Fixed remaining print time and SD-percentage calculation not correct (replaces e14c122d12)
2020-10-27 15:50:04 +01:00
enricoturri1966
58e7d252c4
Fixed percentage value exported into gcode M73 lines
2020-10-26 11:44:38 +01:00
Lukas Matena
14b5da748b
Updated the G10 RepRapFirmware pull request to current master
2020-10-23 13:27:45 +02:00
Lukas Matena
e13d414d3c
Merge branch 'pa_reprap_g10_temperature_support' of https://github.com/ardenpm/PrusaSlicer into lm_g10
2020-10-23 11:42:35 +02:00
enricoturri1966
4a5168094e
Changed heuristic to clamp toolpaths width
2020-10-16 09:02:37 +02:00
Lukas Matena
32ce49ff37
Fixup of 8df0181 (turning off the export of machine limits)
...
This should solve #1212 for good
2020-10-06 13:31:42 +02:00
enricoturri1966
f1e5dcf73f
Follow-up of 8df01818dd -> GCodeProcessor uses new Machine Limits limitations
2020-10-05 09:15:43 +02:00
enricoturri1966
b0a6c11d9e
Small fix in debug tech ENABLE_GCODE_VIEWER_DATA_CHECKING
2020-10-02 09:14:43 +02:00
enricoturri1966
f97f620903
#4806 - Fixed detection of move type for G1 lines containing Z>0 and E>0
2020-09-30 08:34:29 +02:00
Lukas Matena
03bf1799c0
Fixup of previous commit
2020-09-25 13:00:43 +02:00
Lukas Matena
4a8ec3a3c2
Wipe tower - small refactoring and fix
...
Collection of data from internal wipe tower gcode generator now uses move semantics.
Part of gcode at the end of priming was erroneously not exported (extruder current reset etc.)
2020-09-25 12:35:20 +02:00
Lukas Matena
e42681729f
Merge branch 'lm_seam_painter_backend'
2020-09-22 21:02:07 +02:00
Lukas Matena
f119b833a2
Removed obsolete wipe tower related code
...
Most of the code is already commented out for a long time, it should be safe to remove now.
2020-09-22 15:20:24 +02:00
Lukas Matena
5d144237ac
Fix of #2834 (unretracted wipes on wipe tower)
...
Wiping moves performed before moving away from the wipe tower were replaced by
scheduling a regular wipe that is performed after normal gcode generator regains
control. This makes it consistent with wipes on the model and gets rid of the
unretracted wipes.
2020-09-22 15:20:19 +02:00
Lukas Matena
5c6afc9d5a
Fix build on macOS and one logic error
2020-09-18 14:26:06 +02:00
Lukas Matena
20b1f841da
Merge branch 'master' into lm_seam_painter_backend
2020-09-18 13:44:45 +02:00
Lukas Matena
51d3d9403c
Store seam history for more islands
2020-09-18 12:20:02 +02:00
Lukas Matena
28294e4928
use center of enforcer only with spAligned
2020-09-18 12:00:48 +02:00
Lukas Matena
c6851d1227
Simple implementation of spRandom
2020-09-18 12:00:40 +02:00
Lukas Matena
2576949ab4
fixed center-finding algorithm
2020-09-18 12:00:40 +02:00