Commit graph

360 commits

Author SHA1 Message Date
Lukáš Hejl
55c282d85d 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
Lukas Matena
ca09bf0805 Fix random seam for single contour islands (#5003) and for external_perimeters_first 2020-11-27 11:33:25 +01:00
Lukas Matena
f485f66b2a Seam - fix indexing of layers (#5112, #5014) 2020-11-27 10:09:20 +01:00
Lukas Matena
22f93a34a8 Fix horrible complexity of custom seam lookup (#5067)
- polygons are offset individually
- custom areas are kept separately for each PrintObject
- AABB tree is used to get logN lookup complexity
2020-11-27 10:09:20 +01:00
enricoturri1966
00a67ba004 GCode Viewer -> Parse gcode produced by KISSSlicer 2020-11-26 16:07:07 +01:00
enricoturri1966
4d483f323f GCode Viewer -> Show extimated layer time on the vertical slider for gcode produced by PrusaSlicer 2.3.0, Cura, Simplify3D, CraftWare, ideaMaker 2020-11-26 08:43:04 +01:00
enricoturri1966
92953acc57 #5236 - Fixed color not correctly shown after slice
The bug was introduced with 148f4fe766 which is now replaced by this commit
2020-11-23 17:15:22 +01:00
enricoturri1966
f68cf49f3d Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_wipe_moves 2020-11-23 10:11:04 +01:00
Vojtech Bubnik
25ca1fcf77 Some minor refactoring / polishing. 2020-11-21 13:16:03 +01:00
enricoturri1966
0e6acbc0e2 Preview - Visualization of wipe mones 2020-11-21 10:36:10 +01:00
Vojtech Bubnik
060f1d48c1 Little more refactoring. 2020-11-20 11:56:40 +01:00
Enrico Turri
148f4fe766 GCode Viewer - Fixed crash when switching to tool view with gcode generated by slicers other than PrusaSlicer 2020-11-20 11:50:25 +01:00
YuSanka
feffb66085 Ruler for DoubleSlider: Added estimated print time 2020-11-18 05:02:51 -08:00
Vojtech Bubnik
f206b743fd Avoid crossing perimeters: Further refactoring for clarity, code review. 2020-11-17 15:34:50 +01:00
Vojtech Bubnik
62ab17bf6e AvoidCrossingPerimeters: Refactored for better encapsulation. 2020-11-17 10:42:27 +01:00
Vojtech Bubnik
04c2fde671 Removed the old motion planner. 2020-11-17 09:33:30 +01:00
Lukáš Hejl
49ce613be7 Enable previous heuristics which was disabled by mistake 2020-11-16 14:37:42 +01:00
Lukáš Hejl
c702b3b71d Add heuristics for removing unnecessary detours 2020-11-16 14:22:32 +01:00
Lukáš Hejl
9936b8e34e Add missing includes 2020-11-16 14:22:32 +01:00
Lukáš Hejl
3db66af716 Fix another compiler warning 2020-11-16 14:22:32 +01:00
Lukáš Hejl
266e6dee5d Fix compiler warnings 2020-11-16 14:22:32 +01:00
Lukáš Hejl
c00c7eaed3 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
ef9de07740 Disabling wipe for avoid crossing perimeters 2020-11-16 14:22:32 +01:00
Lukáš Hejl
7f94e9fa59 Fixed perimeters crossing when supports are printed. 2020-11-16 14:22:32 +01:00
Lukáš Hejl
2afeea5b6f Fixed division by zero when the layer is empty 2020-11-16 14:22:32 +01:00
Lukáš Hejl
3e98e2a4bd 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
8adf02a289 Moved AvoidCrossingPerimeters to separate file 2020-11-16 14:22:32 +01:00
enricoturri1966
f1d10f3c90 ENABLE_GCODE_VIEWER set as default in libslic3r 2020-11-12 14:03:58 +01:00
enricoturri1966
80e8b5e985 Removed the legacy PreviewData.cpp,hpp 2020-11-11 16:38:51 +01:00
enricoturri1966
4f85a42830 Follow-up of bb74d2da5b and 7b2aca0159 -> Removed inclusions of GCode/Analyzer.hpp and GCodeTimeEstimator.hpp 2020-11-11 15:41:48 +01:00
enricoturri1966
bf12c7cb8c GCode Viewer - Fixed color print visualization for gcode containing multiple extruders 2020-11-09 13:06:20 +01:00
enricoturri1966
479d4b70f2 GCode Viewer - Show print/printer/filament settings names in legend 2020-11-09 08:41:14 +01:00
enricoturri1966
8491872fb7 #5079 - Fixed GCode Viewer changing files modified date on Windows 2020-11-05 14:02:43 +01:00
enricoturri1966
8af25f7771 Fixed post-processing of placeholders in gcode when not exporting remaining times 2020-11-03 12:26:48 +01:00
Vojtech Bubnik
9e545eba13 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
5ccd9d9d9a Fixed previous commit for Linux/OSX 2020-10-29 13:16:32 +01:00
Vojtech Bubnik
2fd7c20a86 Workaround for missing or partially implemented std::from_chars() 2020-10-29 11:37:45 +01:00
Vojtech Bubnik
d2e5be89e3 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
bb74d2da5b Removed the dead code GCode/Analyzer.cpp,hpp to simplify code navigation. 2020-10-28 17:26:08 +01:00
enricoturri1966
0798fa8185 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-10-27 17:21:41 +01:00
enricoturri1966
128e4cff2d #4982 - Load config data when importing gcode produced by Slic3r and Slic3rPE 2020-10-27 17:18:15 +01:00
enricoturri1966
90c69e6bda #4986 - Fixed remaining print time and SD-percentage calculation not correct (replaces e14c122d12) 2020-10-27 15:50:04 +01:00
enricoturri1966
e14c122d12 Fixed percentage value exported into gcode M73 lines 2020-10-26 11:44:38 +01:00
Lukas Matena
8cd13803ca Updated the G10 RepRapFirmware pull request to current master 2020-10-23 13:27:45 +02:00
Lukas Matena
18f72d82b9 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
daf1011705 Changed heuristic to clamp toolpaths width 2020-10-16 09:02:37 +02:00
Lukas Matena
b42a12db66 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
04a928b241 Follow-up of 8df01818dd -> GCodeProcessor uses new Machine Limits limitations 2020-10-05 09:15:43 +02:00
enricoturri1966
1130778d5e Small fix in debug tech ENABLE_GCODE_VIEWER_DATA_CHECKING 2020-10-02 09:14:43 +02:00
enricoturri1966
980fe77b32 #4806 - Fixed detection of move type for G1 lines containing Z>0 and E>0 2020-09-30 08:34:29 +02:00