Commit Graph

56 Commits

Author SHA1 Message Date
Lukas Matena
c2418d2fbf Process start_filament_gcode in case of usual single extruder printer
Reported in https://github.com/prusa3d/PrusaSlicer/issues/2652
2019-07-19 10:02:52 +02:00
Lukas Matena
b2d67c3e56 Wipe tower fix (do not skip the first toolchange when printing without the wipe tower)
Also, test multi.t updated so it matches new logic of inserting custom gcodes
2019-07-16 13:10:09 +02:00
Lukas Matena
d2c908ef7f Merge branch 'master' into lm_warnings 2019-07-15 13:26:55 +02:00
bubnikv
e8e35579dd Merge remote-tracking branch 'remotes/origin/vb_undo_redo' 2019-07-15 11:34:18 +02:00
Lukas Matena
ff69c030d7 Merge branch 'lm_improving_wipe_tower'. Summary of changes:
- wipe tower respects max volumetric flow, slowing down with PVA etc is not hardcoded anymore
- wipe tower is now allowed for multiple-extruder printers. single extruder stuff is not used in that case (ramming, cooling, etc.)
- start/end filament and toolchange custom gcodes are now inserted differently than before - see 41164a9
- some refactoring, e.g. the abstract WipeTower class was eradicated
2019-07-15 10:25:38 +02:00
Lukas Matena
4f922fc49c GCodeAnalyzer now recognizes tool-changing commands with MakerWare and Sailfish flavor
These firmwares use M135 Tn and M108 Tn commands for changing active tool, which the analyzer did not recognize. The toolpaths were then rendered in wrong color, extruder offset etc. This surfaced in issue https://github.com/prusa3d/PrusaSlicer/issues/2566
2019-07-12 12:56:41 +02:00
Enrico Turri
96ea3c6de8 Color change time estimates 2019-07-08 08:40:20 +02:00
bubnikv
d98aa0f91d Merge remote-tracking branch 'origin/master' into vb_undo_redo 2019-07-04 20:22:15 +02:00
YuSanka
2db15c620b Fixed colot_print issues:
* Disabled color change information for the SLA and FFF-multimaterial presets
* Corrected switch between "color print" and "feature type" on Preview
2019-07-02 14:06:58 +02:00
Lukas Matena
41b989007f Multimaterial print - making sure that temperatures will be changed with SE printer without the wipe tower 2019-06-26 14:50:12 +02:00
bubnikv
490e09b0ac WIP: Undo / Redo stack.
Integration of the "cereal" serialization library.
Serialization / deserialization of the DynamicConfig / DynamicPrintConfig.
DynamicPrintConfig serializes ordinal identifiers instead
of the option key strings to conserve space.
2019-06-26 13:26:49 +02:00
Lukas Matena
9bbe65c53e Fixed warnings in libslic3r 2019-06-25 16:04:29 +02:00
Lukas Matena
426fda26f7 Wipe tower - refactoring (removed the abstract WipeTower class)
- abstract class WipeTower and its descendant WipeTowerPrusaMM were merged into a single (non-abstract) WipeTower class
- all uses of WipeTower::xy struct were replaced by Eigen Vec2f (it is no longer necessary to be independent on libraries that PrusaSlicer uses)
- the WipeTowerPrusaMM.hpp/.cpp will be renamed in the next commit (hopefully it will retain its git history that way)
2019-06-17 10:16:07 +02:00
Lukas Matena
cd1c2e6b91 WipeTowerIntegration class: print_z is not passed around, ToolChangeResult objects are aware of it 2019-06-14 14:43:40 +02:00
Lukas Matena
cc5a47d96c Changed handling of priming extrusions to allow injection of filament and toolchange custom gcodes
The priming extrusions were handled separately from the rest of the wipe tower toolchanges. In order to be able to use the logic from previous commit for them (custom toolchange gcodes etc), some unpleasant code shuffling was needed
2019-06-14 14:42:07 +02:00
Lukas Matena
3d39707b8c Multimaterial printing: Changed the way how custom gcodes are inserted
Each toolchange now emits:
- end filament custom gcode
- toolchange custom gcode; if not provided, a standard Tn command is inserted
- start filament gcode

Hopefully it is now consistent for SE/ME printers with/without the wipe tower
The priming line does not work - will be fixed in the next commit
2019-06-14 14:38:58 +02:00
Thomas Moore
0e31498f43 Enable wipe tower for all multi-extruder configurations 2019-06-14 12:28:52 +02:00
Lukas Matena
6637574e8a GCode preview shows correct volumetric flow for the wipe tower
The neccessary annotations for the GCodeAnalyzer were missing
2019-06-14 12:28:52 +02:00
Bryan Smith
e598a81dc7 Add new [total_layer_count] placeholder everywhere [layer_num] is avalible.
Missed adding [total_layer_count] to layer_gcode


Revert "Add new [total_layer_count] placeholder everywhere [layer_num] is avalible."

This reverts commit e29e766224a14e1f237908c3e5507ac5586ca5b7.

Revert "Missed adding [total_layer_count] to layer_gcode"

This reverts commit f07907a8acc450e9ae1220c6a9fe4f7c7e6d896c.

Better way to add [total_layer_count]
2019-06-03 14:47:18 +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
Lukas Matena
81ee96b767 GCode.cpp: Update the 'current_extruder' placeholder even if filament start gcode is empty 2019-05-06 14:48:59 +02:00
Lukas Matena
ed112fd11c Wipe tower uses correct gcodes for RepRap gcode flavor (M907->M906, M900->M572 - should fix #1843)
Also, fixed proper setting of the extruder current during toolchange (was broken since 6da83c7)
2019-04-24 12:09:58 +02:00
bubnikv
2fb640ac91 Export of filament statistics into G-code for multi-material prints
has been rewritten to be easier to parse.

Old format
; filament used = 19248.8mm (46.3cm3)
; filament used = 57.4
; filament cost = 1.5
; filament used = 8007.6mm (19.3cm3)
; filament used = 23.9
; filament cost = 0.6
; filament used = 0.0mm (0.0cm3)
; filament used = 0.0mm (0.0cm3)
; filament used = 0.0mm (0.0cm3)
; total filament cost = 2.1

New format
; filament used [mm] = 1600.7,1600.7,1600.7,1600.7,1600.7
; filament used [cm3] = 3.9,3.9,3.9,3.9,3.9
; filament used [g] = 4.8,4.8,4.8,4.8,4.8
; filament cost = 1.5,1.5,1.5,1.5,1.5
; total filament used [g] = 24.0
; total filament cost = 7.5

Where the non-printing extruders are filled in with zeros, and
the trailing non-printing extruders are not exported.

; filament used [g]
and
; filament cost
are only printed if non zero (material density and cost are defined)
2019-04-16 14:25:50 +02:00
Enrico Turri
621808ff8a Fix of #2082 -> Added lines M73 P100 and M73 Q100 to gcode to signal that print is finished 2019-04-08 11:54:58 +02:00
bubnikv
df51a16ffe Improved SLA layer view: Low layer shall be rendered from the slice above,
triangulated slices are shifted slightly away from the clipping planes.

FDM: Ported a "(bridged)" G-code comment from upstream.
2019-03-26 10:38:50 +01:00
Enrico Turri
106f3923b3 Added cancel mechanism to GCodeAnalyzer::calc_gcode_preview_data() 2019-03-12 11:57:39 +01:00
Enrico Turri
01e7389c60 Fix of #1812 (GCode Anayzer take in account extruder offsets for multiextruder printers) 2019-03-06 10:22:10 +01:00
Enrico Turri
500af2bdf6 GCode Anayzer take in account extruder offsets 2019-03-05 15:03:56 +01:00
Enrico Turri
30e67ae991 Workaround to fix inconsistencies of width of gcode preview extrusion paths 2019-03-01 09:55:43 +01:00
bubnikv
cc06b9f06b Fixed an issue, where the output G-code file name was not always updated
from the current Model/ModelObjects.
Fixed a possible race condition in updating Print::m_placeholder_parser
with the proposed filename / filename base.
Improved documentation (source code comments).
2019-02-03 10:41:14 +01:00
bubnikv
9644bc720f Fixed a bug in initialization of some StaticPrintConfig derived classes.
Merged implementation of support for "Octoprint-Cancelobject" #972
thanks @supermerill
2019-01-31 15:09:16 +01:00
bubnikv
52c1ec873e Disabled the experimental pressure equalizer. 2019-01-29 18:07:45 +01:00
bubnikv
dd9de2848b Fixes Add [layer_num] and [layer_z] to Custom Tool change G-code #1651 2019-01-29 12:02:48 +01:00
Lukas Matena
38dbf8b454 PURGING FINISHED gcode comment only emitted on layers where some purging was happening 2019-01-21 14:05:28 +01:00
bubnikv
27aa26bd48 Fix of https://github.com/prusa3d/Slic3r/issues/1631
This is a fix of a long standing bug, where an extrusion is incorrectly
drawn from the end of the last wipe move. Interestingly enough,
this bug is in Slic3r at least since 1.2.9, but lucky enough
it only occured for single perimeter, no infill prints with wipe after
retract enabled, and only if the two successive slices were discretized
exactly the same, which is quite unlikely.
2019-01-14 19:57:41 +01:00
bubnikv
1d3de1f394 Implemented [filament_extruder_id] placeholder #1568 2019-01-07 15:12:40 +01:00
bubnikv
8671c0af5f Fix of #1505, #1541
Fixed a regression issue in initialization of the "Avoid external perimeters"
feature.
2019-01-07 12:20:48 +01:00
bubnikv
0b4be9a2a0 Disabled the print bed mesh temporarily,
bumped up the build version to alpha2,
fixed one minor issue in G-code generator
2019-01-04 16:48:41 +01:00
bubnikv
28e275ef16 The G-code export was reshuffled a bit to reduce peak memory consumption.
Namely, the time estimate memory is released before the G-code
preview data is created from the G-code analyser data.
2018-12-18 17:34:21 +01:00
bubnikv
6464dfc470 Logging of memory usage for the GCodeAnalyzer and GCodePreviewData. 2018-12-18 15:55:45 +01:00
bubnikv
038b56aaa2 Time estimator: Added consumed memory tracing, replaced std::map
with std::vector for lower memory consumption.
2018-12-18 14:10:31 +01:00
bubnikv
a791529ec8 Logging of memory allocations on Windows during the slicing process
when the SLIC3R_LOGLEVEL >= info.
2018-12-18 11:31:41 +01:00
bubnikv
6694db0e0b Fixed a harless assert in PrintObject consturctor.
Fixed a bug in G-code generator regarding the seam hiding.
2018-12-07 11:21:05 +01:00
bubnikv
0e573ebf10 Implemented compatible_printer / compatible_printer_condition
for filaments and SLA materials.

Fixed compatible_printers / compatible_prints dialog to show
system profiles as well.
2018-12-04 17:56:49 +01:00
YuSanka
c26328a0f1 Suppress ColorPrint for the multi-material printing 2018-11-28 16:03:25 +01:00
YuSanka
4741384a4e Fixed ColorPrint current layer identification 2018-11-28 16:03:24 +01:00
YuSanka
321414d772 Implementation of the "ColorPrint" on the 3DScene 2018-11-26 16:28:12 +01:00
YuSanka
d22256c1de "SLA Print Settings" implementation (start) 2018-11-19 14:05:29 +01:00
bubnikv
d79e2d8fa6 Separated Print / PrintObject into PrintBase.cpp/h to support SLAPrint 2018-11-08 14:23:17 +01:00
Lukas Matena
d91784ee5d When iterating over PrintObject regions, use PrintObject::region_volumes (see also yesterday's commit 3eea327) 2018-11-07 15:17:29 +01:00