Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Change print speed

    Scheduled Pinned Locked Moved
    General Discussion
    4
    11
    884
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Danalundefined
      Danal
      last edited by

      usually, this takes a post-processor script. The details vary by slicer.

      OR, you can hand-edit the Gcode. Most slicers leave comments where a layer changes. You can change all the speeds in the next block, up to the next layer change comment.

      Delta / Kossel printer fanatic

      peirofundefined 1 Reply Last reply Reply Quote 0
      • DIY-O-Sphereundefined
        DIY-O-Sphere
        last edited by

        You can do that very easily in Prusaslicer.
        https://help.prusa3d.com/en/article/insert-pause-or-custom-g-code-at-layer_120490

        (UTC+1)

        1 Reply Last reply Reply Quote 2
        • bbergerundefined
          bberger
          last edited by

          I've wanted to ask this for some time now: is it possible to define different acceleration/jerk limits with conditional gcode?

          I'd prefer to do it on the firmware level rather than the slicer, basically just for the first layer (or X mm Z height).

          I'm running rather high accelerations and jerk settings when protoyping as the prints still come out fine with 9k acc and 2k jerk, but I'm having trouble on tight edges on the first layer with that.

          If I do that in the slicer I'm killing the possibility to tune settings on the fly as it always resets to the slicer defined values.

          Danalundefined 1 Reply Last reply Reply Quote 0
          • peirofundefined
            peirof @Danal
            last edited by

            @Danal if u change the speed editing the gcode....
            If u change the speed un layer 5... This new speed last until the print finish.... Ir turn default speed when layer finish?

            Another idea its insert the gcode for change the speed factor in Dwc...

            Danalundefined 1 Reply Last reply Reply Quote 0
            • Danalundefined
              Danal @bberger
              last edited by

              @bberger said in Change print speed:

              I've wanted to ask this for some time now: is it possible to define different acceleration/jerk limits with conditional gcode?

              I'd prefer to do it on the firmware level rather than the slicer, basically just for the first layer (or X mm Z height).

              I'm running rather high accelerations and jerk settings when protoyping as the prints still come out fine with 9k acc and 2k jerk, but I'm having trouble on tight edges on the first layer with that.

              If I do that in the slicer I'm killing the possibility to tune settings on the fly as it always resets to the slicer defined values.

              It doesn't take conditional gcode. Just put a definition like you would put in config.g, put that in your print job where you want the new values to take effect. Duet executes configuration at the moment they are encountered.

              Delta / Kossel printer fanatic

              bbergerundefined 1 Reply Last reply Reply Quote 0
              • Danalundefined
                Danal @peirof
                last edited by Danal

                @peirof said in Change print speed:

                @Danal if u change the speed editing the gcode....
                If u change the speed un layer 5... This new speed last until the print finish.... Ir turn default speed when layer finish?

                Another idea its insert the gcode for change the speed factor in Dwc...

                Depends entirely on the G-Code. For example, most slicers put the speed at the start of each layer. And more. The file I am printing at the moment has about 175,000 lines and about 6700 feedrate specifications.

                Delta / Kossel printer fanatic

                1 Reply Last reply Reply Quote 0
                • bbergerundefined
                  bberger @Danal
                  last edited by

                  @Danal said in Change print speed:

                  @bberger said in Change print speed:

                  I've wanted to ask this for some time now: is it possible to define different acceleration/jerk limits with conditional gcode?

                  I'd prefer to do it on the firmware level rather than the slicer, basically just for the first layer (or X mm Z height).

                  I'm running rather high accelerations and jerk settings when protoyping as the prints still come out fine with 9k acc and 2k jerk, but I'm having trouble on tight edges on the first layer with that.

                  If I do that in the slicer I'm killing the possibility to tune settings on the fly as it always resets to the slicer defined values.

                  It doesn't take conditional gcode. Just put a definition like you would put in config.g, put that in your print job where you want the new values to take effect. Duet executes configuration at the moment they are encountered.

                  I may have been not clear enough on this. I do not want that in my gcode file. I know I could do that, but my target would be to make that tweakable specifically in the firmware.

                  I don't want to re-slice parts for tuning the first layer. That way one could adjust those settings depending on the filament loaded / the surface installed.

                  Don't want to derail the thread further though, from my quick view I thought the OP and me were after the same thing. I'll dig into the docs.

                  1 Reply Last reply Reply Quote 0
                  • Danalundefined
                    Danal
                    last edited by

                    @bberger said in Change print speed:

                    Don't want to derail the thread further though

                    I think they are strongly related... so if you did change accel/jerk for layer 1 via conditional G-Code, where would that G-Code go?

                    Delta / Kossel printer fanatic

                    bbergerundefined 1 Reply Last reply Reply Quote 0
                    • bbergerundefined
                      bberger @Danal
                      last edited by bberger

                      @Danal said in Change print speed:

                      @bberger said in Change print speed:

                      Don't want to derail the thread further though

                      I think they are strongly related... so if you did change accel/jerk for layer 1 via conditional G-Code, where would that G-Code go?

                      deamon.g

                      The thing that I'm actually most concerned with is resource consumption (cpu, ram) in that case as the file gets periodically and constantly called.

                      I know you can add a G4 timeout, bit it still gets called pretty frequently and you can't have different timeouts for different daemon tasks.

                      So in the end my question is: is there a better way / more efficient way to solve this on the Duet side of things? Maybe a callback that gets triggered a specific Z height or maybe Z change.

                      1 Reply Last reply Reply Quote 0
                      • Danalundefined
                        Danal
                        last edited by Danal

                        @bberger said in Change print speed:

                        The thing that I'm actually most concerned with is resource consumption (cpu, ram) in that case as the file gets periodically and constantly called.

                        The overhead would be pretty low to decide your not on the first layer, and skip the rest of the macro.

                        Having said that, an asynchronous task periodically polling to change a setting in another asynchronous task is is very poor design. The changes will 'lag' an average of 1/2 the cycle time of the daemon, as vs where they 'should' occur. (In any system, not just Duet.)

                        I know you already said you don't want to put the commands in the job via the slicer... but... when doing things that affect specific layers, that is the correct way to do it. That is literally the reason slicers offer the feature of inserting arbitrary gcode at layer changes.

                        If you want to be able to change something on the printer itself to "tune" this, define macro 'layer0.g' and 'layerx.g' with the settings you want for each, and then have the slicer insert M98 P"/macros/layer-.g" at the appropriate points (I believe only two places). That "abstracts" or if you prefer "indirects" the actual settings into the macro files, so you can change them at the printer, without re-slicing.

                        Delta / Kossel printer fanatic

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Unless otherwise noted, all forum content is licensed under CC-BY-SA