Commit Graph

228 Commits

Author SHA1 Message Date
tamasmeszaros
784105f5ad Extend sla archive tests with read-back 2022-04-26 10:57:49 +02:00
tamasmeszaros
0025a65611 Add comment 2022-04-26 09:44:00 +02:00
tamasmeszaros
32a923da93 Archive reader types are now registered in one place 2022-04-26 09:38:03 +02:00
tamasmeszaros
885e6964ba Working svg import
Strange bug in export, see line 111
2022-04-26 09:38:03 +02:00
tamasmeszaros
4ef860811f Wip on svg archive import 2022-04-26 09:38:03 +02:00
tamasmeszaros
e0fc337b2d Get rid of window size parameter from import interface
Make 'Balanced' the default import quality
2022-04-26 09:38:03 +02:00
tamasmeszaros
5ecf29f303 Separate existing sla archive import code 2022-04-26 09:38:03 +02:00
tamasmeszaros
516f459edc Use tight compression for SLA archives with svg 2022-04-19 13:53:50 +02:00
Yuri D'Elia
3a821d6752 Add missing declaration/includes (fix non-PCH build) 2022-02-21 11:15:31 +01:00
tamasmeszaros
66f60de556 SLAArchive framework refactor 2022-02-17 12:50:40 +01:00
tamasmeszaros
b6fe41d5ab Fixes for pwmx format PR 2022-02-14 14:42:47 +01:00
Lukáš Hejl
5e78203241 Added missing includes (GCC11.1 without PCH). 2022-02-14 10:47:39 +01:00
Vojtech Bubnik
0508754033 SLA SVG export: Using string_view literals to avoid unnecessary
std::string allocations and faster string additions
(length of a string_view literal is known without having to
iterate to the trailing NULL).
2022-02-14 09:54:05 +01:00
ole00
7685e70743 SLA: added pwmx format exporter
Pwmx format is used by Anycubic Photon Mono X printers.
File format structure and rle encoding implemented according to:
https://github.com/sn4k3/UVtools
https://github.com/ole00/pwmx_info
2022-02-12 12:55:22 +00:00
enricoturri1966
30dc2bf39c Do not show ProjectDropDialog when drag and dropping a 3mf file produced by other softwares and the plater is not empty 2022-02-04 09:52:00 +01:00
tamasmeszaros
ca7668d858 Change precision units to mm
Add some perf optimization for svg output writing
2022-02-03 16:10:03 +01:00
tamasmeszaros
5e97778528 Added new param sla_output_precision in nanometers
Adopted a fast and easy integer to string conversion
2022-02-03 16:10:03 +01:00
tamasmeszaros
72da90d28f WIP
wip
2022-02-03 16:10:03 +01:00
tamasmeszaros
b45c6ef173 Export scaled integer coordinates into svg
This is faster and lossless
2022-02-03 16:09:57 +01:00
tamasmeszaros
7f153a55b3 SLA archiver implemented for svg output, switchable in config.
new config is sla_archive_format as a string.
WIP


Get rid of SVG class, use manual svg creation


Revert changes in SVG.hpp and SVG.cpp
2022-02-03 16:09:57 +01:00
enricoturri1966
7d87490777 Tech ENABLE_RELOAD_FROM_DISK_REWORK - A bunch of bug fixes in Reload from disk command:
1) Lost orientation after reload from disk (SPE-1182)

2) Wrong objects replacement from reload from disk command (SPE-1183)

3) Reload from disk not disabled for built-in models (SPE-1184)
2022-02-02 14:25:36 +01:00
enricoturri1966
7bd8b3b892 #7791 - Fixed reload from disk command for plain (non zipped) amf files 2022-01-31 14:26:31 +01:00
enricoturri1966
781b457035 Tech ENABLE_SAVE_COMMANDS_ALWAYS_ENABLED set as default 2021-11-30 09:41:43 +01:00
tamasmeszaros
a7260e7257 Add material print speed parameter for sla printers except sl1 2021-11-19 15:08:53 +01:00
tamasmeszaros
53c5b0331e Fix issue with corrupted sl1 import with substituted profile.
fixes SPE-1119
2021-11-18 12:08:24 +01:00
tamasmeszaros
535191c1e9 Verify layerHeight conf value before use 2021-11-05 15:58:40 +01:00
tamasmeszaros
fb429c1e23 Load layer height from config.ini if profile is missing from sl1 archive 2021-11-05 15:31:15 +01:00
Lukas Matena
22f3682c0f Fix of #7155 (broken loading of configs from <=1.41.3) 2021-10-22 17:04:08 +02:00
YuSanka
1cc7b4ba97 Save/Load repaired errors from/to a mesh statistics to/from a 3MF 2021-10-06 10:57:28 +02:00
Vojtech Bubnik
e185bf58b7 Replaced "Simple shorthands for smart pointers" shptr, uqptr, wkptr
with their original names. Using weird shorthands makes the code
unreadable for anyone but the original author.

template<class T> using shptr = std::shared_ptr<T>;
template<class T> using uqptr = std::unique_ptr<T>;
template<class T> using wkptr = std::weak_ptr<T>;
2021-10-04 16:56:26 +02:00
Lukas Matena
4ca2401b69 Several minor improvements and fixed warnings 2021-10-01 14:31:22 +02:00
Vojtech Bubnik
afbbb36fa4 Fixed import of multi-material AMF files, broken due to admesh eradication. 2021-10-01 13:34:22 +02:00
Vojtech Bubnik
b76f66d2d2 Follow-up to 3ee259b602
1) Added parsing of 3MF PrusaSlicer generator semantic version
2) For 3MFs generated by >= "2.4.0-alpha1" and < "2.4.0-alpha3",
   remove unreferenced vertices on loading. This should shrink the incorrectly
   generated 3MFs back.
3) Added check for an empty mesh, which could have crashed PrusaSlicer on 3MF parsing.
2021-09-30 12:18:43 +02:00
enricoturri1966
47d3d068dd Fixed warnings 2021-09-30 09:00:01 +02:00
enricoturri1966
80f28538c5 #7011 - Follow-up of 3ee259b602 - Modified volumes' indices rebase 2021-09-27 16:03:09 +02:00
enricoturri1966
3ee259b602 #7010 - Fixed import of volumes from 3mf. This is a regression wrt. PrusaSlicer 2.4.0-alpha1 due to the 3mf import optimization introduced with 8a2a9dba2f 2021-09-27 14:14:05 +02:00
enricoturri1966
1196251d51 #7015 - Fixed typo in AMFParserContext::endElement() 2021-09-27 12:33:26 +02:00
tamasmeszaros
4d2bf8db0d Switch to current SLA profile if an imported archive doesn't contain it.
Send a warning notification if this happens. Also,if  there is no current SLA profile initialized, an error message will tell the user to switch to an SLA profile before importing.

fixes #6915
2021-09-27 10:00:21 +02:00
tamasmeszaros
33eba4aea6 Rename SLAPrinter interface to SLAArchive as it makes more sense. 2021-09-27 10:00:21 +02:00
Vojtech Bubnik
8a2a9dba2f Eradicated admesh from TriangleMesh:
TriangleMesh newly only holds indexed_triangle_set and
TriangleMeshStats. TriangleMeshStats contains an excerpt of stl_stats.
TriangleMeshStats are updated when initializing with indexed_triangle_set.

Admesh triangle mesh fixing is newly only used when loading an STL.
AMF / 3MF / OBJ file formats are already indexed triangle sets, thus
they are no more converted to admesh stl_file format, nor fixed
through admesh repair machinery. When importing AMF / 3MF / OBJ files,
volume is calculated and if negative, all faces are flipped. Also
a bounding box and number of open edges is calculated.

Implemented its_number_of_patches(), its_num_open_edges()
Optimized its_split(), its_is_splittable() using a visitor pattern.

Reworked QHull integration into TriangleMesh:
    1) Face normals were not right.
    2) Indexed triangle set is newly emitted instead of duplicating
       vertices for each face.

Fixed cut_mesh(): Orient the triangulated faces correctly.
2021-09-20 17:12:22 +02:00
Lukáš Hejl
1c6ecd9c1a Replaced atof and atoi inside 3MF attribute parsing with fast_float::from_chars and boost::spirit that are faster. 2021-09-14 11:09:43 +02:00
enricoturri1966
639cf17e19 Fixed conflicts after merge with master 2021-09-01 13:28:10 +02:00
Lukáš Hejl
ccf671dcc9 Added versioning of the structure of stored data for all three painting gizmos (fdm supports, seam and multi-material). 2021-08-31 15:05:11 +02:00
Vojtech Bubnik
5f26bfd397 Brim separation from object, follow up to 82373334bc
1) Changed the name of the variable "brim_offset" to "brim_separation"
   for clarity.
2) Added legacy conversion after loading an old 3MF that does not define
   then new "brim_separation" variable: The "brim_separation" is being
   filled in with the "elefant_foot_compensation" value to produce
   equal brim separation to the old PrusaSlicer that saved that 3MF file.
2021-08-31 12:22:44 +02:00
enricoturri1966
9c1c723253 Fixed volume name when loading a 3mf, saved with 3rd part software, as project 2021-08-30 11:46:26 +02:00
enricoturri1966
526700db76 Fixed conflicts after merge with master 2021-08-26 12:47:32 +02:00
enricoturri1966
dbaaa35534 Tech ENABLE_SAVE_COMMANDS_ALWAYS_ENABLED -> 1st installment: Allow to save/load empty projects 2021-08-26 10:38:14 +02:00
enricoturri1966
fb1334af85 #5798 - Fixed naming of single part objects when loaded from 3mf files produced by 3rd part softwares 2021-08-23 11:23:31 +02:00
enricoturri1966
79e8e8627f Tech ENABLE_FIX_MIRRORED_VOLUMES_3MF_IMPORT_EXPORT - fixed export/import to/from 3mf file of mirrored volumes 2021-08-20 11:24:48 +02:00
Vojtech Bubnik
a25d2d1de4 Support for SL1S printer:
Where SL1 is mentioned, mention it as SL1 / SL1S.
Support loading / saving of SL1S files in addition to SL1.
2021-08-13 13:40:13 +02:00