2017-02-26 13:47:06 +01:00
Boxes.py
========
Create boxes and more with a laser cutter!
2013-04-16 11:42:02 +02:00
2017-02-26 13:47:06 +01:00
Boxes.py is python library for generating drawings to be used with a laser
cutter. It comes with a growing set of ready-to-use, fully parametrized
generators:
2013-04-16 11:42:02 +02:00
2016-07-01 10:10:20 +02:00
* Boxes in various shapes and with various lids
* Boxes using flex cuts with rounded corners and living hinges
* Type trays with and without outer walls and floors
2017-02-26 13:47:06 +01:00
* Shelves
2016-07-01 10:10:20 +02:00
* Book covers with flex spine
* Magazine files
2017-02-26 13:47:06 +01:00
* Timing belt pulleys and gears
* and more
2013-04-16 11:42:02 +02:00
2016-03-20 14:08:53 +01:00
And a few one trick ponies:
2016-03-29 22:18:37 +02:00
2017-02-26 13:47:06 +01:00
* A desktop arcade cabinet
2016-03-29 22:20:03 +02:00
* A drill stand
* A castle tower
* A cutlery stand
2013-04-16 11:42:02 +02:00
2018-07-17 22:37:27 +02:00
Have a look into the examples/ directory <https://github.com/florianfesti/boxes/tree/master/examples/>or the online generator <https://www.festi.info/boxes.py/index.html> to see how the results look like.
2013-04-16 11:42:02 +02:00
2016-03-20 14:08:53 +01:00
Features
2017-02-26 13:47:06 +01:00
--------
2013-04-16 11:42:02 +02:00
2016-07-01 10:10:20 +02:00
It generates SVG images that can be viewed directly in a web brower but also
postscript and - with pstoedit as external helper - other vector formats
including dxf, plt (aka hpgl) and gcode.
2016-03-20 14:08:53 +01:00
Of course the library and the generators allow selecting the "thickness"
of the material used and automatically adjusts lengths and width of
joining fingers and other elements.
2013-04-16 11:42:02 +02:00
2016-03-20 14:08:53 +01:00
The "burn" parameter compensates for the material removed by the laser. This
allows fine tuning the gaps between joins up to the point where plywood
can be press fitted even without any glue.
2013-04-16 11:42:02 +02:00
2016-03-20 14:08:53 +01:00
Finger Joints are the work horse of the library. They allow 90° edges
and T connections. Their size is scaled up with the material
2016-03-30 22:15:58 +02:00
"thickness" to maintain the same appearance. The library also allows
2016-03-20 14:08:53 +01:00
putting holes and slots for screws (bed bolts) into finger joints,
2016-07-01 10:10:20 +02:00
although this is currently not supported for the included generators.
2013-04-16 11:42:02 +02:00
2016-03-20 14:08:53 +01:00
Dovetail joints can be used to join pieces in the same plane.
2013-04-16 11:42:02 +02:00
2016-07-01 10:10:20 +02:00
Flex cuts allows bending and stretching the material in one direction. This
2016-03-20 14:08:53 +01:00
is used for rounded edges and living hinges.
2013-04-16 11:42:02 +02:00
2016-03-20 14:08:53 +01:00
Usage
2017-02-26 13:47:06 +01:00
-----
2013-04-16 11:42:02 +02:00
2016-05-21 18:16:09 +02:00
There are multiple ways to use the available generators:
2016-03-29 22:18:37 +02:00
2018-07-17 22:37:27 +02:00
* Try them out at <https://www.festi.info/boxes.py/index.html>
2017-02-26 13:47:06 +01:00
* Use them as Inkscape extensions under *Extensions->Boxes.py*
2016-05-20 22:34:13 +02:00
* Execute the scripts/boxes tool and pass the name of the generator together with the measurements on the command line.
2016-05-21 18:16:09 +02:00
* Run *scripts/boxesserver* which provides an web interface on port 8000.
* Add a *WSGIScriptAlias* to *scripts/boxesserver* in your httpd config.
2016-05-21 18:22:03 +02:00
You can also create your own generators using *boxes/generators/_template.py* or any of the generators in *boxes/generators* as a starting point.
2016-05-19 23:09:44 +02:00
Documentation
2017-02-26 13:47:06 +01:00
-------------
2016-05-19 23:09:44 +02:00
The module comes with Sphinx based documentation. The rendered version can be
2018-07-17 22:37:27 +02:00
viewed at <https://florianfesti.github.io/boxes/html/index.html>.