Description
Is your feature request related to a problem? Please describe.
I would like to use ramming only for E-axis, however trying to make it into a usable g-code is something jargon to me. While the current placeholder/variables spits out something similar to below, which is unusable and causes major headache to if I try to parse the following into a usable g-code
; filament_ramming_parameters = "120 140 4.70968 4.74194 4.77419 4.80645 4.83871 4.87097 4.90323 5 5.25806 5.67742 6.29032 7.06452 7.83871 8.3871| 0.05 4.72901 0.45 4.73545 0.95 4.83226 1.45 4.88067 1.95 5.05483 2.45 5.93553 2.95 7.53556 3.45 8.6323 3.95 7.6 4.45 7.6 4.95 7.6";"120 140 4.70968 4.74194 4.77419 4.80645 4.83871 4.87097 4.90323 5 5.25806 5.67742 6.29032 7.06452 7.83871 8.3871| 0.05 4.72901 0.45 4.73545 0.95 4.83226 1.45 4.88067 1.95 5.05483 2.45 5.93553 2.95 7.53556 3.45 8.6323 3.95 7.6 4.45 7.6 4.95 7.6";"120 140 4.70968 4.74194 4.77419 4.80645 4.83871 4.87097 4.90323 5 5.25806 5.67742 6.29032 7.06452 7.83871 8.3871| 0.05 4.72901 0.45 4.73545 0.95 4.83226 1.45 4.88067 1.95 5.05483 2.45 5.93553 2.95 7.53556 3.45 8.6323 3.95 7.6 4.45 7.6 4.95 7.6";"120 140 4.70968 4.74194 4.77419 4.80645 4.83871 4.87097 4.90323 5 5.25806 5.67742 6.29032 7.06452 7.83871 8.3871| 0.05 4.72901 0.45 4.73545 0.95 4.83226 1.45 4.88067 1.95 5.05483 2.45 5.93553 2.95 7.53556 3.45 8.6323 3.95 7.6 4.45 7.6 4.95 7.6";"120 140 4.70968 4.74194 4.77419 4.80645 4.83871 4.87097 4.90323 5 5.25806 5.67742 6.29032 7.06452 7.83871 8.3871| 0.05 4.72901 0.45 4.73545 0.95 4.83226 1.45 4.88067 1.95 5.05483 2.45 5.93553 2.95 7.53556 3.45 8.6323 3.95 7.6 4.45 7.6 4.95 7.6"
p.s
I also would like to use these ramming feature that prusa test team came up with to shape my filament during toolchange because they provide least tail/wisps/stringing during the transition. However, this feature is still "inaccessible" especially by me
Describe the solution you'd like
Would like to have a macro/placeholder that spits out a usable g-code like the following, taken from an exported g-code file, only for E-axis, leaving out XY axis.
M220 B
M220 S100
; CP TOOLCHANGE UNLOAD
;WIDTH:0.6
G1 X170.750 Y128.670
M900 K0
G1 F2536
G1 X181.318 E0.4895
G1 F2554
G1 X191.958 E0.4929
G1 F2571
M73 Q40 S30
G1 X202.670 E0.4962
G1 F2588
G1 X213.455 E0.4996
G1 F2606
G1 X224.313 E0.5029
G1 F2623
G1 X229.250 E0.2287
G1 Y129.510 F7200
G1 F2623
G1 X223.258 E0.2776
G1 F2641
G1 X212.255 E0.5096
G1 F2693
G1 X201.036 E0.5197
G1 F2832
G1 X189.238 E0.5465
G1 F3057
G1 X176.499 E0.5901
G1 F3387
G1 X170.750 E0.2663
G1 Y130.350 F7200
G1 F3387
G1 X179.116 E0.3875
G1 F3804
G1 X194.967 E0.7343
G1 F4221
G1 X212.556 E0.8147
G1 F4517
G1 X229.250 E0.7733
G1 Y131.190 F7200
G1 F4517
G1 X227.124 E0.0985
;WIDTH:0.5
G1 E-15.0000 F7200
G1 E-24.5000 F1200
G1 E-7.0000 F600
G1 E-3.5000 F360
G1 Y132.030
G1 X170.750 E20.0000 F338
G1 X227.124 E-20.0000 F169
M73 P41 R30
M73 Q41 S30
G1 E-35.0000 F2000
G1 Y131.860 F2400
G4 S0
Describe how it would work
The usage should be almost similar to the following.
[current_filament_only_ramming_sequence]
or {filament_only_ramming_sequence[current_extruder]}
spits out the following for the current filament in the extruder, in this case, T1
.
M220 B
M220 S100
; CP TOOLCHANGE UNLOAD
;WIDTH:0.6
M900 K0
G1 E0.4895 F2536
G1 E0.4929 F2554
G1 E0.4962 F2571
G1 E0.4996 F2588
G1 E0.5029 F2606
G1 E0.2287F2623
G1 E0.2776 F2623
G1 E0.5096 F2641
G1 E0.5197 F2693
G1 E0.5465 F2832
G1 E0.5901 F3057
G1 E0.2663 F3387
G1 E0.3875 F3387
G1 E0.7343 F3804
G1 E0.8147 F4221
G1 E0.7733 F4517
G1 E0.0985 F4517
G1 E-15.0000 F7200
G1 E-24.5000 F1200
G1 E-7.0000 F600
G1 E-3.5000 F360
G1 E20.0000 F338
G1 E-20.0000 F169
G1 E-35.0000 F2000
Which is highly usable under custom g-code
section
Describe alternatives you've considered
None I guess...
Additional context
N/A