bubnikv
4ae0f3a61c
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-10-25 13:34:55 +02:00
bubnikv
5e8572a196
New functions for variable offsets of polygons / expolygons.
...
Test cases for the above.
Improvements of older test cases.
2019-10-25 13:34:37 +02:00
bubnikv
18bbefcd61
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-10-23 15:07:53 +02:00
bubnikv
cf94482731
Fix of Voronoi debug output.
2019-10-23 15:07:41 +02:00
bubnikv
f6057c1b4f
test_printgcode.cpp - trying to replace std::regex with boost::regex
...
as the std::regex is likely old or incorrect on our old debian/gcc
build server.
2019-10-18 16:50:03 +02:00
bubnikv
d1a86e513c
Fixing some GCodeExport and Flow unit tests.
2019-10-18 15:44:13 +02:00
bubnikv
6e6b137151
Test of importing non-standard ASCII STL (broken normals, junk
...
after the ending tags)
2019-10-18 14:42:03 +02:00
bubnikv
7a47784ddf
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-10-18 13:05:35 +02:00
bubnikv
070070edba
Initial tests for import of ASCII STLs with varying line endings.
2019-10-18 13:05:22 +02:00
bubnikv
e04e2b3636
Slight improvements of unit tests, fix of perl bindings.
2019-10-18 12:05:37 +02:00
bubnikv
13cc74ef0a
Ported test_config.cpp from upstream Slic3r.
...
Extended ConfigBase with set() functions similar to the upstream Slic3r.
ConfigBase::set_deserialize() newly throws if the operation fails.
Extrusion width parameters are newly tested for negative values.
2019-10-18 11:53:19 +02:00
bubnikv
b7af51fd6d
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-10-17 19:10:50 +02:00
bubnikv
98a71a557b
Ported test_support_material.cpp from upstream slic3r.
...
Ported extension of ExtrusionEntityCollection::flatten() to disable
flattening of no_sort() collections.
2019-10-17 19:09:24 +02:00
bubnikv
f9710eff08
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-10-17 17:09:25 +02:00
bubnikv
c228a49fe0
Ported test_support_material from upstream Slic3r.
...
Reworked the FFF testing framework & ConfigBase::set_deserialize()
for more compact tests: set_deserialize() now accepts list
of key / value pairs.
Fixed an incorrect assert in LayerRegion.
2019-10-17 17:09:15 +02:00
bubnikv
0ee78543a4
Fixed another weird auto + initializer list clang issue.
2019-10-16 18:23:33 +02:00
bubnikv
fee4dc3fc0
Fixes of unit tests on OSX. The old clang does not like the way
...
@lordofhyphens uses the initializer lists together with autos.
2019-10-16 17:55:41 +02:00
bubnikv
76c4eaf19a
Ported test_fill from upstream Slic3r, thanks @lordofhyphens
2019-10-16 17:43:43 +02:00
bubnikv
c2edcd07cb
Ported test_printgcode from upstream Slic3r, thanks @lordofhyphens
2019-10-16 15:40:09 +02:00
bubnikv
af7c69bfab
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-10-16 13:20:49 +02:00
bubnikv
a5eb4a4ce1
Ported test_print/test_printobject/test_3mf from upstream Slic3r, thanks @lordofhyphens
2019-10-16 13:20:09 +02:00
bubnikv
6585e58e83
Fix of perl bindings
2019-10-16 11:34:45 +02:00
bubnikv
69c8b1cd21
new cheaper constructor for DynamicPrintConfig from FullPrintConfig:
...
DynamicPrintConfig::full_print_config()
new cheaper constructors of DynamicConfig / DynamicPrintConfig from ConfigBase
Unit tests: ported test_model from upstream Slic3r, thanks @lordofhyphens
Unit tests refactored to use less autos and initializer lists for readibility,
DynamicPrintConfig is handled by value, not by shared pointer.
2019-10-16 11:16:50 +02:00
bubnikv
90d5712091
Filling in the autos in the tests so it is readible and it compiles on OSX
2019-10-16 09:28:27 +02:00
bubnikv
21837ceb85
Trying to fix compilation issues of the test cases on OSX.
2019-10-15 19:04:02 +02:00
bubnikv
72e99cf35f
Fixing some compilation issues of the C++ test cases on OSX.
2019-10-15 18:38:40 +02:00
bubnikv
abe856f9fe
Ported remove_collinear(Polygon) and test_polygon from upstream slic3r.
2019-10-15 18:08:32 +02:00
bubnikv
de45be5f29
Ported test_gcodewriter from upstream Slic3r, thanks @lordofhyphens.
...
The format for G1 Fxxx was changed to fixed three decimal digits.
2019-10-15 17:35:19 +02:00
bubnikv
88df291372
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-10-15 16:57:37 +02:00
bubnikv
1964ac2e89
Ported test_skirt_brim from upstream Slic3r, thanks @lordofhyphens
2019-10-15 16:31:20 +02:00
bubnikv
c99e7cb0df
Ported test_trianglemesh from upstream slic3r, thanks @lordofhyphens
2019-10-15 13:49:28 +02:00
bubnikv
67e1eba8e6
Ported test_data.cpp/hpp & test_flow.cpp from upstream slic3r,
...
thanks @lordofhyphens
2019-10-15 11:28:20 +02:00
bubnikv
e538a06fb0
Added missing include (worked on MSVC)
2019-10-15 09:49:33 +02:00
bubnikv
42a858b999
Added test projects for libslic3r and fff_print.
...
Added test_geometry.cpp from upstream slic3r, thanks @lordofhyphens
Added circle_taubin_newton() for circle center calculation, thanks @lordofhyphens
2019-10-15 09:40:40 +02:00
bubnikv
d815a518bd
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-10-04 16:50:18 +02:00
bubnikv
f8ff23638f
Fixed regression due to ExPolygonCollection to ExPolygons refactoring.
...
Fixed crashes in BridgeDetector due to unexpected implicit conversion
to a const temporary.
2019-10-04 16:50:01 +02:00
bubnikv
546ad99306
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-10-01 17:17:20 +02:00
bubnikv
564eddd99d
FDM Print refactoring:
...
Layer newly remembers bounding boxes of slices,
the bounding boxes are used by G-code generator & newly the support
generator.
Slices are stored as ExPolygons, not ExPolygonCollection.
2019-10-01 17:17:08 +02:00
bubnikv
0e325824b1
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-10-01 13:41:42 +02:00
bubnikv
6a07b231e1
Fixed a crash with a layer range modifier containing no slicing layer.
2019-10-01 13:41:22 +02:00
bubnikv
93a157e26c
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-09-30 16:25:31 +02:00
bubnikv
272479826f
Refactoring of the G-code preview for lower memory allocation
...
and for separation of concerns:
The final G-code preview no more uses ExtrusionPaths structure
to hold the G-code path data extracted by parsing the G-code.
Instead, the ExtrusionPath class has been trimmed down back to
the original size before the G-code preview was introduced,
and a new GCodePreviewData::Extrusion::Path class was created to hold
the additional path data as the extruder ID, color change ID
and fan speed.
2019-09-30 16:25:26 +02:00
bubnikv
b425ee50a9
Merge remote-tracking branch 'remotes/origin/et_pull_2922'
2019-09-30 10:23:16 +02:00
bubnikv
0abde9a2a8
Return MultiPoint::first_point() by reference.
2019-09-27 19:47:30 +02:00
bubnikv
6d11bfe96a
Fixing C++ issues, that the Visual Studio compiler did not report.
2019-09-27 19:18:35 +02:00
bubnikv
debd9e2f81
One more try, fixing a missing parameter.
2019-09-27 19:07:07 +02:00
bubnikv
50d3894e32
Fix of the ShortestPath.hpp interface: Provide non-move variant.
2019-09-27 18:47:08 +02:00
bubnikv
85ea0396a4
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-09-27 18:23:36 +02:00
bubnikv
331c187b39
Rest of the path chaining has been replaced with the new algorithm.
...
PolylineCollection.cpp/hpp was removed, use Polylines instead.
Various first_point() / last_point() now return references, not copies.
2019-09-27 18:17:21 +02:00
bubnikv
4b35ebe6e5
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-09-27 09:52:57 +02:00
bubnikv
e65ab90c16
Fix of G-code path planning: Infill lines were incorrectly ordered
...
for islands with another islands in their holes.
Improvement of chaining of infill lines for 3D honeycomb, Gyroid and
Honeycomb infill: New TSP chaining algorithm is used.
2019-09-27 09:51:07 +02:00
bubnikv
d06831076d
WIP: Consolidation of shortest path calculations,
...
various chaining algorithms are replaced with the improved TSP
algorithm.
2019-09-26 17:30:03 +02:00
bubnikv
10eecb2cab
Reworked Traveling Salesman Problem code for simplicity and robustness.
...
The TSP algorithm is newly used for planning of the printing order
of objects AND their instances.
2019-09-26 16:39:50 +02:00
bubnikv
8d4dd294b2
Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev
2019-09-26 09:44:53 +02:00
bubnikv
41495a932a
Introduction of a greedy Traveling Salesman Problem algorithm,
...
producing better shortest path estimate than the "closest next neighbor"
heuristics. The new greedy algorithm utilizes KD tree for closest
end point search, and builds a graph to detect loops.
PerimeterGenerator newly uses the optimized TSP algorithm.
ExtrusionEntity has been refactored / simplified.
2019-09-26 09:44:38 +02:00
bubnikv
110d5b9d56
Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev
2019-09-19 17:16:43 +02:00
bubnikv
6ce1011a09
Slic3r -> PrusaSlicer in config snapshot dialog.
2019-09-19 17:16:37 +02:00
bubnikv
bcdb75f799
Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev
2019-09-19 14:32:13 +02:00
bubnikv
2414dab85a
Fix of perl bindings
2019-09-19 14:31:50 +02:00
bubnikv
80c5eaacdf
Merge remote-tracking branch 'remotes/origin/dev' into vk-materials
2019-09-19 11:49:49 +02:00
bubnikv
40e5fb5bb9
Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev
2019-09-19 08:57:04 +02:00
bubnikv
94212fa2a9
Another fix of admesh on big endian architectures, fixes #2879
2019-09-19 08:56:47 +02:00
bubnikv
83b6b82188
Refactored ExtrusionEntityCollection::flatten()
2019-09-16 16:35:08 +02:00
bubnikv
c38e537adc
Merge remote-tracking branch 'remotes/origin/master' into dev
2019-09-16 15:38:50 +02:00
bubnikv
abf91c0327
Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev
2019-09-16 15:38:37 +02:00
bubnikv
519f2b62e5
Fix of Perl bindings after ExtrusionEntity::clone() refactoring
2019-09-16 15:38:27 +02:00
bubnikv
ae3a3029c0
Merge remote-tracking branch 'remotes/origin/master' into dev
2019-09-13 18:58:39 +02:00
bubnikv
d86cf1e116
Fix of a regression in wipe tower generator:
...
Return to the known position after custom tool change G-code.
2019-09-13 18:56:37 +02:00
bubnikv
145cf294c9
Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev
2019-09-13 16:21:48 +02:00
bubnikv
a9182fb0b3
Merge branch 'master' into dev
2019-09-13 16:19:35 +02:00
bubnikv
345d73e0d6
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
2019-09-13 16:17:23 +02:00
bubnikv
ea8b6262cf
Introduction of ClipperLib_Z: The Clipper library compiled with support
...
of the Z coordinate, compiled in the ClipperLib_Z namespace.
Update of Lukas's new brim clipping:
All the brim contours are now clipped by the ClipperLib_Z library
in one shot.
2019-09-13 16:16:37 +02:00
bubnikv
e0ecd283ef
Updated Prusa3D profiles, bumped up the version number.
2019-09-13 15:24:13 +02:00
bubnikv
4f89672816
Fixed false positives of missing layers due to support layer snapping
...
to avoid layers thinner than min_layer height, and possibly due to
the fact, that empty support extrusions may get generated
for support layers with non-empty support polygons.
Fix of Empty layers detection added to GCode.cpp (6ab1cec )
2019-09-13 15:18:42 +02:00
bubnikv
bb896b4c13
Merge remote-tracking branch 'remotes/origin/lm_brimskirt'
2019-09-12 15:53:20 +02:00
bubnikv
b4f2df6a98
Merge remote-tracking branch 'remotes/origin/master' into dev
2019-09-12 10:19:09 +02:00
bubnikv
6f4fff1b29
Fix of 2.1.0-rc2 Fails to open "certain' STL files #2906
2019-09-12 10:16:52 +02:00
bubnikv
1b1899e24f
Bumped up the version number.
2019-09-11 14:10:02 +02:00
bubnikv
ab045d5b48
Merge remote-tracking branch 'remotes/origin/tm_ini_params_squashed'
2019-09-11 13:40:18 +02:00
bubnikv
416c1f8c5b
Updated dictionaries.
2019-09-11 13:33:15 +02:00
bubnikv
15c8b579b2
Refactoring of ExtrusionEntity / ExtrusionEntityCollection:
...
Iterator loops replaced with C++11 loops.
Fixed clone() methods to return an ExtrusionEntity*.
PerimeterGenerator now uses move semantics on ExtrusionEntity a little
bit more.
2019-09-11 13:25:50 +02:00
bubnikv
b3f27b8fb9
Fixed typo in comments
2019-09-11 11:38:17 +02:00
bubnikv
0989cb8296
Refactoring of PerimeterGenerator:
...
header interface was reduced,
compiler warnings removed.
2019-09-11 11:37:48 +02:00
bubnikv
9bdc5b7939
Merge remote-tracking branch 'remotes/origin/master' into dev
2019-09-10 19:09:41 +02:00
bubnikv
b9389f2d39
Some C++11 refactoring
2019-09-10 19:09:37 +02:00
bubnikv
413e737d7e
Fix of previous infill refactoring.
2019-09-10 19:08:04 +02:00
bubnikv
246dc64c99
Fix of "Bridging and gap fill are parsed incorrectly when infill is set to 0" #1476
...
The gap fill was disabled for zero infill.
Now the gap fill is enabled in between the perimeters, but disabled between
the inner-most perimeter and infill in case the infill is set to zero.
Also in case there are multiple infill regions inside a perimeter,
the mutliple infills are considered as non-zero if at least one infill
is non-zero, therefore the gap fill will be added inside the inner-most
perimeter.
2019-09-10 19:03:37 +02:00
bubnikv
4585618aea
Fix of "Bridge flow ratio doesn't trigger reslicing of support" #2359
2019-09-09 18:09:40 +02:00
bubnikv
6ba43ebacb
Merge remote-tracking branch 'remotes/origin/master' into dev
2019-09-09 17:49:07 +02:00
bubnikv
ac7bae8c5d
Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev
2019-09-09 17:47:41 +02:00
bubnikv
5c72eecf26
Fix of "Strange behavior on bridge detection" #1482
...
The very first slicing step needs to be invalidated if support is
enabled or disabled while the soluble supports are configured,
as the bridging is disabled for soluble supports, while the bridging
is enabled with supports disabled.
2019-09-09 17:47:29 +02:00
bubnikv
ee928f5f4d
Replaced Perl style infill type enums with C++ enums in comments.
2019-09-09 16:47:15 +02:00
bubnikv
735f5146e9
Fix of d146a0237e
...
(reworked infill generator to merge regions with the same properties).
2019-09-09 16:44:29 +02:00
bubnikv
21cc859357
Refreshed dictionaries
2019-09-09 16:40:15 +02:00
bubnikv
751b9e69fa
Fixed stack overflows in G-code generator.
2019-09-09 10:18:17 +02:00
bubnikv
42e41dae04
Fix of a regression big endian issue in admesh
...
fixes 2.1.0-rc build error in admesh (unusual architecture only) (#2879 )
2019-09-09 09:18:53 +02:00
bubnikv
48ecbe777f
Fix of "excess infill below bridges with 0% infill" #442
...
Fix of "Bridging infill not connecting with infill set to 0%" #1301
Top, bottom and bridging areas are extended into infill as long
as the infill is not zero. If the infill is zero,
top, bottom and bridging areas wound not expand into these "void" areas.
With this commit, the top, bottom and bridging areas are allowed to expand
into the "void" areas as long as these "void" areas are supported below
with perimeters or some other non-empty infill, and slightly beyond
these supporting areas into the voids (currently hard coded to 1mm).
2019-09-06 15:03:49 +02:00
bubnikv
07798510fc
Fighting the ASCII STL import.
...
Fix of 2.1.0-rc: Loading MMU STL's results in object placement off the plater (#2868 )
It has been broken with 9abef2241d
when trying to fix "Error on importing stl" #2813
2019-09-05 14:29:34 +02:00
bubnikv
d2ac827137
Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev
2019-09-04 16:11:28 +02:00
bubnikv
d146a0237e
WIP: Reworked the infill generator to merge areas with the same
...
properties.
Note for Vojtech:
Review src/libslic3r/Fill/Fill.cpp once again,
add test for G-code generator properties (extrusion speed, cooling?)
Fixes Modifier slice/move efficiency #1005
2019-09-04 16:11:16 +02:00