26130 Commits

Author SHA1 Message Date
Lukáš Hejl
a3f75133c8 SPE-2698: Fix crash during regions expansion. 2025-02-25 16:55:01 +01:00
Lukas Matena
ed27d06be3 Merge branch 'fs_SLA_supports' 2025-02-25 16:41:41 +01:00
Filip Sykala - NTB T15p
9f3018d829 change icon button to text button 2025-02-25 16:41:18 +01:00
Filip Sykala - NTB T15p
119609b5c6 Fix First swich between show/hide support structure and pad 2025-02-25 16:41:18 +01:00
Filip Sykala - NTB T15p
33db1f3a4c SPE-2673
Support point generator ignor small part of model and do not support it
2025-02-25 16:41:18 +01:00
Lukas Matena
b2fda0b25a Changed one phrase and one logging level 2025-02-25 16:41:18 +01:00
Filip Sykala - NTB T15p
025e4698c8 Do not generate data for support generator when supports are not needed 2025-02-25 16:41:18 +01:00
Filip Sykala - NTB T15p
60e8163900 Hide factory include into cpp file
+ remove unused minimal island area
2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
63ea165f00 Use support headDiameter from config
(generate support config when diameter is known)
+ overhangs sample curve is static inside of code(do not use svg config file more)
+ Move island configuration behinde macro
2025-02-25 16:41:17 +01:00
Lukáš Hejl
974bfbdfbd Fix int32 overflow. 2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
0fa7738d6a Change configuration based on test prints
One support: from(3.8mm) to(1.65mm) https://cfl.prusa3d.com/display/SLA/Single+Supporty
Two supports: from(8.3mm) to(6.5mm) https://cfl.prusa3d.com/display/SLA/Double+Supports+-+Rectangles
ThinThick hystereze: from(4.9 - 5.7mm) to (3.6 - 4.2mm) https://cfl.prusa3d.com/display/SLA/Double+Supports+-+Squares

Guesses
Thin Max Distance: from(9mm) to (5mm)
Thick inner max distance: from(9mm) to (6.5mm)
Thick outline max distance: from(6.75mm) to (4.875mm)
minimal_distance_from_outline - still touch edge of the island
maximal_distance_from_outline: from(3mm) to  (1.73mm)
2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
cb20051e03 Fix for creating wide tiny change.
+ unify runtime by selecting position with smallest source index
2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
ac2f6304a0 Fix: Windows and Linux has different order of polygons after Clipper simplify
To unify behavior between platforms: Polygons are sorted on the end of function.

+ Remove Slic3r::ExPolygons simplify_polygons_ex(const Slic3r::Polygons &subject);  // different definition and declaration, unused function
2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
c16ae5bf1f remove Unused include from higher version of compiler 2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
f4e61ffddd FIX SPE-2674_symphysis.3mf 2/2
Island which can't create Voronoi Diagram are supported by one point in center of bounding box
2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
c7d79ec966 Fix warnings
libslic3r/SLA/SupportPointGenerator.cpp:20:6: warning: unused function 'exist_point_in_distance' [-Wunused-function]
libslic3r/SLA/SupportPointGenerator.cpp:600:45: warning: lambda capture 'is_lower' is not used [-Wunused-lambda-capture]
libslic3r/SLA/SupportPointGenerator.cpp:728:15: warning: lambda capture 'sample_distance_in_um2' is not used [-Wunused-lambda-capture]
libslic3r/SLAPrintSteps.cpp:172:11: warning: lambda capture 'tree' is not used [-Wunused-lambda-capture]
slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:790:40: warning: format string is not a string literal (potentially insecure) [-Wformat-security]
slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:90:12: warning: unused variable 'border' [-Wunused-variable]
2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
11c7398cd3 SPE-2671_2 (detected by assert)
Solve last iteration
2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
409900a4c9 Fix for SPE-2674 1/2
issue in file SPE-2674_mini13-armor-runner-v8.3mf
2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
eec3b8e7d6 Fix for build test with new dependency 2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
f0d3578952 SPE-2671 fix
Change way of sampling inner outline of Field (thick part of island & peninsulas)
NOTE: Inner part(after offset border) could contain multiple ExPolygons and need to transfer from border information which line is outline
2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
fff42fb53d Add safety offset before search for overhangs
Prevent numerical instability => supports on the vertical wall
2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
7c4396446c Show manual edited points with color during lock unique islands 2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
f66a50b785 Add help for used colors of support points 2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
8f9bc6ddbe Exist weird edge case, where expand function return empty result even when input is not empty.
Fix crash for files:
SPE-2518_SLA-Crash-3DBenchy.3mf
SPE-2518_SLA-Crash-RAB_2_pose_3.3mf
+ use expolygons as input for expanding layer part instead of polygons
2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
5dec0ea57a Density change quadraticaly supported radius 2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
998175137c add store/load 3mf flag,
that SLA support point is manualy edited by user
(NOTE: After user editat is lost informtion about supporting island)
2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
5ed055e8e4 Accept density value after edit+enter 2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
991c4d4257 Move out prepare function for permanent point 2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
a19d00ea14 Do not remove permanent point influence in layers out of part. 2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
03d41b5966 Remove permanent points out of mesh surface 2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
be7b62af36 Remove "support_points_minimal_distance" 2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
8fe57e5a11 Density tooltip for whole slider
+ allowe value out of slider range
+ add minimal value
+ slider starts at 50%
2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
8e956f68c3 Remove duplication of permanent points 2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
34296a9d62 Add UI switch for show support structure 2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
33f878e5bd Add support permanent points for island and peninsulas 2025-02-25 16:41:17 +01:00
Filip Sykala - NTB T15p
c66df2ce99 Fix KDTree search for closest points for coord_t
NOTE: Store squared distance into double
2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
92e28d93ff Add support for permanent supports on overhangs with propagation of influence into previous layers 2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
ab687e79b1 Separate propagation of permanent support points 2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
11e20327e4 Testing version (commented out autogenerator parameters)
Edit configuration svg to change values to 160 percent of the density
2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
2dbc2f938a Iteractive tune of point density 2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
0c53d53b20 Store/Load support points 3mf
also store density change for object
2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
550914204a tbb paralelization for prepare part of support generation 2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
e9011e100d Add support for peninsulas 2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
fdc9985e50 Add detection and creation of peninsula
with anotation of outline.
2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
08ee5524d5 Modify GUI for searching support generator configuration
Rename config params.
2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
fc6b8a4b65 Transfer Copy constructor of KDTreeIndirect into copy function
Reason: During Linux testing "fff_print_tests" it Fails from time to time.
ASAN version cause issue inside SeamPerimeters.hpp but I am not sure why.
2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
7c2132bdc8 Comment changes which could lead to crash of tests in build enviroment 2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
cd4d75fa7d Fix duplicit point after alignment
+ fix detection if first_neighbor exist in process queue
2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
15f7b23966 Check for loop only when it is not start edge of thin part 2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
3daed2f02d Continue cleaning code
After thin&thic must be at least 2 support points
2025-02-25 16:41:16 +01:00