https://github.com/barrettotte/dumb-gcoder
A dumb GCODE generator made to learn more about GCODE and 3D print my cat some basic shapes it loves to play with.
https://github.com/barrettotte/dumb-gcoder
gcode-generation
Last synced: 4 months ago
JSON representation
A dumb GCODE generator made to learn more about GCODE and 3D print my cat some basic shapes it loves to play with.
- Host: GitHub
- URL: https://github.com/barrettotte/dumb-gcoder
- Owner: barrettotte
- License: mit
- Created: 2022-06-06T22:57:59.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2022-06-16T21:52:30.000Z (over 3 years ago)
- Last Synced: 2025-06-12T04:13:19.936Z (8 months ago)
- Topics: gcode-generation
- Language: G-code
- Homepage:
- Size: 9.99 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# dumb-gcoder
A dumb GCODE generator made to learn more about GCODE and 3D print my cat some basic shapes it loves to play with.
This is a dumb project so I'm only targeting the specs of my
[Creality Ender-3 Pro](https://www.creality.com/products/ender-3-pro-3d-printer).
Maybe one day I'll try writing a small general purpose slicer.



I only made a square and a rectangle. I wanted to make an ellipse/circle, but I lost motivation.
```py
# cat_toys.py
from dumb_gcoder.gcode import GcodeGenerator
from dumb_gcoder.printer import Printer
from dumb_gcoder.shapes import Rectangle, Square
bed_size = [220, 220, 50]
printer = Printer(bed_size, 0.4, 0.2, 1.75, 60, 210, 0.28)
gg = GcodeGenerator(printer)
gg.generate(Rectangle(printer).generate(50, 10, 5), out='shapes/rectangle.gcode')
gg.generate(Square(printer).generate(50, 5), out='shapes/square.gcode')
```
## References
- [Marlin GCODE Reference](https://marlinfw.org/meta/gcode/)
- [PrusaSlicer G-code viewer](https://help.prusa3d.com/article/prusaslicer-g-code-viewer_193152)
- Sample GCODE
- [slicer_examples/square_test_cura.gcode](slicer_examples/square_test_cura.gcode)
- [slicer_examples/square_test_prusa.gcode](slicer_examples/square_test_prusa.gcode)