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

    Simplify 3D configuration

    Scheduled Pinned Locked Moved
    Third-party software
    5
    19
    1.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.
    • Weevilundefined
      Weevil
      last edited by

      I have a Duet 3 with E3D Hermes extruder with a BLTouch probe in a corexy printer. Homing as well as bed leveling works. I tried a sample print in Simplify 3D. All it did was create a print file (g code) with the command to home all and nothing else. It didn't even activate the BL Touch so it kept pushing the bed against the head until I ran an emergency stop. I used the RepRap profile but there's definitely more to this. Any suggestions?

      arhiundefined 1 Reply Last reply Reply Quote 0
      • appjawsundefined
        appjaws
        last edited by

        How are you running the gcode file?
        I produce the gcode file from simplify3D and transfer it to the SD card in the Duet using DWC and then use DWC to run the print..

        appjaws - Core XYUV Duet Ethernet Duex5
        firmware 3.5.0-rc.4 Web Interface 3.5.0-rc.4
        Ormerod 1-converted to laser engraver, Duet wifi
        OpenSCAD version 2024.03.18
        Simplify3D 5.1.2

        arhiundefined 1 Reply Last reply Reply Quote 1
        • arhiundefined
          arhi @appjaws
          last edited by

          @appjaws said in Simplify 3D configuration:

          I produce the gcode file from simplify3D and transfer it to the SD card in the Duet using DWC and then use DWC to run the print..

          Why not just CURL the file from S3D directly on to duet ?

          in s3d, scripts tab, Addition terminal commands for post processing:

          c:\path\to\your\sendtorrf3.bat "[output_filepath]" 
          

          and your sendtorrf3.bat:

          @echo off
          
          for %%a in (%1) do (
              set filepath=%%~dpa
              set filename=%%~na
              set extension=%%~xa
          )   
          set if=%filepath%%filename%%extension%
          
          c:\path\to\your\curl\installation\curl-7.50.3-win64-mingw\bin\curl.exe -G --data-urlencode "gcode=M30%%20%%22%filename%%extension%%%22" http://ender5.local.lan/rr_gcode
          c:\path\to\your\curl\installation\curl-7.50.3-win64-mingw\bin\curl.exe  --data-binary "@%if%" "http://ender5.local.lan/rr_upload?name=gcodes/%filename%%extension%"
          
          

          replace ender5.local.lan with ip of your duet, set proper paths and you are golden. The only thing that does not work here properly is when there is a space in the filename and if the filename start with number

          Weevilundefined appjawsundefined 2 Replies Last reply Reply Quote 2
          • arhiundefined
            arhi @Weevil
            last edited by

            @Weevil said in Simplify 3D configuration:

            I tried a sample print in Simplify 3D. All it did was create a print file (g code) with the command to home all and nothing else. It didn't even activate the BL Touch

            S3D will create the G-Code the way you tell it to. It will not automagically do anything.

            You want something like this in your startup script (advanced/scripts/starting script):

            M200 D0 ; disable volumetrics
            G28 ; home
            G29S1 ; load bed mesh
            

            if you want to run leveling, instead G28S1 you can run G31

            1 Reply Last reply Reply Quote 1
            • Weevilundefined
              Weevil @arhi
              last edited by

              @arhi I'll give it a shot.

              1 Reply Last reply Reply Quote 0
              • appjawsundefined
                appjaws @arhi
                last edited by appjaws

                @arhi What's the advantage of running directly from S3D?
                I have macros to start up, bed levelling, auto set trigger height, shut down, LED control etc.
                My print files are on my computer and SD card so I can print without needing to switch on my computer and control the printer remotely via my phone.

                This is my S3D start script
                M98 P"0:/macros/Set LED Red"
                if !move.axes[0].homed || !move.axes[1].homed
                G28
                G28 Z
                M98 P"0:/macros/Conditional/Auto_Bed_Levelling"
                M98 P"0:/macros/Auto Nozzle Cleaning"
                T0
                M98 P"0:/macros/Set LED Blue"

                appjaws - Core XYUV Duet Ethernet Duex5
                firmware 3.5.0-rc.4 Web Interface 3.5.0-rc.4
                Ormerod 1-converted to laser engraver, Duet wifi
                OpenSCAD version 2024.03.18
                Simplify3D 5.1.2

                arhiundefined 1 Reply Last reply Reply Quote 0
                • arhiundefined
                  arhi @appjaws
                  last edited by

                  @appjaws said in Simplify 3D configuration:

                  @arhi What's the advantage of running directly from S3D?

                  You do not have to get the SD card out of the Duet, plug into PC, safe files, eject, get out of PC and put into duet again. For me personally that's tedious, the card is miniature, I dropped it many times, getting it out of duet is complicated as sd card port is not easily accessible. The SD card port on Duet is maybe high quality but that's mechanical device click/clacking it non stop etc etc etc.. So if I can avoid all that I surely would. Not to mention, for e.g. "today" my printers and my computers are in the same room, in 7 months that will, if all goes by plan, not be so. In that case it would be order of magnitude worse to go get card, from printer and get it back to printer.

                  I have macros to start up, bed levelling, auto set trigger height, shut down, LED control etc.

                  How does that link to the question, I don't get it. Or you are talking about startup script you configure in S3D for your printer?

                  My print files are on my computer and SD card so I can print without needing to switch on my computer and control the printer remotely via my phone.

                  You have to generate the files on your computer so it has to be on when you generate them. For that CURL script to work you have to save the gcode. So what you do is you save the gcode locally and postprocessing script uploads it to your printer, so again, you have gcode file saved locally and uploaded to your printer, you don't have to move SD card around and do anything by hand. You can turn off your computer and start / control print via phone. Everything exactly the same except you did not need to remove ths SD card twice for every code :).

                  That is the benefit. The downside is that the script can't handle files that start with digit and can't handle file name that has spaces, so when you save file you should name it accordingly. It can probably be easily fixed only I don't myself put spaces into file names so I have not tried.

                  Danalundefined appjawsundefined 2 Replies Last reply Reply Quote 1
                  • Danalundefined
                    Danal @arhi
                    last edited by

                    @arhi said in Simplify 3D configuration:

                    You do not have to get the SD card out of the Duet, plug into PC, safe files...

                    YIKES! No, don't do that. You should almost never have to touch the card in a Duet. I have about five of them that I haven't touched in literally years. Through firmware upgrades, thousands of print jobs, etc.

                    Any slicer. Save the file. Open Duet Web Console (DWC) in a browser. Jobs tab. Upload the file. Print it. Rinse, repeat. A few seconds, a few clicks, no card manipulation.

                    Or, automate. Several slicers have plugins to do the upload and start print step automatically. Or use the curl script, it basically does what those plugins do... and looks great! Saves a few clicks.

                    But to be clear, for others reading this thread: Almost never any need to move the card around like icky old Marlin printers.

                    Delta / Kossel printer fanatic

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

                      But I think your real question is the BLtouch. A properly configured Duet will make the BLt work with no special G-Codes from your slicer. It "just works" as various homing and probing occur.

                      Please post your config.g, homez.g, and bed.g. And your deployprobe.g and retractprobe.g. All of those are in /sys (none in /macros)

                      Delta / Kossel printer fanatic

                      arhiundefined 1 Reply Last reply Reply Quote 1
                      • arhiundefined
                        arhi @Danal
                        last edited by

                        @Danal said in Simplify 3D configuration:

                        A properly configured Duet will make the BLt work with no special G-Codes from your slicer.

                        well you do need "some" startup stuff... S3D won't even add homing if you don't add it to start script 😄

                        1 Reply Last reply Reply Quote 0
                        • Weevilundefined
                          Weevil
                          last edited by

                          I think the issue starts with the homeall script. I am no expert on this coding stuff but it looks like there;s no command to operate the BLTouch:

                          ; homeall.g
                          ; called to home all axes
                          ;
                          ; generated by RepRapFirmware Configuration Tool v2.1.8 on Thu Feb 20 2020 16:55:51 GMT-0800 (Pacific Standard Time)
                          G91 ; relative positioning
                          G1 H2 Z5 F6000 ; lift Z relative to current position
                          G1 H1 X305 Y-305 F1800 ; move quickly to X or Y endstop and stop there (first pass)
                          G1 H1 X305 ; home X axis
                          G1 H1 Y-305 ; home Y axis
                          G1 X-5 Y5 F6000 ; go back a few mm
                          G1 H1 X305 F360 ; move slowly to X axis endstop once more (second pass)
                          G1 H1 Y-305 ; then move slowly to Y axis endstop
                          G1 H1 Z-505 F360 ; move Z down stopping at the endstop
                          G90 ; absolute positioning
                          G92 Z0 ; set Z position to axis minimum (you may want to adjust this)

                          ; Uncomment the following lines to lift Z after probing
                          ;G91 ; relative positioning
                          ;G1 Z5 F100 ; lift Z relative to current position
                          ;G90 ; absolute positioning

                          Phaedruxundefined 1 Reply Last reply Reply Quote 0
                          • Phaedruxundefined
                            Phaedrux Moderator @Weevil
                            last edited by

                            @Weevil said in Simplify 3D configuration:

                            G1 H1 Z-505 F360 ; move Z down stopping at the endstop
                            G90 ; absolute positioning
                            G92 Z0 ; set Z position to axis minimum (you may want to adjust this)

                            You are correct. You have it setup as if you were using an endstop instead of a probe.
                            You need to replace those lines with something like this:

                            G90 ; absolute position
                            G1 X150 Y150 ; move probe to the center of the bed
                            G30 ; use the probe to find Z0
                            G1 X0 Y0 Z5 ; return to parked position
                            

                            Z-Bot CoreXY Build | Thingiverse Profile

                            Weevilundefined 1 Reply Last reply Reply Quote 0
                            • appjawsundefined
                              appjaws @arhi
                              last edited by

                              @arhi I never remove the SD card, just use DWC to load files, print them and update the system firmware etc.
                              That was my script for the startup is S3, you will notice that it checks if the machine has been homed, if not it carries out a home procedure..

                              appjaws - Core XYUV Duet Ethernet Duex5
                              firmware 3.5.0-rc.4 Web Interface 3.5.0-rc.4
                              Ormerod 1-converted to laser engraver, Duet wifi
                              OpenSCAD version 2024.03.18
                              Simplify3D 5.1.2

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

                                G30 works MUCH better for a BLt. Here's my homez, and deploy/retract files. These "just work", including probing for 3-motor bed tramming, mesh probing, etc.

                                My /sys/homez.g:

                                ; Home Z Axis
                                
                                G90 G1 X150 Y150 F10000   ; Move to the center of the bed
                                
                                M558 F500                ; Set the probing speed
                                G30
                                M558 F50                 ; Set a slower probing speed
                                G30
                                

                                my /sys/deployprobe.g:

                                M280 P0 S10
                                

                                And /sys/retractprobe.g:

                                M280 P0 S90
                                

                                /sys/bed.g

                                G0     X152.5 Y50 H1 F10000
                                G30 P0 X152.5 Y50 Z-99999       ; probe near back leadscrew
                                
                                G0     X265   Y260 H1 F10000
                                G30 P1 X265   Y260 Z-99999      ; probe near front left leadscrew
                                
                                G0     X0     Y315 H1 F10000
                                G30 P2 X0     Y315 Z-99999 S3   ; probe near front right leadscrew and calibrate 3 motors
                                
                                G1     X150   Y150 F10000
                                
                                

                                Delta / Kossel printer fanatic

                                1 Reply Last reply Reply Quote 0
                                • Weevilundefined
                                  Weevil @Phaedrux
                                  last edited by

                                  @Phaedrux I tried your suggestion. It almost works. It is assuming the endstops are on the other end of the rail and rattles off before I hit emergency stop.

                                  This is the code I have for homex which works:

                                  G91 ; relative positioning
                                  G1 H2 Z5 F6000 ; lift Z relative to current position
                                  G1 H1 X305 F1800 ; move quickly to X axis endstop and stop there (first pass)
                                  G1 X-5 F6000 ; go back a few mm
                                  G1 H1 X305 F360 ; move slowly to X axis endstop once more (second pass)
                                  G1 H2 Z-5 F6000 ; lower Z again
                                  G90 ; absolute positioning

                                  Here's the code for homey which works:

                                  G91 ; relative positioning
                                  G1 H2 Z5 F6000 ; lift Z relative to current position
                                  G1 H1 Y-305 F1800 ; move quickly to Y axis endstop and stop there (first pass)
                                  G1 Y5 F6000 ; go back a few mm
                                  G1 H1 Y-305 F360 ; move slowly to Y axis endstop once more (second pass)
                                  G1 H2 Z-5 F6000 ; lower Z again
                                  G90 ; absolute positioning

                                  And here's the working code for homez:

                                  G90 G1 X150 Y150 F10000 ; Move to the center of the bed
                                  M558 F500 ; Set the probing speed
                                  G30
                                  M558 F50 ; Set a slower probing speed
                                  G30

                                  Just to make sure here, when a send a file to print per the file created by S3D, the extruder is sent to coordinates 0,0,0 which I perceive as homeall. The homez code I have centers the head (150,150,0). Does this matter when starting a print?

                                  Phaedruxundefined 1 Reply Last reply Reply Quote 0
                                  • Phaedruxundefined
                                    Phaedrux Moderator @Weevil
                                    last edited by

                                    @Weevil said in Simplify 3D configuration:

                                    The homez code I have centers the head (150,150,0). Does this matter when starting a print?

                                    You can add another G1 X Y move after the last G30 to move the head wherever you want to park it, as I showed in my example. Once the print starts, it will move to wherever it needs to go to print, regardless of where the print head is when it starts.

                                    @Weevil said in Simplify 3D configuration:

                                    It is assuming the endstops are on the other end of the rail and rattles off before I hit emergency stop.

                                    I don't understand what you mean. What did you try and what did it do?

                                    It may be time to post your config.g and homing files along with a description of your printer, where the endstops are, etc, and maybe even a picture.

                                    Z-Bot CoreXY Build | Thingiverse Profile

                                    Weevilundefined Phaedruxundefined 2 Replies Last reply Reply Quote 1
                                    • Weevilundefined
                                      Weevil @Phaedrux
                                      last edited by

                                      @Phaedrux The head is moving to the end that does not have the end stop. Then it rattles away until I do an emergency stop. MY homex and homey codes work just fine. It's the homeall that is causing the issue.

                                      1 Reply Last reply Reply Quote 0
                                      • Phaedruxundefined
                                        Phaedrux Moderator @Phaedrux
                                        last edited by

                                        @Phaedrux said in Simplify 3D configuration:

                                        It may be time to post your config.g and homing files along with a description of your printer, where the endstops are, etc, and maybe even a picture.

                                        Z-Bot CoreXY Build | Thingiverse Profile

                                        1 Reply Last reply Reply Quote 0
                                        • Weevilundefined
                                          Weevil
                                          last edited by

                                          Problem solved. The whole issue was in the location of the end stops. It is now working. Thanks everyone!

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