Commit Graph
100 Commits
Author SHA1 Message Date
bubnikv 3b24b8c378 Linux libudev explicit linking: One more function wrapped. 2019-11-28 11:06:57 +01:00
bubnikv 67827546cf linux specific: Explicit linking of libudev because there are
two versions out there in the wild. libusb0 is still used on
some LTS distros, for example on Centos6.
2019-11-28 10:09:13 +01:00
bubnikv 67b8506800 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-11-25 15:56:10 +01:00
bubnikv d3ec53d9a6 WIP: Improvement in path planning
reorder_by_three_exchanges_with_segment_flipping()
works, but it is excessively slow, with close to O(n^3) time complexity.
Commited, but not used in production until sped up.
2019-11-25 15:55:59 +01:00
bubnikv 2b17e81f13 If of the previous commit: Set the MutablePriorityQueue indices
to size_t(-1) when removed from the queue.
2019-11-22 19:09:39 +01:00
bubnikv 9c4dc80057 Fix of the new gyroid infill path planning. Fixes #3226 2019-11-22 18:22:44 +01:00
bubnikv 232f324999 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-11-22 16:08:42 +01:00
bubnikv 6fcd51d5be Fix of "Slicer crashes when slicing for flexible filament" #2988 2019-11-22 16:08:25 +01:00
bubnikv 0b9b74e35e Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-11-22 15:33:38 +01:00
bubnikv 4cff569b62 Improvements of infill path planning:
Implementation of 2-opt pairwise exchange iterative improvement
algorithm with an extension to a chain of segments, where
the chain of segments may get flipped during the exchange operation.
The 2-opt exchange algorithm may be quite slow.
2019-11-22 15:33:20 +01:00
bubnikv b2a6a07d72 Make the .gcode and .sl1 thumbnails configurable through printer profile. 2019-11-15 17:33:31 +01:00
bubnikv bc53c44bf4 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-11-15 16:20:12 +01:00
bubnikv fe4b65e305 Improvement of the Elephant foot compensation:
Using a positive curvature estimate to control the strength
of the Elephant foot compensation shall work similarly to
the previous implementation while avoiding pinching off
tiny pieces from the contour.
2019-11-15 16:20:01 +01:00
bubnikv 8c377c6585 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-11-14 17:02:46 +01:00
bubnikv dd59945098 Fix of a typo in KDTreeIndirect.
Improvement of the infill path planning.
Regression fix of Gyroid infill crashes.
Some unit tests for elephant foot and path planning.
2019-11-14 17:02:32 +01:00
bubnikv ae887d5833 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-11-11 15:16:31 +01:00
bubnikv f597131604 Trying to disable dark mode when compiled against the latest OSX SDK
as we are not yet ready for that.
2019-11-11 15:16:20 +01:00
bubnikv 588734c7b3 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-11-07 14:35:50 +01:00
bubnikv f2dd49a905 Merged pull request "Gyroid improvements" #2730
by @supermerill and @wavexx

WIP: The function Fill::connect_infill() is being rewritten
to utilize spatial structures wherever possible for lower CPU load
and less dynamic memory allocation.
2019-11-07 14:28:30 +01:00
bubnikv 612e45e783 std::exchange not supported by C++11. 2019-11-05 11:46:05 +01:00
bubnikv fa591a80d1 Merge branch 'BryanSmithDev-master' 2019-11-05 11:38:04 +01:00
bubnikv 7a7183383f Merge branch 'master' of https://github.com/BryanSmithDev/PrusaSlicer into BryanSmithDev-master 2019-11-05 11:37:40 +01:00
bubnikv f75c022445 Reworked pull request
Centering model on bed, using bed shape from config (if available). #2424
thanks @luketaverne
2019-11-05 11:16:55 +01:00
bubnikv e1c6bd174a Fixed missing include. 2019-11-05 11:14:00 +01:00
bubnikv b295bc22db Adaptive elephant foot compensation: Improvement of the variable
offset regularization.
2019-11-05 10:45:14 +01:00
bubnikv 2399570950 Only enable Elphant foot compensation if printing directly
on the print bed (raft is disabled).
2019-11-04 11:34:33 +01:00
bubnikv 4c735192ef Bugfixes of the new adaptive elephant foot compensation. 2019-11-04 11:26:36 +01:00
bubnikv bb8d59391f Fixed missing include 2019-11-01 21:13:53 +01:00
bubnikv c4a74fdfc5 Fix of previous commit. 2019-11-01 20:05:40 +01:00
bubnikv db97610821 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-11-01 19:59:22 +01:00
bubnikv a72ac57fab adaptive elpehant foot compensation, fixing
GH issues #1757 #2085 #2132 #2423 #2502 #2156 #2773 #2828 #2998 #3001
2019-11-01 19:59:09 +01:00
bubnikv f60fbecd3d Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-10-30 10:19:00 +01:00
bubnikv ba39ee6f12 EdgeGrid::signed_distance_edges() to provide the pedal point.
Removed 20_print.t test.
2019-10-30 10:18:56 +01:00
bubnikv 9e8ce66f70 Fix / improvement of unit tests. 2019-10-25 19:06:40 +02:00
bubnikv 2e7e95adae Disabled broken tests, ported some more tests to C++,
removed Perl tests that were already ported to C++.
2019-10-25 18:23:42 +02:00
bubnikv f8dc74374c Ported various clipper unit tests from Perl to C++,
the clipper Perl unit tests were removed.
2019-10-25 17:07:55 +02:00
bubnikv d70b45a51b Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-10-25 14:40:24 +02:00
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