From 452ec0ea0e46028cd9de5597fae9835879c2f11d Mon Sep 17 00:00:00 2001 From: Nicholas Humfrey Date: Sat, 21 Jan 2017 14:49:40 +0000 Subject: [PATCH] Added README and screenshot for bezel --- bezel/README.md | 21 +++++++++++++++++++++ bezel/bezel-screenshot.png | Bin 0 -> 17242 bytes 2 files changed, 21 insertions(+) create mode 100644 bezel/README.md create mode 100644 bezel/bezel-screenshot.png diff --git a/bezel/README.md b/bezel/README.md new file mode 100644 index 0000000..3adad68 --- /dev/null +++ b/bezel/README.md @@ -0,0 +1,21 @@ +Bezel Engraving Software +======================== + +**Download**: [bezel.py](https://github.com/njh/simple-gcode-generators/raw/master/bezel/bezel.py) + +This software engraves a bezel like you would see on the front panel of a stereo around the volume control knobs. + +Features +-------- + +* Adjustable number of minor and major ticks +* Adjustable start and stop positions +* Center position is marked with a dot for later drilling operations +* Usable as an axis filter program (see below) +* G-Code can be copied to the clipboard for easy insertion into other gcode programs +* Use of variables for center point and Z values for easy code block reuse + +Screenshot +----------- + +![Screenshot of bezel.py](bezel-screenshot.png) diff --git a/bezel/bezel-screenshot.png b/bezel/bezel-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..02f7eaed261f192c732b53c7159ed7cb3c132c1c GIT binary patch literal 17242 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 H5BYxp{62gp literal 0 HcmV?d00001