258 Commits

Author SHA1 Message Date
Lukas Matena
fae06e0773 Vectorization of the wipe tower 2024-11-20 16:04:15 +01:00
Lukas Matena
da13a0a80e Vectorization of customgcode 2024-11-20 16:04:15 +01:00
Lukas Matena
a666effea7 Compilation fixes, renamed CutObjectBase to CutId 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
84e9da9c6c SPE-1841: Replace default extruder with volume extruder for multi-material segmentation.
Previously, the default extruder wasn't handled inside multi-material segmentation, but this could confuse users, especially for multi-volume objects.
Because with multi-volume, it could happen that in the place where two volumes were touching, there could be a change in the used extruder.
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
Martin Šach
21116995d7 Refactor CMake and improve #includes.
* 1. Remove all global include_directories.
* 2. Move 3d party dependencies from src to budled deps if possible.
* Unify and enforce one way of including headers:
    e.g. #include "libslic3r/GCode.hpp" vs #include "GCode.hpp"
    (always use the "libslic3r/GCode.hpp" option).
* Make all dependencies (also header only) a cmake target.
2024-07-08 15:36:46 +02:00
Lukas Matena
dba0377c29 Load MM painting produced by BambuStudio (#12502) 2024-04-05 11:25:31 +02:00
Lukas Matena
9245223f85 Fixes in phrases 2024-03-11 11:20:12 +01:00
Filip Sykala - NTB T15p
99a08efc9c Disallow import of 3mf without mesh, which are not produced by PrusaSlic3r 2024-03-05 14:34:13 +01:00
Filip Sykala - NTB T15p
1696e0447b Use strict schema name.
Limit file size of .rels
Remove unneccesary end tag processing
Skip errors from loadind relations(to support previous behavior without .rels file)
Fix not setted PPath in component.
Add support for PPath in build item
2024-03-05 14:34:13 +01:00
cmguo
f092f4ccd5 Support 3MF Production Extension (PR #10808 by @cmguo) 2024-03-05 14:33:30 +01:00
Filip Sykala - NTB T15p
ee87330859 Add check on existing exactly one .model file in 3mf 2024-02-08 16:22:45 +01:00
Lukas Matena
83a98d43bf Fixed crash when loading invalid 3MFs (SPE-2135)
The crash was introduced in 040a846, which completely threw away handling of the return value
of the importer.load_model_from_file function and replaced it with weaker condition. The purpose
of that change was to solve #8401 (missing error message when loading different invalid 3MF).

This commit reverts that change (and reintroduces #8401). Handling of 3MF loading errors
should be inside the importer.load_model_from_file function, where the check should be
added later.
2024-02-08 16:22:45 +01: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
4bfcbdb019 Put together final_shape and flag final shape is healed.
+ Regenerate final shape on reload from disk
2023-11-02 09:05:15 +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
Filip Sykala - NTB T15p
89cc01f3a9 Hot fix for storing SVG into 3mf to prevent crash 2023-10-31 10:13:12 +01:00
Filip Sykala - NTB T15p
fa09f03c6a Unify behavior of union for import and add volume
Add cache for final ExPolygons
2023-10-27 08:55:47 +02:00
Filip Sykala - NTB T15p
82182ac8b8 Propagate warnings about unhealed shape to UI. 2023-10-16 11:44:08 +02:00
Filip Sykala - NTB T15p
7ae0a40a7c Fix scale for embossed SVG loaded from 3mf - fix matrix
Fix storing © message for texts
2023-09-13 21:46:20 +02:00
Filip Sykala - NTB T15p
05a8746680 Store/load align as text in 3mf with backcompatibility 2023-09-13 17:09:19 +02:00
Filip Sykala - NTB T15p
6daaed3b1f Load old align as center 2023-09-13 11:57:23 +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
fc11639679 change char[] to std::string as svg file data storage 2023-09-06 13:46:49 +02:00
Filip Sykala - NTB T15p
41f1c2caa5 Fix:
../src/libslic3r/Format/3mf.cpp:953:21: error: ‘const string’ {aka ‘const class std::basic_string<char>’} has no member named ‘_Starts_with’
2023-09-05 14:52:33 +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
480c571499 Store shape as svg into 3mf
Without obfuscation of svg.
2023-08-02 22:34:33 +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
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
Filip Sykala - NTB T15p
e831255018 Merge branch 'fs_dir_per_glyph_SPE-1597' into fs_svg
# Conflicts:
#	src/libslic3r/Emboss.cpp
#	src/libslic3r/Format/3mf.cpp
#	src/libslic3r/TextConfiguration.hpp
#	src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoEmboss.hpp
#	src/slic3r/GUI/Jobs/EmbossJob.cpp
#	src/slic3r/GUI/Jobs/EmbossJob.hpp
2023-06-07 11:18:26 +02:00
Filip Sykala - NTB T15p
5de06a9ef8 Merge branch 'master' into fs_svg 2023-06-02 10:53:47 +02:00
Filip Sykala - NTB T15p
733b70b26f Separate horizontal and vertical align
Vertically align on base line of text to be able set base line of per glyph independent on align
2023-05-26 16:50:27 +02:00
Filip Sykala - NTB T15p
35044e29c3 Create text volume with feature per letter transformation. 2023-05-23 10:30:14 +02:00
YuSanka
83a2dc3b5a Follow up 9e56625287 - Added code to avoid a crash and allow to load 3mf even if cut information was corrupted 2023-04-19 12:06:35 +02:00
YuSanka
9e56625287 Fix for #10319 - MacOS 2.6 Alpha6 Crash on project load
This issue was not related to the OS and was caused by bug inside export function.
Wrong object id was saved for the cut objects
2023-04-19 10:01:31 +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
Filip Sykala - NTB T15p
da2d0282b1 Store text fix matrix, param use_surface and emboss 'depth'(size in emboss direction) by emboss Shape to 3mf
Do not store distance and angle to 3mf

Missing implementation for store ExPolygons to .3mf
2023-04-04 15:45:31 +02:00
YuSanka
102d3e0d2c Localization:
* Fixed phrases
* Updated POT
* New POT is merged with community POs
2023-04-03 11:32:50 +02:00
YuSanka
dcf5889cfa Fixed a save to 3mf: Added a check if cut information have to be saved to 3mf 2023-03-29 12:53:09 +02:00
Filip Sykala - NTB T15p
c0f8370bf4 Surface drag is not dependent on text configuration any more 2023-03-27 09:45:10 +02:00
YuSanka
19f2a1d9e9 Unified usage of localization macros in slic3r/libslic3r 2023-03-23 22:55:38 +01:00
David Kocik
d5f229a249 Refactoring of miniz extract calls. Use file_index instead of filename as identifier. 2023-03-17 11:08:49 +01:00
enricoturri1966
424ace119b #9822: Fix of reload from disk unavailable for 3mf files + Tech ENABLE_RELOAD_FROM_DISK_REWORK set as default 2023-03-03 08:56:32 +01:00
Filip Sykala - NTB T15p
3c961f3816 Move 3mf tag into Slic3r namespace - Break back compatibility with loading text volume
Use surface retype as int
2022-12-02 18:47:11 +01:00
Filip Sykala - NTB T15p
bffe75f0c3 Fix for:
../src/libslic3r/Format/3mf.cpp:686:37: error: 'path' is not a member of 'boost::filesystem'; did you mean 'boost::property_tree::path'?
../src/libslic3r/Format/3mf.cpp:2437:32: error: 'remove' is not a member of 'boost::filesystem'
../src/libslic3r/Format/3mf.cpp:2445:36: error: 'remove' is not a member of 'boost::filesystem'
../src/libslic3r/Format/3mf.cpp:2455:32: error: 'remove' is not a member of 'boost::filesystem'
../src/libslic3r/Format/3mf.cpp:2464:32: error: 'remove' is not a member of 'boost::filesystem'
../src/libslic3r/Format/3mf.cpp:2473:32: error: 'remove' is not a member of 'boost::filesystem'
../src/libslic3r/Format/3mf.cpp:2482:32: error: 'remove' is not a member of 'boost::filesystem'
../src/libslic3r/Format/3mf.cpp:2491:32: error: 'remove' is not a member of 'boost::filesystem'
../src/libslic3r/Format/3mf.cpp:2500:32: error: 'remove' is not a member of 'boost::filesystem'
../src/libslic3r/Format/3mf.cpp:2506:32: error: 'remove' is not a member of 'boost::filesystem'
../src/libslic3r/Format/3mf.cpp:2515:32: error: 'remove' is not a member of 'boost::filesystem'
../src/libslic3r/Format/3mf.cpp:2524:36: error: 'remove' is not a member of 'boost::filesystem'
../src/libslic3r/Format/3mf.cpp:2535:32: error: 'remove' is not a member of 'boost::filesystem'
../src/libslic3r/Format/3mf.cpp:2541:32: error: 'remove' is not a member of 'boost::filesystem'
../src/libslic3r/Format/3mf.cpp:2650:62: error: 'path' is not a member of 'boost::filesystem'; did you mean 'boost::property_tree::path'?
../src/libslic3r/Format/3mf.cpp:3315:129: error: 'path' is not a member of 'boost::filesystem'; did you mean 'boost::property_tree::path'?
2022-11-21 13:13:30 +01:00
YuSanka
fbcdd4191b Merge remote-tracking branch 'PRIVATE/master' into ys_emboss_with_master 2022-10-27 13:09:55 +02:00
YuSanka
d1c871758b Cut WIP:
* ObjectDataViewModel: Respect to the volume id, when adding the new volume to the object
* 3mf : Save/Load info about connectors
2022-09-29 14:36:47 +02:00