Skip to content

E-Axis Ramming Placeholder/Macro #9251

Open
@sarf2k4

Description

@sarf2k4

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions