Commit Graph

3051 Commits

Author SHA1 Message Date
3fadd362fe Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_gcode_detection 2021-04-22 15:30:27 +02:00
f9ddb38f04 Extrusions in custom start g-code forced to be at first layer height level 2021-04-22 15:15:19 +02:00
a48acc5581 Minor code refinements 2021-04-21 16:49:11 +02:00
080f47e64b Write hollow flag to SL1 files if any object is hollowed. 2021-04-21 16:29:12 +02:00
1f2181b470 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_gcode_detection 2021-04-21 14:52:52 +02:00
21c78fdd97 Further fixes of the first_layer_height refactoring. 2021-04-21 14:34:49 +02:00
7826a01077 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_gcode_detection 2021-04-21 12:32:17 +02:00
b149169eca 1) Moved first_layer_heigth frrom PrintObjectConfig to PrintConfig.
Thus the first_layer_height is no more object specific. That makes
   a lot of sense due to the brim calculation being performed over
   all layers at once and due to future merging of supports of
   different objects at first layer.
2) Because now first_layer_height is print specific, the relative
   first layer height derived from the object layer height was partially
   disabled: First the relative first layer height is converted to
   an absolute value when importing config, second the side text
   was changed from "mm or %" to "mm". Still the UI allows entering %.

Both changes may be controversial, let's wait for user feedback.
2021-04-21 12:09:43 +02:00
c052b78005 After issuing the color change custom G-code, which is most likely
just M600, reset the internal retract counter, so that a retract
will happen after the firmware returns from M600 to the initial position.

Fixes "Blobs on print after manual color change #6362"
2021-04-15 16:29:30 +02:00
ffefa3625e Modified version of automatic downscale on load of objects too big 2021-04-14 14:46:49 +02:00
ddc8e0d7de Fixed obvious bug in move operator, discovered by clang lint ran by Tamas. 2021-04-14 14:25:30 +02:00
a1a50fe096 Marked the unsafe ClipperUtils offset functions with CLIPPERUTILS_UNSAFE_OFFSET
Replaced some of the unsafe offset functions with safe variants.
Please test the
1) print bed from STL function
2) concentric infill
2021-04-13 13:28:37 +02:00
1b6534d5ac Clipper / ClipperUtils:
1) Let Clipper use int32_t for representing its coordinates. This
   reduces memory and allows to skip conversion between Slic3r Polygon
   and Clipper polygon.
2) Disable additional offset before executing the Clipper Offset algorithm.
   We don't see any reason for that and it required 64bit Clipper coordinates,
   which were disabled with 1).
2021-04-13 11:31:54 +02:00
05386e9b20 FDM snug supports: New parameter "closing radius", inspired by Cura's
support_join_distance
2021-04-12 14:56:36 +02:00
25df2fb8f2 Do not convert custom gcode extrusion to travel 2021-04-09 12:52:11 +02:00
2e70270d64 Fix of brim under supports 2021-04-08 16:36:52 +02:00
c0434121f5 New FDM support sparse infill zig-zag algorithm.
Fixed some old support and infill issues.

Fixes support problem #4295
Fixes Parts of interface layer extends beyond supports and cannot be printed
Fixes support missing under horizontal overhang #6058
Fixes Slicer double-traces small sections of Rectilinear Supports, causes
Fixes plastic buildup and nozzle crashes #4951
Fixes Add "Angle Interface layers" #2969
2021-04-08 15:29:40 +02:00
9e770e052c Fix slow cancellation of rasterization step
fixes #6253
2021-04-08 14:36:37 +02:00
2bea4ccf9d Merge remote-tracking branch 'origin/tm_sl1_import_fix' 2021-04-07 13:56:14 +02:00
27229c0b5f Small improvement to "least supports" method 2021-04-07 12:51:02 +02:00
6f04f1b1d9 Allow auto-rotation of objects not completely inside bed.
Don't use SLAPrintObject as the input for optimization. Use ModelObject and pass the print config to the optimization in RotoptimizeJob::prepare()
2021-04-07 12:51:02 +02:00
b0d2df95e4 Increase performance of "best misalignment" method 2021-04-07 12:51:02 +02:00
f21e0ae0ff Least supports optimization revived.
Fix missing include on Win32


Cleanup benchmarking code
2021-04-07 12:51:02 +02:00
97e7350911 Method selection implemented 2021-04-07 12:51:02 +02:00
a7851618c8 Extend execution framework with convenience functions 2021-04-07 12:51:02 +02:00
c9b787af67 Unite cancel callback and status function 2021-04-07 12:51:02 +02:00
a8420ca83c Speed up rotation optimizer
- No float to double conversion
- Solving issue of random (very similar) results due to the parallel summation of floats
2021-04-07 12:51:02 +02:00
192269b2c7 Add new execution framework
Inspired by std::execution
2021-04-07 12:51:02 +02:00
44076d12db Reverting to old rotation optimizer object-function.
Keep the performance optimizations though
2021-04-07 12:51:02 +02:00
27c779cc16 Fix issue with importing sl1 files with non-ascii filenames. 2021-04-07 12:41:38 +02:00
ecf048ad84 An attempt to fix time estimates for 'Marlin (legacy)' flavor
Old M204 S sets both printing and travel accelerations, which must be
accounted for now when the latter was separated.
2021-04-06 15:45:49 +02:00
6deb8338f3 GCodeProcessor added travel acceleration 2021-04-06 15:45:49 +02:00
311a5a3e01 GCodeProcessor use new flavor gcfMarlinFirmware 2021-04-06 15:45:49 +02:00
0e8f871361 Implemented new acceleration control behaviour for the new Marlin firmware flavor:
- show extra travel acceleration settings in 'Machine limits' page in Printer Settings
    when the new firmware flavor is selected

- updated tooltips on the config values (they were basically wrong even in the current version)

- 'Marlin (legacy)' firmware flavor behaviour should not change: it exports M204 Pa Rb Ta
    (where a, b are the values from machine limits) at the beginning of gcode and it uses
    M204 S... for feature type dependent acceleration settings (legacy variant of M204 P.. T..)

- new Marlin Firmware exports M204 Pa Rb Tc (where a,b,c are the values from machine limits).
    Feature type dependent acceleration is set using M204 P..., not overriding the travel acceleration.
2021-04-06 15:45:49 +02:00
76de47ffca Renamed the gcfMarlin enum value to gcfMarlinLegacy so we never mistake it for the new one
There should be no functional change.
2021-04-06 15:45:49 +02:00
25dd2452fa Duplicated Marlin firmware flavor to 'Marlin (legacy)' and 'Marlin Firmware'
The two flavors should be identical after this commit, except that GCodeProcessor.cpp was not updated. This shall be done in a later step.
2021-04-06 15:45:49 +02:00
f0cd00bef7 Wipe tower: correctly detect first layer even with 'No sparse layers' option enabled 2021-04-06 15:37:39 +02:00
0d34e74a52 Wipe tower: reorder extruders so first layer starts with soluble if possible
That way it will not be wiped on first layer
2021-04-06 15:37:39 +02:00
dce95fdeae Wipe tower: respect first_layer_speed 2021-04-06 15:37:39 +02:00
5717ba2e6c Wipe tower: set travel feedrate for a move from custom toolchange position to the wipe tower (#5483) 2021-04-05 23:39:27 +02:00
641040d3f7 Wipe tower: fix wipe moves after recent changes 2021-04-05 23:39:27 +02:00
5beca060ed Wipe tower: refactoring of brim and solid infill on first layer 2021-04-05 23:39:27 +02:00
6719d91430 Wipe tower: don't use soluble filament for perimeters, sparse infill or first layer 2021-04-05 23:39:27 +02:00
cda523f8d9 Wipe tower: slightly changed finish_layer logic so it can be called after any toolchange 2021-04-05 23:39:27 +02:00
607c3efae8 Wipe tower: remove unfinished square wipe tower option 2021-04-05 23:39:27 +02:00
99d8db0255 Wipe tower: don't do sparse infill when there is a soluble filament above it 2021-04-05 23:39:27 +02:00
82c7e8e929 Follow-up of 3fce8398f0 - Fixed build warnings 2021-03-31 08:54:58 +02:00
c45ed01e75 Follow-up of 6ffa51da58 - Modified export of final M73 lines for remaining time to next printer stop accordingly to firmware specifications 2021-03-30 09:59:10 +02:00
8838e68827 Fixed some compilation warnings in MutablePolygon.cpp 2021-03-29 14:15:18 +02:00
24b45c3139 Extract bed size from gcode produced with Simplify3d 2021-03-25 09:23:14 +01:00