230 Commits

Author SHA1 Message Date
supermerill
6f9dc88aa6 #224 setting to force one skirt with complete_objects 2020-05-10 16:40:40 +02:00
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
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
f47e7a67c7 #178 brim offset 2020-04-21 17:08:08 +02:00
supermerill
2e48f4a4bd avoid crossing perimeters on all layers except first layer #198 2020-04-17 20:31:17 +02:00
supermerill
cb836d25ac #165 inside brim fix & allow only inside brim. 2020-03-28 21:04:12 +01:00
supermerill
dae1e892b6 relax max width (change by @foxox) 2020-03-26 23:07:41 +01: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
bubnikv
dc1ffe15a8 Revert "Added "Filament spool weight" option to filament options"
This reverts commit 3d3e36ba8d22d3654fb6adb451dae9f0eb6cf818.

The change is too risky just before the PrusaSlicer 2.2.0 final release
and the feature may need a bit of polishing before release.
2020-03-14 09:49:12 +01:00
bubnikv
6b58f67fb8 "inifinit_skirt" renamed to "draft_shield"
Polished the tooltip for the draft shield.
Legacy conversion from old skirt_heigth == -1 to draft_shield = 1
2020-03-14 07:46:39 +01:00
YuSanka
56c6193ff4 Merge remote-tracking branch 'origin/ys_add_new_options' into ys_improvements 2020-03-13 11:49:51 +01:00
bubnikv
88fcdf4b97 num_extruders is now available from the output_file_name template. 2020-03-11 18:12:44 +01:00
YuSanka
7fd9c736b3 Implemented "Use unlimited skirt" option 2020-03-11 11:43:08 +01:00
YuSanka
3d3e36ba8d Added "Filament spool weight" option to filament options 2020-03-09 17:01:05 +01:00
bubnikv
ab72d5135b Fix of Placeholders do not respect filament overrides. #3649 2020-02-19 10:56:30 +01:00
Lukas Matena
9b73ecdf02 Fixed printing order of skirt-brim intersecting extrusions (#3634) 2020-02-17 12:57:43 +01:00
bubnikv
519a982fe9 Fix of #3632: Crash if a thin wall object is not printable, therefore
no extrusion is generated.

Now the situation is detected and an exception is thrown.
2020-02-09 18:34:06 +01:00
bubnikv
5eb1e7e886 Fixed a bug in the update of the backend when the Spiral Vase option
is enabled / disabled.

Spiral Vase forces different kind of slicing than the normal model:
In Spiral Vase mode, holes are closed and only the largest area contour is kept at each layer.
Therefore toggling the Spiral Vase on / off requires complete reslicing.

This commit moves the update to the correct location.
2020-02-09 13:56:42 +01:00
bubnikv
348bf39012 Fix of the previous commit: Fixed sequential print unit tests. 2020-02-07 14:43:13 +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
bubnikv
bca3e86455 Fixed invalidation of FDM back end if a custom per layer
extruder change is added or removed.
2020-02-04 17:46:31 +01:00
bubnikv
059bdb4711 Implemented handling of complex ConfigOptionFloatOrPercent chains
by the PlaceholderParser.

Namely, all the options with the "ratio_over" reference are now handled
correctly by the PlaceholderParser with the exception
of the "first_layer_extrusion_width", which overrides speed of extrusions
by their respective extrusion type.

Also the various extrusion widths (extrusion_width, first_layer_extrusion_width,
external_perimeter_extrusion_width etc.) produce the same numbers
as if ran through the back-end, with the assumption of not overriding
layer height by the variable layer height editing tool or layer height
modifiers.
2020-02-04 15:27:38 +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
YuSanka
2259f7b3e8 Code refactoring to mode comparison 2020-01-17 12:24:58 +01:00
YuSanka
89fcd7f95a Added "mode" variable for custom_gcode_per_print_z 2020-01-16 16:01:19 +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
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
supermerill
aa854a5c99 bugfix "G1" alone in gcode. 2020-01-14 17:10:29 +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
3d17543d40 Fix of "Don't use bridging perimeters on top of elephant-foot compensation #3011"
If the Elephant foot compensation is applied to the 1st object's layer,
the uncompensated 1st object's slice is newly used for calculation
of bridges, overhans, skirt, brim, raft and supports.

Layer::slices were renamed to Layer::lslices to simplify reading
of the code, to differentiate from LayerRegion::slices.
2020-01-03 14:07:31 +01:00
supermerill
b88c58c324 Merge commit '305ccfd9072dffdad7a9c6fa4b3e881d830daee8'
also add a better message when a config bundle is problematic.
2020-01-02 18:25:02 +01:00
YuSanka
afcc6bbb08 Code refactoring for Color change implementation 2019-12-17 08:37:50 +01:00
supermerill
805e0b91b8 merge wip 2019-12-11 12:03:27 +01:00
Lukas Matena
e747577271 Added a validation check to reject wipe tower in sequential prints
This scenario was never supported (#3283)
2019-12-11 08:12:19 +01:00
YuSanka
805a6c936c Localization improvements: Text correction 2019-12-06 13:58:23 +01:00
supermerill
dda438c74b Merge commit '5e3e5492487690fb48cd7c4bb0b7e0e019e30a5c' (wip) 2019-12-05 20:53:02 +01:00
Lukas Matena
3ef34848c7 Fix of skirt: wipe tower was not correctly processed when rotated 2019-12-04 13:45:42 +01:00
YuSanka
dfd38c7818 Merge remote-tracking branch 'origin/master' into ys_color_print_extension 2019-11-28 09:01:14 +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
d8dca69d60 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-11-05 13:58:13 +01:00
bubnikv
7a7183383f Merge branch 'master' of https://github.com/BryanSmithDev/PrusaSlicer into BryanSmithDev-master 2019-11-05 11:37:40 +01:00
supermerill
7802f276e4 brim: setting to exclude holes.
#112
2019-11-02 00:43:43 +01:00