380 Commits

Author SHA1 Message Date
Lukáš Hejl
8784ca0ecf SPE-1729: Try to compute the Voronoi diagram again on modified ExPolygon when an invalid Voronoi diagram is produced during the calculation of the medial axis.
There are several ExPolygons with very thin lines and holes formed by very close (1-5nm) vertices that are on the edge of our resolution. Those thin lines and holes are both unprintable and cause the Voronoi diagram to be invalid.
So, we filtered out such thin lines and holes and tried to compute the Voronoi diagram again.
2024-02-08 15:40:20 +01:00
Lukáš Hejl
fb84f3113a Introduce wrapper class around boost::polygon::voronoi_diagram. 2024-02-08 15:40:02 +01:00
Martin Šach
6b0dcc658d Fix narrowing conversion and memory leak in tests 2024-01-08 10:27:38 +01:00
Martin Šach
6b01ae30db Rewrite xs/t/15_config.t to c++. 2024-01-08 10:27:38 +01:00
Martin Šach
9164dd55e6 Rewrite xs/t/09_polyline.t to c++ 2024-01-08 10:27:38 +01:00
Martin Šach
37a707b05f Rewrite xs/t/03_point.t to c++ 2024-01-08 10:27:38 +01:00
Martin Šach
f78ab3e788 Rewrite xs/t/10_line.t to c++ 2024-01-08 10:27:38 +01:00
Lukáš Hejl
da88c2affc Silence the warning about the unused total_extrusion_length in Arachne tests. 2024-01-04 10:22:27 +01:00
Lukáš Hejl
a27aea4598 Remove the unused variable new_radius in Arc Welder tests. 2024-01-04 10:22:27 +01:00
Martin Šach
e8064cdb14 Refactor: SupportSpotsGenerator integrals implementation improvements.
Split Integrals constructor to accept polygon and polygons.
Add operator+(Integrals, Integrals).
Make sure extrusion extraction for integral calculation throws in invalid case.
2023-12-01 09:28:21 +01:00
Martin Šach
782fa47791 Remove usage of polygons_covered_by_width.
In SupportSpotsGenerator there is a need to compute integral over
extrusions.
The mentioned function is slow for this use case. As it solves a harder
problem.
It is better to iterate the extrusion lines directly.
2023-12-01 09:28:21 +01:00
Filip Sykala - NTB T15p
894e88a503 Set svg file data as optional in emboss shape (text do not contain it) 2023-11-01 18:23:28 +01:00
Lukáš Hejl
6df4891e6c SPE-1837: Fixed issue when perimeters weren't generated with Arachne. 2023-10-31 10:03:17 +01:00
Martin Šach
b45e9d2830 Fix: Give more space for a rounding error to a supports spots generator test.
There was a test that relied on randomness and also checked the result
with very hight precision. That led to a failed test once upon a time.
Now the checking is more benevolent (it should be, as the code is
not expected to be precise) and also the randomness is removed.
2023-10-20 10:27:28 +02:00
Filip Sykala - NTB T15p
2316abd109 ../tests/libslic3r/test_emboss.cpp:202:34: error: ‘intersection_points’ was not declared in this scope; did you mean ‘intersections_prev’? 2023-10-17 11:21:25 +02:00
Filip Sykala - NTB T15p
70460ae790 Fix Healing of SVG shape for overlapped contour points in thin "bay".
SVG from @LukasMatena
2023-10-11 15:01:29 +02:00
Filip Sykala - NTB T15p
76c23fd9ff Merge branch 'master' into fs_svg_SPE-1517
# Conflicts:
#	src/slic3r/GUI/GUI_Factories.cpp
2023-10-03 15:32:11 +02:00
Lukas Matena
af7230e496 Rename 'NetFabb' to 'Windows repair algorithm' (related to #11199) 2023-10-03 15:14:14 +02:00
Filip Sykala - NTB T15p
af520bc787 Merge branch 'master' into fs_svg_SPE-1517 2023-10-02 16:16:37 +02:00
tamasmeszaros
f83abb09dc Merge branch 'tm_fix_static_map_build' 2023-10-02 12:48:50 +02:00
tamasmeszaros
4025a55c4f Fix build on Mac 2023-10-02 12:48:23 +02:00
Vojtech Bubnik
5fede09c13 Fixing compilation on GCC 2023-10-02 10:32:48 +02:00
Vojtech Bubnik
a0441dac14 ArcWelder:
Reducing the chance of creating segments shorter than G-code quantization
distance.
Improving fitting by non-linear least squares.
2023-10-02 09:59:06 +02:00
tamasmeszaros
11893ed0c1 Don't build static map tests as they fail on multiple platforms 2023-10-02 09:43:24 +02:00
tamasmeszaros
82a7ff7f4e Re-enable static map tests 2023-10-02 08:47:59 +02:00
tamasmeszaros
23b041e222 Add StaticSet and StaticMap to allow global constant dictionaries 2023-09-29 11:58:05 +02:00
Filip Sykala - NTB T15p
4ea9a250ba Merge branch 'master' into fs_svg_SPE-1517 2023-09-27 10:08:33 +02:00
Martin Šach
003232dfb6 Add tests for SupportSpotsGenerator::ObjectPart construction.
Ensuring that ObjectParts in SupportSpotsGenerator are properly
generated from slice is crucial for any further computations.
2023-09-26 16:11:19 +02:00
Martin Šach
13579fff45 Move definitons to header in the SupportSpotsGenerator.
Moving the definitions to a header file will enable testing the
functions involved.
2023-09-26 16:11:19 +02:00
Filip Sykala - NTB T15p
2aafec0576 Merge branch 'master' into fs_svg_SPE-1517 2023-09-26 15:06:56 +02:00
Lukas Matena
11273b29ac Fixed compiler warnings 2023-09-26 14:24:23 +02:00
Filip Sykala - NTB T15p
5da14c491e Merge branch 'master' into fs_svg_SPE-1517 2023-09-26 13:34:28 +02:00
Martin Šach
6164051d60 Use proper formula for second moment of area.
SupportSpotsGenerator originally used a heuristic formula. Current
formula is properly derived using known properties of
second moment of area. Several tests of this formula are added.
2023-09-22 13:30:05 +02:00
Filip Sykala - NTB T15p
1b62121c97 Fix of Point coord overflow(double scaled int) in test
Should fix MAC build
2023-09-15 09:46:19 +02:00
Filip Sykala - NTB T15p
255081e342 Merge branch 'master' into fs_svg_SPE-1517 2023-09-13 21:53:59 +02:00
Filip Sykala - NTB T15p
3421a9298a Remove depricated variable
+ read old staff in separate 3mf function
2023-09-13 11:56:37 +02:00
Filip Sykala - NTB T15p
e40b798ef6 Fix scale in test 2023-09-05 14:32:09 +02:00
Filip Sykala - NTB T15p
96618d684f Emboss Stroke(contour of paths from svg)
Do not support yet:
 - Markers(start sybol, end symbol, middle symbols)
 - Dashes
2023-08-31 16:41:21 +02:00
Vojtech Bubnik
3cfe2f4a3a Merge branch 'vb_arc_welder' into master_262 2023-08-28 15:50:00 +02:00
Filip Sykala - NTB T15p
57141aa61a Merge branch 'master' into fs_svg
# Conflicts:
#	src/slic3r/GUI/Gizmos/GLGizmoEmboss.hpp
2023-08-22 16:20:42 +02:00
Filip Sykala - NTB T15p
0c9cb02cf1 Merge branch 'master' into fs_dir_per_glyph_SPE-1597
# Conflicts:
#	src/libslic3r/Polygon.hpp
2023-08-17 15:46:25 +02:00
tamasmeszaros
c613669718 Follow-up, get rid of even more NOMINMAX warnings 2023-08-16 14:15:38 +02:00
tamasmeszaros
0b31ef6e1e Beginning of arrange gen2 2023-08-16 09:59:10 +02:00
Filip Sykala - NTB T15p
d530831e35 Add icons(refresh and burn) to svg emboss
Add NSVG image to shape
2023-07-19 12:02:28 +02:00
Vojtech Bubnik
3d439c617c ArcWelder: Fixed warnings in unit tests. 2023-07-17 19:12:10 +02:00
Vojtech Bubnik
594e36c70a ArcWelder bugfixes 2023-07-17 14:18:56 +02:00
Vojtech Bubnik
9fe36fc300 WIP Arc interpolation bugfixes 2023-07-15 12:31:55 +02:00
Vojtech Bubnik
3df8da662e WIP Arc discretization, arc interpolation and unit tests. 2023-07-14 11:20:55 +02:00
Vojtech Bubnik
19062b4d5f ArcWelder path interpolation based on the work by Brad Hochgesang @FormerLurker.
WIP GCode/SmoothPath.cpp,hpp cache for interpolating extrusion path with arches.
Removed Perl test t/geometry.t, replaced with C++ tests.
Refactored ExtrusionEntity and derived classes to hold extrusion attributes in new ExtrusionFlow/ExtrusionAttributes classes.
Reworked path ordering in G-code export to never copy polylines, but to work with a new "flipped" attribute.
Reworked G-code export to interpolate extrusion paths with smooth paths and to extrude those smooth paths.
New parameters: arc_fitting, arc_fitting_tolerance
Renamed GCode class to GCodeGenerator
Moved GCodeWriter.cpp/hpp to GCode/
Moved Wipe from from GCode.cpp,hpp to GCode/Wipe.cpp,hpp
Moved WipeTowerIntegration from GCode.cpp,hpp to GCode/WipeTowerIntegration.cpp,hpp
New variant of douglas_peucker() to simplify range of iterators in place.
Refactored wipe in general and wipe on perimeters / hiding seams.

WIP: Convert estimate_speed_from_extrusion_quality() and its application to smooth paths.
WIP: Cooling buffer to process G2G3, disable arc fitting for filters that cannot process it.
2023-07-13 11:54:42 +02:00
Filip Sykala - NTB T15p
b71cb25163 Run able fix after merge(still issue with scale for per glyph transformation) 2023-06-07 11:19:28 +02:00