Commit graph

360 commits

Author SHA1 Message Date
Justin Schuh
482841b39e Disable acceleration control if default_acceleration is zero 2021-10-20 21:33:34 +02:00
Vojtech Bubnik
43470af0c6 Fix of "About" screen still shows 2020 at the copyright notice () 2021-09-27 10:07:29 +02:00
enricoturri1966
d52ee52098 Tech ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER set as default 2021-09-14 15:05:33 +02:00
Vojtech Bubnik
ae7d6db1d9 Parallelization of the G-code export.
Follow-up to
03b6048684
beee18f229
b5a007a683
etc
2021-09-13 10:04:21 +02:00
Vojtech Bubnik
dc4b783e9e Pimping up SpiralVase code, fix of 03b6048684 2021-09-10 12:10:00 +02:00
Vojtech Bubnik
03b6048684 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
Vojtech Bubnik
beee18f229 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
Vojtech Bubnik
0da0a7b2a0 Fix of recent GCode / GCodeProcessor refactoring: Don't close a FILE
twice.
2021-09-07 17:58:06 +02:00
Vojtech Bubnik
152e236dda Trying to fix the windows build 2021-09-07 17:31:36 +02:00
Vojtech Bubnik
b5a007a683 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
Vojtech Bubnik
b29c0ead7d 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. 
Fixes Layer After Raft Is Not Considered First Layer! 
2021-08-31 16:03:14 +02:00
Lukas Matena
7852ba061c Slightly reworded the 'Empty layers detected' warning,
it mentions the layers between which the problem occurs,
not just the upper one (which may be unclear).
2021-08-27 12:13:15 +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
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
enricoturri1966
8ebb2e2a29 Fixed import of color print view from gcode files into GCodeViewer 2021-07-23 11:27:07 +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
Lukas Matena
3fa78b52b2 Slightly improved 'no first layer extrusions' error message 2021-07-02 17:05:31 +02:00
Lukas Matena
d2874f2e34 Fixed a memory leak during locales switching on macOS and
removed frequent locales switching during gcode processing
2021-06-05 07:09:23 +02:00
Lukas Matena
580dc890b8 Wipe tower: use normal retraction when moving to the tower, not toolchange retraction
This does not make sense, there is always an unretraction when the head arrives at the tower.
2021-05-31 21:23:03 +02:00
Lukas Matena
0d721bfb07 Slightly reworded 'missing layers' warning, to reflect that it is no longer considered an error 2021-05-31 11:16:28 +02:00
Lukas Matena
9ee2fc8275 Fixed first batch of locale-dependent calls 2021-05-24 12:20:29 +02:00
enricoturri1966
62ad1904e2 Fixed warnings into DoExport 2021-05-07 14:46:10 +02:00
YuSanka
b9910669e8 Fix of - Add the length of each filament used 2021-05-07 12:48:34 +02:00
Vojtech Bubnik
0ca6b12da1 Print/PrintObject/PrintRegion refactoring:
Newly the PrintObjects own PrintRegions and Print contains references
to PrintRegions owned by PrintObjects, so that a PrintRegion of the same
content is referenced by Print only once.

The refactoring is a WIP to support multi-material painting.
2021-05-06 13:01:09 +02:00
Vojtech Bubnik
ee15f00574 FDM backend refactoring: Return PrintRegion by reference, not by pointer.
Added PrintRegion hashing.
2021-05-05 18:13:58 +02:00
Vojtech Bubnik
714149dab2 WIP: Moving ownership of PrintRegions to PrintObjects. 2021-05-05 16:21:55 +02:00
Vojtech Bubnik
1aef86f650 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 
Thanks @supermerill for pointing out the issue.
2021-05-04 16:07:32 +02:00
Vojtech Bubnik
0c1953a929 Further fixes of the first_layer_height refactoring. 2021-04-21 14:34:49 +02:00
Vojtech Bubnik
d9ed9149ae 1) Moved first_layer_heigth frrom PrintObjectConfig to PrintConfig.
Thus the first_layer_height is no more object specific. That makes
   a lot of sense due to the brim calculation being performed over
   all layers at once and due to future merging of supports of
   different objects at first layer.
2) Because now first_layer_height is print specific, the relative
   first layer height derived from the object layer height was partially
   disabled: First the relative first layer height is converted to
   an absolute value when importing config, second the side text
   was changed from "mm or %" to "mm". Still the UI allows entering %.

Both changes may be controversial, let's wait for user feedback.
2021-04-21 12:09:43 +02:00
Vojtech Bubnik
48a93e40fb After issuing the color change custom G-code, which is most likely
just M600, reset the internal retract counter, so that a retract
will happen after the firmware returns from M600 to the initial position.

Fixes "Blobs on print after manual color change "
2021-04-15 16:29:30 +02:00
Lukas Matena
8c89bf748b Implemented new acceleration control behaviour for the new Marlin firmware flavor:
- show extra travel acceleration settings in 'Machine limits' page in Printer Settings
    when the new firmware flavor is selected

- updated tooltips on the config values (they were basically wrong even in the current version)

- 'Marlin (legacy)' firmware flavor behaviour should not change: it exports M204 Pa Rb Ta
    (where a, b are the values from machine limits) at the beginning of gcode and it uses
    M204 S... for feature type dependent acceleration settings (legacy variant of M204 P.. T..)

- new Marlin Firmware exports M204 Pa Rb Tc (where a,b,c are the values from machine limits).
    Feature type dependent acceleration is set using M204 P..., not overriding the travel acceleration.
2021-04-06 15:45:49 +02:00
Lukas Matena
f0e9ad46ec Renamed the gcfMarlin enum value to gcfMarlinLegacy so we never mistake it for the new one
There should be no functional change.
2021-04-06 15:45:49 +02:00
Lukas Matena
151a76ee92 Duplicated Marlin firmware flavor to 'Marlin (legacy)' and 'Marlin Firmware'
The two flavors should be identical after this commit, except that GCodeProcessor.cpp was not updated. This shall be done in a later step.
2021-04-06 15:45:49 +02:00
Lukas Matena
a6ddab856b Wipe tower: refactoring of brim and solid infill on first layer 2021-04-05 23:39:27 +02:00
enricoturri1966
db71a6308d Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_window 2021-03-15 11:27:43 +01:00
Vojtech Bubnik
f3f10ff002 Follow up on https://github.com/prusa3d/PrusaSlicer/pull/5219#issuecomment-794515454
Initializing random generator in PlacholderParser from system clock.
2021-03-15 09:55:56 +01:00
Vojtech Bubnik
adcbe4347c Fixed unit tests. 2021-03-15 09:55:56 +01:00
Vojtech Bubnik
ceea9de8b8 WIP: Refactored bridging flow from normal flow, new config value
'thick_bridges' to switch between the Slic3r vs. S3D/Cura/Ideamaker
way of printing 1st object layer over supports.
Simplified the PresetHints.
2021-03-15 09:55:56 +01:00
enricoturri1966
8027c94a41 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_window 2021-03-08 08:35:49 +01:00
Lukas Matena
c25c435d52 Added a new placeholder for custom toolchange gcode (toolchange_z)
This always contains the actual print_z of the toolchange, while layer_z contains the print_z
of the print. The two differ in case that wipe tower without sparse layers is used.

Related to .
2021-03-05 13:58:45 +01:00
enricoturri1966
da7d7ae11b Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_window 2021-03-03 09:07:28 +01:00
enricoturri1966
2c8f385c7f 1st installment of g-code window in preview 2021-03-02 10:01:06 +01:00
Vojtech Bubnik
224f3e506c Fix of Custom G-code for color change does not process macro
Added macro processing of color_change_gcode, pause_print_gcode
and template_custom_gcode custom G-codes when emitting them into
the output G-code.
2021-03-01 12:52:40 +01:00
Lukáš Hejl
a53de51b22 Fix of 8f293f0cb5
When was set use_external_mp_once to true then after first calling the avoid crossing perimeters this flag was reset which cases that on the second call of the avoid crossing perimeters the travel move didn't process as external.
2021-02-25 23:30:22 +01:00
Vojtech Bubnik
43c05d35ea Fix of crash when using raft with modified Shape-Box with height 0.5mm
Reworked skirt generator to only generate skirt at non-empty layers
(layers that actually extruder object or support) and to respect minimum
layer height. Skirt generator stops at the first layer where those both
conditions cannot be met.
2021-02-25 12:18:11 +01:00
enricoturri1966
1e33b95ed7 Follow-up of 33aa6be7b7 -> Validation of custom g-code added using vertical slider in preview at gcode generation level 2021-02-25 08:23:45 +01:00
Vojtech Bubnik
fcb714cd24 Added a single perimeter to the first layer of support or raft.
Fixes [Request] Add optional perimeter to raft 
Fixes First support layer does not stick to bed 

New parameters raft_first_layer_density and raft_first_layer_expansion
to influence the 1st layer of raft or support.
Fixes Allow to disable raft under support structures. 
Fixes raft is larger than necessary 
Fixes Supports on the build plate should have a solid bottom interface for better adhesion 

Changed the 1st layer infill to rectilinear even for soluble materials.
Fixes first layer of support for multi filament support oddly spaced 
Fixes Full Soluble Materials interfacing into Models + Soluble material noise on Bed 
2021-02-24 08:48:40 +01:00
Vojtech Bubnik
d2c46025c7 Fix of Enforce support for first N layers has no effect 2021-02-23 15:31:21 +01:00
enricoturri1966
d3daea2df8 Follow-up of 86d7e1fb90 - Fixed build warning on OsX 2021-02-18 15:35:38 +01:00