246 Commits

Author SHA1 Message Date
supermerill
04f25541b8 #199 allow the machine limits on non-marlin firmware and add for them a "Time estimation compensation" setting 2020-05-10 16:40:36 +02:00
supermerill
0da98baa11 #205 separate external perimeters and thin walls (speed & gcode layout). 2020-05-03 22:09:59 +02:00
supermerill
4151e8fab0 #186 brim settings on the object instead of the print. 2020-05-03 00:14:16 +02:00
supermerill
252809c7c6 #210 skirt & brim use the correct extruder (diameter) when creating the polylines.
Useful for multi-extruders machine with diferent nozzle size.
If an object is printed with multiple nozzle size, the first is used.
2020-05-02 19:20:50 +02:00
supermerill
bd32d4f8cf clean 2020-04-21 17:07:32 +02:00
supermerill
473dca0884 #187 allow empty layer setting 2020-04-18 20:48:17 +02:00
supermerill
2e48f4a4bd avoid crossing perimeters on all layers except first layer #198 2020-04-17 20:31:17 +02:00
supermerill
e28213b6eb #197 fix random seam : forgot that the '&' operator has a low priority. 2020-04-17 16:05:14 +02:00
supermerill
f087cf1239 Merge remote-tracking branch 'remotes/prusa/master'
seems to work
need to update profiles & ui
2020-03-26 12:10:30 +01:00
supermerill
7f4c9c9a5c add "first layer flow" setting, for fuck sake first layer width isn't enough with a cheap printer like an ender3 that can have his bed damaged so easily. 2020-03-22 15:25:34 +01:00
supermerill
1984df6d49 Many fixes to "no seam" option for external perimeter first.
Also some option to only apply to hole (or others)
Also some fixes to some loops options in the codepath.
also a test to thin walls, suspected a bug but can't find it.
2020-03-22 15:25:21 +01:00
supermerill
1bf9afbd80 Merge branch 'stable' 2020-03-22 15:20:33 +01:00
bubnikv
98fb8b626f Fix of Wipe to Infill causes severe overextrusion (thicker walls & infill) (#3842)
Regressinon in regard to PrusaSlicer 2.2.1 due to Vojtech's refactorings
for efficiency.
2020-03-17 09:41:54 +01:00
Lukas Matena
a6a77361ba Multimaterial purging lines fixed on rectangular beds with non-standard origin (#3805) 2020-03-11 16:10:51 +01:00
supermerill
94ecbf39af add layer information into start/end_filament_gcode 2020-03-11 12:38:21 +01:00
Lukas Matena
85bf78f7e7 Fix of #3765 - relaxed empty layer detection 2020-03-05 15:27:00 +01:00
Vojtěch Bubník
b7bed7f118
Merge pull request #3778 from sckunkle/master
Fix double space message.
2020-03-05 09:41:43 +01:00
sckunkle
ebfe7fd01a Fix double space message. 2020-03-04 13:33:25 -06:00
supermerill
a577ae7f87 fix ext_perimeter "vase mode" (height > 2xMin instead of <3) 2020-03-01 19:05:53 +01:00
bubnikv
29086aa00b Fix of a regression from e0811e4aa580983cc5316427414c46b9af7867d6
Due to refactoring of G-code export some "don't care" extrusions
were not extruded at all.
2020-02-21 18:18:17 +01:00
YuSanka
487ac0423e Implemented time estimation for PausePrint (#3544)
DoubleSlider: fixed get_color_for_color_change_tick()
2020-02-20 17:33:43 +01:00
Lukas Matena
cd937d62b5 Make sure that filament stats in gcode are on separate lines 2020-02-14 12:50:26 +01:00
Enrico Turri
4a59a45d51 ENABLE_SHOW_SCENE_LABELS set as default 2020-02-13 13:24:52 +01:00
bubnikv
26a6a9b23f Fixed regression crashing when generating G-code with supports. 2020-02-10 16:37:38 +01:00
bubnikv
7655488639 Ammendment of
Reverted the time estimate number stored into the G-code from
    days/hours/minutes to days/hours/minutes/seconds, because who knows
    who is already parsing the file.
2020-02-10 15:53:11 +01:00
bubnikv
9f40e9e56e Reverted the time estimate number stored into the G-code from
days/hours/minutes to days/hours/minutes/seconds, because who knows
who is already parsing the file.
2020-02-10 15:46:08 +01:00
bubnikv
bfbf3ac94d Follow up on the hot fix of #3637 53bfb6bed32f79c5f29b5ce1491e74f9c322e7f1
This is the correct solution, which maintains the optimization introduced
by 3e0690b37bff4af00015a3b393c39a129ab0d1cc
2020-02-10 14:24:28 +01:00
YuSanka
d81f7d8465 SlicedInfo: Removed secondes from estimated times 2020-02-10 12:52:32 +01:00
bubnikv
53bfb6bed3 Hot fix of Object disappears when wipe to object turned on #3637
which is a regression of an optimization 3e0690b37bff4af00015a3b393c39a129ab0d1cc

With the optimization disabled, the G-code generator will not be slower
than PrusaSlicer 2.1.1. I am leaving the code there to mark for
further optimization opportunities.
2020-02-10 08:24:39 +01:00
bubnikv
b8c898bf40 Fixed a bug in validation of the FDM Print to check for extruder
collisions against already printed objects: Rotation of an object
was not being taken into account.
Fixes #2450 PrusaSlicer 2.0 Sequential printing vs rotate object
Fixes #3585 Always Sequential Printing Error (Regardless of setting, placement or object size)

Fixed some collisions in sequential print just after arrangement by
making the validation using a slightly lower extruder radius value
than the arrangement.

Refactored PrintObject coordinate system so that the PrintObject's
coordinate system is always centered in respect to its ModelObject's
geometries. This refactoring may improve path planning a bit and
it may lower the requirements on bits representing Clipper coordinates
by 1 bit.
2020-02-07 14:10:27 +01:00
bubnikv
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
Enrico Turri
6fa49f5931 Added sequential print order id to 3D scene labels 2020-02-03 11:44:26 +01:00
bubnikv
1278aabf3e Fixed some compiler warnings. 2020-01-30 13:00:51 +01:00
bubnikv
c5fa400208 Fixed regression of 71fa41110049a79ec1d5c3052d22647a38d01bed
where the PrintObject bounding box was not invalidated correctly
when the transformation matrices of instances changed.

Also refactored PrintObject::size() for const correctness.
2020-01-30 12:22:30 +01:00
YuSanka
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
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
cea7cbfaa0 The print order for sequential print now corresponds to the order
at the object list.
Partial fix of https://github.com/prusa3d/PrusaSlicer/issues/3455
2020-01-22 10:50:20 +01:00
lukasmatena
6100a71406
Merge pull request #3548 from KyleMaas/fix-ooze-prevention-issue-2901
Fix bug #2901 - Ooze Prevention on dual extruders (regression)
2020-01-21 14:41:41 +01:00
bubnikv
7efca35c27 Don't store "print_host", "printhost_apikey", "printhost_cafile"
into the G-code.
2020-01-21 09:55:44 +01:00
KyleMaas
53980d074e Fix bug #2901 2020-01-19 11:13:42 -05:00
YuSanka
2259f7b3e8 Code refactoring to mode comparison 2020-01-17 12:24:58 +01:00
bubnikv
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
supermerill
d355df4be5 update 2020-01-14 19:22:49 +01:00
supermerill
873e4fea31 Trying to implement a klipper-friendly profile.
remove M300, M907
using SET_PRESSURE_ADVANCE, PAUSE, ACTIVATE_EXTRUDER instead of g-code
maybe it's not a good idea...
2020-01-14 18:50:23 +01:00
bubnikv
10d1b459bb Fix of
Skirt loops not being honored, only producing single loop #2193
First layer skirt only has half the loops when using multiple extruders #469

The skirt generator used to prime all printing extruders at the 1st layer
if enough skirt lines were configured, while at the other layers the skirt
used to be printed with the 1st extruder printing the layer.

There was a bug introduced quite a long time ago, where not enough skirt
lines were extruded if some extruders were not needed to print the 1st layer.

Newly the skirt generator works the same way on all layers:
All the extruders planned to print a layer are primed over the skirt
if enough skirt lines are configured.
2020-01-14 16:38:34 +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
9038dc21e8 Fixing regression issue after G-code export refactoring. 2020-01-10 15:51:35 +01:00
bubnikv
702a489b03 Fixing compilation isue on non-MS compilers. 2020-01-10 11:53:39 +01:00