Commit Graph

80 Commits

Author SHA1 Message Date
Vojtech Bubnik
b81a0e28e2 Implemented configurable speed and acceleration settings for the first
object layer over raft interface:
"first_layer_speed_over_raft", "first_layer_acceleration_over_raft".
Fixes I have a question about the speed of the first layer after the raft. #6623
Fixes Layer After Raft Is Not Considered First Layer! #6166
2021-08-31 16:03:14 +02:00
Lukas Matena
5beca060ed Wipe tower: refactoring of brim and solid infill on first layer 2021-04-05 23:39:27 +02:00
Vojtech Bubnik
c5f20147d0 Refactoring of FDM support generator:
1) If "support on build plate only" is enabled, the support columns are
   newly trimmed to not land on top of an object. However this may make
   the column too small to be stable.
2) Support enforcers newly take precedence over "supports on build plate only"
   and over "don't support bridges".
3) Some refactoring of the support generator code for clarity: Reduced
   some of the worst spagetti offenders.

Fixes Support generated even if support on build only activated #915
Fixes Bug: supports on build plate only #1340
Fixes Bottom interface layer is not generated , support on build plate only. (long open defect) #4199
Fixes option "supports on build plate only" does not work #3980

Fixes No support interface layers generated #1997
Fixes Feature Request: Option to combine results of 'support from build plate only' and 'support enforcers only' #2801
Fixes Support interface isn't generated: build plate only + blocked by model + support enforcer #3831
Fixes Support Enforcer don't create interface layers #5748
Fixes Support Enforcers Don't Have Top Loops/Raft #1870
Fixes Don't cancel support enforcers with "don't support bridges" #5105
2021-03-19 11:21:35 +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
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
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
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
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
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
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
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
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
enricoturri1966
5f9df6333f ENABLE_GCODE_VIEWER set as default in libslic3r 2020-11-12 14:03:58 +01:00
enricoturri1966
28cfd71f51 Follow-up of bb74d2da5b and 7b2aca0159 -> Removed inclusions of GCode/Analyzer.hpp and GCodeTimeEstimator.hpp 2020-11-11 15:41:48 +01:00
Lukas Matena
00eb95ffd8 Renamed CustomSeam to SeamPlacer, move to a separate file 2020-09-18 12:00:14 +02:00
Lukas Matena
d5eb3f4ef1 Partially working implementation of custom seam backend 2020-09-18 12:00:14 +02:00
Lukas Matena
4712413dad First naive prototype of seam painter 2020-09-02 00:36:30 +02:00
Lukas Matena
aaf0b18810 Fixed merge conflicts (whitespace only) 2020-09-02 00:36:30 +02:00
enricoturri1966
4dc8e17818 Code cleanup 2020-08-17 15:59:36 +02:00
enricoturri1966
37bc47a946 GCodeProcessor -> Do not export width tags to gcode 2020-08-17 14:37:26 +02:00
enricoturri1966
b8a9de7454 GCodeProcessor -> Added debug code to check toolpaths data extracted from gcode, as mm3 per mm, height and width 2020-08-17 10:06:41 +02:00
enricoturri1966
90b78deae6 Refactoring to allow to quickly build the various options to show the estimated printing time in gcode viewer scene 2020-08-05 15:43:46 +02:00
enricoturri1966
429947f8eb ENABLE_GCODE_VIEWER -> Export to gcode layer z and layer height at each layer change 2020-07-30 13:49:57 +02:00
enricoturri1966
2fa4384e0b GCodeProcessor -> Calculate mm3 per mm on the fly 2020-07-29 10:04:10 +02:00
enricoturri1966
acd8801d3a Fixed conflicts after merge with master 2020-05-27 10:32:02 +02:00
Lukas Matena
ae8772b90d Few more include chains broken 2020-05-26 13:46:59 +02:00
enricoturri1966
0c3adc6805 GCodeAnalyzer and GCodePreviewData removed from tech ENABLE_GCODE_VIEWER 2020-05-07 10:49:12 +02:00
enricoturri1966
c293c6e75f Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-04-29 12:53:55 +02:00
bubnikv
9db59a3cd7 WIP: Ironing over top surfaces. 2020-04-14 11:53:28 +02:00
enricoturri1966
7dd8ac8cb5 Fixed conflicts after merge with master 2020-03-25 12:07:59 +01:00
enricoturri1966
16e1cd5d19 ENABLE_THUMBNAIL_GENERATOR set as default 2020-03-25 10:15:02 +01:00
Enrico Turri
77d41a143c ENABLE_GCODE_VIEWER - Basic framework for new gcode viewer 2020-03-02 15:13:23 +01:00
Enrico Turri
2d516165bb Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-02-14 08:32:06 +01:00
Enrico Turri
0ee47cd933 GCodeProcessor basic framework 2020-02-14 08:31:31 +01:00
Enrico Turri
0dec054410 ENABLE_SHOW_SCENE_LABELS set as default 2020-02-13 13:24:52 +01:00
Enrico Turri
3423e05248 Added sequential print order id to 3D scene labels 2020-02-03 11:44:26 +01:00
bubnikv
ec31ef90e9 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
af24a0e1c3 Fixing GCode Skirt generator after refactoring. 2020-01-14 14:24:38 +01:00
bubnikv
6ed818a5e7 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
7c0cdc3134 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
8406b2dafa 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