521 Commits

Author SHA1 Message Date
YuSanka
55d5921d53 Editing of Custom G-code: Partially automation to get a list of placeholders for custom gcodes
+ Added missed resources
2023-08-29 11:47:44 +02:00
YuSanka
a6dea25243 WIP: Thumbnails improvements: Merge "thumbnails" and "thumbnails_format" options into just one "thumbnails" option with coString type 2023-08-29 09:20:49 +02:00
Vojtech Bubnik
e0baccd654 ArcWelder: Disabled for pressure equalizer.
Fixed some compiler warnings
2023-07-27 10:04:21 +02:00
Vojtech Bubnik
fa0986c0c5 Rebased pm_arcwelder_overhangs_port to vb_arc_welder 2023-07-27 09:17:35 +02:00
Pavel
bf6a8dc0b0 updating the gcode extrude to support new overhang attributes 2023-07-26 11:43:01 +02:00
Vojtech Bubnik
98c011d59b ArcWelder: Improved resolution of arc discretization in G-code preview 2023-07-26 11:24:32 +02:00
Vojtech Bubnik
bde6fb2528 ArcWelder: Smooth interpolation of skirt & brim
Lower resolution (higher decimation rate) for
sparse infill: 3x
support: 4x
skirt+brim: 4x
2023-07-18 11:31:23 +02:00
Vojtech Bubnik
594e36c70a ArcWelder bugfixes 2023-07-17 14:18:56 +02:00
Vojtech Bubnik
7551b4ffd3 ArcWelder: Bugfixes & switchable G2/3 R vs. IJ 2023-07-14 16:22:03 +02:00
Vojtech Bubnik
19062b4d5f ArcWelder path interpolation based on the work by Brad Hochgesang @FormerLurker.
WIP GCode/SmoothPath.cpp,hpp cache for interpolating extrusion path with arches.
Removed Perl test t/geometry.t, replaced with C++ tests.
Refactored ExtrusionEntity and derived classes to hold extrusion attributes in new ExtrusionFlow/ExtrusionAttributes classes.
Reworked path ordering in G-code export to never copy polylines, but to work with a new "flipped" attribute.
Reworked G-code export to interpolate extrusion paths with smooth paths and to extrude those smooth paths.
New parameters: arc_fitting, arc_fitting_tolerance
Renamed GCode class to GCodeGenerator
Moved GCodeWriter.cpp/hpp to GCode/
Moved Wipe from from GCode.cpp,hpp to GCode/Wipe.cpp,hpp
Moved WipeTowerIntegration from GCode.cpp,hpp to GCode/WipeTowerIntegration.cpp,hpp
New variant of douglas_peucker() to simplify range of iterators in place.
Refactored wipe in general and wipe on perimeters / hiding seams.

WIP: Convert estimate_speed_from_extrusion_quality() and its application to smooth paths.
WIP: Cooling buffer to process G2G3, disable arc fitting for filters that cannot process it.
2023-07-13 11:54:42 +02:00
Lukas Matena
cc45644a25 Fix an incorrect extra travel when using the wipe tower with no ramming and with extruder offset applied #10801 2023-06-14 15:02:11 +02:00
Vojtech Bubnik
8806442f55 PlaceholderParser on G-code export:
1) added "num_extruders" placeholder
2) changed "is_extruder_used" vector to be always minimum 256 elements long
   with the non-existent extruder values set to zero.
   This is wasteful, but necessary until we change the PlaceholderParser
   handling of vector values to not substitute missing elements
   with the zero'th value.
2023-06-13 10:21:13 +02:00
enricoturri1966
578921257d SPE-1739: Fixed calculation of gcode preview sequential slider endpoints 2023-06-02 09:37:05 +02:00
Lukas Matena
cc71436aef Fixed several warnings 2023-06-01 16:10:33 +02:00
PavelMikus
da6b972a79 Smoothen the curled height estimations and slowdown 2023-04-21 10:04:45 +02:00
enricoturri1966
99f3a3d54f SPE-1649 - Fixed crash in G-code post processor calculating the preheat / cooldown positions 2023-04-19 12:55:21 +02:00
Vojtech Bubnik
fd3c41b4d3 Fix of #10257 SPE-1641
The object labeling likely never worked. Likely it was contributed,
but not reviewed sufficiently (by me I suppose).

Now the object ID is calculated as an index in the list of PrintObjects,
the order is arbitrary but stable, indices start with 0 and incremented
for every printed object with no gap in indices.

We are not quite sure how the indices are used by the OctoPrint
"Cancel Object" plugin, I suppose this change is sufficient.
2023-04-12 17:38:09 +02:00
PavelMikus
2b85615b31 Fix issue https://github.com/prusa3d/PrusaSlicer/issues/10269
Dynamic overhang speed could sometimes wrongly apply volumtric limits
Also, setting speed to zero will now cause the algorithm to use base external perim speed.
2023-04-06 16:20:56 +02:00
PavelMikus
eef077b6ff Fix issue 10229: When dynamic fan speed is enabled, sometimes the extrusion speed was not reset correctly after travel,
resulting in travel speeds used for printing.
https://github.com/prusa3d/PrusaSlicer/issues/10229
2023-04-04 16:06:50 +02:00
Lukas Matena
2ac964a676 XL specific temporary:
- only enable the temp backtracking for XL
- hardcode toolchange time to 4.5s
2023-03-31 16:39:46 +02:00
Lukas Matena
211b8cdc90 Added a marker for the ooze prevention cooldown commands 2023-03-31 16:37:52 +02:00
Vojtech Bubnik
2b7cf2d877 GCodeGenerator / custom G-codes: Added new read/only options providing
the amount of total extruded material and per extruder extruded material
up to the point the value is evaluated:
"extruded_volume", "extruded_weight",
"extruded_volume_total", "extruded_weight_total"
2023-03-30 10:36:36 +02:00
Vojtech Bubnik
7a5639f322 Fixed crash if toolchange G-code modifies final position,
because the extruder was not set yet.
2023-03-29 17:53:23 +02:00
Vojtech Bubnik
ab1813bdc8 PlaceholderParser: fixed access to "position" variable
Follow-up to 59552a8aee893316a74b9a6e012d164ff7643b44
2023-03-29 15:32:43 +02:00
Vojtech Bubnik
59552a8aee PlaceholderParser & G-code export: Exchange of position & extrusion status between custom G-codes and slicer, extension of script syntax.
Newly each custom G-code block may exchange the following values with slicer:

Position and Z-hop:
position (read/write)- 3 element vector (X, Y, Z) of current G-code position. Z element contains the current Z hop.
zhop (read only)- initial zhop value

Extruders: vector variables, one element per extruder:
e_position (read/write) - absolute E position, only available with absolute extruder addressing
e_retracted (read/write) - current retraction state
e_restart_extra (read/write) - current planned extra deretraction when starting printing

For readibility, script's if / elsif / else / endif syntax was modified:

{if cond then
	block
elsif cond then
	block
else
	block
endif}

Semicolon is not required after else or endif.
2023-03-28 12:47:32 +02:00
Lukas Matena
c9b15736da Fixed compilation errors and warnings 2023-03-24 09:56:40 +01:00
Lukas Matena
0a52ef8da7 Fix format of M204 emitted from machine limits for various fws 2023-03-24 09:29:53 +01:00
Lukas Matena
847a34c644 Do not clamp travel acceleration when current firmware flavor does not allow separate setting of print and travel acceleration 2023-03-24 09:29:53 +01:00
Lukas Matena
09122fb0d0 Added a new config option to disable automatic temperature commands around start gcode (autoemit_temperature_commands) 2023-03-24 09:29:53 +01:00
Lukas Matena
da714c7210 Removed M107 inserted automatically at the start of the G-Code 2023-03-24 09:29:53 +01:00
Lukas Matena
3ff600bed0 Separated travel and print acceleration control 2023-03-24 09:29:53 +01:00
YuSanka
19f2a1d9e9 Unified usage of localization macros in slic3r/libslic3r 2023-03-23 22:55:38 +01:00
Vojtech Bubnik
c28585ab7f WIP PlaceholderParser: Support for local and global variables.
Implements #4048 #7196

Syntax:

(global|local) variable_name =
	(scalar_expression|vector_variable|array_expr|initializer_list)

array_expr := array(repeat, value)
initializer_list := (value, value, value, ...)

The type of the newly created variable is defined by the type
of the right hand side intitializer.

Newly declared variable must not override an existing variable.
Variable may be assigned with global|local expression, but its type
must not be changed.

Newly the assignment operator also accepts the same right hand expressions
as the global|local variable definition.
2023-03-22 17:46:57 +01:00
Vojtech Bubnik
de3de3fd11 Fix of discrepancy between G-code placeholder parser current layer index
and total number of layers.
Fixed for non-sequential print only for now.
Partial fix of #9866
2023-03-06 10:47:38 +01:00
PavelMikus
c0165ec209 Fix dynamic fan speed colliding with detect bridging perimeters
Allow max fan speed override cooling max fan speed
2023-03-02 15:30:41 +01:00
Pavel Mikus
edec566d2c fix and integrate with CoolingBuffer 2023-03-02 15:30:41 +01:00
Pavel Mikus
7edd813fc8 fix bugs in ExtrusionEstimator 2023-03-02 15:30:41 +01:00
Pavel Mikus
10d04529d6 Implemented dynamic fan control. Cooling buffer does not yet relfect that 2023-03-02 15:30:41 +01:00
Pavel Mikus
a496444b7e make fixed overlap levels for dynamic overhang speed 2023-03-02 15:30:41 +01:00
Pavel Mikus
beabf46e87 Set cooling markers correctly - finally fix of cooperation between dynamic speed and pressure equalizer
Fixes the following issues: 9769, 9485 and maybe others where presusre equalier is used
with dynamic speeds
2023-02-22 11:01:12 +01:00
Pavel Mikus
5e550709ff fix issue 9800 - Avoid Crossing Curled Overhangs Not Respecting Printer Bed Size
Fix Avoid curled overhang functionality actually not working correctly, especially on multiple objects/instances
2023-02-20 21:14:34 +01:00
Lukas Matena
088fb22182 Fixed 'is_extruder_used' placeholder 2023-02-15 15:56:17 +01:00
Lukas Matena
e2045a60ee Separate acceleration control for external perimeters and (top) solid infill 2023-02-15 15:03:37 +01:00
Lukas Matena
026ca7b3c9 Fixed wipe tower with no sparse layers (layers were missing) #9592 #9703 2023-02-14 14:02:58 +01:00
Vojtech Bubnik
56c4cfb202 Fix of supports for soluble / non-soluble after refactoring
of extrusions into islands.
Fixes #9647
2023-02-08 14:40:50 +01:00
PavelMikus
dc1579df04 Apply volumetric speed limits to reference external perimeter speed when using percentage based speeds.
Otherwise it was possible to get higher speeds the extruder limit.
2023-02-08 10:52:06 +01:00
PavelMikus
a167d43c1d Fix bug in GCode markers when dynamic overhang speed is enabled
Should fix the following issues: #9594, #9485, #9563, #9588, #9610
Also fixed a problem with zero speed when dynamic speed was percentage based and speeds were set to 0 (auto)
2023-02-07 17:06:42 +01:00
Vojtech Bubnik
43dc3bfc42 Fix of a crash with sequential print and raft. Fixes #9464 2023-02-03 15:50:15 +01:00
Lukas Matena
ab4655aa40 Fix ooze prevention behaviour on first layer 2023-01-27 12:04:55 +01:00
Lukas Matena
fd3ab55197 MMU: Fixed missing travel to the wipe tower in one more case 2023-01-27 12:04:55 +01:00