25731 Commits

Author SHA1 Message Date
Lukas Matena
2f602b3ca8 Merge branch 'ms_fix_invalid_scarf' 2025-02-04 11:01:39 +01:00
Martin Šach
6494a3badd Fix #13870: Prefer a corner if there is one clearly rearest corner to be picked when placing rear seam 2025-02-04 11:01:09 +01:00
Martin Šach
6176dcc540 SPE-2639: Fix invalid scarf seam direction leading to whole perimeter scarfs 2025-02-04 11:01:09 +01:00
Martin Šach
ceb9950e35 SPE-2635: Fix picking the rear seam line 2025-02-04 11:01:09 +01:00
Martin Šach
02779e211f SPE-2639: Ensure no scarf seam is generated when a point fail to project to the perimeter 2025-02-04 11:01:09 +01:00
Martin Šach
f3d736ab63 SPE-2639 Make seam placing tolerate invalid data.
Even if the seam placer generates invalid scarf seam
that has start_point == end_point, deal with it
gracefully.
2025-02-04 11:01: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
rtyr
4c5f3502cb HartSmartProducts sync with settings repo 2025-02-03 12:10:37 +01:00
rtyr
eb44ca9fee Sync with settings repo and C1 resources. 2025-02-03 12:05:43 +01:00
YuSanka
23a5e2ad81 Follow-up 61618d63aa - Fixed SPE-2649 : "Reacalculate the dimension of object from inches to mimimeters (The object is too small) 2025-02-03 10:51:16 +01:00
Lukas Matena
2d54db2e35 SPE-2665: Incorrect size of thumbnails when slicing using CLI 2025-01-30 09:41:51 +01:00
Martin Šach
cf7a01b3f0 Fix SPE-2642: Select the bed the currently painted on instance is on when doing automatic painting (#13952) 2025-01-29 15:24:34 +01:00
Lukáš Hejl
8fc4e241d3 SPE-2627: Pass information if the perimeter is a loop or not into the GCodeGenerator::extrude_smooth_path(). (#13753) 2025-01-29 15:21:49 +01:00
Lukas Matena
8976250fb9 Merge branch 'dk_tools' 2025-01-29 15:19:36 +01:00
David Kocik
034f1ba851 revert with comment 2025-01-29 15:19:18 +01:00
David Kocik
c862ecf8e4 Read filament from MMU tools 2025-01-29 15:19:18 +01:00
David Kocik
63573a923c name instead of model 2025-01-29 15:19:18 +01:00
David Kocik
9aea5bc054 Preset name as identifier 2 2025-01-29 15:19:18 +01:00
David Kocik
fcc3d2c3fc User Preset name as identifier 2025-01-29 15:19:17 +01:00
David Kocik
0132273a11 WIP tools in printer state list 2025-01-29 15:19:17 +01:00
David Kocik
578a648e69 SPE-2524: Select printer from Connect with Tools structure 2025-01-29 15:19:17 +01:00
Martin Šach
a9cdf2171a Fix SPE-2658: Update status to finished if possible on objects changed 2025-01-29 12:40:11 +01:00
Lukáš Hejl
d5a6a4457a SPE-2505: Fix collision detection between a single object and wipe tower. (#13444) 2025-01-28 01:00:46 +01:00
Martin Šach
725a8daf36 Fix SPE-2633: Do not move to an empty layer (#13826) 2025-01-28 00:58:48 +01:00
Martin Šach
ff683ec017 Fix SPE-2638: do not acess opl->colors when mesh_info != Color (#13859) 2025-01-23 12:55:29 +01:00
Yuri D'Elia
c540bda309 Build libslic3r-arrange/wrapper as static (PR#13896 from @wavexx)
Fix build on linux without SLIC3R_STATIC (these are for internal use
only).

- Avoids the need for installation (fixes
  https://github.com/prusa3d/PrusaSlicer/pull/13812)
- Fixes build without PIC (fixes
  https://github.com/prusa3d/PrusaSlicer/pull/13810,
  https://github.com/prusa3d/PrusaSlicer/issues/13694), which would
  still result in broken behavior (duplicate static initialization
  crashing on startup).
2025-01-23 12:53:47 +01:00
Lukáš Hejl
e35766bb89 SPE-2496: Fix calculation of perimeter spacing in the multi-material segmentation when the perimeter extrusion width is set to zero. 2025-01-21 14:43:29 +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
Lukáš Hejl
21e549fc9a SPE-2499: Ensure that the first layer of the wipe tower is always entirely filled. 2025-01-21 14:41:54 +01:00
Lukas Matena
6a7318c18a Merge branch 'ys_spe2598_PrusaSlicer' 2025-01-21 14:40:21 +01:00
YuSanka
f51611c83e CLI: Fixed load of the model, when input file isn't project file 2025-01-21 14:40:07 +01:00
YuSanka
c264a216c0 CLI: Fixed a cut function 2025-01-21 14:40:07 +01:00
YuSanka
1f55b1ad79 CLI: Improved read of data
+ implemented CLI_DynamicPrintConfig as DynamicPrintConfig with info about type of cli config and related config_def
 and overridden handle_legacy().
2025-01-21 14:40:07 +01:00
YuSanka
e88ec2d62d ConfigDef & DynamicConfig: Removed CLI-related functions 2025-01-21 14:40:07 +01:00
YuSanka
4be7eeabb4 CLI: Code cleaning and reorganization
+Remove configuration of fhs.hpp on UNIX. Use target_compile_definitions() instead.
2025-01-21 14:40:07 +01:00
YuSanka
253abbfa78 PrusaSlicer completely rework : WIP
* read cli arguments into separate DynamicPrintConfigs
* CLI::run : All separate code blocks are extracted into free functions
2025-01-21 14:40:07 +01:00
YuSanka
42d4f5c775 PrintConfig WIP: Changes related to CLI
* change a little bit a list of options inside CLI*ConfigDefs
* --load and --*-profiles are extracted into separate CLIInputConfigDef
+ removed CLIProfilesSharingConfigDef and DynamicPrintAndCLIConfig as no needed anymore
2025-01-21 14:40:07 +01:00
YuSanka
79ae911140 GUI_InitParams: Set initial values for members
and fixed a typo in opengl_compatibiity_profile
2025-01-21 14:40:07 +01:00
YuSanka
c8c85d3840 PrusaSlicer reorganization: WIP
* Deleted old unused code.
* Functions related to profiles sharing are removed from CLI and used as a free functions now.
* Code blocks related to transformation and actions are extracted into separate free functions.
* Added CLIParams struct to hold current parameters needed to process cli options
2025-01-21 14:40:07 +01:00
Lukas Matena
963f96b31f SPE-2630: Fixed CSG operations on meshes splittable to parts with inward-facing normals (#13786) 2025-01-21 14:38:38 +01:00
Enrico Turri
5938fdb495 SPE-2647 - Fixed wrong Z offset in preview 2025-01-16 14:27:08 +01:00
enricoturri1966
0766ff5339 SPE-2641 - Fixed activation of Measure Gizmo in dependence of selection 2025-01-16 10:03:11 +01:00
Lukáš Hejl
ea0a3b38d4 SPE-2628: Initialize CoolingBuffer with the first printing extruder instead of the first primed extruder when "Prime all printing extruders" is enabled. (#13721) 2025-01-13 14:20:52 +01:00
Lukáš Hejl
17c84d0cb7 SPE-2626: Invalidate the wipe tower when the number of instances changes. (#13779)
WipingExtrusions::mark_wiping_extrusions() precalculates data based on the number of instances when wiping into infill/object is enabled, so we need to invalidate those data when the number of instances changes.
2025-01-13 14:18:07 +01:00
Lukáš Hejl
671d0c9b3d SPE-2615: Fix missing layers and printing in the air on tiny parts with Arachne.
Fix adapted from CuraEngine.

Co-authored-by: ThomasRahm <ThomasRahm@users.noreply.github.com>
Co-authored-by: rburema <r.burema@ultimaker.com>
2025-01-13 14:16:27 +01:00
Lukáš Hejl
f530108a81 SPE-2611: Snap intermediate support layers to nearest object layers.
This prevents the creation of extremely thin layers on the wipe tower, which previously resulted in an excessively large wipe tower in some cases.
2025-01-13 14:15:07 +01:00
Lukas Matena
61618d63aa Merge branch 'ys_spe2523' 2025-01-13 14:13:14 +01:00
YuSanka
0494021cc3 FileReader: Use separate functions for loading of a model from any file and for loading of all information (model, config and config substitutions) from the 3mf.
+ Added localization markers for errors

Plater: load_files() : Check for type_zip_amf and prusa is removed from conditions (it doesn't used as project's extensions anymore).

+ ModelProcessing: Some functions, like delete zero object, detection if model need to be converted from other units or looks like multipart are moved inside load_model() and theirs return values are written in load statistics, which have to be used by UI later.
2025-01-13 14:13:04 +01:00
YuSanka
1bc395cac2 handle_legacy_sla() is moved into handle_legacy_composite() 2025-01-13 14:13:04 +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