329 Commits

Author SHA1 Message Date
Lukas Matena
fd0e9b1597 Changed the way random numbers are generated 2024-11-18 23:41:31 +01:00
Lukas Matena
3913f5c49e Moved into Model.hpp 2024-11-18 23:41:31 +01:00
Lukas Matena
5cd697bdc2 Refactor CutID - first part (SPE-2519) 2024-11-18 23:40:50 +01:00
Lukáš Hejl
886faac74e SPE-2486: Add a new gizmo for fuzzy skin painting. 2024-11-12 15:22:57 +01:00
Lukáš Hejl
2fa92a96a4 Refactor TriangleSelector to allow returning indexed triangle set with information about the color of each facet. 2024-11-08 10:13:34 +01:00
Lukas Matena
9237a68ba9 Use ModelWipeTower instead of config for wipe tower pos and rot (3MF part) - SPE-2520 2024-10-16 12:41:27 +02:00
Lukas Matena
1f9344a5dc Use ModelWipeTower instead of config for wipe tower pos and rot (frontend part) - SPE-2520 2024-10-16 12:27:25 +02:00
enricoturri1966
93a47c971a Port of b2627055e34d1d42b86b32613e3fd0c07051ee63 from branch et_spe2109 2024-06-12 19:11:05 +02:00
Lukáš Hejl
4b8fe98443 SPE-2186: Add shrinkage compensation into filament settings.
There is a limitation that on multi-tool printers, all used filaments must have the same shrinkage compression values.
2024-05-14 17:16:23 +02:00
Lukáš Hejl
e14ba9d431 SPE-2063: Determine correctly which extruders are used when the object is painted by the multi-material painting gizmo.
During the serialization of TriangleSelector and also during reading serialized painting data from 3MF, we cache all used states in the painted triangle mesh.

Based on this information, we can quickly determine which extruders are used and which don't.
2024-05-14 17:16:23 +02:00
Lukáš Hejl
b425fe459d Rename EnforcerBlockerType to TriangleStateType because we no longer use it just as a blocker or an enforcer. 2024-05-14 17:16:23 +02:00
Lukáš Hejl
13e2af71e1 Use more readable data types for storing triangle splitting information. 2024-05-14 17:15:45 +02:00
Lukáš Hejl
76435e7add SPE-1840: Rework multi-material segmentation to work directly on the Voronoi diagram without creating a copy of it.
Previous algorithms assume that they can get an invalid Voronoi diagram. Because of that, during the multi-material segmentation, a copy of the Voronoi diagram was created, and there were several attempts to fix missing vertices and edges. But as it shows, this wasn't a good enough approach and sometimes led to several issues like bleeding layers.

After generalization, our approach for detection and repairs of invalid Voronoi diagrams from Arachne, we could assume that multi-material segmentation gets non-invalid Voronoi diagrams.
With this assumption, we reimplement multi-materials segmentation to work directly on the Voronoi diagram. That should make multi-material segmentation more stable.

So, this should fix several issues like bleeding layers. Also, memory consumption should decrease by a lot. Also, there should be some speedup of multi-materials segmentation.
2024-02-08 15:40:20 +01:00
Filip Sykala - NTB T15p
8bc828919c Add svg icons 2023-09-18 07:31:25 +02:00
Filip Sykala - NTB T15p
255081e342 Merge branch 'master' into fs_svg_SPE-1517 2023-09-13 21:53:59 +02:00
YuSanka
b5304db75b Implemented request from #10284 - Rotate connectors in Cut Tool 2023-09-05 11:17:50 +02:00
Filip Sykala - NTB T15p
ca71305c75 Merge branch 'master' into fs_svg
# Conflicts:
#	src/slic3r/Utils/EmbossStylesSerializable.cpp
#	src/slic3r/Utils/EmbossStylesSerializable.hpp
2023-09-04 13:33:22 +02:00
ps_copyright
f32859c302 final copyright headers 2023-09-01 14:49:07 +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
tamasmeszaros
0b31ef6e1e Beginning of arrange gen2 2023-08-16 09:59:10 +02:00
YuSanka
1b451cdf9f CutGizmo: Big code refactoring.
All manipulations related to cut are extracted to CutUtils now
2023-08-09 13:22:11 +02:00
YuSanka
e8bdd9e78d Code refactoring: Rivet is changed to Snap 2023-07-19 10:25:48 +02:00
YuSanka
7cd99d98f5 WIP: Cut with Rivets
* Code refactoring: get_connector_mesh() and apply_cut_connectors() moved from ModelObject to CutGizmo.
* Allow to change values of space and bulges for snaps
2023-07-19 10:25:47 +02:00
YuSanka
6a2afc9153 WIP: Add new connector - "Rivet"
* Improves for UI
* Implemented Rivet mesh
2023-07-19 10:25:47 +02:00
YuSanka
1aa8d8ea99 WIP: Cut with Tongue and Groove
* Implemented preview rendering of groove
2023-07-19 10:25:47 +02:00
Filip Sykala - NTB T15p
87517c5c68 Merge branch 'fs_dir_per_glyph_SPE-1597' into fs_svg 2023-06-09 11:17:41 +02:00
enricoturri1966
7059adc6b8 SPE-1606: Fixed sla geometry type shown when object has holes 2023-06-09 07:57:39 +02:00
Filip Sykala - NTB T15p
5de06a9ef8 Merge branch 'master' into fs_svg 2023-06-02 10:53:47 +02:00
YuSanka
0e452dcf74 Fix for #10667 - Scaling blocked (or not blocked) incorrecty after cut feature is used
* cut_id for cut object is updated from attributes before all manipulations with perform a cut
 * synchronization of the cut_id for whole model is execute now after all manipulations, related to the cut
2023-05-31 11:18:40 +02:00
enricoturri1966
25575bb3f3 SPE-1716 - Fixed synchronization of layer editing texture when using undo/redo 2023-05-25 11:59:57 +02:00
Lukas Matena
732dd0f6ac Cut: fixed rendering of individual parts, removed some unnecessary variables 2023-05-12 15:40:40 +02:00
YuSanka
1a7f46001b Cut: Process cut in respect to the selected parts 2023-05-12 15:40:40 +02:00
enricoturri1966
663465299b Small refactoring 2023-05-10 11:15:39 +02:00
tamasmeszaros
362267431b Fix transformation assembly problem for arrange polyogon 2023-05-03 09:21:57 +02:00
tamasmeszaros
6831b7094a Trying to fix transformation assembly problem for arrange polyogon 2023-05-03 09:21:57 +02:00
Filip Sykala - NTB T15p
b3d2dbeeb3 Merge branch 'master' into fs_svg
# Conflicts:
#	src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp
2023-04-17 15:54:02 +02:00
enricoturri1966
5bb7428aa4 SPE-1655 - Fixed adding an instance to a mirrored object 2023-04-13 13:09:32 +02:00
Filip Sykala - NTB T15p
382a0fe1e3 Merge branch 'master' into fs_svg
# Conflicts:
#	src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoEmboss.hpp
#	src/slic3r/GUI/Jobs/EmbossJob.cpp
#	src/slic3r/GUI/Jobs/EmbossJob.hpp
#	src/slic3r/GUI/SurfaceDrag.cpp
2023-04-06 08:25:20 +02:00
enricoturri1966
6084a92d9b Fixed conflicts after merge with master 2023-03-30 08:52:20 +02:00
Filip Sykala - NTB T15p
ed8439736c Merge branch 'fs_emboss' into fs_svg 2023-03-15 12:31:38 +01:00
Filip Sykala - NTB T15p
ca5b310e43 Fix: moving with text object(not volume) over build plate by canvas dragging 2023-03-15 11:30:41 +01:00
enricoturri1966
373ae1e19d Tech ENABLE_WORLD_COORDINATE set as default 2023-03-08 11:52:17 +01:00
Filip Sykala - NTB T15p
ae0f4a7c8b Add emboss SVG configuration to model
add Cereal serialization of Polygons and ExPolygons
2023-03-07 09:20:52 +01:00
Vojtech Bubnik
906671fbba Follow-up to 33496449645c8d2a1f2bd8cfb651862a86682385
Reworked handling of approximate / snug bounding boxes
at Model / ModelObject / PrintObject
Further optimized, so that the bounding boxes are not recalculated
unnecesarilly.
2023-02-28 14:48:31 +01:00
Vojtech Bubnik
3349644964 Reworked handling of approximate / snug bounding boxes
at Model / ModelObject / PrintObject
Fixes #9467 #9519 #9646
Also fixed variable layer height editing for case such as mentioned
in the github issues above.
Also likely fixed some of the sinking objects issues.
2023-02-28 11:27:15 +01:00
YuSanka
ec0a3658b0 Implemented SPE-1512 - Cut tool: changing visualization of holes in dowel mode
Related to https://github.com/prusa3d/PrusaSlicer/issues/9771#issuecomment-1438534966
2023-02-27 12:17:22 +01:00
YuSanka
b767c76adb Localization: Updated POT 2023-02-27 10:07:45 +01:00
YuSanka
ffd484eb04 Cut bug fixing:
* Disable "Add/Edit connectors" button then cut to parts
* Fixed flip_cut_plane()
* Fixed cut by Line, when draw line over the cut plane
* Fixed apply of the transformations, when cut to parts

Cut improvements:
* Process "Ctrl"
* Change color of the cut plane when it's hovered
* Don't apply Cut information for result object(s), if cut doesn't have any connector or is cut to parts
  (partially related to #9633 - Add option to Invalidate Cut Info at the time of cutting)
2023-02-15 12:02:10 +01:00
YuSanka
b40473be51 CutGizmo: Improvements to identify Upper/Lower parts_count
+ Rework CutDialog
+ Added "Cut to" section (Idea from #9564[Cut: Keep results as parts of current idea] was used, but there is other implementation)
+ Fix for #9657 - Inconvenient gizma, blocks the view of the cut of small parts
+ Add functionality "Flip cut plane" = Fix for #9632 - Adding connectors to either split cut part
+ ImGuiWrapper: added tooltip for button
2023-02-15 12:02:10 +01:00
Vojtech Bubnik
5b94971fce Organic supports: Added check for variable layer height, with which
Organic supports are not compatible.
Fixes #9528 and similar.
Moved the object max Z against build volume Z to Print::validate().
Updated layer_height_profile_from_ranges() to compress the resulting
ranges.
2023-02-03 15:27:50 +01:00