Skip to main content

Tool to generate g-code for Marlin based printers

Project description

gcodepy

gcodepy is a g-code generator for 3D printers that use Marlin Firmware. This project was heavily inspired by Full Control GCODE. It is essentially my own take on the concept of writing g-code through an abstraction layer, using Python instead of Excel/VBA.

Why would I want to write g-code with Python?

To be honest, there aren't usually many occasions where using an interface layer like gcodepy or Full Control GCODE are better than the CAD/slicer workflow. However, there are occasions where being able to programmatically define your printer's movements can be useful. One possible use of interface layers is in defining motions using mathematical functions. For example, gcodepy supports essentially any other Python code, so you can create any function with the correct output as input for movement even using other libraries such as numpy.

Thomas Sanladerer created a blog post and associated video about the potential uses of Full Control GCODE, which also applies to gcodepy. Notably, he created some very interesting geometric lampshade-esque objects.

Installation

gcodepy is available on PyPI and so can be installed with pip.

$ pip3 install gcodepy

Note that gcodepy has only been tested with Python 3.X and no guarantees are made about compatibility with the deprecated Python 2.X.

Examples

One of the most interesting things to do with gcodepy is to do toolhead movements using mathematical functions. For example, you can make your printer go in a spiral: zspiral image This example is defined in examples/zspiral.py. For more examples, check the examples folder.

Planned features

  • cleaner gcode output (particularly feedrates)
  • better interfacing for absolute movements
  • better detection + handling of invalid inputs/movements

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gcodepy-0.1.1.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gcodepy-0.1.1-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file gcodepy-0.1.1.tar.gz.

File metadata

  • Download URL: gcodepy-0.1.1.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for gcodepy-0.1.1.tar.gz
Algorithm Hash digest
SHA256 1a541ff810e5965ef90eab36b2a5956e8780ece0e25b37249692c05388bd3705
MD5 8aa8fe0a75ab26d2e833ff922ae75432
BLAKE2b-256 f33fde4c663d2b78f4b88dd6b8c9c8a71175b9757c3e81d41fd8711e4de186db

See more details on using hashes here.

File details

Details for the file gcodepy-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: gcodepy-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 5.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for gcodepy-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 872cdf15c946751f25d5f44d4980756327a620e520f1584dd510ff65c10e4ac4
MD5 090dc6a08099732141040f2e9186643b
BLAKE2b-256 bb333a6e1b2a6b2a8da46268c058fce9b52519749a79ea9bdc9d95075164415d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page