Commit Graph

253 Commits

Author SHA1 Message Date
Lukas Matena
2ee572bd31 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
25d916f144 Color change time estimates 2019-07-08 08:40:20 +02:00
bubnikv
c7cc760067 Merge remote-tracking branch 'origin/master' into vb_undo_redo 2019-07-04 20:22:15 +02:00
YuSanka
136e5156bc 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
4b9e366f00 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
a710e7e7e4 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
cb916c4dda Fixed warnings in libslic3r 2019-06-25 16:04:29 +02:00
Lukas Matena
05e6dbbe4b 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
678d0e18a7 WipeTowerIntegration class: print_z is not passed around, ToolChangeResult objects are aware of it 2019-06-14 14:43:40 +02:00
Lukas Matena
aee376762e 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
41164a9cb3 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
da1aea889f Enable wipe tower for all multi-extruder configurations 2019-06-14 12:28:52 +02:00
Lukas Matena
6f7051c3b1 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
0ea6f895c5 Write the total toolchanges statistic to the end of the GCODE file like the other statistics. 2019-06-05 11:23:44 -04:00
Bryan Smith
f364b956fc Add [total_toolchanges] placeholder for filename and custom gcode sections. 2019-06-05 11:23:44 -04:00
Bryan Smith
3d8bd85187 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
04397c7948 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
cf3b992269 GCode.cpp: Update the 'current_extruder' placeholder even if filament start gcode is empty 2019-05-06 14:48:59 +02:00
Lukas Matena
08cb5bc2c7 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
d83a013d6b 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
ea3d30bff1 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
e0e1e2b682 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
f5b5e48ad7 Added cancel mechanism to GCodeAnalyzer::calc_gcode_preview_data() 2019-03-12 11:57:39 +01:00
Enrico Turri
219ea04c23 Fix of #1812 (GCode Anayzer take in account extruder offsets for multiextruder printers) 2019-03-06 10:22:10 +01:00
Enrico Turri
8a29ec2204 GCode Anayzer take in account extruder offsets 2019-03-05 15:03:56 +01:00
Enrico Turri
8a6d29f7d8 Workaround to fix inconsistencies of width of gcode preview extrusion paths 2019-03-01 09:55:43 +01:00
bubnikv
a56f7d60e5 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
c82d346c1a 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
57bd0889c3 Disabled the experimental pressure equalizer. 2019-01-29 18:07:45 +01:00
bubnikv
aaaffd7f90 Fixes Add [layer_num] and [layer_z] to Custom Tool change G-code #1651 2019-01-29 12:02:48 +01:00
Lukas Matena
ed1aad9de4 PURGING FINISHED gcode comment only emitted on layers where some purging was happening 2019-01-21 14:05:28 +01:00
bubnikv
54299d8eb0 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
2f4adc1906 Implemented [filament_extruder_id] placeholder #1568 2019-01-07 15:12:40 +01:00
bubnikv
026bc801e3 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
567b367061 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
8bc04e640a 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
1e6900afa2 Logging of memory usage for the GCodeAnalyzer and GCodePreviewData. 2018-12-18 15:55:45 +01:00
bubnikv
bffcaeff41 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
771928d916 Logging of memory allocations on Windows during the slicing process
when the SLIC3R_LOGLEVEL >= info.
2018-12-18 11:31:41 +01:00
bubnikv
9f43e7d375 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
c586ca4ae0 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
c010e14460 Suppress ColorPrint for the multi-material printing 2018-11-28 16:03:25 +01:00
YuSanka
360133246c Fixed ColorPrint current layer identification 2018-11-28 16:03:24 +01:00
YuSanka
f8bc7cb959 Implementation of the "ColorPrint" on the 3DScene 2018-11-26 16:28:12 +01:00
YuSanka
2fa055903f "SLA Print Settings" implementation (start) 2018-11-19 14:05:29 +01:00
bubnikv
c2e46350f2 Separated Print / PrintObject into PrintBase.cpp/h to support SLAPrint 2018-11-08 14:23:17 +01:00
Lukas Matena
377350db33 When iterating over PrintObject regions, use PrintObject::region_volumes (see also yesterday's commit 3eea327) 2018-11-07 15:17:29 +01:00
Lukas Matena
9ca9e2a545 Merge branch lm_colorprint_integration into dev_native + deleting ticks outside slider range 2018-11-07 14:44:47 +01:00
bubnikv
3eea327ef0 WIP: When iterating over PrintObject's regions, use the region count
by PrintObject::region_volumes. This is due to the way Print::apply()
works, it does not invalidate an existing PrintObject if a new region
is added to the print.
2018-11-06 15:31:26 +01:00
bubnikv
fd1c5dd218 WIP: SL1 profiles, SL1 in wizard, switching between FFF / SLA 2018-10-31 16:22:36 +01:00
bubnikv
a45e9c0a03 WIP: Slicing from GUI. 2018-10-18 18:06:40 +02:00
bubnikv
1f4c758e71 Logging of G-code processing 2018-09-25 16:57:18 +02:00
bubnikv
0558b53493 WIP: Moved sources int src/, separated most of the source code from Perl.
The XS was left only for the unit / integration tests, and it links
libslic3r only. No wxWidgets are allowed to be used from Perl starting
from now.
2018-09-19 11:02:24 +02:00