Commit Graph

234 Commits

Author SHA1 Message Date
tamasmeszaros
0a932ebfe3 Enable http digest authentication for CURL 2020-11-25 13:58:03 +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
enricoturri1966
8c8ad70c58 ENABLE_GCODE_VIEWER set as default in fff_print test and PrusaSlicer.cpp 2020-11-12 15:01:59 +01:00
Vojtech Bubnik
239d588c5d 1) Implemented anchoring of infill lines to perimeters with length
limited anchors, while before a full perimeter segment was always
   taken if possible.
2) Adapted the line infills (grid, stars, triangles, cubic) to 1).
   This also solves a long standing issue of these infills producing
   anchors for each sweep direction independently, thus possibly
   overlapping and overextruding, which was quite detrimental
   in narrow areas.
3) Refactored cubic adaptive infill anchroing algorithm
   for performance and clarity.
2020-11-05 17:32:40 +01:00
Vojtech Bubnik
3cfccf1a5a Fixed unit tests broken with 3502f256fa 2020-10-29 12:39:03 +01:00
tamasmeszaros
2f422f5dbe Fix sla tests on mac 2020-10-15 13:50:05 +02:00
tamasmeszaros
73d8bab4f8 Fix confusing test
fixes #4724
2020-09-21 08:45:28 +02:00
tamasmeszaros
743d6643ae Drop rubbish tests 2020-09-16 15:04:01 +02:00
Vojtech Bubnik
067cde85f1 WIP Refactoring of exceptions:
1) All slicer's exceptions are now derived from Slic3r::Exception.
2) New exceptions are defined for slicing errors.
3) Exceptions are propagated to the Plater to show.
It remains to modify the slicing back-end to throw the new SlicingError
exceptions instead of std::runtime_error and to show the other exceptions
by a message dialog instead of a notification.
2020-09-14 18:03:22 +02:00
tamasmeszaros
c10ff4f503 fixing optimizer and concurrency::reduce 2020-09-10 14:03:30 +02:00
tamasmeszaros
a21ff4141b Fix failing test due to changes in support point genertion 2020-09-10 13:19:17 +02:00
tamasmeszaros
a9a99de939 Enable all tests for support point generator 2020-09-10 13:19:17 +02:00
enricoturri1966
b563010bf1 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-28 12:30:45 +02:00
tamasmeszaros
1560e15ed9 Add missing includes for win 2020-08-27 23:14:42 +02:00
tamasmeszaros
2bcd36d155 PNG image read with libpng 2020-08-27 23:14:42 +02:00
enricoturri1966
af200e47c1 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-19 08:18:23 +02:00
tamasmeszaros
4ef52af906 Add dedicated tests for support point generation 2020-08-18 11:41:14 +02:00
enricoturri1966
25c3552555 Fixed conflicts after merge with master 2020-08-04 09:58:19 +02:00
tamasmeszaros
927b81ea97 Working small-to-normal support merging
Fixed fatal bug with anchors for mini supports

Make the optimization cleaner in support generatior

Much better widening behaviour

Add an optimizer interface and the NLopt implementation into libslic3r

New optimizer based only on nlopt C interfase
Fix build and tests
2020-08-03 19:05:30 +02:00
tamasmeszaros
a68564e2d0 Include test name with output obj files for sla_print_tests 2020-08-03 19:05:30 +02:00
tamasmeszaros
1eec6c473c Rename EigenMesh3D to IndexedMesh and SupportConfig to SupportTreeConfig 2020-08-03 19:05:30 +02:00
tamasmeszaros
f19b3a2344 Id-s put in a base class for support tree primitives 2020-08-03 19:05:30 +02:00
tamasmeszaros
301a168b89 Fix bugs and non working tests
Fix failing tests


Try to fix build on windows


Try to fix failng tests on Mac
2020-08-03 19:05:30 +02:00
tamasmeszaros
184f64f828 Separate support tree routing and meshing, remove Common.hpp/.cpp .
* Remove Common.hpp and Common.cpp, move things into their respective modules in sla.
2020-08-03 19:05:30 +02:00
tamasmeszaros
0622322146 Create smaller supports in problematic areas with established strategies
Completely remove the concept of CompactBridge.

Replace it with Heads having the same back radius as front radius. 

Try to apply the same rules for mini supports as in the route_to_model step.

Increased accuracy of bridge_mesh_intersect shot from support points


Refining mini support integration
2020-08-03 19:05:30 +02:00
enricoturri1966
f727198891 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-06-29 08:48:23 +02:00
bubnikv
c10f6a622d Fixed unit tests on Windows after introduction of GMP to
boost::polygon Voronoi diagram generator by Vojtech.

Fixed Perl bindings on Windows after some "improvement" of the Windows 10
SDK headers, which fail if included from a C++ code using the
extern "C"
clause. Namely, the Windows 10 SDK include for sockets introduces C++ macros
if a "compiled with C++" symbol is provided even if included through
exetrn "C".
2020-06-27 08:44:13 +02:00
enricoturri1966
5c7b0948bc Fixed conflict after merge with master 2020-06-19 11:49:59 +02:00
Vojtech Bubnik
851ebc7991 fix of previous commit, missing include 2020-06-16 14:00:25 +02:00
Vojtech Bubnik
b101a8e266 Fixes of the offset curves from Voronoi diagram.
The offset curve extractor is already quite usable,
though singular cases are still not covered yet
when the offset curve intersects or nearly intersects
a Voronoi vertex.

Removal of the PRINTF_ZU "%zu" Visual Studio printf compatibility macro.
Fixes of a contours self intersection test for collinear segments.
SVG exporter now exports white background, so that the GNOME Eye viewer is usable.
2020-06-16 13:15:48 +02:00
enricoturri1966
ab60499298 Fixed conflicts after merge with master 2020-06-12 10:35:18 +02:00
Vojtech Bubnik
1c95ceaeaa Reworked algorithm for Voronoi Offset curve extraction.
Now the algorithm is very different from the OpenVoronoi implementation
and hopefully it is now correct (save numerical issues, which will be
a big PITA).
2020-06-11 16:11:02 +02:00
enricoturri1966
70a6fb0e20 Added new tech ENABLE_GCODE_VIEWER_AS_STATE -> GCodeViewer as a new application state (WIP) + fix of conflicts after merge with master 2020-06-05 16:50:17 +02:00
enricoturri1966
c3d643ead3 Fixed conflicts after merge with master 2020-06-04 13:57:39 +02:00
Vojtech Bubnik
6f4d24ab95 WIP: Generating offset curves with properly rounded corners from
a Voronoi diagram. Curve extraction is based on the OpenVoronoi implementation.
2020-06-04 13:50:09 +02:00
tamasmeszaros
10c59b0d00 Fix the tests after EigenMesh3D refactor 2020-06-02 17:15:08 +02:00
enricoturri1966
71db69ef41 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-29 12:29:24 +02:00
Vojtech Bubnik
6f92538c20 BoundingBox support for Lines,
BoundingBox constructor will no more throw for empty vector of points.

GMP allowed for Vojtech's fork of boost::polygon Voronoi implementation.

Added libslic3r tests for boost::polygon Voronoi. All Voronoi issues
ever reported on the Internet are captured by the tests. Two issues
reported (the two test cases) are real issues which may influence
PrusaSlicer negatively, namely

https://github.com/boostorg/polygon/issues/43
2020-05-28 15:53:53 +02:00
enricoturri1966
2eb4b2caed Fixed conflicts after merge with master 2020-05-27 10:32:02 +02:00
Lukas Matena
3e855d36dc Fixed unit tests after previous include manipulations 2020-05-26 15:33:44 +02:00
enricoturri1966
80c2f107c1 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-22 12:12:56 +02:00
Vojtech Bubnik
2b8f655020 WIP AABBIndirect: Documentation, polishing. 2020-05-22 09:29:21 +02:00
Vojtech Bubnik
eeb9590d28 WIP: own AABBTreeIndirect, builds up the tree 4x quicker than libigl. 2020-05-22 09:29:21 +02:00
enricoturri1966
05e4476808 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-04-29 12:53:55 +02:00
tamasmeszaros
2a8c485b32 suppress unnecessary test output in release mode 2020-04-28 21:11:54 +02:00
enricoturri1966
e5c45405d4 Fixed conflicts after merge with master 2020-04-24 10:59:03 +02:00
tamasmeszaros
217477a9ff SLA archive import with miniz, marching square bugfixes
Fix compilation on Windows


Fix array subscript out of range error in MarchingSquares


Fix normals of mesh constructed from slices


Improve performance of mesh construction from slices
2020-04-23 19:12:07 +02:00
tamasmeszaros
247fca6d55 Initial version of sl1 import with sla::Raster refactor. 2020-04-23 19:05:32 +02:00
tamasmeszaros
1bffc2b99b Add ModelArrange.hpp as extension to Model.hpp, use it for duplicating
Refactored Arrange interface: remove the union based BedShapeHint, replace it with proper function overloads

WARN: this commit is only intermediate, it does not compile.
2020-04-23 18:19:03 +02:00
tamasmeszaros
69c02a407b Add libnest tests for various basic object functions 2020-04-23 18:17:58 +02:00
tamasmeszaros
89d376dc35 Add min_object_distance method as free function taking ConfigBase argument 2020-04-23 18:17:37 +02:00
enricoturri1966
29cbfa7c9e Fixed conflicts after merge with master 2020-03-30 09:36:37 +02:00
bubnikv
c27297f6cc 64bit coord_t
Vec3i as a vertex index to TriangleMesh constructor
2020-03-25 14:35:41 +01:00
enricoturri1966
a1a4d49f15 Fixed conflicts after merge with master 2020-03-25 12:07:59 +01:00
Lukas Matena
97b9de47b4 Merge branch 'master' into dev 2020-03-24 21:51:05 +01:00
tamasmeszaros
f4f236e82e Added test for libcurl https handling disabled on build server.
Linux docker image does not expose port 80
2020-03-06 15:18:14 +01:00
Lukas Matena
c70b34b6c8 Fixed several warnings
The biggest difference is changing PresetCollection::m_idx_selected from int to size_t, which fixed many warnings at once.
2020-03-03 15:47:02 +01:00
Enrico Turri
3b6d334d7b ENABLE_GCODE_VIEWER - Basic framework for new gcode viewer 2020-03-02 15:13:23 +01:00
tamasmeszaros
6deb6a776d Do EFC for the first faded layers of SLA, interpolate efc parameters
Compensated slices have negative orientation...


Move efc to common params


Fix elefant foot compensation reversed contours


Remove redundant assertions and don't apply absolute correction if zero
2020-02-18 17:39:36 +01:00
Enrico Turri
904263d231 ENABLE_CONFIGURABLE_PATHS_EXPORT_TO_3MF_AND_AMF set as default 2020-02-13 11:25:34 +01:00
bubnikv
e7d2fcf0be Fixed unit tests broken with the previous commit (Spiral Vase fix).
Fixed a crash in the previous commit.
2020-02-09 09:43:15 +01:00
tamasmeszaros
2d86e3cc4d fix failing test due to missing cgal dlls 2020-02-05 18:22:17 +01:00
tamasmeszaros
bd76c345f2 Handle CGAL exceptions and add tests for mesh boolean operations
Add conversion to exact predicates exact construction kernel format for consecutive booleans (experiments)
2020-02-05 17:40:05 +01:00
bubnikv
059bdb4711 Implemented handling of complex ConfigOptionFloatOrPercent chains
by the PlaceholderParser.

Namely, all the options with the "ratio_over" reference are now handled
correctly by the PlaceholderParser with the exception
of the "first_layer_extrusion_width", which overrides speed of extrusions
by their respective extrusion type.

Also the various extrusion widths (extrusion_width, first_layer_extrusion_width,
external_perimeter_extrusion_width etc.) produce the same numbers
as if ran through the back-end, with the assumption of not overriding
layer height by the variable layer height editing tool or layer height
modifiers.
2020-02-04 15:27:38 +01:00
tamasmeszaros
0c4797e92e use vsnprintf instead of snprintf in string_printf function
Also, revert to old location: Utils.hpp and utils.cpp
2020-02-03 16:00:53 +01:00
tamasmeszaros
7f476f38b9 [refactor] Move remaining utility functions into sla_test_utils 2020-01-31 08:56:46 +01:00
tamasmeszaros
b45e95877e Merge branch 'master' into lm_tm_hollowing 2020-01-23 17:43:18 +01:00
tamasmeszaros
f8a5796ca5 add mesh simplification.
SPE-1072 
Working but flipped normals with the interior.
Testing on treefrog passed
Oversampling for hollowed mesh should not be less than 3x
Flip back normals after simplify and remove redundant test code.
2020-01-23 10:58:18 +01:00
bubnikv
094cef26d4 Fix of the new PlaceholderParser int() conversion.
Fixes https://github.com/prusa3d/PrusaSlicer/pull/3271
Also some old errors (typos, UBs) were fixed.
2020-01-21 17:12:06 +01:00
Lukas Matena
63b0eec5a9 Merge branch 'master' into lm_tm_hollowing 2020-01-21 13:00:07 +01:00
bubnikv
05ea01bdcc Ported PlaceholderParser unit tests to C++. 2020-01-21 12:10:09 +01:00
tamasmeszaros
858e936e52 Fix incorrect filename case in test_3mf 2020-01-21 11:10:34 +01:00
tamasmeszaros
6cfad6848f Fix incorrect filename case in test_3mf 2020-01-20 11:20:18 +01:00
Lukas Matena
d8f2c8cdab Fixed a bug in the hole-aware raycaster 2020-01-17 16:02:23 +01:00
Lukas Matena
79e546816d Fixed unit test (sla_print_tests - random number generator seeding) 2020-01-16 14:03:43 +01:00
tamasmeszaros
e6bdec4aa5 Remove wrapper around std::mt19937 2020-01-15 17:44:15 +01:00
tamasmeszaros
ce49f0a294 Test sla support point generation determinism with seed parameter 2020-01-14 10:48:22 +01:00
tamasmeszaros
8af6890cab Remove test restriction for on-model supports pierce test 2020-01-14 10:48:22 +01:00
tamasmeszaros
256249fdaf Make sla support pierce tests repeatable 2020-01-14 10:48:22 +01:00
tamasmeszaros
7ac0e0a8c9 more raycaster tests, without repeating the hollowing every time 2020-01-09 16:57:11 +01:00
Lukas Matena
f22961edae Fixed a raycaster problem with handling duplicate hits from igl
The duplicate hits confused winding number calculations in the raycaster, which in turn returned incorrect hit.
2020-01-09 14:09:26 +01:00
tamasmeszaros
bb62f36df3 Add tests for EigenMesh3D raycaster with hole support.
Tests fail! Supports are intersecting the object when holes are added.
2020-01-08 17:11:22 +01:00
Enrico Turri
abd432e7a8 Configurable paths export (fullpath or not) to 3mf and amf 2020-01-08 11:11:38 +01:00
Lukas Matena
0551411c48 Merge branch 'master' into lm_tm_hollowing 2020-01-06 12:41:29 +01:00
Enrico Turri
8fd753ab27 Follow-up of c790e2ff7c -> Fixed include 2020-01-06 12:31:35 +01:00
Enrico Turri
c790e2ff7c Added unit test for checking geometry after save+load to 3mf cycle 2020-01-06 12:10:57 +01:00
bubnikv
220e2dbfec Fixed previous commit (change of CMake) 2019-12-22 14:25:07 +01:00
bubnikv
4473254779 Trying to fix unit tests when targeting OSX 10.9. 2019-12-22 14:17:26 +01:00
Lukas Matena
b3f15b1c98 Merge branch 'master' into lm_tm_hollowing 2019-12-20 10:33:53 +01:00
tamasmeszaros
42ffc4e3c5 Fix polytree traversal.
Put back old traverse_pt and union_pt_chained
2019-12-19 11:27:19 +01:00
Lukas Matena
537260494d Merge branch 'master' into lm_tm_hollowing 2019-12-12 11:37:33 +01:00
tamasmeszaros
5be66a52c0 add drain hole 3mf export and import 2019-12-06 15:47:58 +01:00
tamasmeszaros
1fad91e485 Get ready to merge with master. 2019-12-06 09:28:17 +01:00
tamasmeszaros
ab7c74245b Add cpp17 headers to see if they are available. 2019-12-05 14:46:00 +01:00
tamasmeszaros
5623e0b340 Test cpp17 features on the build server. 2019-12-05 14:40:31 +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
tamasmeszaros
7011c58faa Merge branch 'master' into lm_tm_hollowing 2019-11-18 17:50:56 +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
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
tamasmeszaros
4e067c42f0 SLAPrint steps moved to separate module.
* Lambdas replaced with class methods
2019-11-12 16:54:59 +01:00