Community
    • Login

    Mass editing G-code

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    17 Posts 4 Posters 1.8k Views
    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.
    • PeterJonesP
      PeterJones
      last edited by

      @PeterJones said

      Good luck with that

      Okay, I got interested enough to write it. Assuming you can figure out which Notepad++ menu to use to decode this encoded text, you get a freebie: Go buy a lottery ticket.

      MS4gSW5zdGFsbCBQeXRob25TY3JpcHQNCjIuICoqUGx1Z2lucyA+IFB5dGhvblNj
      cmlwdCA+IE5ldyBTY3JpcHQqKiwgcG9wdWxhdGUgd2l0aCB0aGUgZm9sbG93aW5n
      LCBhbmQgc2F2ZSBpdCBhcyBgMTgyOTctZ2NvZGUtbGF5ZXItbnVtYmVyaW5nLnB5
      YDoNCg0KICAgICAgICAjIGVuY29kaW5nPXV0Zi04DQogICAgICAgICIiImluIHJl
      c3BvbnNlIHRvIGh0dHBzOi8vbm90ZXBhZC1wbHVzLXBsdXMub3JnL2NvbW11bml0
      eS90b3BpYy8xODI5Ny8iIiINCiAgICAgICAgZnJvbSBOcHAgaW1wb3J0ICoNCg0K
      ICAgICAgICAjY29uc29sZS5zaG93KCkNCiAgICAgICAgI2NvbnNvbGUuY2xlYXIo
      KQ0KDQogICAgICAgIGRlZiBmb3J1bV9wb3N0MTgyOTdfbWFpbigpOg0KICAgICAg
      ICAgICAgIiIiDQoNCiAgICAgICAgICAgIGFzc3VtZXMgdGhlIG1hcCBmaWxlIGlu
      IGluIHRoZSBhY3RpdmUgZWRpdG9yLCB3aXRoDQogICAgICAgICAgICAgICAgImZp
      bGVuYW1lIiB4bnVtDQogICAgICAgICAgICBwYWlycyBvbiBlYWNoLCBsaWtlDQog
      ICAgICAgICAgICAgICAgImdjb2RlMTAwLmciIDI3MTgNCiAgICAgICAgICAgICAg
      ICAiZ2NvZGUxMDEuZyIgMzE0DQogICAgICAgICAgICAgICAgImdjb2RlMTAyLmci
      IDE2DQoNCiAgICAgICAgICAgIEl0IHdpbGwgb3BlbiB0aGUgaW5kaXZpZHVhbCBm
      aWxlcyBpbiB0aGUgb3RoZXIsIGRvIHRoZQ0KICAgICAgICAgICAgc2VhcmNoL3Jl
      cGxhY2UsIGFuZCBzYXZlL2Nsb3NlLg0KDQogICAgICAgICAgICAiIiINCiAgICAg
      ICAgICAgIG5MaW5lcyA9IGVkaXRvci5nZXRMaW5lQ291bnQoKQ0KICAgICAgICAg
      ICAgbWFwQnVmSUQgPSBub3RlcGFkLmdldEN1cnJlbnRCdWZmZXJJRCgpDQogICAg
      ICAgICAgICBtYXBWaWV3ID0gbm90ZXBhZC5nZXRDdXJyZW50VmlldygpDQogICAg
      ICAgICAgICBtYXBJbmRleCA9IG5vdGVwYWQuZ2V0Q3VycmVudERvY0luZGV4KG1h
      cFZpZXcpDQoNCiAgICAgICAgICAgIGZvciBsIGluIHJhbmdlKDAsbkxpbmVzKToN
      CiAgICAgICAgICAgICAgICBub3RlcGFkLmFjdGl2YXRlSW5kZXgobWFwVmlldywg
      bWFwSW5kZXgpDQoNCiAgICAgICAgICAgICAgICB0eHQgPSBlZGl0b3IxLmdldExp
      bmUobCkucnN0cmlwKCkNCiAgICAgICAgICAgICAgICBpZiBsZW4odHh0KT09MDog
      Y29udGludWUNCiAgICAgICAgICAgICAgICBmbmFtZSwgeGlkID0gdHh0LnNwbGl0
      KCciICcpDQogICAgICAgICAgICAgICAgZm5hbWUgPSBmbmFtZVsxOl0NCiAgICAg
      ICAgICAgICAgICAjY29uc29sZS53cml0ZSgiZm5hbWUgPSAne30nLCB4aWQgPSAn
      e30nXG4iLmZvcm1hdChmbmFtZSwgeGlkKSkNCg0KICAgICAgICAgICAgICAgIHJl
      dCA9IG5vdGVwYWQub3BlbihmbmFtZSkNCiAgICAgICAgICAgICAgICBub3RlcGFk
      Lm1lbnVDb21tYW5kKE1FTlVDT01NQU5ELlZJRVdfR09UT19BTk9USEVSX1ZJRVcp
      DQogICAgICAgICAgICAgICAgZWRpdG9yLnJlcmVwbGFjZSgNCiAgICAgICAgICAg
      ICAgICAgICAgJ147TEFZRVI6KFxkKykkJywNCiAgICAgICAgICAgICAgICAgICAg
      bGFtYmRhIG06ICdNMTE3IExheWVyOicgKyBzdHIobS5ncm91cCgxKSkgKyAnLycg
      KyB4aWQNCiAgICAgICAgICAgICAgICApDQogICAgICAgICAgICAgICAgbm90ZXBh
      ZC5zYXZlKCkNCiAgICAgICAgICAgICAgICBub3RlcGFkLmNsb3NlKCkNCg0KDQog
      ICAgICAgIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6IGZvcnVtX3Bvc3QxODI5
      N19tYWluKCkNCg0KMy4gQ3JlYXRlIGEgZmlsZSB0aGF0IGxvb2tzIGxpa2UNCg0K
      ICAgICAgICAiQzpcVXNlcnNcUEVURVJ+MS5KT05cQXBwRGF0YVxMb2NhbFxUZW1w
      XGdjXGcwMDEuZ2NvZGUiIDk4MzgNCiAgICAgICAgIkM6XFVzZXJzXFBFVEVSfjEu
      Sk9OXEFwcERhdGFcTG9jYWxcVGVtcFxnY1xnMDAyLmdjb2RlIiA1ODQyDQogICAg
      ICAgICJDOlxVc2Vyc1xQRVRFUn4xLkpPTlxBcHBEYXRhXExvY2FsXFRlbXBcZ2Nc
      ZzAwMy5nY29kZSIgOTc3DQogICAgICAgICJDOlxVc2Vyc1xQRVRFUn4xLkpPTlxB
      cHBEYXRhXExvY2FsXFRlbXBcZ2NcZzAwNC5nY29kZSIgMTc0OQ0KICAgICAgICAi
      QzpcVXNlcnNcUEVURVJ+MS5KT05cQXBwRGF0YVxMb2NhbFxUZW1wXGdjXGcwMDUu
      Z2NvZGUiIDY0NzcNCiAgICAgICAgIkM6XFVzZXJzXFBFVEVSfjEuSk9OXEFwcERh
      dGFcTG9jYWxcVGVtcFxnY1xnMDA2Lmdjb2RlIiAzMw0KICAgICAgICAiQzpcVXNl
      cnNcUEVURVJ+MS5KT05cQXBwRGF0YVxMb2NhbFxUZW1wXGdjXGcwMDcuZ2NvZGUi
      IDUxMjMNCiAgICAgICAgIkM6XFVzZXJzXFBFVEVSfjEuSk9OXEFwcERhdGFcTG9j
      YWxcVGVtcFxnY1xnMDA4Lmdjb2RlIiA3Njc2DQogICAgICAgICJDOlxVc2Vyc1xQ
      RVRFUn4xLkpPTlxBcHBEYXRhXExvY2FsXFRlbXBcZ2NcZzAwOS5nY29kZSIgNjQy
      Ng0KICAgICAgICAiQzpcVXNlcnNcUEVURVJ+MS5KT05cQXBwRGF0YVxMb2NhbFxU
      ZW1wXGdjXGcwMTAuZ2NvZGUiIDE1NzYNCg0KICAgIHdoZXJlIHRoZSB0aGUgZmls
      ZW5hbWUgX211c3RfIGJlIGluIHF1b3RlcywgYW5kIHRoZSBYIHZhbHVlIGlzIG9u
      ZSBzcGFjZSBhZnRlciB0aGUgZW5kLXF1b3RlLA0KICAgIGFuZCB0aGUgWCB2YWx1
      ZSBfbXVzdF8gYmUgb25lIG9yIG1vcmUgZGlnaXRzLg0KDQogICAgU2F2ZSB0aGF0
      IGZpbGUsIGFuZCBoYXZlIGl0IG9wZW4gYXMgeW91ciBhY3RpdmUgZmlsZSBpbiBO
      b3RlcGFkKysNCg0KNC4gKipQbHVnaW5zID4gUHl0aG9uU2NyaXB0ID4gU2NyaXB0
      cyA+IGAxODI5Ny1nY29kZS1sYXllci1udW1iZXJpbmcucHlgDQo1LiBTaXQgYmFj
      ayBhbmQgZW5qb3kgdGhlIHJpZGUuDQo=
      

      This worked for me with the example map file, and using a bunch of files that have one or more ;LAYER:## lines in them… If it doesn’t work for you, and you want help tweaking / debugging, you’ll have to show some effort.

      1 Reply Last reply Reply Quote 4
      • Alan KilbornA
        Alan Kilborn
        last edited by

        It might be difficult for someone that says this to “show some effort”.

        I’m not a programmer,

        and

        Please give me a tutorial-like description, I don’t really know Notepad(++).

        Not impossible, but, just sayin’…

        1 Reply Last reply Reply Quote 2
        • PeterJonesP
          PeterJones
          last edited by

          @Alan-Kilborn,

          Not impossible, but, just sayin’…

          Indeed.

          Looks like the OP was last here soon after my first post, and I doubt he’ll be back. For the his sake, I hope my regex suggestions were sufficient for getting something.

          Levente VargaL 1 Reply Last reply Reply Quote 3
          • Levente VargaL
            Levente Varga @PeterJones
            last edited by

            @PeterJones Hi, I really really appreciate your effort. I’m gonna try them out now (if I can find out how). I was last here last week because I was away for the weekend and was busy with school after.

            1 Reply Last reply Reply Quote 0
            • Levente VargaL
              Levente Varga
              last edited by

              Okay, so I managed to install PythonScript. In theory I created the script (made the file, copy pasted your script and saved as you said (18297-gcode-layer-numbering.py))
              I created a new file wich contains the directions for the folder I have my gcode files in, saved. But when I start the script, nothing happens. Literally. I click on the 18297-gcode-layer-numbering script and nothing.
              I would show some effort, but I really don’t know how this works. I follow your instructions, but for example I have no idea what the script contains.

              Thank you very much for this, i don’t know what’s wrong.

              1 Reply Last reply Reply Quote 0
              • EkopalypseE
                Ekopalypse
                last edited by

                First let’s check if the plugin has been correctly installed.
                Can you open the console?
                Plugins->PythonScript->ShowConsole
                If so, put the following into the run box in the console
                notepad.getVersion() and press enter or click Run
                What do you see?

                Levente VargaL 1 Reply Last reply Reply Quote 2
                • PeterJonesP
                  PeterJones
                  last edited by

                  @Levente-Varga ,

                  Thank you very much for this, i don’t know what’s wrong.

                  Welcome back.

                  Thanks for taking the effort to decode the script and install PythonScript; it shows you’re not just trying to get us to do your work for you.

                  First, start with @ekopalypse’s instructions, and tell us what you see.

                  After that, open your 18297-gcode-layer-numbering.py: if you go to Plugins > Python Script > Scripts, you can Ctrl+Click on 18297-gcode-layer-numbering.py to open it for editing.

                  You’ll notice there are a few lines that start with #console. – remove the # comment marker. Save.

                  Open your map file like I showed, making sure you are using the paths to your actual files, and whatever ID you want for each file. It needs to be in the active/top editor window.

                  Then use Plugins > Python Script > Scripts, and normal-click on 18297-gcode-layer-numbering.py to run the script. If the PythonScript console wasn’t showing before, it should now.
                  And you should see filename = '...', xid = '...' for each file as it’s processing.

                  If you see any red text in the PythonScript console window, you’ll have copy the whole console window, and paste the contents (especially the error) into your reply in the forum. Once you paste, hightlight that section you pasted and click the </> to mark that section as code, so we get the actual characters you see.

                  1 Reply Last reply Reply Quote 2
                  • Levente VargaL
                    Levente Varga @Ekopalypse
                    last edited by

                    @Ekopalypse 2019-10-01 (1).png

                    1 Reply Last reply Reply Quote 0
                    • PeterJonesP
                      PeterJones
                      last edited by

                      Sorry, I forgot that since you were decoding it, the forum wouldn’t gobble the indents.

                      In the script, Ctrl+A to select all, then Shift+TAB twice to un-indent twice. Save. Then go back to your map file and run the script again.

                      1 Reply Last reply Reply Quote 2
                      • EkopalypseE
                        Ekopalypse
                        last edited by

                        This post is deleted!
                        1 Reply Last reply Reply Quote 0
                        • PeterJonesP
                          PeterJones
                          last edited by

                          @PeterJones said in Mass editing G-code:

                          then go back to your map file

                          You’ll also want to make sure your map file isn’t indented. Again, select all and Shift+TAB until it’s no longer indented.

                          Levente VargaL 1 Reply Last reply Reply Quote 1
                          • Levente VargaL
                            Levente Varga
                            last edited by

                            alt text

                            Thank thanks thanks guys. I’ll test it on my printer soon, it is printing atm.
                            I really appreciate it!

                            1 Reply Last reply Reply Quote 1
                            • Levente VargaL
                              Levente Varga @PeterJones
                              last edited by

                              @PeterJones well I have good and bad news. The good is, your script works flawless, but turns out the gcode needs that line. Can you help me edit the script to insert the

                              M117 LayerX/sumX
                              

                              line AFTER the

                              ;Layer:X
                              

                              line?

                              1 Reply Last reply Reply Quote 0
                              • PeterJonesP
                                PeterJones
                                last edited by PeterJones

                                Good news and bad news:

                                edit the script

                                Change the lambda m:... line to:

                                lambda m: str(m.group(0)) + "\r\nM117 Layer:" + str(m.group(1)) + '/' + xid
                                

                                The m.group(0) contains the whole original match. The \r\n add a windows CRLF newline between the original match and the new text. The rest is the same as before.

                                1 Reply Last reply Reply Quote 2
                                • Levente VargaL
                                  Levente Varga
                                  last edited by

                                  Now it works like a charm. Thank you again!

                                  1 Reply Last reply Reply Quote 2
                                  • First post
                                    Last post
                                  The Community of users of the Notepad++ text editor.
                                  Powered by NodeBB | Contributors