Commit Graph

74 Commits

Author SHA1 Message Date
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
7eafd2080f Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-12-08 15:56:08 +01:00
4bb4e4a78c #4936 - Take toolpaths width and height from gcode decorations, if available 2020-12-08 15:55:53 +01:00
d3f989aeb8 Merge branch 'lh_avoid_crossing_perimeters' 2020-12-08 13:39:33 +01:00
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
48f65c3b2f Merge remote-tracking branch 'origin/master' into lh_avoid_crossing_perimeters 2020-12-01 14:31:22 +01:00
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
5ead86bdea Removed the old motion planner. 2020-11-17 09:33:30 +01:00
e14fb6c18a Disabling wipe for avoid crossing perimeters 2020-11-16 14:22:32 +01:00
2b2e9a8ce2 Moved AvoidCrossingPerimeters to separate file 2020-11-16 14:22:32 +01:00
3bb7f5f24b Reworked the algorithm for avoid crossing perimeters for multiple objects 2020-11-16 14:21:36 +01:00
6ae8692c22 Fixed crossing perimeters in some cases 2020-11-16 14:21:36 +01:00
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
c328651abc Selection of shortest path around polygon boundary 2020-11-16 14:21:36 +01:00
e2c259b50e A simple algorithm to follow the boundary of polygons 2020-11-16 14:21:36 +01:00
5f9df6333f ENABLE_GCODE_VIEWER set as default in libslic3r 2020-11-12 14:03:58 +01:00
28cfd71f51 Follow-up of bb74d2da5b and 7b2aca0159 -> Removed inclusions of GCode/Analyzer.hpp and GCodeTimeEstimator.hpp 2020-11-11 15:41:48 +01:00
00eb95ffd8 Renamed CustomSeam to SeamPlacer, move to a separate file 2020-09-18 12:00:14 +02:00
d5eb3f4ef1 Partially working implementation of custom seam backend 2020-09-18 12:00:14 +02:00
4712413dad First naive prototype of seam painter 2020-09-02 00:36:30 +02:00
aaf0b18810 Fixed merge conflicts (whitespace only) 2020-09-02 00:36:30 +02:00
4dc8e17818 Code cleanup 2020-08-17 15:59:36 +02:00
37bc47a946 GCodeProcessor -> Do not export width tags to gcode 2020-08-17 14:37:26 +02:00
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
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
429947f8eb ENABLE_GCODE_VIEWER -> Export to gcode layer z and layer height at each layer change 2020-07-30 13:49:57 +02:00
2fa4384e0b GCodeProcessor -> Calculate mm3 per mm on the fly 2020-07-29 10:04:10 +02:00
acd8801d3a Fixed conflicts after merge with master 2020-05-27 10:32:02 +02:00
ae8772b90d Few more include chains broken 2020-05-26 13:46:59 +02:00
0c3adc6805 GCodeAnalyzer and GCodePreviewData removed from tech ENABLE_GCODE_VIEWER 2020-05-07 10:49:12 +02:00
c293c6e75f Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-04-29 12:53:55 +02:00
9db59a3cd7 WIP: Ironing over top surfaces. 2020-04-14 11:53:28 +02:00
7dd8ac8cb5 Fixed conflicts after merge with master 2020-03-25 12:07:59 +01:00
16e1cd5d19 ENABLE_THUMBNAIL_GENERATOR set as default 2020-03-25 10:15:02 +01:00
77d41a143c ENABLE_GCODE_VIEWER - Basic framework for new gcode viewer 2020-03-02 15:13:23 +01:00
2d516165bb Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-02-14 08:32:06 +01:00
0ee47cd933 GCodeProcessor basic framework 2020-02-14 08:31:31 +01:00
0dec054410 ENABLE_SHOW_SCENE_LABELS set as default 2020-02-13 13:24:52 +01:00
3423e05248 Added sequential print order id to 3D scene labels 2020-02-03 11:44:26 +01:00
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
af24a0e1c3 Fixing GCode Skirt generator after refactoring. 2020-01-14 14:24:38 +01:00
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
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
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
a2402630b8 Optimization of G-code export: Don't make copies of ExtrusionEntities
when sorting them into Extruders / Islands / Regions.
2020-01-09 10:00:48 +01:00
823100f3d9 Optimization of G-code export:
1) Don't allocate ExtruderOverrides if not necessary
2) Use boost::container::small_vector<int32, 3) for ExtruderOverrides
   (usually less than 4 instances are printed))
2020-01-08 14:58:24 +01:00
f9752f1d75 Some minor polishing of Color print back end. 2020-01-06 09:32:13 +01:00
ee69087873 Code refactoring for Color change implementation 2019-12-17 08:37:50 +01:00
2a60846d46 Merge remote-tracking branch 'origin/master' into ys_color_print_extension 2019-11-28 09:01:14 +01:00
9522a57676 Code cleaning 2019-11-27 15:27:44 +01:00