Commit Graph

97 Commits

Author SHA1 Message Date
enricoturri1966
33bbb249cf Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS set as default 2021-11-16 12:39:54 +01:00
Vojtech Bubnik
537df6b503 New BuildVolume class was created, which detects build volume type (rectangular,
circular, convex, concave) and performs efficient collision detection agains these build
volumes. As of now, collision detection is performed against a convex
hull of a concave build volume for efficency.

GCodeProcessor::Result renamed out of GCodeProcessor to GCodeProcessorResult,
so it could be forward declared.

Plater newly exports BuildVolume, not Bed3D. Bed3D is a rendering class,
while BuildVolume is a purely geometric class.

Reduced usage of global wxGetApp, the Bed3D is passed as a parameter
to View3D/Preview/GLCanvas.

Convex hull code was extracted from Geometry.cpp/hpp to Geometry/ConvexHulll.cpp,hpp.
New test inside_convex_polygon().
New efficent point inside polygon test: Decompose convex hull
to bottom / top parts and use the decomposition to detect point inside
a convex polygon in O(log n). decompose_convex_polygon_top_bottom(),
inside_convex_polygon().

New Circle constructing functions: circle_ransac() and circle_taubin_newton().

New polygon_is_convex() test with unit tests.
2021-11-16 10:15:51 +01:00
enricoturri1966
48eb316a70 #7110 - Fixed calculation of estimated times for layers 2021-10-25 12:31:19 +02:00
enricoturri1966
d03fd2f63e Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Reworked detection of collision with printbed. The detection uses now different algorithms in dependence of the printbed type (rectangular, circular, convex) to improve performance. 2021-10-06 13:47:54 +02:00
enricoturri1966
e196338ca3 #7008 - GCodeViewer - Fixed loading of gcodes generated by SuperSlicer 2021-09-27 11:22:36 +02:00
Vojtech Bubnik
46abac6f5c Fix of prusa-gcodeviewer changes modification time of the viewed gcode file #7005
This is a regression wrt. PrusaSlicer 2.4.0-alpha1 due to the G-code
processing optimization and parallelization.
Related to GCode Viewer changes files modified date in windows #5079
2021-09-27 10:02:54 +02:00
enricoturri1966
1cf2eeb391 Tech ENABLE_RETRACT_ACCELERATION set as default 2021-09-17 08:21:25 +02:00
enricoturri1966
762e7f9474 Tech ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER set as default 2021-09-14 15:05:33 +02:00
enricoturri1966
660ffbad58 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_fix_options_z 2021-09-09 10:34:47 +02:00
enricoturri1966
0e39d8a815 ENABLE_GCODE_VIEWER_STATISTICS - Fixed calculation of time required by GCodeProcessor 2021-09-09 09:35:58 +02:00
enricoturri1966
229dd208fa Fixed build on MAC 2021-09-08 15:47:27 +02:00
Vojtech Bubnik
ca9d1ff6e1 Follow-up to b5a007a683
WIP to G-code export parallelization through pipelining:
GCodeProcessor is called during the G-code export,
the G-code is no more reopened and re-read, but it is pipelined
from the G-code generator.
2021-09-08 15:06:12 +02:00
enricoturri1966
f437cd535d Tech ENABLE_FIX_PREVIEW_OPTIONS_Z - Enable fixing the z position of seams (and other options) in preview 2021-09-08 14:30:40 +02:00
Vojtech Bubnik
1c60fa2704 GCodeProcessor collects positions of line ends for GCodeViewer,
GCodeViewer no more parses G-code just to extract line end positions.
Removed start_mapping_gcode_window(), void stop_mapping_gcode_window(),
they are no more needed.
2021-09-07 15:42:56 +02:00
enricoturri1966
0e6b9aa65b Added retract acceleration member variable to GCodeProcessor and modified GCodeProcessor::process_M204() method 2021-08-19 09:38:51 +02:00
Vojtech Bubnik
2cfe471a05 Implemented extension of the G-code post-processor framework:
1) New environment variable SLIC3R_PP_HOST contains one of
   "File", "PrusaLink", "Repetier", "SL1Host", "OctoPrint", "FlashAir", "Duet", "AstroBox" ...
2) New environment variable SLIC3R_PP_OUTPUT_NAME contains the name
   of the G-code file including path (for SLIC3R_PP_HOST == "File")
   or a name of the file after upload to the host (PrusaLink, Octoprint ...)
3) The post-processing script may suggest a new output file name
   (likely based on SLIC3R_PP_OUTPUT_NAME) by saving it as a single line
   into a new "output name" temp file. The "output name" file name is
   created by suffixing the input G-code file name with ".output_name".

Please note that the G-code viewer visualizes G-code before post-processing.

Fixes Broken PostProcessing when script changes out-filename #6042
2021-08-10 15:22:01 +02:00
enricoturri1966
5dabae7d0d Fixed import of color print view from gcode files into GCodeViewer 2021-07-23 11:27:07 +02:00
enricoturri1966
63ae8756bb Tech ENABLE_SEAMS_VISUALIZATION set as default 2021-07-22 12:58:33 +02:00
enricoturri1966
3dcf5f1156 Tech ENABLE_START_GCODE_VISUALIZATION set as default 2021-07-22 12:32:08 +02:00
enricoturri1966
58f3fa37b1 Tech ENABLE_EXTENDED_M73_LINES set as default 2021-07-22 09:55:39 +02:00
enricoturri1966
4537263265 Tech ENABLE_GCODE_WINDOW set as default 2021-07-22 09:37:02 +02:00
enricoturri1966
cef1a00d86 Tech ENABLE_VALIDATE_CUSTOM_GCODE set as default 2021-07-22 09:13:12 +02:00
enricoturri1966
cb873bd88c Tech ENABLE_GCODE_LINES_ID_IN_H_SLIDER set as default 2021-07-22 08:35:21 +02:00
enricoturri1966
3cb502c954 GCode Viewer -> Fixed used filament for gcode files produced by other slicers 2021-06-15 09:39:33 +02:00
enricoturri1966
1ae72e2a33 Fixed calculation of used filament for gcode viewer (take data from gcode file) 2021-05-27 12:25:59 +02:00
YuSanka
2372f3b029 Fix of #2825 - Add the length of each filament used 2021-05-07 12:48:34 +02:00
enricoturri1966
868c1ecd41 Fixed conflicts after merge with master 2021-04-30 14:54:58 +02:00
enricoturri1966
343eb6006b Tech ENABLE_SEAMS_VISUALIZATION -> 1st installment of seams visualization in preview 2021-04-27 09:45:15 +02:00
enricoturri1966
f9ddb38f04 Extrusions in custom start g-code forced to be at first layer height level 2021-04-22 15:15:19 +02:00
enricoturri1966
6deb8338f3 GCodeProcessor added travel acceleration 2021-04-06 15:45:49 +02:00
enricoturri1966
24b45c3139 Extract bed size from gcode produced with Simplify3d 2021-03-25 09:23:14 +01:00
enricoturri1966
b3f425b5c8 1st installment of export to gcode of M73 lines for remaining time to next printer stop 2021-03-23 09:05:52 +01:00
enricoturri1966
84c3833247 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_window 2021-03-04 13:24:08 +01:00
enricoturri1966
85b66176fb #5843 - GCodeProcessor: added processing of lines G28 2021-03-03 13:53:37 +01:00
enricoturri1966
1f562c13fb Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_window 2021-03-03 09:07:28 +01:00
enricoturri1966
33126a0717 1st installment of g-code window in preview 2021-03-02 10:01:06 +01:00
enricoturri1966
f81ca55d41 #4402 - Review and merge of #6106 Temperature visualization in preview and G-code Viewer by combolek 2021-02-26 14:17:53 +01:00
enricoturri1966
8185c05b86 Tech ENABLE_VOLUMETRIC_EXTRUSION_PROCESSING set as default 2021-02-25 16:29:18 +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
enricoturri1966
919851b548 #5611 - Added option to show gcode line number on horizontal slider in preview 2021-02-16 10:07:05 +01:00
enricoturri1966
62e24c2833 GCodeViewer - Fixed visualization of time estimates for silent mode 2020-12-17 11:41:41 +01:00
enricoturri1966
42571a0c3b #5415 - Fixed preview when volumetric extrusion is turned on 2020-12-15 15:57:22 +01:00
Vojtech Bubnik
8199e4051e Replaced all "long long" types with int64_t
Replaced all "unsigned long long" types with uint64_t.
These "new" types better communicate their meaning and they are
guaranteed to behave the same on all platforms & compilers.
2020-12-10 08:40:15 +01:00
enricoturri1966
4bb4e4a78c #4936 - Take toolpaths width and height from gcode decorations, if available 2020-12-08 15:55:53 +01:00
enricoturri1966
8884afb65d Tech ENABLE_SHOW_WIPE_MOVES set as default 2020-12-07 10:29:50 +01:00
enricoturri1966
d9f21cfcc5 GCode Viewer -> Parse gcode produced by KISSSlicer 2020-11-26 16:07:07 +01:00
enricoturri1966
50d757f601 Preview - Visualization of wipe mones 2020-11-21 10:36:10 +01:00
enricoturri1966
5f9df6333f ENABLE_GCODE_VIEWER set as default in libslic3r 2020-11-12 14:03:58 +01:00
enricoturri1966
554e0918d3 GCode Viewer - Fixed color print visualization for gcode containing multiple extruders 2020-11-09 13:06:20 +01:00