Commit Graph

300 Commits

Author SHA1 Message Date
358ad84acd Fixed case when lslices in Layer is empty 2020-11-29 17:26:02 +01:00
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
5f8d4e988e Little more refactoring. 2020-11-20 11:56:40 +01:00
73d3ce2080 Avoid crossing perimeters: Further refactoring for clarity, code review. 2020-11-17 15:34:50 +01:00
09aea4437d AvoidCrossingPerimeters: Refactored for better encapsulation. 2020-11-17 10:42:27 +01:00
5ead86bdea Removed the old motion planner. 2020-11-17 09:33:30 +01:00
8649a8fd44 Enable previous heuristics which was disabled by mistake 2020-11-16 14:37:42 +01:00
7470fcbc64 Add heuristics for removing unnecessary detours 2020-11-16 14:22:32 +01:00
90d58fecee Add missing includes 2020-11-16 14:22:32 +01:00
1179146d3f Fix another compiler warning 2020-11-16 14:22:32 +01:00
deb096c609 Fix compiler warnings 2020-11-16 14:22:32 +01:00
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
e14fb6c18a Disabling wipe for avoid crossing perimeters 2020-11-16 14:22:32 +01:00
61d4992338 Fixed perimeters crossing when supports are printed. 2020-11-16 14:22:32 +01:00
5a200c2d21 Fixed division by zero when the layer is empty 2020-11-16 14:22:32 +01:00
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
2b2e9a8ce2 Moved AvoidCrossingPerimeters to separate file 2020-11-16 14:22:32 +01:00
5f9df6333f ENABLE_GCODE_VIEWER set as default in libslic3r 2020-11-12 14:03:58 +01:00
21aedc156e Removed the legacy PreviewData.cpp,hpp 2020-11-11 16:38:51 +01:00
28cfd71f51 Follow-up of bb74d2da5b and 7b2aca0159 -> Removed inclusions of GCode/Analyzer.hpp and GCodeTimeEstimator.hpp 2020-11-11 15:41:48 +01:00
554e0918d3 GCode Viewer - Fixed color print visualization for gcode containing multiple extruders 2020-11-09 13:06:20 +01:00
65e42ee8a4 GCode Viewer - Show print/printer/filament settings names in legend 2020-11-09 08:41:14 +01:00
792f4ec199 #5079 - Fixed GCode Viewer changing files modified date on Windows 2020-11-05 14:02:43 +01:00
6ab6a1320f Fixed post-processing of placeholders in gcode when not exporting remaining times 2020-11-03 12:26:48 +01:00
4c48e2017b Fixed quadratic complexity of the time estimator post processor
with a constant complexity (amortized) code.
2020-10-30 09:13:04 +01:00
a0c44ad37f Fixed previous commit for Linux/OSX 2020-10-29 13:16:32 +01:00
3aa8162d37 Workaround for missing or partially implemented std::from_chars() 2020-10-29 11:37:45 +01:00
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
c18619dcdd Removed the dead code GCode/Analyzer.cpp,hpp to simplify code navigation. 2020-10-28 17:26:08 +01:00
7ae2121cc8 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-10-27 17:21:41 +01:00
85bd35802a #4982 - Load config data when importing gcode produced by Slic3r and Slic3rPE 2020-10-27 17:18:15 +01:00
889c863f22 #4986 - Fixed remaining print time and SD-percentage calculation not correct (replaces e14c122d12) 2020-10-27 15:50:04 +01:00
58e7d252c4 Fixed percentage value exported into gcode M73 lines 2020-10-26 11:44:38 +01:00
14b5da748b Updated the G10 RepRapFirmware pull request to current master 2020-10-23 13:27:45 +02:00
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
4a5168094e Changed heuristic to clamp toolpaths width 2020-10-16 09:02:37 +02:00
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
f1e5dcf73f Follow-up of 8df01818dd -> GCodeProcessor uses new Machine Limits limitations 2020-10-05 09:15:43 +02:00
b0a6c11d9e Small fix in debug tech ENABLE_GCODE_VIEWER_DATA_CHECKING 2020-10-02 09:14:43 +02:00
f97f620903 #4806 - Fixed detection of move type for G1 lines containing Z>0 and E>0 2020-09-30 08:34:29 +02:00
03bf1799c0 Fixup of previous commit 2020-09-25 13:00:43 +02:00
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
e42681729f Merge branch 'lm_seam_painter_backend' 2020-09-22 21:02:07 +02:00
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
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
5c6afc9d5a Fix build on macOS and one logic error 2020-09-18 14:26:06 +02:00
20b1f841da Merge branch 'master' into lm_seam_painter_backend 2020-09-18 13:44:45 +02:00
51d3d9403c Store seam history for more islands 2020-09-18 12:20:02 +02:00
28294e4928 use center of enforcer only with spAligned 2020-09-18 12:00:48 +02:00
c6851d1227 Simple implementation of spRandom 2020-09-18 12:00:40 +02:00