Commit Graph

150 Commits

Author SHA1 Message Date
0afcf8bfdf 3MF and AMF error reporting: Use boost::log instead of printf(). 2021-02-05 15:20:23 +01:00
8186736502 Improved AMF/3MF security when parsing invalid meshes. 2021-02-05 14:19:51 +01:00
517f71e893 #5071 - Reload from disk for 3mf files 2021-02-01 14:33:07 +01:00
256bdc757b 3mf export - Do not export unneeded space 2021-01-27 15:53:44 +01:00
22e6eb58d1 3mf export - Removed export of duplicated line into model config file 2021-01-27 12:26:46 +01:00
0b9a0c82e7 Fixes after merge. 2021-01-27 09:35:39 +01:00
cf3020fc97 Refactoring of 3MF file export to use the new homebrewed miniz
streaming interface. This shall fix high memory consumption and
crashes when exporting extremely large 3MF files.
2021-01-27 09:18:17 +01:00
14b6687537 WIP: Exporting 3MFs through a streaming interface. 2021-01-27 09:18:16 +01:00
1e9ba4b838 Merge pull request #5544 from hzeller/fix-assignment-of-charliteral-to-writable-charptr
Fix assignment of string literals to char*.
2021-01-05 13:11:29 +01:00
7904fddb80 Escape special xml characters when writing metadata into the model file
This should fix #5577
2021-01-04 14:21:24 +01:00
286672558c Fix assignment of string literals to char*.
Fix some char *foo = "string literal" assignments that
really should be assigned to const char*.

(they also happen to be constexpr, but that only prevents
to assign something later to foo, but does not alter
the char* type).

Signed-off-by: Henner Zeller <h.zeller@acm.org>
2020-12-20 13:40:25 -08:00
a8269f914f Fixed buffer overflow in the OBJ parser.
Improved error reporting on OBJ parser.
2020-12-17 09:53:21 +01:00
a923d5da26 Improvements of OBJ parser robustness. 2020-12-17 09:17:07 +01:00
3b6889e3cc Saving "converted from inches" to 3MF and AMF even if the file source
information is empty.
2020-12-16 12:05:29 +01:00
097724307a Fix of #5443 - Assigned input file path for ModelVolume also for AMF archives 2020-12-15 14:18:11 +01:00
3dbb6fa7ad Fixed retrieving of the "saved in inches" flag from 3MF.
Fixed "import STL from Inches" - it should always scale up even if the
object is bigger than 3x3x3mm.
2020-12-12 18:54:34 +01:00
a6cf909405 Follow-up on aaaa85c1f8
Fix of #5007 - "Reload from disk" causes objects converted to inches to revert to mm
1) Storing and reloading the "source_in_inches" source flag from AMF and 3MF
2) When converting objects with mixed "inches" volumes, do the right thing
   and do not convert those that do not need conversion.
2020-12-12 12:06:15 +01:00
e3afd0082d Added functions to export raw image data to PNG for debugging purposes.
Renamed PNGRead.cpp/hpp to PNGReadWrite.cpp,hpp
EdgeGrid: Resurrected debugging output to PNG.
2020-11-26 09:01:44 +01:00
af0b587f1c Merge of pull request Add support for RepetierServer #4384 by @docbobo
with the following refactorings:

1) Removed the "printhost_slug" config from the Printer config
   and from all the Printer config related spots.
2) "printhost_slug" renamed to "printhost_port". Slug sounds nasty.
3) Improved error reporting of RepetierHost class.
4) Refactored for the new "Physical Printers"

Following refactorings were done independently of the Repetier pull request:
1) Removed PrintHost static print config.
2) Clean-up after conversion of print host configuration
   from Printer config to Physical Printer config.
3) Fixed some issues, where the Printer config was still queried for
   host configuration. Vojtech believes that this should not happen
   after the host configuration is converted to physical printers.

Vojtech still feels that more refactoring is needed in regard to porting
the host configuration from Printer profile to the new Physical Printer
profile.
2020-10-28 09:51:05 +01:00
575da4840f Removed m_ prefix from public member variables. 2020-10-09 13:09:21 +02:00
4e0a0c5c51 New class ModelConfig wrapping DynamicPrintConfig and a timestamp
to help with detecting "not changed" event when taking
Undo/Redo snapshot or synchronizing with the back-end.

Converted layer height profile and supports / seam painted areas
to the same timestamp controlled structure.
2020-09-24 15:34:13 +02:00
f58ee46687 WIP Refactoring of exceptions:
1) All slicer's exceptions are now derived from Slic3r::Exception.
2) New exceptions are defined for slicing errors.
3) Exceptions are propagated to the Plater to show.
It remains to modify the slicing back-end to throw the new SlicingError
exceptions instead of std::runtime_error and to show the other exceptions
by a message dialog instead of a notification.
2020-09-14 18:03:22 +02:00
2e11c4e5b9 Merge branch lm_seam_painter_frontend 2020-09-01 23:03:16 +02:00
58b6d94166 Custom seam: Model integration, backend invalidation, 3MF loading/saving 2020-09-01 22:35:01 +02:00
8f0746fece SLA archive import will now recover the model's original position. 2020-08-27 23:14:42 +02:00
8c5db5020b Move SLA import to libslic3r with png reading using libpng
Also fix flipped object issue
2020-08-27 23:14:42 +02:00
c427e9ce54 Drainholes are saved elevated for 3MF compatibility
This is a follow-up of previous commit
2020-08-24 08:11:12 +02:00
0f53146d4b Changed internal coordinates of drain holes
Drain holes reference position was saved slightly above the mesh to avoid problem when the hole is placed on flat or nearly flat surface
The depth of the hole was internally bigger than what the user has set to compensato for it
However, this leads to problem with scaling and makes reprojection of the holes on the mesh complicated

This commit changes the reference point to the point on the mesh and the extra elevation is handled when rendering and drilling the hole.
The change is reflected in 3MF drain holes versioning so that old 3MFs are loaded correctly.
Reprojection on the mesh after reload from disk/fix through netfabb has been enabled.
2020-08-24 08:11:12 +02:00
b75543f85b Minor change to SLAPrinter interface 2020-08-13 14:35:14 +02:00
1a367dbf1e Fix of custom supports 3MF loading
Multiple-part objects were not handled correctly
2020-08-06 14:08:05 +02:00
fa4a160a2c TriangleSelector: 3MF loading and saving 2020-07-24 17:47:16 +02:00
8da657c4a3 Added well-known metadata to 3mf export 2020-07-21 09:08:48 +02:00
9b7e2216e0 Fixes of the offset curves from Voronoi diagram.
The offset curve extractor is already quite usable,
though singular cases are still not covered yet
when the offset curve intersects or nearly intersects
a Voronoi vertex.

Removal of the PRINTF_ZU "%zu" Visual Studio printf compatibility macro.
Fixes of a contours self intersection test for collinear segments.
SVG exporter now exports white background, so that the GNOME Eye viewer is usable.
2020-06-16 13:15:48 +02:00
fe79c4588c Fixed export/import from/to amf and 3mf file. 2020-06-08 12:25:29 +02:00
06dacd1c84 Editing of the custom GCodes like ColorChange and PausePrint 2020-06-07 22:42:54 +02:00
4e4efeef31 Initial version of sl1 import with sla::Raster refactor. 2020-04-23 19:05:32 +02:00
16e1cd5d19 ENABLE_THUMBNAIL_GENERATOR set as default 2020-03-25 10:15:02 +01:00
bffd07baa6 Fixed some more warnings 2020-03-03 15:53:26 +01:00
f30f139ef0 ENABLE_CONFIGURABLE_PATHS_EXPORT_TO_3MF_AND_AMF set as default 2020-02-13 11:25:34 +01:00
322092a2f8 Merge branch 'master' into lm_tm_hollowing 2020-01-23 17:43:18 +01:00
eef74403bf Synchronized mode of color_print data to/from 3mf/amf
+ Code refactoring " CustomGCode extracted to separate namespace and file
2020-01-23 16:11:21 +01:00
a5ccb7a6c2 Merge branch 'master' into lm_tm_hollowing 2020-01-21 13:00:07 +01:00
45ae1814ca ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE set as default 2020-01-17 12:12:38 +01:00
dfdd2c8cb9 Added "mode" variable for custom_gcode_per_print_z 2020-01-16 16:01:19 +01:00
0fe7a3efa8 Configurable paths export (fullpath or not) to 3mf and amf 2020-01-08 11:11:38 +01:00
9aaf7a8c13 Merge branch 'master' into lm_tm_hollowing 2020-01-06 12:41:29 +01:00
ea908b5b6c Added unit test for checking geometry after save+load to 3mf cycle 2020-01-06 12:10:57 +01:00
8ebf970934 Const correctness improvements:
removed some unnecessary const_casts that remove const.
2020-01-03 16:33:04 +01:00
abfc7e72c1 #3435 - Added object's instances count into Slic3r_PE_model.config inside exported .3mf files 2020-01-02 11:37:50 +01:00
1aea9f0891 3mf and amf import: keep loaded volumes transformation as a member of ModelVolume without applying it to the mesh 2019-12-20 12:11:58 +01:00