Commit Graph

3489 Commits

Author SHA1 Message Date
Vojtech Bubnik
add67d769a Fix of 2.3.2 regression in configuration layer (reading of nullable
boolean vectors)
Fix of Filament overrides on saved 3MF MMU profiles are broken #6711
2021-08-13 13:53:09 +02:00
bubnikv
16104587ac Improvement in the subtitution information dialog. 2021-08-13 13:49:43 +02:00
bubnikv
26822347ed Forward compatibility, parameter susbtitution: Substitute vector values
(extruder specific) with their default, if the default
is a single value vector.
Show the "Physical Printers" label in the substitution window.
2021-08-13 13:48:28 +02:00
bubnikv
3a0b71deed Configuration compatibility - implemented substitution and reporting for vectors
of bools (including the nullable bools).
2021-08-13 13:48:12 +02:00
bubnikv
5b843aa291 Fix of the previous commit. 2021-08-13 13:47:07 +02:00
bubnikv
c7691ec95e Forward compatibility - config substitutions:
1) Verify whether a value looks like an enum
2) Always report substitution of an enum with a boolean.
2021-08-13 13:43:33 +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
Vojtech Bubnik
965c2f2c55 Improved error reporting when importing various configuration files:
1) Slic3r::RuntimeError was replaced with ConfigurationError,
   all exceptions thrown by the configuration layer are derived
   from ConfigurationError.
2) When parsing configuration files, ConfigurationError is catched and
   rethrown extended with the file name being parsed.
2021-08-13 13:37:24 +02:00
Vojtech Bubnik
856da036eb Fixed loading of system presets with incompatible system profile keys
before the "reconfigure" dialog is shown.

Replaced boost::filesystem::copy_file() with Slic3r::copy_file()
in config snapshot loading code.
2021-08-13 13:34:40 +02:00
YuSanka
1e60acde12 Substitutions : Implemented InfoDialog 2021-08-13 13:30:50 +02:00
Vojtech Bubnik
8e28ca6f4a Fixed reading of configuration from 3MF broken
with e947a29fc8
2021-08-13 10:52:54 +02:00
Vojtech Bubnik
e947a29fc8 Follow-up to 7c01ddf996
1) Starting with this commit, configuration block exported into G-code
   is delimited by "; prusaslicer_config = begin" and "; prusaslicer_config = end".
   These delimiters look like any other key / value configuration pairs
   on purpose to be compatible with older PrusaSlicer config parsing from G-code.
2) Config parser from G-code newly searches for "; generated by ..."
   comment over the complete G-code, thus it is compatible with various
   post processing scripts extending the G-code at the start.
3) Config parser from G-code parses PrusaSlicer version from
   the "; generated by PrusaSlicer ...." header and if the G-code was
   generated by PrusaSlicer 2.4.0-alpha0 and newer, it expects that
   the G-code already contains the "; prusaslicer_config = begin / end"
   tags and it relies on these tags to extract configuration.
4) A new simple and robust parser was written for reading project configuration
   from 3MF / AMF, while a heuristic parser to read config from G-code located
   at the end of the G-code file was used before.
2021-08-12 15:27:46 +02:00
Lukas Matena
c44715f9e0 Moved 'brim_offset' option into Advanced mode (same as EFC) 2021-08-12 13:38:53 +02:00
Lukas Matena
7e0a2644e2 Fixup of previous commit 2021-08-11 13:38:28 +02:00
Lukas Matena
49ead341ba Follow-up of cf32b56 (postprocessing scripts):
- The optional output_name file might contain the .pp suffix.
- In case the file contains just filename, prepend it with the
  output dir. We don't want to save to current workdir.
2021-08-11 12:12:50 +02:00
Vojtech Bubnik
7a60e8cb3a Follow-up to 215ee293ae:
More robust CLI parser.
2021-08-11 09:49:23 +02:00
Lukáš Hejl
18cff61bd2 Reworked visualization of selected triangles by seed fill and bucket fill inside the multi-material painting gizmo. Now is drawn boundary around a selected area, and also all triangles inside the selected area are drawn with a darker color. 2021-08-10 21:38:48 +02:00
Lukáš Hejl
e5ce748b10 Added missing includes (GCC 11.1) 2021-08-10 21:37:10 +02:00
Vojtech Bubnik
cf32b56454 Implemented extension of the G-code post-processor framework:
1) New environment variable SLIC3R_PP_HOST contains one of
   "File", "PrusaLink", "Repetier", "SL1Host", "OctoPrint", "FlashAir", "Duet", "AstroBox" ...
2) New environment variable SLIC3R_PP_OUTPUT_NAME contains the name
   of the G-code file including path (for SLIC3R_PP_HOST == "File")
   or a name of the file after upload to the host (PrusaLink, Octoprint ...)
3) The post-processing script may suggest a new output file name
   (likely based on SLIC3R_PP_OUTPUT_NAME) by saving it as a single line
   into a new "output name" temp file. The "output name" file name is
   created by suffixing the input G-code file name with ".output_name".

Please note that the G-code viewer visualizes G-code before post-processing.

Fixes Broken PostProcessing when script changes out-filename #6042
2021-08-10 15:22:01 +02:00
Lukáš Hejl
58f83b5e6a The offset is applied after the elephant food compensation. The value of the brim offset is now also measured from the object after the elephant foot compensation. Thus, the brim offset set to zero means that the brim will touch the object even if elephant foot compensation is enabled. 2021-08-10 09:44:39 +02:00
Vojtech Bubnik
04d6b17c57 Fix of Some FDM supports fail to generate due to wrongly-translated enforcer polygons. #6739
Thanks @n8bot for finding the bug.
Also removed some dead code in MM segmentation.
2021-08-10 09:41:28 +02:00
Vojtech Bubnik
9f9cbb46f9 Suppor of "No extrusion" firmware flavor by not emitting the E axis.
Fix of https://github.com/prusa3d/PrusaSlicer/issues/6023
The fix is partial: No extrusions are shown by the final G-code preview.
2021-08-09 17:37:35 +02:00
Lukáš Hejl
b174dacc85 Added a missing include (GCC 11.1) 2021-08-07 08:29:32 +02:00
Lukas Matena
0ccc791750 Merge branch 'fs_QuadricEdgeCollapse' 2021-08-06 18:23:49 +02:00
Lukáš Hejl
666cdeecd9 Forced recomputation of seed fill selected areas when the seed fill angle is changed by ALT+mouse wheel. 2021-08-06 16:46:48 +02:00
Filip Sykala
ef5c94f90a Fix: prevent degeneration of model during simplification 2021-08-06 15:11:20 +02:00
YuSanka
d543d2f29d Fixed "volume is splittable" detection 2021-08-06 15:04:23 +02:00
Lukas Matena
01f32e18d6 Fixed build on Linux, abs->std::abs 2021-08-06 13:03:30 +02:00
Vojtech Bubnik
deda13ffc7 Fixed previous commit 2021-08-05 17:34:04 +02:00
Vojtech Bubnik
54897aeac0 Fixed previous commit 2021-08-05 17:33:41 +02:00
Vojtech Bubnik
ea5a90f08c Merge remote-tracking branch 'remotes/origin/master' into fs_QuadricEdgeCollapse 2021-08-05 17:17:18 +02:00
Vojtech Bubnik
49fdf3da7b follow-up to a86e7107a5:
Make is_converted_from_meters / is_converted_from_inches exclusive-or.
Maybe it would be better to make a single enum from the two booleans,
if they are exclusive-or?
2021-08-05 15:35:44 +02:00
Lukas Matena
215ee293ae CLI parsing: allow giving explicit values for bool options, improved error reporting:
It is now possible to use e.g. --ensure-on-bed=0 for bools (meaning the same as --no-ensure-on-bed).
Using --no- prefix on non-boolean is an error (--no-ensure-on-bed=1)
Providing a value for --no- prefixed bool is an error (--no-loglevel 5)
2021-08-05 13:45:16 +02:00
Lukas Matena
e76b54b770 Follow-up of bc81c22e (renamed the new CLI option --dont-ensure-on-bed to avoid double negatives) 2021-08-04 15:44:35 +02:00
Lukas Matena
bc81c22ea9 CLI: Ensure that objects are on bed by default, new CLI config option:
'dont-ensure-on-bed' (which allows to override). This was the original
behaviour in Slic3r and Sli3rPE, probably broken long ago when CLI
was ported from  Perl.
Also, --scale-to-fit should now work again (#5772)
2021-08-04 12:15:37 +02:00
Lukáš Hejl
9e5fc2e713 XY size compensation is ignored when the object is also painted using the multi-material painting gizmo. A user is also notified about it. 2021-08-03 13:03:06 +02:00
Lukáš Hejl
742a373c1f Added invalidation of the sliced object when gap-fill enabled/disabled if the object is painted using the multi-material painting gizmo.
Filtering of unprintable regions in multi-material segmentation depends on if gap-fill is enabled or not. So sliced object is invalidated when gap-fill was enabled/disabled by option "gap_fill_enabled" or by changing "gap_fill_speed" to force recomputation of the multi-material segmentation.
2021-08-03 13:03:06 +02:00
Lukáš Hejl
b16aada962 Added clipping of finite Voronoi edges that have coordinates that don't fit inside type coord_t. 2021-08-03 13:03:06 +02:00
Lukáš Hejl
93b86da770 Fixed the wrong threshold in the multi-material segmentation. 2021-08-03 13:03:06 +02:00
Lukáš Hejl
d13c08837c Fixed an issue that some triangles weren't selected when bucket fill was used in the multi-material painting gizmo. 2021-08-03 13:03:06 +02:00
Lukáš Hejl
5bd14cf83a Fixed the compiler warning. 2021-08-03 10:16:52 +02:00
YuSanka
e8e3279511 Shapes Gallery :
- Suppress to create a PNG-files for system shapes
 - Allow to load the OBJ files
2021-08-02 15:00:41 +02:00
Lukáš Hejl
bad51cdb52 OSX specific: Fixed darker colors of objects inside multi-material gizmo on macOS running on Arm64 CPU.
For Apple's on Arm CPU computed triangle normals inside fragment shader using dFdx and dFdy has the opposite direction. Because of this, objects had darker colors inside the multi-material gizmo.
Based on https://stackoverflow.com/a/66206648, the similar behavior was also spotted on some other devices with Arm CPU.
2021-08-02 14:59:03 +02:00
Filip Sykala
59d02aea0a Merge branch 'master' into fs_QuadricEdgeCollapse 2021-08-02 09:04:15 +02:00
Vojtech Bubnik
2f6f1f0e55 WIN32 specific Blacklisted libraries check:
1) Polished up wording of the error messages.
2) Made some messages in the SysInfo dialog localized.
3) Renamed LibraryCheck.cpp/hpp to BlacklistedLibraryCheck.cpp/hpp
4) CPPized the BlacklistedLibraryCheck WIN32 C code.
2021-07-30 15:52:52 +02:00
enricoturri1966
5aff44debe ENABLE_PROJECT_DIRTY_STATE set as default 2021-07-30 09:33:51 +02:00
Vojtech Bubnik
654cd753e2 Changed the label of "Marlin Firmware" to "Marlin 2" 2021-07-29 16:21:09 +02:00
Vojtech Bubnik
1659e4c77f Fixed splitting of triangle meshes, where the splitting function
may produce a single triangle, which is then removed by the repair function.
2021-07-29 15:02:50 +02:00
enricoturri1966
438439fd71 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-07-29 13:28:16 +02:00
enricoturri1966
86da45eb66 Horizontal slider in preview to show always (and only) gcode lines indices 2021-07-29 13:28:07 +02:00
David Kocik
0d74502aeb Hint notification
Reads data from hints.ini. Has hyperlinks to highlight settings, toolbars and gizmos.
2021-07-29 13:20:50 +02:00
enricoturri1966
81f4df70dc Fixed conflict after merge with master 2021-07-29 12:25:28 +02:00
Lukáš Hejl
da3a0c6332 Fixed a crash in the multi-material segmentation when projected lines are outside of the BoundingBox used for EdgeGrid. 2021-07-29 11:45:02 +02:00
Lukáš Hejl
f577350f1f Reworked bucket fill so that all neighboring triangles are computed based on information about triangle neighbors. 2021-07-29 11:45:02 +02:00
Lukáš Hejl
6d0e5d3b9c Enabled to set "Maximum width of a segmented region" per object. 2021-07-29 11:45:02 +02:00
Lukáš Hejl
37f5f12f52 Replaced unnecessary double storing of edges in a graph for the multi-material segmentation by storing indices into a shared array of arcs. 2021-07-29 11:45:02 +02:00
Lukáš Hejl
216589fdb1 Get rid of unnecessary double storage of processed input polygons in the multi-material segmentation as ExPolygons and also as Polygons. All processed input polygons are now stored as ExPolygons. 2021-07-29 11:45:02 +02:00
Lukáš Hejl
38866b65b0 Get rid of unnecessary double calling of TriangleSelector::reset() in some cases when TriangleSelector::deserialize() is called. 2021-07-29 11:45:01 +02:00
Lukáš Hejl
2569da95d5 Parallelized the projection of painted regions in multi-material segmentation. 2021-07-29 11:45:01 +02:00
Lukáš Hejl
7a60f1793c Fixed a possible overflowing of a painted area to an unpainted area in multi-material segmentation.
It was reworked graph generation for multi-material segmentation. Now only oriented arcs in one direction are added to the graph for input polygons. This direction matches the direction of the lines in the input polygons.
2021-07-29 11:45:01 +02:00
Lukas Matena
a54f5fb41a Render statistics now shows actual SwapBuffers() calls per second 2021-07-28 12:50:01 +02:00
enricoturri1966
502906178f Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_contours 2021-07-27 09:04:52 +02:00
Vojtech Bubnik
eb6392dccd New slice_mesh() variant slicing with a single plane only, running
on a single thread only (not parallelized).
The new slice_mesh() is used to calculate contour of objects sunken
below the print bed.
2021-07-26 17:02:56 +02:00
tamasmeszaros
27b1174558 Increase minimum oversampling for grid conversion in hollowing
To avoid generation of broken meshes when the space for hollowing is tight
2021-07-26 14:51:22 +02:00
YuSanka
e79bcee739 Fixed update of the default menu after changing of the mode.
+ Added check for the output directory for the G-code extport.
2021-07-26 14:41:38 +02:00
tamasmeszaros
ca67d880ec Fix issues with finding new deps on win 2021-07-26 13:07:20 +02:00
tamasmeszaros
7ed0d6b886 Fix broken hole drilling 2021-07-26 12:28:57 +02:00
enricoturri1966
8df2525355 Fixed conflicts after merge with master 2021-07-23 11:40:07 +02:00
Lukas Matena
d3b1b1f3d5 Fix of clipping plane for SLA supports,
probably broken since 1009f78
2021-07-23 11:32:36 +02:00
enricoturri1966
8ebb2e2a29 Fixed import of color print view from gcode files into GCodeViewer 2021-07-23 11:27:07 +02:00
enricoturri1966
c9aa88db0d Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_contours 2021-07-22 13:00:47 +02:00
enricoturri1966
15b8e68c59 Tech ENABLE_SEAMS_VISUALIZATION set as default 2021-07-22 12:58:33 +02:00
enricoturri1966
59606a0ef6 Tech ENABLE_START_GCODE_VISUALIZATION set as default 2021-07-22 12:32:08 +02:00
enricoturri1966
d5ad47d0ca Tech ENABLE_SCROLLABLE_LEGEND set as default 2021-07-22 12:18:38 +02:00
enricoturri1966
2dd7091cc3 Tech ENABLE_MODIFIED_DOWNSCALE_ON_LOAD_OBJECTS_TOO_BIG set as default 2021-07-22 11:55:08 +02:00
enricoturri1966
5c6810d0bc Fixed conflicts after merge with master 2021-07-22 11:46:00 +02:00
enricoturri1966
65b3be92fe Techs DISABLE_ALLOW_NEGATIVE_Z_FOR_SLA and ENABLE_ALLOW_NEGATIVE_Z set as default 2021-07-22 11:26:31 +02:00
enricoturri1966
81c78d0ecc Tech ENABLE_EXTENDED_M73_LINES set as default 2021-07-22 09:55:39 +02:00
enricoturri1966
7817105abe Tech ENABLE_GCODE_WINDOW set as default 2021-07-22 09:37:02 +02:00
enricoturri1966
5faac3c105 Tech ENABLE_VALIDATE_CUSTOM_GCODE set as default 2021-07-22 09:13:12 +02:00
enricoturri1966
b80fb40fcd Tech ENABLE_GCODE_LINES_ID_IN_H_SLIDER set as default 2021-07-22 08:35:21 +02:00
YuSanka
232309a879 Don't save shapes directory to the "last_dir" 2021-07-21 16:13:40 +02:00
enricoturri1966
2d8f35561a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_contours 2021-07-21 15:35:41 +02:00
enricoturri1966
22f04ca46e Tech ENABLE_SINKING_CONTOURS -> 1st installment 2021-07-21 15:30:57 +02:00
Filip Sykala
b225fadfde Allow skip edge with only one triangle during simplification 2021-07-21 15:23:48 +02:00
enricoturri1966
9264b79be7 Tech ENABLE_RELOAD_FROM_DISK_FOR_3MF set as default 2021-07-21 14:10:05 +02:00
Filip Sykala
87a6c8cb73 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-21 07:52:57 +02:00
YuSanka
097afc6598 Follow-up bf981ae049 : Small improvements 2021-07-20 15:22:52 +02:00
Filip Sykala
5ac2809426 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-20 12:05:58 +02:00
enricoturri1966
c61785f775 Tech ENABLE_SEQUENTIAL_LIMITS set as default 2021-07-20 12:05:15 +02:00
YuSanka
bf981ae049 Temporary workaround for compatibility with older Slicer:
To the "physical_printer" added "preset_name" option as a duplicate of the "preset_names" but like one string.
Note: It will works just for printer preset names without ";" (see #5503)
2021-07-20 10:18:59 +02:00
enricoturri1966
7d3e176a58 GCodeViewer -> Fixed loading of machine limits data from config contained into gcode files 2021-07-20 09:38:35 +02:00
Filip Sykala
bc3da9973b Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-20 08:22:06 +02:00
Filip Sykala
25a4887075 QEC: When collapsing edge flip normal than check other edges in triangle
Quadric is calculated with double precission of normal
Fix calculation of normal for changed triangles
2021-07-19 15:46:41 +02:00
Lukáš Hejl
5405ab1986 Optimized seed fill and bucket fill selection to recompute selection only in case the cursor is pointing on a non-selected triangle. 2021-07-19 11:30:40 +02:00
Lukáš Hejl
5b67fafb75 Fixed a crash in the multi-material gizmo when bucket fill is selected. 2021-07-19 11:30:35 +02:00
Filip Sykala
c444ef81bd Fix status function 2021-07-19 10:12:19 +02:00
Filip Sykala
86a3fd00a5 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-19 09:18:55 +02:00
enricoturri1966
bf7b554235 Disable reload from disk for built-in objects 2021-07-16 12:30:47 +02:00
Lukáš Hejl
51b94f4747 Added the bucket fill tool into the multi-material gizmo. Also, the multi-material gizmo was reworked to show only options applicable for a chosen painting tool. 2021-07-16 09:19:40 +02:00