Commit graph

229 commits

Author SHA1 Message Date
Vojtech Bubnik
d7d849a02c Fix of #8932 Hang while slicing interlocking chainmail model
Reworked the Archimedean Chords, Hilbert and Octagram Spiral infill
generators to
1) Generate solid infill as not aligned with other solid infill layers.
   This may surprise some users as the pattern over multiple islands
   will be different, maybe not that nice. This may change in the future.
2) Sparse infill is always aligned and generated over the whole object,
   however newly the generated lines are trimmed with a snug bounding box
   while being generated.
3) For Archimedean chords the accuracy was not applied correctly, leading
   to higher accuracy for dense infill and lower accuracy for sparse infill.
2022-09-29 12:12:20 +02:00
Lukas Matena
d7a34f7e40 Merge branch 'master_250' 2022-08-30 16:31:07 +02:00
Vojtech Bubnik
c36af0e739 WIP TreeSupports: Expand enforced areas so that the supports will be
generated even on steep overhangs.
2022-08-26 09:31:12 +02:00
Vojtech Bubnik
3f69643516 Merge branch 'vb_treesupports' 2022-08-23 16:45:34 +02:00
Vojtech Bubnik
7949ea9544 Fixed some compiler warnings.
Removed some implicit type conversions of ExPolygon (to Points, Polylines, Polygons)
Fixed obsolete boost::spirit includes.
2022-08-22 15:14:54 +02:00
Lukáš Hejl
952a6c882c Fixed an issue that the wipe was shorter when it was located where extrusion width was changing. 2022-08-18 17:00:28 +02:00
Lukáš Hejl
2115b40728 Fixed incorrectly computed starting position in Concentric infill when Arachne is used. 2022-08-18 11:22:39 +02:00
Lukas Matena
bce2b148f4 Merged 2.5.0-beta1 into master (NO CONFLICTS FIXED) 2022-08-15 13:41:40 +02:00
Lukáš Hejl
c9ddf7315e Replaced parameters wall_add_middle_threshold and wall_split_middle_threshold with automatic computation based on extrusion width.
That allows computed better values in cases when the extrusion width of the first layer or for the infill differs from the extrusion width for perimeters.

Parameters min_feature_size and wall_transition_length now can be set in percentages, and then they will be calculated based on nozzle size. Old profiles with default values are forced to replace old default values with new default values in percentages.
2022-08-08 10:21:55 +02:00
Vojtech Bubnik
6bf335409f FillBase: Use logging instead of printf 2022-08-02 13:23:30 +02:00
Lukáš Hejl
caf3e258b8 Fixed compiler warnings. 2022-08-02 13:21:39 +02:00
Lukas Matena
fbdf777898 Merge branch 'master_250' 2022-07-15 15:04:10 +02:00
Lukáš Hejl
22255822a2 Fix of #8488 - Infinite loop in the lightning infill. 2022-07-12 18:59:48 +02:00
Lukáš Hejl
38ca763c36 Fix of #8437 - Very tiny unprintable polygons caused InfillFailedException in the lightning infill. 2022-07-11 10:50:01 +02:00
Lukáš Hejl
5d557ed32f Fix of #8436 - Crash in the lightning infill when some region has zero infill density. 2022-06-30 09:44:00 +02:00
Lukáš Hejl
7783915a34 Fix of #8435 - Division by zero in lightning infill when automatic extrusion width was used. 2022-06-29 18:33:57 +02:00
Lukas Matena
62e59a4526 Fixing conflicts part 1:
fixed simple conflicts
2022-06-29 16:43:29 +02:00
Lukas Matena
b61714bb3e Merge branch 'master_250' (NO CONFLICTS FIXED):
CONFLICT (content): Merge conflict in resources/profiles/PrusaResearch.idx
CONFLICT (content): Merge conflict in resources/profiles/PrusaResearch.ini
CONFLICT (content): Merge conflict in src/libslic3r/CMakeLists.txt
CONFLICT (content): Merge conflict in src/libslic3r/Fill/Fill.cpp
CONFLICT (content): Merge conflict in src/libslic3r/GCode.cpp
CONFLICT (content): Merge conflict in src/libslic3r/GCode.hpp
CONFLICT (content): Merge conflict in src/libslic3r/GCode/GCodeProcessor.cpp
CONFLICT (content): Merge conflict in src/libslic3r/GCode/GCodeProcessor.hpp
CONFLICT (content): Merge conflict in src/libslic3r/GCode/SeamPlacer.cpp
CONFLICT (content): Merge conflict in src/libslic3r/GCode/SeamPlacer.hpp
CONFLICT (add/add): Merge conflict in src/libslic3r/Geometry/Curves.hpp
CONFLICT (content): Merge conflict in src/libslic3r/PerimeterGenerator.cpp
CONFLICT (content): Merge conflict in src/libslic3r/Point.hpp
CONFLICT (content): Merge conflict in src/libslic3r/PrintConfig.hpp
CONFLICT (content): Merge conflict in src/slic3r/GUI/ConfigWizard.cpp
CONFLICT (content): Merge conflict in src/slic3r/GUI/GCodeViewer.cpp
CONFLICT (content): Merge conflict in src/slic3r/GUI/GLCanvas3D.cpp
CONFLICT (content): Merge conflict in src/slic3r/GUI/GUI_App.cpp
CONFLICT (content): Merge conflict in src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp
CONFLICT (content): Merge conflict in src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp
CONFLICT (content): Merge conflict in src/slic3r/Utils/FixModelByWin10.cpp
CONFLICT (modify/delete): t/perimeters.t deleted in HEAD and modified in master_250.  Version master_250 of t/perimeters.t left in tree.
CONFLICT (content): Merge conflict in tests/fff_print/CMakeLists.txt
CONFLICT (content): Merge conflict in tests/fff_print/test_fill.cpp
CONFLICT (content): Merge conflict in version.inc
CONFLICT (modify/delete): xs/xsp/PerimeterGenerator.xsp deleted in HEAD and modified in master_250.  Version master_250 of xs/xsp/PerimeterGenerator.xsp left in tree.
2022-06-29 14:37:14 +02:00
Lukáš Hejl
bd4b63e67d Fixed an issue when the Lightning infill stuck in an infinite loop on some models.
Cased by two sampled points closer than chosen spacing.
2022-06-10 15:31:02 +02:00
Lukáš Hejl
dba1179708 Fixed an issue when the Lightning infill stuck in an infinite loop on some models.
Cased by two sampled points closer than chosen spacing.
2022-06-10 15:25:04 +02:00
Lukáš Hejl
9be524b01b Fixed an unintentional transformation of ExPolygon to a single vector containing all points from contour and all holes in the Lightning infill.
This was causing most of the issues with randomly generated infill hanging in the air without any support.
2022-06-09 14:51:16 +02:00
Lukáš Hejl
5d82c1601b Fixed an unintentional transformation of ExPolygon to a single vector containing all points from contour and all holes in the Lightning infill.
This was causing most of the issues with randomly generated infill hanging in the air without any support.
2022-06-09 14:49:45 +02:00
Lukáš Hejl
c76c497234 Renamed slicing engine to perimeter generator and slightly rearrangement of Arachne parameters. 2022-06-01 21:43:00 +02:00
Lukáš Hejl
454e6496ce Added concentric infill generated using Arachne. 2022-06-01 21:41:39 +02:00
Lukáš Hejl
bcd20650bf Added anchors for the Lightning infill to better connect the infill and perimeters. 2022-06-01 21:35:58 +02:00
Lukáš Hejl
79b8acb7d5 Fixed assert in Lightning infill (merging empty BoundingBoxes). 2022-06-01 21:35:58 +02:00
Lukáš Hejl
a5270f3c5a Fixed another crash in Lightning infill. 2022-06-01 21:35:58 +02:00
Lukáš Hejl
76deba7e97 Parallelized DistanceField::DistanceField() and Layer::getBestGroundingLocation() in Lightning infill. 2022-06-01 21:35:58 +02:00
Lukáš Hejl
be291fd97e Refactored Lightning infill before parallelization. 2022-06-01 21:35:58 +02:00
Lukáš Hejl
5205753787 Refactored Lightning infill to get rid of unnecessary std::list and std::unordered_map, which was slow. 2022-06-01 21:35:58 +02:00
Lukáš Hejl
3e5272868d Fixed an issue that some trees in the Lightning infill weren't connected to perimeters. 2022-06-01 21:35:58 +02:00
Lukáš Hejl
331da74510 Fixed function lineSegmentPolygonsIntersection() in the Lightning infill that wasn't returns the intersection point.
It fixed the issue that sometimes the Lightning infill produced extrusions that hung in the air without proper support.
2022-06-01 21:35:58 +02:00
Lukáš Hejl
11004b4bbd Added cancellation to Lightning infill. 2022-06-01 21:35:58 +02:00
Lukáš Hejl
78f62bfddc Fix of #8227 (Lightning infill wasn't working when "Combine infill every X layers" was set to a different value than one.) 2022-06-01 21:35:58 +02:00
Lukáš Hejl
dfb7fbbd10 Fixed missing layers of Lightning infill. 2022-06-01 21:35:58 +02:00
Lukáš Hejl
8d0dd13144 Fixed a crash in Lightning infill. 2022-06-01 21:35:58 +02:00
Lukas Matena
ada55053d8 Fixed MSVC debug assert in lightning infill (invalidated iterator) 2022-06-01 21:35:58 +02:00
Lukáš Hejl
bbb7e839a0 Fixed various issues in the ported Lightning infill.
Added export to SVG for TreeNode.
Also was finalized integration of Lightning infill and Lightning infill was enabled.
2022-06-01 21:35:58 +02:00
Lukáš Hejl
e967d10788 Added anchors for the Lightning infill to better connect the infill and perimeters. 2022-06-01 21:13:03 +02:00
Lukáš Hejl
ae377bd28c Fixed assert in Lightning infill (merging empty BoundingBoxes). 2022-06-01 21:13:03 +02:00
Lukáš Hejl
1582d019fb Fixed another crash in Lightning infill. 2022-05-19 15:16:30 +02:00
Lukáš Hejl
4bde35cae3 Parallelized DistanceField::DistanceField() and Layer::getBestGroundingLocation() in Lightning infill. 2022-05-19 15:16:30 +02:00
Lukáš Hejl
95041751a1 Refactored Lightning infill before parallelization. 2022-05-19 15:16:30 +02:00
Lukáš Hejl
f82d5c52b3 Refactored Lightning infill to get rid of unnecessary std::list and std::unordered_map, which was slow. 2022-05-19 15:16:30 +02:00
Lukáš Hejl
6df1b6d074 Fixed an issue that some trees in the Lightning infill weren't connected to perimeters. 2022-05-17 12:41:28 +02:00
Lukáš Hejl
7b28bdc41f Fixed function lineSegmentPolygonsIntersection() in the Lightning infill that wasn't returns the intersection point.
It fixed the issue that sometimes the Lightning infill produced extrusions that hung in the air without proper support.
2022-05-12 14:30:07 +02:00
Lukáš Hejl
bff32c9cdb Added cancellation to Lightning infill. 2022-05-12 14:30:07 +02:00
Lukáš Hejl
09a9d79e99 Fix of #8227 (Lightning infill wasn't working when "Combine infill every X layers" was set to a different value than one.) 2022-05-05 13:42:18 +02:00
Lukáš Hejl
d069befa1f Fixed missing layers of Lightning infill. 2022-05-05 13:42:18 +02:00
Lukáš Hejl
17e74141ce Fixed a crash in Lightning infill. 2022-05-05 13:42:18 +02:00