759 Commits

Author SHA1 Message Date
Filip Sykala
209bebc82e Fix build 2025-02-25 16:41:15 +01:00
Filip Sykala
5d2b3cfc1e Add outline angle rule to decide when support centre line 2025-02-25 16:41:15 +01:00
Filip Sykala
a3d17119f6 Fix aligning
- function belong
- Calculation of move distance on outline

Separate utils tests
2025-02-25 16:41:15 +01:00
Filip Sykala
12b320624b Add filter for end center line support instead of minimal distance. 2025-02-25 16:41:15 +01:00
Filip Sykala
0c9dedcffa Add allignable inner support island point 2025-02-25 16:41:15 +01:00
Filip Sykala
3c4f68fa3f Fix: change .value() connected with optional to dereferece by *
Os X do NOT support std::optional::value()
PrusaSlicer_OsX_Mojave:
../src/libslic3r/SLA/SupportIslands/ExpandNeighbor.cpp:23:50: error: 'value' is unavailable: introduced in macOS 10.14
2025-02-25 16:41:15 +01:00
Filip Sykala
381c9d8fb4 Fix: Linux Warnings 2025-02-25 16:41:15 +01:00
Filip Sykala
ea1e6c0e8f visualization inside of test with macro 2025-02-25 16:41:15 +01:00
Filip Sykala
69c58505cd Center support point contain configuration 2025-02-25 16:41:15 +01:00
Filip Sykala
1c489806ff Compare of Sampling method 2025-02-25 16:41:15 +01:00
Filip Sykala
b6ee9f4368 Add uniform sampling of ExPolygon 2025-02-25 16:41:15 +01:00
Filip Sykala
f44b0d51f1 add minimal width to edge
Fix creation of Field and sampling outline
2025-02-25 16:41:15 +01:00
Filip Sykala
0033deb1d4 Fix for sample between Tiny and Wide part of island 2025-02-25 16:41:14 +01:00
Filip Sykala
fd2193eb77 Successfull creation of field with indexes
Add visualization of Field
2025-02-25 16:41:14 +01:00
Filip Sykala
214f1acea6 Fix calculation of width on VD 2025-02-25 16:41:14 +01:00
Filip Sykala
51ce8fbd62 Create ExPolygon from wide part of island 2025-02-25 16:41:14 +01:00
Filip Sykala
85984ca189 Support island points are generated as unique ptr for option to move with them
+ add fix for cell 2 polygon transformation
2025-02-25 16:41:14 +01:00
Filip Sykala
60a0ac46c2 Align of SP 2025-02-25 16:41:14 +01:00
Filip Sykala
9c9880aba8 Cell from over limit points 2025-02-25 16:41:14 +01:00
Filip Sykala
81f0ad8f63 convert Voronoi cell to polygon 2025-02-25 16:41:14 +01:00
Filip Sykala
51dfdd8f38 Position of Support Point is connected with voronoi graph 2025-02-25 16:41:14 +01:00
Filip Sykala
dd61478fd6 add sample center circles 2025-02-25 16:41:14 +01:00
Filip Sykala
1ab293eb75 Parabola length calculation. 2025-02-25 16:41:14 +01:00
Filip Sykala
18d58da6ea Node data constructor deosnt have own logic
Calculation of Parabola length by sum of line segments
2025-02-25 16:41:14 +01:00
Filip Sykala
dd505eab82 Clean up voronoi test 2025-02-25 16:41:14 +01:00
Filip Sykala
7c4b711aeb separate Voronoi graf and searching longest path into own files 2025-02-25 16:41:14 +01:00
Filip Sykala - NTB T15p
f8058049ac Partialy commented out SLA support point generator tests 2025-02-25 16:41:14 +01:00
Filip Sykala - NTB T15p
2ce4998b39 Remove tear preasure. 2025-02-25 16:41:14 +01:00
Lukas Matena
7c108ccb16 Fixed unit tests for seq printing (failing after the new test was added into Print::validate) 2025-02-17 11:03:16 +01:00
Lukas Matena
15823c3776 Fixed conflicts, fixed compilation of tests 2025-02-17 11:03:13 +01:00
Martin Šach
61291d9219 SPE-2495: Do not put scarft seam start on overhangs and blockers
Update the function offset_along_lines to offset along
perimeters and add a stop condition.
2025-02-14 12:02:29 +01:00
Martin Šach
b037828aef SPE 2549: Use 'bridge' annotation in seam placement
Add 'bridge' annotated points to the perimeter used for
seam placement.
2025-02-14 12:02:29 +01:00
Lukáš Hejl
ba4116577c Fix building of tests in RelWithDebInfo mode on Windows. 2025-02-13 14:11:45 +01:00
Lukáš Hejl
53199bccf7 Fix compilation of test_gcodewriter.cpp. 2025-02-13 10:31:39 +01:00
jalapenopuzzle
419d857a4b #13420 GCodeWriter Correct Z speed too high and add unit tests
#13402 test_gcodewriter.cpp add travel_speed_z tests

These tests fail with the legacy implementation of GCodeWriter::travel_to_xyz_force() because it does not decompose the speed into it's components according to the movement unit vector.

#13420 Correct Z speed too high
2025-02-12 17:05:19 +01:00
jalapnopuzzle
c83f164ed5 #13420 GCodeWriter separate XYZ_EPSILON consistent with XYZF_EXPORT_DIGITS and add unit tests
#13420 test_gcodewriter.cpp add tests for XYZF_EXPORT_DIGITS

Check that movement GCodes are emitted / not emitted according to XYZF_EXPORT_DIGITS.
The new tests demonstrate that XYZF_EXPORT_DIGITS is NOT respected.

#13420 GCodeWriter separate XYZ_EPSILON consistent with XYZF_EXPORT_DIGITS

The value of EPSILON=1e-4 (0.0001) in libslicer3r.h is inconsistent with XYZF_EXPORT_DIGITS=3 (0.001).
This change addresses the inconsistency by introducing XYZ_EPSILON which is computed from XYZ_EXPORT_DIGITS, and changing all relevant GCodeWriter functions which used EPSILON to use XYZ_EPSILON instead.
2025-02-12 17:05:19 +01:00
Jan Bařtipán
cbd4dbc58f Fixed slic3r_jobs_tests.cpp include 2025-02-11 17:22:02 +01:00
Jan Bařtipán
2aab8f1245 test_infill_above_bridges: migrated to newer catch2 2025-02-07 10:29:49 +01:00
Jan Bařtipán
b72d9a4c58 Merge branch 'jb_catch2_update_to_v3.8' 2025-02-07 10:25:04 +01:00
Martin Šach
20687bc27a Use slowdown above bridges 2025-02-06 23:13:50 +01:00
Martin Šach
fc7ab914a1 Create method for infill above bridges identification 2025-02-06 23:13:50 +01:00
Jan Bařtipán
2a593e6d29 Tests: added missing headers 2025-02-06 16:59:53 +01:00
Jan Bařtipán
2b01d14f7b Catch2 updated to v3.8, all tests migrated 2025-02-06 15:55:09 +01:00
jalapenopuzzle
944844131c Fix fff_print_tests and add documentation (PR#13886 from @jalapenopuzzle)
PrusaSlicer/src/libslic3r/GCodeReader.cpp:24: char Slic3r::get_extrusion_axis_char(const Slic3r::GCodeConfig&): Assertion `axis.size() <= 1' failed.
The set_deserialise_strict() method converts 'A' to the string "65" instead of "A". Perhaps this should be fixed more robustly.

Fix fff_print_tests test name Temeperatures -> Temperatures

Fix fff_print_tests All travel moves happen within skirt

Remove the last travel_moves point which returns to the origin (0,0) which is outside the convex hull. This point was causing CHECK(convex_hull.contains(travel_move)) to fail.

Fix fff_print_tests "Used Filament" test Assertion `std::abs(length) < 1000.0' failed

The test configured a retract_length of 10000000 which is larger than the asserted maximum retraction length of 1000.
PrusaSlicer/src/libslic3r/GCode/GCodeWriter.cpp:473: std::string Slic3r::GCodeWriter::_retract(double, double, std::string_view): Assertion `std::abs(length) < 1000.0' failed.
Fixed by doing the print with two different (legal) retraction lengths and checking that the total_used_filament agrees in both cases.

Fix fff_print_tests "Slicing with retraction and lifting" remove illegal negative restart_extra test case

Negative restart_extra is asserted against at PrusaSlicer/src/libslic3r/Extrucer.cpp:58

How to build - add instructions on how to run the unit tests
2025-02-04 09:24:12 +01:00
Lukáš Hejl
1a91c94c47 SPE-2496: Fix negative extrusion widths produced by Arachne.
Adjustment of bead widths by DistributedBeadingStrategy could sometimes lead to removing one of the beads.
When this happened, the negative bead widths were produced.
2025-01-21 14:43:29 +01:00
YuSanka
c5b525ba3f Functions, related to load information from files are extracted from the Model into FileReader
+ GalleryDialog:: load_files() is renamed to add_files_to_custom_dir()
2025-01-13 14:13:04 +01:00
Martin Šach
5be84c56b3 Remove invalid usage of std::filesystem in tests.
The std::filesystem::path methods cannot be compiled for
macOS 10.12. It did not manifest because we compile the
tests only on arm where the target is 11.0.
2025-01-06 16:12:06 +01:00
Lukáš Hejl
fc0feed553 SPE-2597: Fix clipping logic for clipping arcs with negative radius.
When we are clipping the arc with a negative radius (we are taking the longer angle here), we have to check if we still need to take the longer angle after clipping.
Otherwise, we must flip the radius sign to take the shorter angle.
2024-12-13 10:29:23 +01:00
Martin Šach
372a025356 Conditional arrange after load
Decide if we should rearrange after load based on the version
in 3mf config. Rearrange if the version < 2.9.0-alpha1.
In any other case do not rearrange (even if the version is missing).
2024-12-10 11:26:39 +01:00
Martin Šach
45eda1a00f Arrange: Avoid dependency of arrange on multiple beds
Drop the BedsGrid::Gap type alias as it brings more problems than it
solves.
2024-11-20 16:04:15 +01:00