Commit Graph

50 Commits

Author SHA1 Message Date
enricoturri1966
8fc5be7e4f Refactoring to allow to quickly build the various options to show the estimated printing time in gcode viewer scene 2020-08-05 15:43:46 +02:00
enricoturri1966
534e8bb909 ENABLE_GCODE_VIEWER -> Export to gcode layer z and layer height at each layer change 2020-07-30 13:49:57 +02:00
enricoturri1966
11cf9a87f1 GCodeProcessor -> Calculate mm3 per mm on the fly 2020-07-29 10:04:10 +02:00
enricoturri1966
2eb4b2caed Fixed conflicts after merge with master 2020-05-27 10:32:02 +02:00
Lukas Matena
c2cd430941 Few more include chains broken 2020-05-26 13:46:59 +02:00
enricoturri1966
5c6a56ca29 GCodeAnalyzer and GCodePreviewData removed from tech ENABLE_GCODE_VIEWER 2020-05-07 10:49:12 +02:00
enricoturri1966
05e4476808 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-04-29 12:53:55 +02:00
bubnikv
10110ed307 WIP: Ironing over top surfaces. 2020-04-14 11:53:28 +02:00
enricoturri1966
a1a4d49f15 Fixed conflicts after merge with master 2020-03-25 12:07:59 +01:00
enricoturri1966
3d6c9e54e9 ENABLE_THUMBNAIL_GENERATOR set as default 2020-03-25 10:15:02 +01:00
Enrico Turri
3b6d334d7b ENABLE_GCODE_VIEWER - Basic framework for new gcode viewer 2020-03-02 15:13:23 +01:00
Enrico Turri
ebbebe3727 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-02-14 08:32:06 +01:00
Enrico Turri
131257cef1 GCodeProcessor basic framework 2020-02-14 08:31:31 +01:00
Enrico Turri
4a59a45d51 ENABLE_SHOW_SCENE_LABELS set as default 2020-02-13 13:24:52 +01:00
Enrico Turri
6fa49f5931 Added sequential print order id to 3D scene labels 2020-02-03 11:44:26 +01:00
bubnikv
71fa411100 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
bubnikv
b54ce0d468 Fixing GCode Skirt generator after refactoring. 2020-01-14 14:24:38 +01:00
bubnikv
98e49772ed 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
bubnikv
8bfc986fa7 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
bubnikv
15eedef74b 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
bubnikv
de70adca9c 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
bubnikv
e0811e4aa5 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
bubnikv
5294c85dfc Some minor polishing of Color print back end. 2020-01-06 09:32:13 +01:00
YuSanka
afcc6bbb08 Code refactoring for Color change implementation 2019-12-17 08:37:50 +01:00
YuSanka
dfd38c7818 Merge remote-tracking branch 'origin/master' into ys_color_print_extension 2019-11-28 09:01:14 +01:00
YuSanka
901a20b3b1 Code cleaning 2019-11-27 15:27:44 +01:00
Enrico Turri
6df506e482 ENABLE_THUMBNAIL_GENERATOR -> Thumbnails generated using a callback function 2019-11-22 12:39:03 +01:00
YuSanka
bc68b8eaf2 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
Lukas Matena
88514eeb0e Merge branch 'lm_low_wipe_tower' 2019-11-14 10:37:04 +01:00
Enrico Turri
2d5c28d6d1 ENABLE_THUMBNAIL_GENERATOR -> Allow for multiple thumbnails into gcode and sl1 files 2019-10-25 13:59:13 +02:00
Enrico Turri
5609f53797 ENABLE_THUMBNAIL_GENERATOR -> Add thumbnail data into gcode output 2019-10-24 10:06:31 +02:00
Enrico Turri
4d1153c866 ENABLE_THUMBNAIL_GENERATOR -> WIP: Refactoring and preparation for adding thumbnails to exported gcode and 3mf files 2019-10-23 13:31:24 +02:00
YuSanka
70ef0f25ef Information from DoubleSlider is saved to Model
GCode creating can work with that values.
2019-10-10 16:03:58 +02:00
Lukas Matena
61cee54dd3 Merge branch 'master' into lm_low_wipe_tower 2019-10-01 13:24:25 +02:00
bubnikv
10eecb2cab 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
Lukas Matena
04f051ff61 Wipe tower now doesn't print sparse layers, it is instead lower than the object 2019-09-20 10:54:20 +02:00
Lukas Matena
805a5d22a1 Fixed couple of warnings in WipeTower.cpp, ToolOrdering.cpp and GCode.cpp 2019-09-04 14:56:35 +02:00
bubnikv
9cbfe8f5ef Make sure the "avoid crossing perimeters" class is resetted
at the start of G-code export.
2019-08-26 09:55:00 +02:00
bubnikv
de43f579a9 Refactoring of AvoidCrossingPerimeters::init_external_mp() 2019-08-25 09:01:01 +02:00
Lukas Matena
eb29c3e01d 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
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
Thomas Moore
da1aea889f Enable wipe tower for all multi-extruder configurations 2019-06-14 12:28:52 +02: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
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
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
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
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