Commit Graph

2711 Commits

Author SHA1 Message Date
Lukáš Hejl
dd97eaa812 Fixed case when lslices in Layer is empty 2020-11-29 17:26:02 +01:00
Lukáš Hejl
f16e8f1a72 Fixed uninitialized variable in ElephantFootCompensation 2020-11-29 14:00:34 +01:00
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
David Kocik
cbe0b4f0f1 Change log level of boost::filesystem::permisions error code message. Now it shouldnt bother like in #5254 2020-11-26 17:15:26 +01:00
enricoturri1966
00a67ba004 GCode Viewer -> Parse gcode produced by KISSSlicer 2020-11-26 16:07:07 +01:00
tamasmeszaros
dfbf4cbab2 Fix bed filling with more existing instances than needed 2020-11-26 15:11:54 +01:00
enricoturri1966
10fb75edf0 Enabled tech ENABLE_CTRL_M_ON_WINDOWS -> Added customizable support for legacy CTRL+M settings dialog on Windows in preference dialog 2020-11-26 11:00:24 +01:00
Vojtech Bubnik
2314a9e8c7 Fixing compilation issues on conforming compilers 2020-11-26 10:54:18 +01:00
enricoturri1966
67aaf0b78e Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-11-26 10:09:53 +01:00
enricoturri1966
e2b4de455b Customizable association of .3mf, .stl and .gcode files on Windows 2020-11-26 10:09:34 +01:00
Vojtech Bubnik
aa6ddfec85 Added functions to export raw image data to PNG for debugging purposes.
Renamed PNGRead.cpp/hpp to PNGReadWrite.cpp,hpp
EdgeGrid: Resurrected debugging output to PNG.
2020-11-26 09:01:44 +01:00
enricoturri1966
7da1622e76 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-11-26 08:43:22 +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
Vojtech Bubnik
3e54c0b775 Gyroid infill: Lowered the threshold to drop infill line segments. 2020-11-25 14:56:11 +01:00
Vojtech Bubnik
e5b3af0e53 Fix of Monotonic infill leaves gaps in top infill where rectilinear does not #5259
and Chyba nebo vlastnost výplně Monotonic? #5225
2020-11-25 14:56:11 +01:00
enricoturri1966
f0aa4de20a Fixed conflicts after merge with master 2020-11-25 12:42:26 +01:00
enricoturri1966
df40f6ba11 ENABLE_GCODE_VIEWER set as default 2020-11-25 10:31:58 +01:00
tamasmeszaros
0bfbe18a3c Merge branch 'tm_arrange_perf_improve' 2020-11-24 16:20:17 +01:00
Vojtech Bubnik
62bdc192d8 Fix of [2.3.0-alpha4] Crash - several models cause crash when slicing #5208
Fixed some issues in internal anchors of the Adaptive Cubic infill.
The ugly and dangerous implicit casting operators in Line, MultiPoint,
Polyline and Polygon were made explicit.
2020-11-24 16:01:08 +01:00
tamasmeszaros
aa64902cf9 Increase arrange accuracy due to errors with large number of objects 2020-11-24 14:42:15 +01:00
tamasmeszaros
30693e29e4 Stop bed filling if enough instances are generated 2020-11-24 14:41:36 +01:00
enricoturri1966
9d71597e05 Fixed conflicts after merge with master 2020-11-24 13:37:52 +01:00
enricoturri1966
44fe3b8a00 Tech ENABLE_DRAG_AND_DROP_FIX -> Apply dialog implemented with 808c43cb4b also to drag and drop of project files into application executable 2020-11-24 13:35:43 +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
3a75b0da7f Update of the perimeter_acceleration tooltip 2020-11-23 09:13:58 +01:00
Vojtech Bubnik
f0606c2a76 Merge of https://github.com/prusa3d/PrusaSlicer/pull/2856
Add aligned rectilinear infill functionality by @m-schubert
Implements [Feature Request] Aligned rectilinear infill #1938
2020-11-21 14:10:17 +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
56c37d5c38 Make monotonic infill default for bottom layers as well #4963 2020-11-20 18:58:54 +01:00
Vojtech Bubnik
54a5c1da1e Fixed crash in reworked infill anchoring due to numeric issues.
Added some more asserts to EdgeGrid.
2020-11-20 18:47:06 +01:00
Lukáš Hejl
f394d26f83 Added missing includes to fix build on gcc 9 2020-11-20 15:19:49 +01:00
YuSanka
5330b34d0a Added "Filament -> Spool weight" parameter 2020-11-20 14:31:11 +01:00
Lukáš Hejl
606db666fc Fix missing include 2020-11-20 14:22:24 +01:00
Vojtech Bubnik
d5e6b17d70 Merge branch 'master' of https://github.com/Prusa3D/PrusaSlicer 2020-11-20 13:40:40 +01:00
Vojtech Bubnik
8d1e13fccd Anchoring of sparse infills can now be disabled. 2020-11-20 13:36:58 +01:00
tamasmeszaros
20995c7b7a Merge branch 'tm_fill_with_instances' 2020-11-20 13:05:05 +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
tamasmeszaros
adf81af6de Prototype feature: fill plater with instances of selected object
#fixes #1350
2020-11-20 09:58:52 +01:00
tamasmeszaros
e17e6b4d0e Add minimum bounding box rotation as starting point 2020-11-20 09:57:52 +01:00
tamasmeszaros
d5bdaceff2 Right mouse reaction to arrange button
Working arrange settings popup
2020-11-20 09:57:52 +01:00
tamasmeszaros
096d0c9860 Fix arrange objectfunction to avoid last object in awkward positions.
fixes #3900
2020-11-20 09:46:15 +01:00
YuSanka
5144feb319 Estimated printing time per layer for SLAPrint
Split the time if it's needed
2020-11-19 21:41:51 +01:00
David Kocik
5f97b2512b Merge remote-tracking branch 'aegean-odyssey/ao_profile_resources_patch' into master 2020-11-19 19:02:32 +01:00
YuSanka
03b336145f Updated UI for the "infill_anchor" parameter 2020-11-18 17:00:08 +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
enricoturri1966
afddcf71db Preview - Paint in grey toolpaths belonging to layers containing pause prints or custom gcodes 2020-11-16 15:01:13 +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
Lukáš Hejl
4288be0e06 Fixed a case when the intersection is one of the endpoints of the line 2020-11-16 14:22:32 +01:00
Lukáš Hejl
c828a5d6e9 Added the possibility to set the maximum length of the detour 2020-11-16 14:22:32 +01:00
Lukáš Hejl
c16aad7e0b Reworked the algorithm for avoid crossing perimeters for multiple objects 2020-11-16 14:21:36 +01:00
Lukáš Hejl
69658a57d8 Fixed crossing perimeters in some cases 2020-11-16 14:21:36 +01:00
Lukáš Hejl
556c212f9d Fixed crossing perimeters when option "Wipe while retracting" is enabled 2020-11-16 14:21:36 +01:00
Lukáš Hejl
39e3358af5 Avoid crossing perimeters bugfix 2020-11-16 14:21:36 +01:00
Lukáš Hejl
a4fc435f75 Clear generated boundaries from previous layer 2020-11-16 14:21:36 +01:00
Lukáš Hejl
5c073d0ddb Improved documentation of avoid crossing perimeters algorithm. 2020-11-16 14:21:36 +01:00
Lukáš Hejl
46bae74e48 Finalization of avoid crossing perimeters algorithm
EdgeGrid::Grid is used to find the intersection of a path with a polygon.
Simplification of find path.
Calculation of boundaries that not be crossed.
2020-11-16 14:21:36 +01:00
Lukáš Hejl
074406647a Fixed bug when algorithm stuck in a loop 2020-11-16 14:21:36 +01:00
Lukáš Hejl
6573bc15a5 Selection of shortest path around polygon boundary 2020-11-16 14:21:36 +01:00
Lukáš Hejl
7a4ba7d131 A simple algorithm to follow the boundary of polygons 2020-11-16 14:21:36 +01:00
Vojtech Bubnik
620f94331c fix of OSX build: workaround of non-standard std::optional 2020-11-16 13:44:15 +01:00
Vojtech Bubnik
a864d584a6 Fillers: Renamed Rectilinear2 to Rectilinear. 2020-11-16 13:24:57 +01:00
Vojtech Bubnik
2249e5d4b2 Renamed FillRectilinear.cpp,h to FillLine.cpp,h 2020-11-16 13:17:18 +01:00
Vojtech Bubnik
db05f00860 Fixing compilation issues. 2020-11-16 13:11:58 +01:00
Vojtech Bubnik
812cbade4d Fills:
1) New algorithm for connecting along the perimeters is now applied
   to Honeycomb, Hilbert and similar planar filling curves.
2) The old expensive path chaining is not applied if the new algorithm
   to connect along the perimeter lines is called afterwards.
2020-11-16 12:51:51 +01:00
Vojtech Bubnik
e9fa36ea7d Fillers: Removal of old FillRectilinear, using of "override" instead
of "virtual" where applicable.
2020-11-16 11:16:44 +01:00
Vojtech Bubnik
e77fc43159 Merge remote-tracking branch 'remotes/origin/master' into lh_adaptive_infill_hooks 2020-11-16 10:54:19 +01:00
Vojtech Bubnik
4280fdb5f2 Reworked connection of infill lines to perimeter lines.
Added a new "infill_anchor" parameter.
2020-11-16 10:54:00 +01:00
enricoturri1966
e04c6a4d17 Fixed screen-size for point markers used to visualize retraction/unretractions and other options in preview 2020-11-16 10:29:54 +01:00
Vojtech Bubnik
84693a5810 New get_extents(const std::vector<Points> &pts),
refactored Lian Barsky line clipping
2020-11-16 10:20:47 +01:00
Vojtech Bubnik
32362cff0b SVG export: Implemented flipping in Y axis. Now flipped by default
to match the 3D print paths view when looking at the print from the top.
2020-11-16 10:18:51 +01:00
enricoturri1966
808c43cb4b Added dialog to choose import action when dragging and dropping a project file 2020-11-16 08:39:25 +01:00
enricoturri1966
0688a76c73 Code cleanup 2020-11-13 11:50:52 +01:00
enricoturri1966
e78e3ad80b Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential 2020-11-13 10:46:41 +01:00
YuSanka
d962d431c0 Localization:
* added missed phrases
* fixed some phrases
* updated POT-file and PO/MO-files for the CZ-translation
2020-11-12 21:35:39 +01:00
enricoturri1966
f1d10f3c90 ENABLE_GCODE_VIEWER set as default in libslic3r 2020-11-12 14:03:58 +01:00
Vojtech Bubnik
4d102ac8ca FillAdaptive:
1) More accurate trimming of an anchor with another infill line
   or by another anchor line.
2) Trimming of very short infill lines, which are not anchored,
   by another infill lines.
2020-11-11 16:49:11 +01:00
enricoturri1966
80e8b5e985 Removed the legacy PreviewData.cpp,hpp 2020-11-11 16:38:51 +01:00
enricoturri1966
4ad42d6171 WIP - Sequential print visualization using vertical slider in preview (missing travel moves) 2020-11-11 16:22:09 +01:00
David Kocik
0a4ce079e8 escape_ampersand function and changed order of printer names and pictures in config wizard 2020-11-11 16:08:27 +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
Vojtech Bubnik
26836db629 FillAdaptive: Handling of a special case when the infill lines
touch at their ends.
2020-11-11 11:51:26 +01:00
Vojtech Bubnik
decda76344 AdaptiveInfill:
1) Shortening the anchor lines when touching another infill line
   to avoid over extrusion.
2) Reduction of the Intersection structure complexity by referencing
   the source lines.
2020-11-10 15:54:32 +01:00