Commit Graph

3553 Commits

Author SHA1 Message Date
c9cba522c3 Follow-up to ae7d6db1d9
Exporting G-code on a worker thread did not work correctly as the worker
threads were using user's locale, not "C" locale.
The "C" locale is newly enforced to TBB worker threads by
name_tbb_thread_pool_threads_set_locale()
2021-09-13 13:04:12 +02:00
f4ea58dc6b Follow-up to e7591e6aa6
GCodeFormatter default copy constructor / copy operators were not safe
and they were used in debug mode.
2021-09-13 12:51:50 +02:00
fe43b58e93 GCodeWriter: published GCodeFormatter, made it more generic, so
it could be used outside of GCodeWriter.
Ported the GCodeWriter::retract/deretract to GCodeFormatter.
2021-09-13 11:55:44 +02:00
1e7965a3a2 Parallelization of the G-code export.
Follow-up to
03b6048684
beee18f229
b5a007a683
etc
2021-09-13 10:04:21 +02:00
665494e421 Optimized export of floating-point value inside emit_axis.
Change the behavior of generated G-code commands. Now all redundancy padding zeros are removed, which makes G-code a little bit smaller.
2021-09-11 00:54:30 +02:00
28a67ea610 Added fast_float library as a replacement for std::from_chars and strtod. 2021-09-11 00:54:30 +02:00
407a338902 Pimping up SpiralVase code, fix of 03b6048684 2021-09-10 12:10:00 +02:00
193a960e89 Follow-up to beee18f229
WIP to G-code export parallelization through pipelining:
Decoupled CoolingBuffer from GCode / GCodeWriter, ready to be
pipelined on a different thread.
2021-09-10 11:43:59 +02:00
660ffbad58 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_fix_options_z 2021-09-09 10:34:47 +02:00
0e39d8a815 ENABLE_GCODE_VIEWER_STATISTICS - Fixed calculation of time required by GCodeProcessor 2021-09-09 09:35:58 +02:00
229dd208fa Fixed build on MAC 2021-09-08 15:47:27 +02:00
ca9d1ff6e1 Follow-up to b5a007a683
WIP to G-code export parallelization through pipelining:
GCodeProcessor is called during the G-code export,
the G-code is no more reopened and re-read, but it is pipelined
from the G-code generator.
2021-09-08 15:06:12 +02:00
ec0ad05853 Fix after merge with master 2021-09-08 14:34:31 +02:00
6f075e7573 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_fix_options_z 2021-09-08 14:33:20 +02:00
f437cd535d Tech ENABLE_FIX_PREVIEW_OPTIONS_Z - Enable fixing the z position of seams (and other options) in preview 2021-09-08 14:30:40 +02:00
88e6b261fa Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_seams_as_batched_models 2021-09-08 11:37:05 +02:00
09a34639f7 Fix of recent GCode / GCodeProcessor refactoring: Don't close a FILE
twice.
2021-09-07 17:58:06 +02:00
cdd0d90f99 Trying to fix the windows build 2021-09-07 17:31:36 +02:00
2b523d3f19 WIP to G-code export parallelization through pipelining:
New class GCodeOutputStream as a G-code consumer.
In the following steps the GCodeOutputStream will be pipelined with
GCodeProcessor.
2021-09-07 16:23:43 +02:00
1c60fa2704 GCodeProcessor collects positions of line ends for GCodeViewer,
GCodeViewer no more parses G-code just to extract line end positions.
Removed start_mapping_gcode_window(), void stop_mapping_gcode_window(),
they are no more needed.
2021-09-07 15:42:56 +02:00
0baa4ebef0 GCodePostProcessor - use C files instead of C++ streams, C files are faster.
Also fixed a regression - crashes on undefined cancellation callback.
2021-09-07 14:20:21 +02:00
58338a9e3d Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-09-07 12:25:35 +02:00
df30579753 GCodeViewer - Fixed crash when importing gcode generated with Simplify3D and switching to tool view 2021-09-07 12:25:30 +02:00
d854048809 Optimization of GCodeProcessor for speed. 2021-09-07 11:18:12 +02:00
67e2e3c3f9 Replace OpenProcess with GetCurrentProcess where appropriate (#6914)
GetCurrentProcess is more correct and resolves spurious AV warnings.
2021-09-07 09:45:10 +02:00
ee7cc2aacb Revert of 7b4c98d727, clamp toolpaths widths increased to 2mm and added default values for toolpaths width and height 2021-09-07 09:41:14 +02:00
8395d74f58 Fixed build on Linux and macOS that was failing because of using std::to_chars and std::from_chars with floating-point values.
The old version of GCC and Clang support only integers to be passed to std::to_chars and std::from_chars. macOS older version of Clang doesn't support std::from_chars at all. So for Linux and macOS, it was replaced std::from_chars with strtod and temporarily was replace std::to_chars with snprintf.
2021-09-07 07:43:17 +02:00
4c77ae8f4a Pimped up GCodeProcessor::TimeProcessor::post_process():
replaced implicit lambda capture with explicit listing of captured
context for readability and code correctness. Captured this as const.
2021-09-06 18:08:13 +02:00
bd42f9e76e #6828 - Clamping of toolpaths width performed only for gcodes files produced by 3rd part softwares (Tech ENABLE_CLAMP_TOOLPATHS_WIDTH) 2021-09-06 14:31:10 +02:00
dc7b3bedb8 G-code processor tiny change: In place initialization 2021-09-03 17:22:53 +02:00
c1ec01c11e G-code writer optimization: Don't use std::strstream, it is slow! 2021-09-03 17:22:28 +02:00
93aaffbb4f Optimization of GCodeReader:
1) Use std::from_chars() instead of strtod()
2) Own implementation of buffered readline()
2021-09-03 16:21:45 +02:00
bcd7b9ea7b Commenting out untested and unused Polyline::simplify_by_visibility() 2021-09-03 16:21:44 +02:00
2784ff9a1e Rendering seams (and other options) in preview using batched models on systems not supporting OpenGL 3.3 2021-09-03 15:35:44 +02:00
602b203a12 Added logging when bed texture/model is not found 2021-09-03 12:13:10 +02:00
59048a25e3 Fix of "Support on build plate only" no longer overridden by support painting (#6863)
This is a regression to a late PrusaSlicer 2.4.0-alpha0 change
	8dfc0422a8
    Faster and hopefully more reliable projection of paint-on support
    blockers and enforcers on a sliced mesh.
    Previous d89f01c717 did not fix it.
2021-09-03 11:45:08 +02:00
58d2f4c838 Added SS2OSD.dll to blacklist. Raises warning dialog for issue #6864 2021-09-03 09:29:15 +02:00
1b71d710e4 Fix of "Support on build plate only" no longer overridden by support painting (#6863)
This is a regression to a late PrusaSlicer 2.4.0-alpha0 change
	8dfc0422a8
    Faster and hopefully more reliable projection of paint-on support
    blockers and enforcers on a sliced mesh.
2021-09-02 16:29:21 +02:00
591db42eb3 Fix painted seam on vertical surfaces (broken since 8dfc042) 2021-09-02 15:18:05 +02:00
b8b7c2238e fix
../src/libslic3r/QuadricEdgeCollapse.cpp:628:21: warning: comparison of integer expressions of different signedness: 'const int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
../src/libslic3r/QuadricEdgeCollapse.cpp:631:21: warning: comparison of integer expressions of different signedness: 'const int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
../src/libslic3r/QuadricEdgeCollapse.cpp:638:48: warning: comparison of integer expressions of different signedness: 'const int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
../src/libslic3r/QuadricEdgeCollapse.cpp:643:25: warning: comparison of integer expressions of different signedness: 'const int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
../src/libslic3r/QuadricEdgeCollapse.cpp:647:25: warning: comparison of integer expressions of different signedness: 'const int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
2021-09-02 11:41:11 +02:00
da046b42b1 Fix @(Lukas Matena) note about using NDEBUG 2021-09-02 11:24:33 +02:00
3f284bdcce Fix Crash when delete model during simplification 2021-09-01 20:29:27 +02:00
0c73c304e6 FIX Creation of non volume place in mode during simplification 2021-09-01 19:15:16 +02:00
1dc140d239 Follow-up to #6817
1) Activate installed filament or SLA material profile after update_compatible(),
so that the compatiblity and visibility flags of presets are updated.
2) Only activate the first newly installed filament / SLA material profile
if the active printer did not change. This also means that if no filament
profile was active before Wizard was open or it became incompatible with
the newly installed Printer profile, the default filament profile assigned
to the activated Printer is activated preferably, which may or may not
be one of the newly installed filament profiles.
2021-09-01 14:37:20 +02:00
58fbc55708 Check unsaved changes before opening of the ConfigWizard 2021-09-01 13:48:40 +02:00
15ce5d271b Fixed conflicts after merge with master 2021-09-01 13:28:10 +02:00
b81a0e28e2 Implemented configurable speed and acceleration settings for the first
object layer over raft interface:
"first_layer_speed_over_raft", "first_layer_acceleration_over_raft".
Fixes I have a question about the speed of the first layer after the raft. #6623
Fixes Layer After Raft Is Not Considered First Layer! #6166
2021-08-31 16:03:14 +02:00
a79d268c0e 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
80d6db2902 Fixed a bug that the skirt was generated too far from the brim for some objects. 2021-08-31 14:54:37 +02:00
d9fd4d5610 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