Selective Speed Control



  • So, I've been writing software to post process my g-code, because it's faster then re-slicing a lot of the time, to do things like ironing, adding z-hop to something that was sliced without it, and selective speed control.

    What I mean by selective speed control is to do things like speeding up extruding moves, but not travels, since travels are often already very fast, there's no need to risk travels that are faster than the printer can handle, since it's possible that the max velocity may be set higher than reasonable.

    It would be very cool if there was a g-code to pick different types of G1 conditions and only apply speed changes to those.

    travel = G1 (X || Y) & !Z & !E
    extrusion move = G1 (X || Y) & E & !Z
    zhop = G1 !X & !Y & !Z & E

    Maybe

    M220 Sn T<binary mask>

    T:
    1: Extruding Moves
    2: Travel Moves
    4: Z Hop

    M220 S200 - all moves
    M220 S200 T1 - extruding only
    M220 S200 T2 - travel only
    M220 S200 T4 - hop only
    M220 S200 T3 - extruding and travel
    M220 S200 T5 - extruding and hop
    M220 S200 T6 - travel and hop
    M220 S200 T7- all moves



  • It would be nice if slicers use G0 for travel moves, and G1 for working moves, so we could have dedicated speed/accell/jerk control... I don't understand why they don't, as it is something which is implemented in G-Code language since its creation, and does not cost anything.

    On the other hand, RRF could implement distinct speed params, as it is easy to see if it is a travel move (no E param), or a working move (with E param).



  • @fma that's exactly what I defined 😉


Log in to reply