Commit Graph

36 Commits

Author SHA1 Message Date
3423e05248 Added sequential print order id to 3D scene labels 2020-02-03 11:44:26 +01:00
ec31ef90e9 Refactored PrintObject::m_copies to PrintInstances,
so that the ordering code at G-code export may work directly with
pointers to PrintInstances instead of with pair of <PrintObject, copy idx>.
Also the PrintInstance knows its source ModelInstance, which allows
sorting of PrintInstances for sequential printing in the order
they appear in Plater's object list.
2020-01-23 09:53:06 +01:00
af24a0e1c3 Fixing GCode Skirt generator after refactoring. 2020-01-14 14:24:38 +01:00
6ed818a5e7 Custom G-code references are now being assigned to ToolOrdering::LayerTools()
and the superfluous M600 (color change) events are filtered out there.

Fixed a handful of compiler warnings.
2020-01-14 11:54:09 +01:00
7c0cdc3134 Refactoring of GCode::process_layer().
Refactoring of GCode export of color changes, extruder switches etc,
so that the "color change" like extruder switches are applied first
at the Wipe Tower / G-code export, so that adding / removing
an extruder switch at the G-code preview slider does not invalidate
slicing.
2020-01-14 10:31:18 +01:00
8406b2dafa Refactoring of ToolOrdering (wipe into infill / object)
Refactoring of GCode::_do_export()
Helper lower_bound and search functions similar to std, but without
needing the value object explicitely.
2020-01-10 11:27:04 +01:00
a2402630b8 Optimization of G-code export: Don't make copies of ExtrusionEntities
when sorting them into Extruders / Islands / Regions.
2020-01-09 10:00:48 +01:00
823100f3d9 Optimization of G-code export:
1) Don't allocate ExtruderOverrides if not necessary
2) Use boost::container::small_vector<int32, 3) for ExtruderOverrides
   (usually less than 4 instances are printed))
2020-01-08 14:58:24 +01:00
f9752f1d75 Some minor polishing of Color print back end. 2020-01-06 09:32:13 +01:00
ee69087873 Code refactoring for Color change implementation 2019-12-17 08:37:50 +01:00
2a60846d46 Merge remote-tracking branch 'origin/master' into ys_color_print_extension 2019-11-28 09:01:14 +01:00
9522a57676 Code cleaning 2019-11-27 15:27:44 +01:00
848827494a ENABLE_THUMBNAIL_GENERATOR -> Thumbnails generated using a callback function 2019-11-22 12:39:03 +01:00
d72e7ce245 ExtruderSequenceDialog :
Fixed layouts after the second opening of the dialog.
 (Removing any extruder from the sequence does not cause an incorrect layout)
Validation of entered values added
 (0 is not a valid value)
2019-11-16 02:12:37 +01:00
9ed8b01a19 Merge branch 'lm_low_wipe_tower' 2019-11-14 10:37:04 +01:00
c0efcd46c6 ENABLE_THUMBNAIL_GENERATOR -> Allow for multiple thumbnails into gcode and sl1 files 2019-10-25 13:59:13 +02:00
e539c8bbfd ENABLE_THUMBNAIL_GENERATOR -> Add thumbnail data into gcode output 2019-10-24 10:06:31 +02:00
5cfcfb62db ENABLE_THUMBNAIL_GENERATOR -> WIP: Refactoring and preparation for adding thumbnails to exported gcode and 3mf files 2019-10-23 13:31:24 +02:00
4ea0e7bf9d Information from DoubleSlider is saved to Model
GCode creating can work with that values.
2019-10-10 16:03:58 +02:00
ec845a47d2 Merge branch 'master' into lm_low_wipe_tower 2019-10-01 13:24:25 +02:00
702c06d4b6 Reworked Traveling Salesman Problem code for simplicity and robustness.
The TSP algorithm is newly used for planning of the printing order
of objects AND their instances.
2019-09-26 16:39:50 +02:00
55e70da486 Wipe tower now doesn't print sparse layers, it is instead lower than the object 2019-09-20 10:54:20 +02:00
6f0b44da72 Fixed couple of warnings in WipeTower.cpp, ToolOrdering.cpp and GCode.cpp 2019-09-04 14:56:35 +02:00
ea01557635 Make sure the "avoid crossing perimeters" class is resetted
at the start of G-code export.
2019-08-26 09:55:00 +02:00
2084ddb9e1 Refactoring of AvoidCrossingPerimeters::init_external_mp() 2019-08-25 09:01:01 +02:00
8aad1fd1f1 Wipe tower accounts for extruder offsets
Also, in case of non-single-extruder printer with the wipe tower, first wiping line was printed where the border should have been - fixed
2019-07-19 13:00:10 +02:00
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
cd1c2e6b91 WipeTowerIntegration class: print_z is not passed around, ToolChangeResult objects are aware of it 2019-06-14 14:43:40 +02:00
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
0e31498f43 Enable wipe tower for all multi-extruder configurations 2019-06-14 12:28:52 +02:00
52c1ec873e Disabled the experimental pressure equalizer. 2019-01-29 18:07:45 +01:00
dd9de2848b Fixes Add [layer_num] and [layer_z] to Custom Tool change G-code #1651 2019-01-29 12:02:48 +01:00
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
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
056a3465ad Merge branch lm_colorprint_integration into dev_native + deleting ticks outside slider range 2018-11-07 14:44:47 +01:00
1260b8deb3 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