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

    Layer tracking with variable layer heights

    Scheduled Pinned Locked Moved
    Duet Web Control
    4
    19
    780
    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.
    • Norderundefined
      Norder @Norder
      last edited by

      I simulated the GCode on my printer and the following values came out.
      The layer heights are only correct from layer 29, before that they deviate extremely from 0.1mm.
      1.JPG
      2.JPG
      3.JPG
      4.JPG

      Google Translate
      --- Original Text ---

      Ich habe den GCode mal auf meinem Drucker simuliert und dabei sind folgende Werte heraus gekommen.
      Erst ab Layer 29 sind die Schichthöhen korrekt, vorher weichen sie doch schon extrem von der 0,1mm ab.

      DDA5X... 0.9° Stepper... Linearrails... Duet 2 Wifi... PT100 Board... Duet IR-Probe... Dyze Pro Kit up to 500°C.. etc
      Thingiverse

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

        @tmreith said in Layer tracking with variable layer heights:

        However DWC seems to be calculating layers from a perceived Z height and layer heights.

        Yes this may be the case.

        What version of firmware and DWC are you running?

        Z-Bot CoreXY Build | Thingiverse Profile

        tmreithundefined 1 Reply Last reply Reply Quote 0
        • tmreithundefined
          tmreith @Phaedrux
          last edited by

          @phaedrux
          Board: Duet 3 MB6HC (MB6HC)
          DSF Version: 3.3.0
          Firmware: RepRapFirmware for Duet 3 MB6HC 3.3 (2021-06-15)
          Duet Web Control 3.3.0

          I thought there was a keyword like "layer count" or "num_layers" that was being read in past before DWC would try to calculate based on a layer_height value and the max Z value.

          The mixed layer heights are definitely messing with the layer calculation.

          I have full control over the gcode, so I can add in the required commented value to drive the DWC.

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

            Can you update to 3.4.1?

            Z-Bot CoreXY Build | Thingiverse Profile

            tmreithundefined 1 Reply Last reply Reply Quote 0
            • tmreithundefined
              tmreith @Phaedrux
              last edited by

              @phaedrux
              unfortunately not. The machines are validated to 3.3 and would require a re-validation effort if I updated the firmware.

              Is there a layer count keyword that is still being used in the g-code? I can insert what ever DWC needs to establish a value vs trying to calculate from a Z height and the layer height value.

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

                See if you can add num_layers=## to the end of the file.

                https://forum.duet3d.com/topic/27471/num_layers-in-g-code/4?_=1662052426372

                Z-Bot CoreXY Build | Thingiverse Profile

                tmreithundefined 1 Reply Last reply Reply Quote 0
                • tmreithundefined
                  tmreith @Phaedrux
                  last edited by

                  @phaedrux
                  I added the following to the end of the gcode file, and there was no effect.

                  ; num_layers=64
                  

                  I looked at the source code for FileInfoParser.cpp and it definitely has a routine to parse "num_layers" keyword. I am not sure why the DWC doesn't seem to see the value.

                  I have another machine running 3.4.1, so I'll give it a try on that machine over the weekend.

                  tmreithundefined 1 Reply Last reply Reply Quote 0
                  • tmreithundefined
                    tmreith @tmreith
                    last edited by

                    @tmreith
                    Works on a Duet 2 Wifi running 3.4.1.

                    Added the following to the last line in gcode file.

                    ; num_layers: 64
                    
                    chrishammundefined 1 Reply Last reply Reply Quote 0
                    • Phaedruxundefined
                      Phaedrux Moderator
                      last edited by

                      Maybe a limitation or bug in the DuetPi version?

                      @chrishamm

                      Z-Bot CoreXY Build | Thingiverse Profile

                      1 Reply Last reply Reply Quote 0
                      • chrishammundefined
                        chrishamm administrators @tmreith
                        last edited by chrishamm

                        @tmreith @Phaedrux Parsing the number of layers (aka num_layers) isn't supported in DSF or RRF v3.3. In order to use this feature you must be on v3.4 or newer.

                        PS: Until v3.4 RRF/DSF attempt to compute the number of layers from the object height (last absolute G0/G1 Z command in the print file) and the layer height. If you have an extra G1 Z lift command in there, the reported object height and the number of layers are probably wrong.

                        Duet software engineer

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

                          @chrishamm said in Layer tracking with variable layer heights:

                          If you have an extra G1 Z lift command in there, the reported object height and the number of layers are probably wrong.

                          His end code Z lift has ; E on the line.

                          Z-Bot CoreXY Build | Thingiverse Profile

                          chrishammundefined 1 Reply Last reply Reply Quote 0
                          • chrishammundefined
                            chrishamm administrators @Phaedrux
                            last edited by

                            @phaedrux It is correctly processed by DSF 3.4.1, I just checked (object height = 11.05mm). The number of layers was not present in the original file but once added that is parsed correctly, too.

                            Duet software engineer

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