Commit Graph

155 Commits

Author SHA1 Message Date
4e11552da9 Spiral vase improvements and bugfixes.
Fixes Connecting / expanding Bottom Layers to Vase Perimeter #253
Fixes Slicing error in vase mode #452
Fixes Slicing Issue (Vase Mode, 0.6mm dmr nozzle) #1887
Fixes Top fill pattern isn't used in spiral vase mode #2533
Fixes Cisar's vase doesn't slice correctly, creates artefacts #3595

When the model is sliced, all the contours are newly oriented
counter-clockwise (even holes), merged and then only the largest area
contour is retained. In perimeter generator, if the largest contour
splits into multiple perimeters, newly only the largest area perimeter
is retained in spiral vase mode. These two changes solve #3595 and similar.

The infill is newly calculated only for the bottom solid layers
if the spiral vase mode is active (removes various unwanted infill
along the vase walls), and the last bottom solid layer is switched
to a top solid pattern (solves #2533).

The thin walls are newly enforced to be disabled in spiral vase mode,
and the "ensure vertical shell wall" is enforced in spiral vase mode
to extend the bottom of the vase to the vase hull (fixes #253).
2020-02-08 21:36:43 +01:00
fb235cb675 Color change - handling Color Change data stored for different
printer configuration:

ss -> sm : Just apply the color changes of the original ss project at the active extruder.
ss -> mm : There are no tool changes stored. Ignore color changes, they are invalid because they are extruder non-specific.

sm -> ss : Apply tool changes as color changes (tool changes remember the target color), apply original color changes.
sm -> mm : Ignore both color changes and tool changes.

mm -> ss/sm : Ignore both color changes and tool changes.
2020-02-06 14:03:27 +01:00
1ed313ab79 Synchronized mode of color_print data to/from 3mf/amf
+ Code refactoring " CustomGCode extracted to separate namespace and file
2020-01-23 16:11:21 +01:00
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
cbe5132832 #3540 - Fixed toolpaths preview for empty ranges 2020-01-20 10:38:01 +01:00
2259f7b3e8 Code refactoring to mode comparison 2020-01-17 12:24:58 +01:00
67655743b9 Follow-up of merge of pull request #3293 -> Fixed missing include (for MAC build) 2020-01-16 16:18:35 +01:00
52c590f57a Merge remote-tracking branch 'origin/ys_cp_improvements' 2020-01-16 16:06:19 +01:00
46819224ee Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-01-16 16:03:14 +01:00
75c2b44d23 Follow-up of merge of pull request #3293 -> Fixed link error and toolpaths role colors 2020-01-16 16:02:40 +01:00
89fcd7f95a Added "mode" variable for custom_gcode_per_print_z 2020-01-16 16:01:19 +01:00
20fd874ff2 Merge remote-tracking branch 'origin/master' into ys_cp_improvements 2020-01-16 15:01:57 +01:00
3acfae92e1 Fix of recent wipe tower / tool ordering refactoring. 2020-01-16 14:59:16 +01:00
099118d6f2 Merge remote-tracking branch 'origin/master' into ys_cp_improvements 2020-01-16 14:02:19 +01:00
6be4b3865b Merge remote-tracking branch 'foxox/feature/ScaleSpeedLegendToVisible2' 2020-01-16 13:55:59 +01:00
1b354d8d3c WIP: Enhancement of the FDM back end to support Color Change situations,
when a project was switched from multi-extruder printer to single
extruder printer.
2020-01-16 13:39:03 +01:00
8e5ba5ccc5 Added synonyms to some PrintSteps:
psWipeTower now equals to new psToolOrdering indicating that
the ToolOrdering has been calculated (only if non-sequential mode is active).

psBrim now equals to new psExtrusionPaths
psExtrusionPaths shall be the last step before psWipeTower, indicating
that all the printing extrusions are calculated for the G-code preview
slider to edit the custom per print_z color changes, tool changes etc.
2020-01-15 16:20:16 +01:00
15f873dd74 DoubleSlider: Implemented code for check of used extruders for MustiAsSingle mode 2020-01-15 15:35:56 +01:00
2c958c021d Fixed regression in placement of Color Change event at the correct layer. 2020-01-14 17:35:42 +01:00
390376daae Fix of recent refactoring of color print. 2020-01-14 16:11:03 +01:00
fd6c9582d5 Refactoring fix: making sure that mark_wiping_extrusions doesn't report it wiped something it didn't 2020-01-14 15:43:43 +01:00
ab6a2b71e8 Another bugfixes of GCode export after refactoring. 2020-01-14 15:12:45 +01:00
c96fc5eb51 gcc & clang do not like taking reference of const temporaries. 2020-01-14 12:10:01 +01:00
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
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
91acbd01ed Fixed GCodeAnalyzer and GCodeTimeEstimator to avoid artifacts while rendering toolpaths due to numerical issues on extruder coordinate 2020-01-13 15:27:37 +01:00
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
cc2b9b8849 ToolOrdering: Removed unused parameter. 2020-01-10 11:27:04 +01:00
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
81187e7e0e Some refactoring and const correctness fixes. 2020-01-07 14:35:43 +01:00
61ab9e37d6 #3287 - Fixed GCodeAnalyzer and GCodeTimeEstimator when using Machinekit and Mach3/Linuxcnc gcode flavours 2019-12-09 11:40:26 +01:00
dea83da5b7 Speed legend scales depending on travel visibility. 2019-12-08 00:03:41 -05:00
4ba7cb7ede Fix of the wipe tower starting point
see issues #2968, #3234 and #3248
2019-12-04 13:47:02 +01:00
ddd1df1552 ENABLE_THUMBNAIL_GENERATOR -> render printbed into thumbnails 2019-11-28 14:18:24 +01:00
dfd38c7818 Merge remote-tracking branch 'origin/master' into ys_color_print_extension 2019-11-28 09:01:14 +01:00
901a20b3b1 Code cleaning 2019-11-27 15:27:44 +01:00
6df506e482 ENABLE_THUMBNAIL_GENERATOR -> Thumbnails generated using a callback function 2019-11-22 12:39:03 +01:00
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
88514eeb0e Merge branch 'lm_low_wipe_tower' 2019-11-14 10:37:04 +01:00
f2120c1122 Fixed a sequence of the legend items 2019-11-07 16:36:24 +01:00
c4a62819f4 Implemented new color change preview from Gcode
+ Added missed "change_extruder.svg"
2019-11-07 08:13:26 +01:00
6ed9adaeff New legend for color print.
Some improvements for coloration multimaterial print indicator
2019-11-05 09:48:53 +01:00
418634a677 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-10-31 16:41:03 +01:00
d632d91e79 WipeTower.cpp: The M220 B/R gcode is only emitted for Marlin firmware flavor
The extended gcode is now only supported by Prusa (https://github.com/prusa3d/PrusaSlicer/issues/3114)
A pull request https://github.com/MarlinFirmware/Marlin/pull/15739 aims to extend the gcode in upstream Marlin as well
2019-10-31 15:08:20 +01:00
2896e12a46 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-10-29 07:09:07 +01:00
9e8ce66f70 Fix / improvement of unit tests. 2019-10-25 19:06:40 +02:00
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
32a42f2808 Added tech ENABLE_THUMBNAIL_GENERATOR -> 1st installment of generation of thumbnail from plater (WIP) 2019-10-22 16:02:31 +02:00
2d610f9b84 #3082 - Workaround to fix incorrect object position after applying gcode line G92 into custom gcode 2019-10-21 10:12:42 +02:00
0285e8db2d Merge branch 'et_git_3010' of https://github.com/prusa3d/PrusaSlicer 2019-10-18 12:48:06 +02:00