Ir para conteรบdo
3DFinder
Log in

You're on 3DFinder

We search Thingiverse, MakerWorld, and Printables at once so you get the best of each.

Find more like this
3D model Python script to insert gcode commands before a layer by arpruss on Thingiverse

Description

From time to time I need to insert a pause in gcode to change filament. It's a nuisance to manually edit gcode and have to count layers or search for "g1 z". So I wrote a simple python script to automate this and other similar things (e.g., inserting a temperature change). Here it is (click on "Raw" to download).

USE AT YOUR OWN RISK.

You should first edit the script to change the parking command for pauses. I set X to -12, which should work for my DaVinci 1.0a (Repetier) printer.

The script is designed for gcode produced by Slic3r and my Repetier-based DaVinci 1.0a. You should examine the output the first few times yourself to make sure that you are happy with it and it works with your slicer/printer and isn't confused by preambles in detecting layers.

Here is how to run it:

python insert.py filename.gcode layerspec layercommands layerspec layercommands ...

The layers must be given in order, lowest to highest, and are specified by the `layerspec`s, which can be:

  • `zN` : z-coordinate rises to `N` millimeters or higher (also, can say: `Nmm`)
  • `lN`: layer number `N` (first layer is number 1; also, can omit the `l` and just give an integer)

The `layercommands` can be:

  • `tN`: set extruder temperature to N degrees
  • `"pPause message"`: park, print message, pause (`M25`; this is the SD-card pause command), and return to xyz coordinates
  • `"ARBITRARY GCODE`" (multiple lines can be separated by colons; capitalization is strongly recommended not to be confused with lowercase `insert.py` commands)

Note that if you're not using an SD card to feed the file, the `M25` pause may not be what you want, and you may want to do `"@pause message"` instead (using the ARBITRARY GCODE option).

There is no support for checksums in the gcode file.

Thingiverse

Python script to insert gcode commands before a layer

8
Likes
0
Downloads
8
Collections
Tags
python
License Creative Commons - Attribution
View on Thingiverse (opens in new tab)