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

    Cura work-around

    Scheduled Pinned Locked Moved
    Third-party software
    7
    66
    3.3k
    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.
    • jay_s_ukundefined
      jay_s_uk @fcwilt
      last edited by

      @fcwilt On the toolchanger no. On my Delta, yes

      Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

      fcwiltundefined 1 Reply Last reply Reply Quote 1
      • fcwiltundefined
        fcwilt @jay_s_uk
        last edited by

        @jay_s_uk said in Cura work-around:

        @fcwilt On the toolchanger no. On my Delta, yes

        Thanks.

        Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

        1 Reply Last reply Reply Quote 0
        • jens55undefined
          jens55 @jay_s_uk
          last edited by

          @jay_s_uk said in Cura work-around:

          @jens55 on my toolchanger, i run all the prep stuff as part of start.g
          So G32 etc,
          Then who cares what tool cura picks as the printer is ready

          I currently have a single G28 in my start.g.
          Suppose I want to put in a command to heat the very first extruder that Cura calls. How is that possible? I can only see heating up all 4 tools to cover every possibility. If I choose 210C for the nozzle temperature I have PLA and PETG covered but will likely be too cold for ABS.
          Would it be possible to post your start.g? Do you switch between different start.g versions based on the filament you are running? I am having difficulty envisioning just how this would be done so that you set it up once and then it just works after that.

          jay_s_ukundefined 1 Reply Last reply Reply Quote 0
          • jay_s_ukundefined
            jay_s_uk @jens55
            last edited by

            @jens55 this is what I have

            T-1
            if !move.axes[0].homed || !move.axes[1].homed|| !move.axes[2].homed	; If the printer hasn't been homed, home it
            	M98 P"0:/sys/homeall.g"	; home y and x
            G32
            G1 X0 Y0
            G29 S1
            

            Once I've homed, levelled and loaded my height map its pretty much over to cura to do what it likes

            Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

            fcwiltundefined jens55undefined 2 Replies Last reply Reply Quote 0
            • fcwiltundefined
              fcwilt @jay_s_uk
              last edited by

              @jay_s_uk said in Cura work-around:

              M98 P"0:/sys/homeall.g" ; home y and x

              This is just a bit of information you may not have but it may be good to know.

              G28 will invoke homeall.g as does your M98 command but there is a least one difference, G28 first marks all the axes as un-homed.

              In some cases that might be important.

              Frederick

              Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

              jens55undefined 1 Reply Last reply Reply Quote 1
              • jens55undefined
                jens55 @jay_s_uk
                last edited by

                @jay_s_uk, thanks ... so if I can compare that to what I have, the single G28, it is very similar. I have T-1 in my Cura start code, you test for un-homed conditions and I just blanket home. I don't bother with mesh bed probes.

                There is no setting of any hot end temperatures so Cura will run just fine but at least the way I have things, there is no priming happening on the first tool and any subsequent tools are retrieved and then primed rather than primed and retrieved to wipe the nozzle tip clean.

                Do you maybe have a separate nozzle wiping routine (pebble extruder maybe?) .... maybe that is a better way of approaching it rather than to utilize the standard wiping action that is part of the park/un-park action.
                As I am thinking about this, this seems like it could take care of all the issues .... some more thinking is required.

                Where do you call for your wiping routines and what do you have in your wiping macro?

                jay_s_ukundefined 1 Reply Last reply Reply Quote 0
                • jay_s_ukundefined
                  jay_s_uk @jens55
                  last edited by

                  @jens55 I have a little steel brush mounted in front of the hotend so when it's picked up from the tool holder it's also wiped clean.

                  Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                  jens55undefined 3 Replies Last reply Reply Quote 0
                  • jens55undefined
                    jens55 @jay_s_uk
                    last edited by

                    @jay_s_uk, but how is it cleaned if the tool is picked up when it is still cold? Do you prime the nozzles anywhere ?

                    1 Reply Last reply Reply Quote 0
                    • jens55undefined
                      jens55 @jay_s_uk
                      last edited by

                      Specifically, when Cura picks up the very first tool in the print file (Tn), it hasn't been heated yet so whatever is hanging on to the tip will stay on the tip. This isn't a problem in subsequent pickup and drop off routines.

                      1 Reply Last reply Reply Quote 0
                      • jens55undefined
                        jens55 @jay_s_uk
                        last edited by

                        @jay_s_uk, the other tools get primed in Tpostn.g where I first wait for the temperatures to reach the designated setting and then do a short extrusion and a short wait. That extrusion always ends up being done AFTER the tool is picked up and wiped ... so I wipe, extrude and then drag crap hanging off the nozzle into the print.

                        1 Reply Last reply Reply Quote 0
                        • jens55undefined
                          jens55 @fcwilt
                          last edited by

                          @fcwilt said in Cura work-around:

                          @jay_s_uk said in Cura work-around:

                          M98 P"0:/sys/homeall.g"	; home y and x
                          

                          This is just a bit of information you may not have but it may be good to know.

                          G28 will invoke homeall.g as does your M98 command but there is a least one difference, G28 first marks all the axes as un-homed.

                          In some cases that might be important.

                          Frederick

                          That is an interesting tidbit and one that I am sure will bite me in the bum sooner or later. Hopefully I will recall this post when it does catch me !

                          1 Reply Last reply Reply Quote 0
                          • dc42undefined
                            dc42 administrators @jens55
                            last edited by

                            @jens55 why not set default temperatures for the tools in start.g using G10 or M568 ? Then use M116 in the tpost.g file to wait for temperature before doing the purge.

                            Duet WiFi hardware designer and firmware engineer
                            Please do not ask me for Duet support via PM or email, use the forum
                            http://www.escher3d.com, https://miscsolutions.wordpress.com

                            jens55undefined 1 Reply Last reply Reply Quote 1
                            • jens55undefined
                              jens55 @dc42
                              last edited by

                              @dc42, I already use M116 in the tpost.g files. The reason I am reluctant to set default temperatures is because those change. PLA and PETG could be covered with 210C but what about higher melting filaments?
                              I would have to change the defaults based on what material I am printing.
                              I am not saying it wouldn't work ... but I would end up having to mess with the defaults.
                              I would also have to set defaults for all 4 extruders even though I might just use one extruder .... and I would have three extruders sitting there cooking filament.
                              Unless I can somehow grab the data from the Cura print file about which extruders are used and at what temperatures, it doesn' really look like a good solution.

                              dc42undefined fcwiltundefined 2 Replies Last reply Reply Quote 0
                              • dc42undefined
                                dc42 administrators @jens55
                                last edited by

                                @jens55 the other tools would not heat up if the print never selected them.

                                Duet WiFi hardware designer and firmware engineer
                                Please do not ask me for Duet support via PM or email, use the forum
                                http://www.escher3d.com, https://miscsolutions.wordpress.com

                                jens55undefined 1 Reply Last reply Reply Quote 0
                                • jens55undefined
                                  jens55 @dc42
                                  last edited by

                                  @dc42, hmmmm ....... I will need to try that out - would you just set standby temperatures?

                                  dc42undefined 1 Reply Last reply Reply Quote 0
                                  • dc42undefined
                                    dc42 administrators @jens55
                                    last edited by

                                    @jens55 said in Cura work-around:

                                    @dc42, hmmmm ....... I will need to try that out - would you just set standby temperatures?

                                    No, just active temperatures, because you are only interested in heating the tool or tools that Cura selects.

                                    Duet WiFi hardware designer and firmware engineer
                                    Please do not ask me for Duet support via PM or email, use the forum
                                    http://www.escher3d.com, https://miscsolutions.wordpress.com

                                    jens55undefined 1 Reply Last reply Reply Quote 0
                                    • jens55undefined
                                      jens55 @dc42
                                      last edited by

                                      @dc42, ok, I will give that a try. Thanks!

                                      1 Reply Last reply Reply Quote 0
                                      • fcwiltundefined
                                        fcwilt @jens55
                                        last edited by

                                        @jens55 said in Cura work-around:

                                        The reason I am reluctant to set default temperatures is because those change. PLA and PETG could be covered with 210C but what about higher melting filaments?

                                        That issue is one of the reasons for the approach that I use.

                                        Frederick

                                        Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                                        1 Reply Last reply Reply Quote 0
                                        • jens55undefined
                                          jens55
                                          last edited by

                                          OK so I am still screwing around with this and trying to find the best solution ..... with questionable luck

                                          To recap one of the issues, Cura uses the T(n) command to change tools followed by a separate temperature command. Duet takes the T(n) command and runs the various tool changing routines. I had tried to issue an M116 in the tpost routine followed by a purge to prime the tool. Well since temperature had not been initially specified, the waiting doesn't happen and the purge doesn't happen but it would seem the purge happens at a later, less convenient time) after Cura has specified the temperature and it is reached.
                                          Taking some of the earlier suggestions, I decided to try a post-process search and replace. I replaced T(n) with G10 P{extruder_nr} S{material_print_temperature}.
                                          Cura uses the variables in curly brackets as place holders and when it generates the gcode file it replaces those values in the place holder with actual values. Alas, post processing happens AFTER Cura has generated the gcode file so even though I had found a way to trick Cura, Cura decided to barf on me instead.
                                          I am back to having no clue on how to do this in an intelligent way that does not require me to interact with Cura on the gcode level as a 'user' .... all I want to do is to hit the 'slice' button and get correct code generated.
                                          <sigh>

                                          Yes I tried setting default temperatures in start.g and that does work but I don't like that I have to change the settings for different filament. This is not a user friendly approach. Further, it would seem (please correct me if I am wrong !!!!) that I can not call a purge routine in tpost.g because the underlying gcode that caused tpost.g to run did not specify an extruder temperature but instead relies on the extruder having been turned on during start.g. Problem with that is that if the extruder is called for the first time, it is still cold causing the purge to fail at the commanded time and inserting a blob at a later time when the tool happens to have finished warming up.

                                          I still haven't wrapped my mind around the whole filament system in DWC .... something still to do.

                                          I find it odd that other people that are using Cura on tool changers have not run into that issue ...

                                          Lastly, I have not yet tried to set up a separate purge station to use for all the tools - I don't like the concept of introducing the extra time and motion required rather than doing the purge as the tool is withdrawn from the parking position. This is something that I might be forced into but it's pretty much my least liked approach at the moment.

                                          1 Reply Last reply Reply Quote 0
                                          • botundefined
                                            bot
                                            last edited by bot

                                            I figured it out! Using the search and Replace script

                                            Use this as the search field:

                                            ;Generated with Cura_SteamEngine.*
                                            T[0-9]
                                            

                                            and this as the replace field:

                                            ;Generated with Cura_SteamEngine
                                            

                                            And ensure you have checked the box to use regular expresions.

                                            It should work, even after cura updates, as long as the formatting of that generated by message stays the same.

                                            (edit: you have to copy and paste the two lines above, so that cura properly recognizes the invisible newline character. Be careful that after you paste it into curea, there is an invisible newline character between .* and T0)

                                            The T[0-9] will replace any tool number from 0-9. If you have more than 9, you'll have to make a regex that searches for more than one digit after T.

                                            *not actually a robot

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