19 Commits

Author SHA1 Message Date
Lukáš Hejl
b2b9444b6e Fix of #8827: Parsing error in the pressure equalizer when tag TIMELAPSE_TAKE_FRAME was inside G-code. 2023-01-11 21:42:07 +01:00
Vojtech Bubnik
ee626eb65a WIP: Layers split into islands, islands overlapping in Z interconnected
into a graph with links to the layer above / below.

In addition:
Members of LayerRegion were made private, public interface const only.
this->m_xxx replaced with just m_xxx
SurfacesPtr was made a vector of const pointers.
2022-10-26 18:41:39 +02:00
Lukáš Hejl
8c0db761c1 Fix #8716, #8717, and #8718: The pressure equalizer was producing a malformed GCode that caused underextrusion. 2022-08-19 15:07:11 +02:00
Lukáš Hejl
7dac30714b Follow-up to 394494b3acb9bd888b88b4257f977c4844ea76e9: Fixed deceleration/acceleration issue also for gap-fill. Also, deceleration before bridge infill is now working. 2022-08-09 13:59:56 +02:00
Lukáš Hejl
394494b3ac Fix of #8530: Pressure equalizer unintentionally decelerates before ironing.
This is the follow-up to: 39404be75a723bde17add6acab7beba237821ebc
2022-07-28 11:42:57 +02:00
Lukáš Hejl
9168b60463 Prevented the pressure equalizer from emitting G-code settings feed rate when there are no G-code lines that will be affected (empty block of G-code lines with set feed rate). 2022-07-28 11:42:53 +02:00
Lukáš Hejl
dd6096bf0b Fix of #8457 and #8461: Made pressure equalizer to modify only GCode lines that are inside the block tags _EXTRUDE_SET_SPEED and _EXTRUDE_END.
The previous approach could modify all GCode lines, even custom GCode or tool change GCode, which was unintentional.
2022-07-22 11:32:37 +02:00
Lukáš Hejl
39404be75a Fix of #8471 - Pressure equalizer caused unintentional deceleration before ironing and acceleration after ironing. 2022-07-14 09:30:37 +02:00
Lukáš Hejl
9aca685dd4 Fixed a compiler warning. 2022-06-21 14:23:05 +02:00
Lukáš Hejl
c1af26e3fd Modified the pressure equalizer to silently ignores most of the invalid GCode lines. 2022-06-21 13:57:41 +02:00
YuSanka
2688a29b08 SplashScreen: New image
+ PressureEqualizer" fixed warning
2022-06-17 17:14:14 +02:00
Lukas Matena
32e70e5f57 Fixed compiler warnings 2022-06-17 16:27:49 +02:00
Lukáš Hejl
3a792738cb Added a limit on how many GCode lines pressure equalizer is processing. It reduces pressure equalizer processing time a lot.
Also, the maximum segment length to split was decreased to make the transition between different flow rates smoother.
2022-06-17 11:09:04 +02:00
Lukáš Hejl
9c07218d82 Reworked pressure equalizer and GCode processing pipeline to make pressure equalizer always returns one whole layer at once.
Now pressure equalizer is returning one layer back (the previous layer).

GCode produced by pressure equalizer now has the same number of decimal places as non-processed GCode.

Pressure equalizer was disabled for external perimeters and gap-fill.
2022-06-10 10:54:35 +02:00
Lukáš Hejl
0463518dc3 Attempted to reenable the old pressure equalizer and fix its issues. 2022-06-09 21:07:41 +02:00
Lukas Matena
fef385cd6b Fixed second batch of locale-dependent calls 2021-05-24 12:20:29 +02:00
Vojtech Bubnik
d2e5be89e3 Fix of Slicer image not good #4992
Tighter parsing of PrusaSlicer's own G-code annotations
to avoid clashes with comments inside user G-codes.

Also the GCodeReader was extended to return string_views instead
of copying a substring, and the GCodeProcessor was partially adapted
to string_views.
2020-10-29 10:51:51 +01:00
Vojtech Bubnik
067cde85f1 WIP Refactoring of exceptions:
1) All slicer's exceptions are now derived from Slic3r::Exception.
2) New exceptions are defined for slicing errors.
3) Exceptions are propagated to the Plater to show.
It remains to modify the slicing back-end to throw the new SlicingError
exceptions instead of std::runtime_error and to show the other exceptions
by a message dialog instead of a notification.
2020-09-14 18:03:22 +02:00
bubnikv
0558b53493 WIP: Moved sources int src/, separated most of the source code from Perl.
The XS was left only for the unit / integration tests, and it links
libslic3r only. No wxWidgets are allowed to be used from Perl starting
from now.
2018-09-19 11:02:24 +02:00