Commit Graph

360 Commits

Author SHA1 Message Date
Justin Schuh
5bb94aa122 Disable acceleration control if default_acceleration is zero 2021-10-20 21:33:34 +02:00
Vojtech Bubnik
4035a8921e Fix of "About" screen still shows 2020 at the copyright notice (#7018) 2021-09-27 10:07:29 +02:00
enricoturri1966
762e7f9474 Tech ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER set as default 2021-09-14 15:05:33 +02:00
Vojtech Bubnik
1e7965a3a2 Parallelization of the G-code export.
Follow-up to
03b6048684
beee18f229
b5a007a683
etc
2021-09-13 10:04:21 +02:00
Vojtech Bubnik
407a338902 Pimping up SpiralVase code, fix of 03b6048684 2021-09-10 12:10:00 +02:00
Vojtech Bubnik
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
Vojtech Bubnik
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
Vojtech Bubnik
09a34639f7 Fix of recent GCode / GCodeProcessor refactoring: Don't close a FILE
twice.
2021-09-07 17:58:06 +02:00
Vojtech Bubnik
cdd0d90f99 Trying to fix the windows build 2021-09-07 17:31:36 +02:00
Vojtech Bubnik
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
Vojtech Bubnik
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
Lukas Matena
fa38b56022 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
94c05f1dd9 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
7daea7a2dc 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
5dabae7d0d Fixed import of color print view from gcode files into GCodeViewer 2021-07-23 11:27:07 +02:00
enricoturri1966
4537263265 Tech ENABLE_GCODE_WINDOW set as default 2021-07-22 09:37:02 +02:00
enricoturri1966
cef1a00d86 Tech ENABLE_VALIDATE_CUSTOM_GCODE set as default 2021-07-22 09:13:12 +02:00
Lukas Matena
85b0c0c5b2 Slightly improved 'no first layer extrusions' error message 2021-07-02 17:05:31 +02:00
Lukas Matena
03c6bdfe9a 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
6d2677e6fa 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
8cf1e7b77b 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
1cb432a4ae Fixed first batch of locale-dependent calls 2021-05-24 12:20:29 +02:00
enricoturri1966
cedb38d08b Fixed warnings into DoExport 2021-05-07 14:46:10 +02:00
YuSanka
2372f3b029 Fix of #2825 - Add the length of each filament used 2021-05-07 12:48:34 +02:00
Vojtech Bubnik
9a0b9e7f90 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
f28ac7839d FDM backend refactoring: Return PrintRegion by reference, not by pointer.
Added PrintRegion hashing.
2021-05-05 18:13:58 +02:00
Vojtech Bubnik
ef85b428ab WIP: Moving ownership of PrintRegions to PrintObjects. 2021-05-05 16:21:55 +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
Vojtech Bubnik
21c78fdd97 Further fixes of the first_layer_height refactoring. 2021-04-21 14:34:49 +02:00
Vojtech Bubnik
b149169eca 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
c052b78005 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 #6362"
2021-04-15 16:29:30 +02:00
Lukas Matena
0e8f871361 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
76de47ffca 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
25dd2452fa 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
5beca060ed Wipe tower: refactoring of brim and solid infill on first layer 2021-04-05 23:39:27 +02:00
enricoturri1966
1c68f04095 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_window 2021-03-15 11:27:43 +01:00
Vojtech Bubnik
d297847ace 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
f7bb54e037 Fixed unit tests. 2021-03-15 09:55:56 +01:00
Vojtech Bubnik
784e3c45b5 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
cdbb1672a8 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_window 2021-03-08 08:35:49 +01:00
Lukas Matena
d2f8c1492f 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 #3834.
2021-03-05 13:58:45 +01:00
enricoturri1966
1f562c13fb Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_window 2021-03-03 09:07:28 +01:00
enricoturri1966
33126a0717 1st installment of g-code window in preview 2021-03-02 10:01:06 +01:00
Vojtech Bubnik
b07ba9d4f0 Fix of Custom G-code for color change does not process macro #5782
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
b73ce1bd56 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
f33528fa06 Fix of crash when using raft with modified Shape-Box with height 0.5mm #5652
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
88c2a4d7b9 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
0a1811d047 Added a single perimeter to the first layer of support or raft.
Fixes [Request] Add optional perimeter to raft #756
Fixes First support layer does not stick to bed #2101

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. #3772
Fixes raft is larger than necessary #2568
Fixes Supports on the build plate should have a solid bottom interface for better adhesion #1165

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