Commit Graph

60 Commits

Author SHA1 Message Date
Vojtech Bubnik
2cfe471a05 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
Vojtech Bubnik
3773ebe354 Fixed after removing TBB deprecated APIs 2021-06-23 15:24:05 +02:00
Vojtech Bubnik
e31e3dc00f Win32 specific: SEH handler on background thread. Catches Windows
structured exceptions (hard crashes, segmentation faults...),
converts them to Slic3r::HardCrash exceptions and displays the exception
using the usual PrusaSlicer way.
The SEH handler is installed on the main background slicing thread
as of now, therefore hard crashes in TBB worker threads are not handled.
2021-06-22 09:54:08 +02:00
Vojtech Bubnik
499d8405e9 WIP: Reworked slicing
1) Slicing code moved to TriangleMeshSlicer.cpp,hpp from TriangleMesh.cpp,hpp
2) Refactored to use as little as possible of admesh.
2021-05-17 20:25:59 +02:00
Vojtech Bubnik
f073fbf2f9 Implemented generic mechanism for executing tasks on UI thread synchronously
from the background slicing thread, that supports cancellation.
The generic mechanism is used for generating thumbnails into G-code and
Fixes Fix deadlock when canceling the slicing while gcode is creating thumbnails #6476
Thanks @supermerill for pointing out the issue.
2021-05-04 16:07:32 +02:00
Lukas Matena
2c197570b2 Add a notification when custom support enforcers are not used due to supports being off
It is now emitted from Print::validate and has a hyperlink to enable supports
2021-03-04 09:35:22 +01:00
Vojtech Bubnik
1b7cbd2c36 Further improvement error reporting with buggy custom G-code sections #1516
1) The macro-processor sanitizes the source code line for invalid UTF-8
   characters. Ideally these invalid characters would be replaced with ?,
   they are just dropped as of now. Better than showing an empty string
   when converting to wxString though.
2) G-code export collects full error message for 1st occurence of an error
   for each custom G-code block.
3) The composite error message now displays the errors collected in 2).
4) The error window is now scaled bigger and the Slicer logo is smaller
   if the text is to be rendered with monospaced font, as the monospaced
   text will not be word wrapped.
2020-12-03 12:50:24 +01:00
enricoturri1966
a72d8f7aef ENABLE_GCODE_VIEWER set as default in:
3DScene hpp/cpp

AboutDialog.cpp

BackgroundSlicingProcess hpp/cpp

BitmapCache.cpp

ConfigWizard_private.hpp

GUI_App hpp/cpp

GUI_Init.cpp
2020-11-18 10:44:03 +01:00
David Kocik
34ea49cb91 New Export Finished notification showing path and opening containing folder. Fix of #4917. Fixed wrongly grayed eject button in File menu. Hopefully fix of ctrl shortcut of tooltips at sidebar. 2020-11-04 09:29:08 +01:00
Vojtech Bubnik
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
enricoturri1966
40febf0fb1 Fixed conflicts after merge with master 2020-08-04 09:58:19 +02:00
David Kocik
0c38f234d0 Notifications & warning dialog
notifications
dialog with warnings produced by slicing is shown before exporting
2020-08-03 15:49:25 +02:00
enricoturri1966
acd8801d3a Fixed conflicts after merge with master 2020-05-27 10:32:02 +02:00
Lukas Matena
ae8772b90d Few more include chains broken 2020-05-26 13:46:59 +02:00
enricoturri1966
7c725d73ee GCodeViewer -> Imgui slider for sequential view replaced by DoubleSlider::Control (wip) 2020-05-15 09:22:51 +02:00
enricoturri1966
0c3adc6805 GCodeAnalyzer and GCodePreviewData removed from tech ENABLE_GCODE_VIEWER 2020-05-07 10:49:12 +02:00
enricoturri1966
ebc3285003 Fixed conflicts after merge with master 2020-04-24 10:59:03 +02:00
tamasmeszaros
4e4efeef31 Initial version of sl1 import with sla::Raster refactor. 2020-04-23 19:05:32 +02:00
enricoturri1966
7dd8ac8cb5 Fixed conflicts after merge with master 2020-03-25 12:07:59 +01:00
enricoturri1966
16e1cd5d19 ENABLE_THUMBNAIL_GENERATOR set as default 2020-03-25 10:15:02 +01:00
Lukas Matena
ac501bdf8b Merge branch 'master' into dev 2020-03-24 21:51:05 +01:00
bubnikv
6c75c795df Saving one enumeration of external drives when deciding whether
to verify the file saved or not.
2020-03-12 12:43:09 +01:00
Lukas Matena
0e734239ba Include cleanup in several files
src/slic3r/Config/Snapshot.cpp
src/slic3r/Config/Snapshot.hpp
src/slic3r/Config/Version.cpp
src/slic3r/Config/Version.hpp
src/slic3r/GUI/2DBed.cpp
src/slic3r/GUI/3DBed.cpp
src/slic3r/GUI/3DScene.cpp
src/slic3r/GUI/3DScene.hpp
src/slic3r/GUI/AboutDialog.cpp
src/slic3r/GUI/AboutDialog.hpp
src/slic3r/GUI/AppConfig.cpp
src/slic3r/GUI/BackgroundSlicingProcess.cpp
src/slic3r/GUI/BackgroundSlicingProcess.hpp
2020-03-03 15:47:02 +01:00
Enrico Turri
77d41a143c ENABLE_GCODE_VIEWER - Basic framework for new gcode viewer 2020-03-02 15:13:23 +01:00
foxox
d0955e38de Platter->Plater 2020-01-20 11:16:49 -05:00
bubnikv
7c0cdc3134 Refactoring of GCode::process_layer().
Refactoring of GCode export of color changes, extruder switches etc,
so that the "color change" like extruder switches are applied first
at the Wipe Tower / G-code export, so that adding / removing
an extruder switch at the G-code preview slider does not invalidate
slicing.
2020-01-14 10:31:18 +01:00
YuSanka
2a60846d46 Merge remote-tracking branch 'origin/master' into ys_color_print_extension 2019-11-28 09:01:14 +01:00
Enrico Turri
848827494a ENABLE_THUMBNAIL_GENERATOR -> Thumbnails generated using a callback function 2019-11-22 12:39:03 +01:00
YuSanka
d72e7ce245 ExtruderSequenceDialog :
Fixed layouts after the second opening of the dialog.
 (Removing any extruder from the sequence does not cause an incorrect layout)
Validation of entered values added
 (0 is not a valid value)
2019-11-16 02:12:37 +01:00
tamasmeszaros
b9454e28a4 Follow up, unify boost::thread usage. 2019-11-07 12:58:18 +01:00
Enrico Turri
c0efcd46c6 ENABLE_THUMBNAIL_GENERATOR -> Allow for multiple thumbnails into gcode and sl1 files 2019-10-25 13:59:13 +02:00
Enrico Turri
f9ce06effd ENABLE_THUMBNAIL_GENERATOR -> Code cleanup 2019-10-24 10:25:40 +02:00
Enrico Turri
5cfcfb62db ENABLE_THUMBNAIL_GENERATOR -> WIP: Refactoring and preparation for adding thumbnails to exported gcode and 3mf files 2019-10-23 13:31:24 +02:00
YuSanka
9fbba6d8bd Implemented custom extruder(tool) change from DoubleSlider 2019-10-15 15:42:30 +02:00
bubnikv
4b1cd6c08c Fixing stack overflow issues when slicing in SLA mode:
The BackgroundSlicingProcess thread will now have the same stack size
allocated as the TBB worker threads:
4MB on 64bit systems and 2MB on 32bit systems.
2019-08-30 17:57:53 +02:00
bubnikv
4b6383a512 Changed the G-code export and send to OctoPrint GUI code
to store the G-code next to the project file if it exists,
and to process the project name with the PlaceholderParser.
2019-05-17 16:27:00 +02:00
bubnikv
695b43adb9 Refactoring of the Slice / Export G-code button 2019-03-12 09:41:57 +01:00
YuSanka
d5efdecb6c Implemented another behavior of the "Slice Now" / "Export/Send G-code" buttons (SPE-831) 2019-03-01 11:00:34 +01:00
bubnikv
8e18ea489c WIP: SLA support "Generate points" and "Apply Changes" will reslice
just the selected object.
Added "Host upload active" check on background processing state.
Documented requirements on "update_background_process" to
control the upcoming single "Slice Now" / "Export" button.
2019-02-21 11:40:56 +01:00
Vojtech Kral
c92da95592 Fix: Schedule SLA print uploads too (the same way as FFF) 2018-12-20 16:37:13 +01:00
Vojtech Kral
caafcede3b WIP OctoPrint integration 2018-12-12 13:17:01 +01:00
bubnikv
92e6427511 Trigger background processing update when switching to a preview tab.
Implements "Go Direct to the preview screen after slicing #152"
2018-12-11 17:49:31 +01:00
bubnikv
e99fa7d104 Implemented naming of the SLA export file based on the output file name
template.

Reworked naming of the plater exports to not use the output file name
template, but to derive the file name from the first printable object's name.

Fixed error handling: Reimpemented the Perl's "eval" blocks
as try / catch blocks.
2018-12-03 13:14:28 +01:00
bubnikv
91ac484405 Removed some obsolete Perl bindings.
Removed libslic3r from the default include paths for all modules but
libslic3r. Now headers from libslic3r need to be included with an
explicit path (libslic3r/libslic3r.h etc)
Split the localization macros into I18N.{cpp,h}
2018-11-26 14:41:58 +01:00
bubnikv
0d2a1e6eef Removed legacy GUI Perl bindings,
replaced Print & SLAPrint pointers with BackgroundProcessing pointer
at the GLCanvas3D level, so that the Print & SLAPrint access will be
synchronized with the current printer technology.
2018-11-22 15:29:59 +01:00
bubnikv
8b307bb320 Renamed PrintBase::Status to SlicingStatusEvent
Hopefully it will fix compilation on Linux (some forgotten Status macro?)
2018-11-20 16:27:30 +01:00
bubnikv
d21586242b Fixed missing wxEvent type on GCC, fixed some compiler warnings. 2018-11-20 15:01:32 +01:00
bubnikv
897f8b450e The slicing progress message can now trigger refresh of the 3D scene. 2018-11-20 13:22:26 +01:00
bubnikv
63ee3dc63c Partial update of 3D scene (GLVolumes derived from Model and from
the SLAPrintObject).
Updated PrintBase to generate a unique timestamp at each step invalidation.
2018-11-16 18:28:50 +01:00
tamasmeszaros
96c4b92a90 Merge remote-tracking branch 'origin/dev_native' into tm_sla_supports_backend
# Conflicts:
#	src/libslic3r/SLAPrint.hpp
2018-11-13 17:50:17 +01:00