Commit Graph

316 Commits

Author SHA1 Message Date
Lukáš Hejl
b73ce1bd56 Fix of 8f293f0cb5
When was set use_external_mp_once to true then after first calling the avoid crossing perimeters this flag was reset which cases that on the second call of the avoid crossing perimeters the travel move didn't process as external.
2021-02-25 23:30:22 +01:00
Vojtech Bubnik
f33528fa06 Fix of crash when using raft with modified Shape-Box with height 0.5mm #5652
Reworked skirt generator to only generate skirt at non-empty layers
(layers that actually extruder object or support) and to respect minimum
layer height. Skirt generator stops at the first layer where those both
conditions cannot be met.
2021-02-25 12:18:11 +01:00
enricoturri1966
88c2a4d7b9 Follow-up of 33aa6be7b7 -> Validation of custom g-code added using vertical slider in preview at gcode generation level 2021-02-25 08:23:45 +01:00
Vojtech Bubnik
0a1811d047 Added a single perimeter to the first layer of support or raft.
Fixes [Request] Add optional perimeter to raft #756
Fixes First support layer does not stick to bed #2101

New parameters raft_first_layer_density and raft_first_layer_expansion
to influence the 1st layer of raft or support.
Fixes Allow to disable raft under support structures. #3772
Fixes raft is larger than necessary #2568
Fixes Supports on the build plate should have a solid bottom interface for better adhesion #1165

Changed the 1st layer infill to rectilinear even for soluble materials.
Fixes first layer of support for multi filament support oddly spaced #1445
Fixes Full Soluble Materials interfacing into Models + Soluble material noise on Bed #684
2021-02-24 08:48:40 +01:00
Vojtech Bubnik
95986dddcd Fix of Enforce support for first N layers has no effect #470 2021-02-23 15:31:21 +01:00
enricoturri1966
6310b863af Follow-up of 86d7e1fb90 - Fixed build warning on OsX 2021-02-18 15:35:38 +01:00
Lukáš Hejl
307f264cc0 Fixed unnecessary travels after calling the avoid crossing perimeters when the wipe is enabled.
When the avoid crossing perimeters was enabled, and the wipe was enabled, there were unnecessary travels in the opposite direction than the wipe travel.
2021-02-18 14:41:56 +01:00
enricoturri1966
d8a1dfa6be #5538 - Validation of custom g-code against gcode processor reserved keywords 2021-02-18 14:34:40 +01:00
enricoturri1966
354070d9b2 Tech ENABLE_TOOLPATHS_WIDTH_HEIGHT_FROM_GCODE set as default 2021-02-17 11:23:17 +01:00
Vojtech Bubnik
2a8d8a528b Fix of Supports printed too slowly. #984
Processing of CoolingBuffer is newly staggered for support layers
until the 1st object layer above supports is received by CoolingBuffer.
2021-02-16 11:30:57 +01:00
Vojtech Bubnik
e40485fc8a Fixed some clang warnings 2021-02-09 19:23:58 +01:00
Lukas Matena
f968cfd2d5 Fixing Clang warnings 3 2021-02-08 17:52:29 +01:00
Vojtech Bubnik
3f2b57b1d4 Squash merge of lh_brim_rework,
brim separated to Brim.cpp,hpp
Refactored accessors to PrintObjectPtrs, PrintRegionPtrs, LayerPtrs,
SupportLayerPtrs for const correctness.
2021-02-03 15:12:53 +01:00
Vojtech Bubnik
33acf09e11 Manual merge of 4e586b8edabde1146c4013ca2437469a448315e2 from upsteam Slic3r,
fixing "percent first layer speed was not applied over autospeed." GH upstream Slic3r #2945
our GH issue First Layer Speed Percentage not applying (#5829)
2021-01-19 16:50:24 +01:00
Vojtech Bubnik
ee39ab8e69 Added a FIXME comment for
Sequential tool path ordering of multiple parts within the same object, aka. perimeter tracking (#5511)
2021-01-06 12:19:08 +01:00
Lukas Matena
997e17b326 Do not use ironing extrusions for autospeed calculations (#5082) 2021-01-04 14:21:24 +01:00
Lukas Matena
20be452332 Hotfix of a crash with raft and one-layer object (#5652)
The problem is that PrintObject support generator is only run when m_layers.size() > 1, so one-layer object will skip it.
It apparently never worked, after recent refactoring (probably 8bfc986) it started to crash in GCode generator.
This commit fixes the crash, but not the problem. The raft is still not generated (like in all versions since 2.0.0 at least).
2021-01-04 14:21:24 +01:00
Lukas Matena
a81b2846e1 Added a missing translation macro 2020-12-18 13:04:28 +01:00
Lukas Matena
79d091ea04 Do not emit M1 gcode for firmwares other than Marlin (after MM priming)
The M1 gcode is apparently only supported on Marlin, others do not support it or use it for something else
This should fix #5441
2020-12-14 20:27:19 +01:00
Vojtech Bubnik
f450ea116d Implemented linear tapering of extrusion rate for the 1st spiral vase layer
above the solid infill. Should fix
first layer of vase (after bottom layers) is bulging (0.6nozzle, 0.4 layerhight) #3712
Adjust flow of the "second" layer in spiral vase mode #2795
2020-12-09 14:54:26 +01:00
Vojtech Bubnik
992d1e388e Rework of Add random function for gcode macros. #5219 after merge:
The thread local storage variables for the random number generator
were replaced by an external context variable.
Thread local storage is a scarce resource.
2020-12-09 09:19:46 +01:00
enricoturri1966
7eafd2080f Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-12-08 15:56:08 +01:00
enricoturri1966
4bb4e4a78c #4936 - Take toolpaths width and height from gcode decorations, if available 2020-12-08 15:55:53 +01:00
Vojtech Bubnik
d3f989aeb8 Merge branch 'lh_avoid_crossing_perimeters' 2020-12-08 13:39:33 +01:00
enricoturri1966
8884afb65d Tech ENABLE_SHOW_WIPE_MOVES set as default 2020-12-07 10:29:50 +01:00
Vojtech Bubnik
1b7cbd2c36 Further improvement error reporting with buggy custom G-code sections #1516
1) The macro-processor sanitizes the source code line for invalid UTF-8
   characters. Ideally these invalid characters would be replaced with ?,
   they are just dropped as of now. Better than showing an empty string
   when converting to wxString though.
2) G-code export collects full error message for 1st occurence of an error
   for each custom G-code block.
3) The composite error message now displays the errors collected in 2).
4) The error window is now scaled bigger and the Slicer logo is smaller
   if the text is to be rendered with monospaced font, as the monospaced
   text will not be word wrapped.
2020-12-03 12:50:24 +01:00
Vojtech Bubnik
a3c0d013b2 Improvement of Improve error reporting with buggy custom G-code sections #1516
Errors in the file output templates are reported in mono-spaced font,
so that the arrow character ^ is displayed at the right column
pointing to the offending spot.
2020-12-03 11:03:16 +01:00
Lukáš Hejl
48f65c3b2f Merge remote-tracking branch 'origin/master' into lh_avoid_crossing_perimeters 2020-12-01 14:31:22 +01:00
Vojtech Bubnik
db2af22c6b Fix of Head crash on completion with sequential printing #5349
In addition to an existing "layer_z" placeholder variable,
a new "max_layer_z" has been added to custom G-code sections accumulating
maximum of "layer_z" over the print. This value may be used for example
in the end G-code of a sequential print to lift the print head
up before travel over the whole print bed.
2020-12-01 08:23:46 +01:00
Lukáš Hejl
d6b66b1fa5 Merge remote-tracking branch 'origin/master' into lh_avoid_crossing_perimeters
# Conflicts:
#	src/libslic3r/MotionPlanner.cpp
#	src/libslic3r/libslic3r.h
2020-11-29 17:27:23 +01:00
Lukas Matena
e91f7b6988 Seam - fix indexing of layers (#5112, #5014) 2020-11-27 10:09:20 +01:00
enricoturri1966
50d757f601 Preview - Visualization of wipe mones 2020-11-21 10:36:10 +01:00
Lukáš Hejl
e42fb824d8 Fix missing include 2020-11-20 14:22:24 +01:00
YuSanka
cae3faa526 Ruler for DoubleSlider: Added estimated print time 2020-11-18 05:02:51 -08:00
Vojtech Bubnik
09aea4437d AvoidCrossingPerimeters: Refactored for better encapsulation. 2020-11-17 10:42:27 +01:00
Vojtech Bubnik
5ead86bdea Removed the old motion planner. 2020-11-17 09:33:30 +01:00
Lukáš Hejl
e14fb6c18a Disabling wipe for avoid crossing perimeters 2020-11-16 14:22:32 +01:00
Lukáš Hejl
2b2e9a8ce2 Moved AvoidCrossingPerimeters to separate file 2020-11-16 14:22:32 +01:00
Lukáš Hejl
8df4c15652 Fixed a case when the intersection is one of the endpoints of the line 2020-11-16 14:22:32 +01:00
Lukáš Hejl
a7392cb7d8 Added the possibility to set the maximum length of the detour 2020-11-16 14:22:32 +01:00
Lukáš Hejl
3bb7f5f24b Reworked the algorithm for avoid crossing perimeters for multiple objects 2020-11-16 14:21:36 +01:00
Lukáš Hejl
6ae8692c22 Fixed crossing perimeters in some cases 2020-11-16 14:21:36 +01:00
Lukáš Hejl
7d1010ff99 Fixed crossing perimeters when option "Wipe while retracting" is enabled 2020-11-16 14:21:36 +01:00
Lukáš Hejl
f059807da5 Avoid crossing perimeters bugfix 2020-11-16 14:21:36 +01:00
Lukáš Hejl
cd854fcfa7 Clear generated boundaries from previous layer 2020-11-16 14:21:36 +01:00
Lukáš Hejl
c5b5e8588a Improved documentation of avoid crossing perimeters algorithm. 2020-11-16 14:21:36 +01:00
Lukáš Hejl
13dc97a84a Finalization of avoid crossing perimeters algorithm
EdgeGrid::Grid is used to find the intersection of a path with a polygon.
Simplification of find path.
Calculation of boundaries that not be crossed.
2020-11-16 14:21:36 +01:00
Lukáš Hejl
42773147d0 Fixed bug when algorithm stuck in a loop 2020-11-16 14:21:36 +01:00
Lukáš Hejl
c328651abc Selection of shortest path around polygon boundary 2020-11-16 14:21:36 +01:00
Lukáš Hejl
e2c259b50e A simple algorithm to follow the boundary of polygons 2020-11-16 14:21:36 +01:00