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

    Duet3d CNC gcode

    Scheduled Pinned Locked Moved
    CNC
    6
    14
    1.1k
    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.
    • chernogorskyundefined
      chernogorsky
      last edited by

      Hi,
      Im start using d3 as cnc controller
      Works just great
      Im using some post-processor for fusion360 + some modification in it, but I think its no a road should be followed:

      1. d3 has not enough cnc folowers (and would not have enough in a few years) compare to march3 or linuxcnc
      2. as a result of p1 - it would be quite a limited support for post processors - probably only the very basic features for major cam only
      3. if I try moving/port something from lcnc/m3 eviroment it would be quite hard, since I would be needed to emulate the difference in first place

      That said, I think it worths considuring moving cnc gcode style toward lcnc / m3 or any other standard (tormach ?)

      P.S. Im not even close to be named as a cnc newbe, im just walking around cnc ). I do IT system design for a living, and that exact part I force my teams to avoid in my projects )

      chimaeraghundefined 1 Reply Last reply Reply Quote 0
      • chimaeraghundefined
        chimaeragh @chernogorsky
        last edited by

        @chernogorsky Have you seen this post? Ultimate Reprap Fusion Post Processor

        Duet 2 Wifi, Ooznest Workbee CNC 1510

        chernogorskyundefined 1 Reply Last reply Reply Quote 0
        • chernogorskyundefined
          chernogorsky @chimaeragh
          last edited by

          @chimaeragh Yes,
          Im using it, with few modification (have probably made merger request if it'll be interested)
          that's where I find that we are probably heading the wrong way

          examples:

          1. I want using the probe (fusion360), ok - let say, that I'll be able to write/debug code for it myown (support - probably no)
          2. I want using linuxcnc addon for probes (they have like 50 scripts (tested/and updated) for probing,
            but different gcode flavor, so in order to make it work I need to translate it line by line
          3. I wanna try other CAM,

          What Im saying is - duet3d cnc community is not that huge (at least now and in a few years) to create/support all that may be required and avaiable on a open-source-like enviroments

          If (IHMO) d3 uses some of the more spreaded gcode flavor that can help spread the board itself

          P.S. I myself probably be able to code it myself
          P.P.S. or I'd realize that I spend more time coding (something needed me only) than cncing

          droftartsundefined 1 Reply Last reply Reply Quote 0
          • droftartsundefined
            droftarts administrators @chernogorsky
            last edited by

            @chernogorsky is there anything specific that RRF doesn’t support for you?

            Most CNC commands are supported in RRF, and we try to keep to the NIST standard. There is a list of Gcodes not implemented here, and the reasons/workarounds: https://docs.duet3d.com/User_manual/Reference/Gcodes_not_implemented

            Alternatively, you can write your own gcodes if they are missing; in RepRapFirmware 2.03 and later, if you try to execute a G- or M-command that RRF does not implement, it will execute a system macro of that name if it exists. For example, if you send G40 then it will execute /sys/G40.g if it exists; and if you send M48 then it will execute /sys/M48.g if it exists.

            If a Gcode exists but doesn’t work as you want, you can either recompile RRF without that command, and write your own macro for it, or submit a change request in the ‘firmware wishlist’ section of the forum.

            Ian

            Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

            chernogorskyundefined 1 Reply Last reply Reply Quote 1
            • chernogorskyundefined
              chernogorsky @droftarts
              last edited by

              @droftarts Im not talking about clear gcode
              Im talking about gcode flavor

              Example:
              I cant use code post processed / designed for linuxcnc
              I have to use separate post processor (which work quite good for f360 btw)

              so if i want using something but f360, or use existed code for lcnc / mach3 i have to spend tremendos of time each time, so in long term it not worth it (except for me personally)

              chernogorskyundefined T3P3Tonyundefined 2 Replies Last reply Reply Quote 0
              • chernogorskyundefined
                chernogorsky @chernogorsky
                last edited by

                So I'll not be able to reuse code for other env, we have to create and SUPPORT owr own

                droftartsundefined 1 Reply Last reply Reply Quote 0
                • droftartsundefined
                  droftarts administrators @chernogorsky
                  last edited by

                  @chernogorsky It's pretty rare that Gcode is transportable between machines; there's too many differences between them. Number of axes, feed rates, machine size, tools, etc; the list is endless. It's only if you have a homogenous product, like the Prusa machines in 3D printing, that you can get anywhere close to this. That you have to change 'flavour' or post processor for specific machines is not a surprise.

                  Like I said, if there's anything specific you feel is missing from RRF, please submit a change request in the 'firmware wishlist' section of the forum.

                  Ian

                  Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                  1 Reply Last reply Reply Quote 2
                  • Catalin_ROundefined
                    Catalin_RO
                    last edited by

                    I was among the first users of Duet on a CNC machine over four years ago. Back than I had a genuine, first version, Workbee, with several years of using GRBL on another low cost CNC. While Duet was lacking features of GRBL that I was already used with, the old Pololu DRV8825 drivers were not up to the task and I decided not to spend to much on proper Leadshine drivers. So Duet looked perfect as a hardware platform.

                    With CamBam for the CAM part, configuring it to generate a GCode that was understood by Duet back then was OK (G2 and G3 were not even planned back then, not to mention the work coordinates!). I wrote on the forum about the issues that I have found, I complained about some of the missing features, and things slowly got better.

                    These days the Duet boards are a good choice, depending on the CNC you want to control.

                    3 years later problems started to creep in. Being an Electronics engineer, I started digging. It all came down to the on-board drivers. Randomly, only at powering on, they reported disconnected and/or shorted steppers. I checked all connections, I replaced connectors, I ended up replacing cables - no luck! And, worse, sometimes I was not able to use the CNC for a whole day. Once started, all went flawlessly! I was not the only one with the symptom, just search the forum for "phase disconnected". There was no clear solution to the problem!

                    My ten cents - even if properly cooled, using the on-board drivers at 2.4A (my steppers are rated for 3A) for hours at a time is affecting them over time. The higher power drivers on the Duet 3 board should be better. But there is another problem - the supply voltage! You can't get proper performance from the steppers on a larger CNC without using at least 36V as supply. Even the new Duet 3 boards are limited to 32V.

                    So I decided to put the Duet board to storage and moved to PlanetCNC MK3 with Leadshine drivers. The bill was slightly higher, but not hugely higher (less than double!). And it comes with a lot of CNC specific bells and whistles.

                    chernogorskyundefined 1 Reply Last reply Reply Quote 1
                    • chernogorskyundefined
                      chernogorsky @Catalin_RO
                      last edited by

                      @catalin_ro Im using 6xd, so no direct drivers
                      direct one - I had many issues with d2, with d3 not so much, but I rarely push the limits

                      overheating - not sure its an issue - used to run d3 in 45-50 outside

                      rest - donno,
                      I just foresee that due to limited numbers of users that env would not be able to grow naturally (not only create something required, but also support it for prolonging period of time)

                      example: I can create (and I did) cnc pendant, will probably code it till some finished module
                      but in case I switch to another project it most likely would be abandoned

                      same for all "not critical / not mainstream" parts

                      With 3d its easier (its more general in terms), but still linear adv, ....

                      at the moment it not limit me a lot, but will see how its go

                      3DPMicroundefined 1 Reply Last reply Reply Quote 0
                      • 3DPMicroundefined
                        3DPMicro @chernogorsky
                        last edited by 3DPMicro

                        @chernogorsky I dont think the amount of followers on the cnc side is an issue. It's really not that complicated if you take the time to understand gcode. What I mean is anyone that has a cnc mill should be capable of looking at the program and understanding what the machine's about to do and be able to adjust as needed. Its intimidating at first but g code is quite simple. Most non industrial, single tool CNC's need very little in addition to the actual movement commands.

                        I use the Duet on 2 printers, a test rig, a (very) small cnc mill, my friends cnc mill and am in the process of using it on a lathe that's being retrofitted to cnc with clearpath servos. My motivation for using it on machines other than a 3d printer is familiarity and flexibility. I have basically the same system and support on everything. With the ability to use external drivers there are few limitations. I'm currently testing brushed dc servos with Gecko drives and it looks promising. Very smooth, high rpm and cheap if you find the right deals

                        Duet controlled Lathe, micro mill, 3d printer and 1992 Haas VF2 VMC

                        1 Reply Last reply Reply Quote 0
                        • T3P3Tonyundefined
                          T3P3Tony administrators @chernogorsky
                          last edited by

                          @chernogorsky said in Duet3d CNC gcode:

                          @droftarts Im not talking about clear gcode
                          Im talking about gcode flavor

                          Example:
                          I cant use code post processed / designed for linuxcnc
                          I have to use separate post processor (which work quite good for f360 btw)

                          so if i want using something but f360, or use existed code for lcnc / mach3 i have to spend tremendos of time each time, so in long term it not worth it (except for me personally)

                          What specific elements of the linuxcnc gcode flavor are different for the F360 output etc?

                          Is this about a gcode not being supported, or the syntax being different?

                          www.duet3d.com

                          chernogorskyundefined 1 Reply Last reply Reply Quote 0
                          • chernogorskyundefined
                            chernogorsky @T3P3Tony
                            last edited by

                            @t3p3tony syntax, im talking about syntax
                            the idea is (same as it in programming)
                            you creating your own template system, you are using standard
                            you creating your own variant of the language, you are using same as a bigger project (so you can grab parts from there without modification)

                            T3P3Tonyundefined 3DPMicroundefined 2 Replies Last reply Reply Quote 0
                            • T3P3Tonyundefined
                              T3P3Tony administrators @chernogorsky
                              last edited by

                              @chernogorsky ok, i understand what that is, but I don't understand the differences between (say) Linux CNC and F360 output that you mentioned.

                              Some examples would be helpful.

                              www.duet3d.com

                              1 Reply Last reply Reply Quote 0
                              • 3DPMicroundefined
                                3DPMicro @chernogorsky
                                last edited by 3DPMicro

                                @chernogorsky
                                this is the commands to run my micro mill in the simplest form
                                begin-
                                M453 (CNC mode. Can be set from command line then doesnt need to be included it in programs)
                                T0 ; set tool .1mm ENGRAVER
                                G21 ; set units to millimeters
                                G90 ; use absolute coordinates
                                (add spindle on command or whatever else. Or not)

                                some code using I and J-
                                (My PP (post processor) uses a 0 after G or M codes. RRF doesn't seem to mind. G1, G0, M3 is common these days)

                                ;ENGRAVING
                                G00 Z0.5
                                G00 X1.836 Y29.742
                                G01 Z-0.23 F18.
                                G03 X1.804 I-0.034 J-1.019F80.
                                G01 X1.787
                                G01 Y29.896
                                G03 X1.836 Y29.742 I20.298 J6.458
                                G01 X1.884 Y29.757
                                G03 X1.907 Y29.688 I20.2 J6.597
                                G03 X1.884 Y29.689 I-0.078 J-0.967
                                G01 X1.857 Y29.691
                                G03 X1.804 Y29.692 I-0.055 J-0.969
                                G01 X1.777
                                G03 X1.737 Y29.691 I-0.002 J-0.97.........

                                End Code (not required)-
                                G00 Z5.0
                                G28 XY

                                M30 typically ends a cnc program but RRF uses the command to erase a file from the SD card. The program can just end as above. You can add additional commands to turn off spindle or disable motors if you want.
                                If I recall RRF can also use R instead of I,J,K which I assume you mean as "flavor". Most CNC controls need % as first and last character. RRF does not.
                                I think you can roll any begining or end "required" code in to a macro or copy and paste then just use Fusion or whatever for movement commands only. If you want to use cutter comp or offsets add as needed. Most modern PP use "cancel" commands and set WCS at the beginning and end but it can be greatly simplified like above and the machine will work fine. Its only as complicated as you make it

                                Duet controlled Lathe, micro mill, 3d printer and 1992 Haas VF2 VMC

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