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
Vojtech Bubnik
89df9c1038
Improvement of AdaptiveFill:
...
1) Merging of collinear infill lines separated by a thin gap created
by trimming with the boundary polygon.
2) Sorting of the T-joints separately to the left / right of the common
line.
3) Trimming self intersections of the anchor lines.
4) Dropping of very short segments, not anchoring short segments.
2020-11-10 13:56:12 +01:00