BoxesPy pour instance Profouzors
Go to file
Matthijs Kooijman db1da4ec12 Fix hole positions offset by burn in FingerHoleEdge
When rendering the FingerHoleEdge, the current position would be
corrected for burn (e.g. it would be on the center of the laser path,
rather than the actual edge of the final part). However, the FingerHoles
class (or actually the rectangularHole method called by it) that draws
the actual holes already corrects for burn, which caused the hole
position to be offset by the burn value.

This offset was particularly problematic when making a sliding lid,
since the holes would not align perfectly with the lid, making it hard
to close the lid. With this change, the sliding slots in the side walls
and the holes in the back wall align perfectly (though only when the lid
settings have zero play, which is a separate problem).

This commit fixes FingerHoleEdge (and its subclass LidHoleEdge), but
there might be other users of the FingerHole class (usually indirectly
through boxes.fingerHolesAt) that still have the same problem.
2019-07-27 13:30:06 +02:00
boxes Fix hole positions offset by burn in FingerHoleEdge 2019-07-27 13:30:06 +02:00
documentation Mention Sphinx dependency for building the docs 2019-03-06 23:55:07 +01:00
examples changed /bin/bash to /usr/bin/env bash 2018-11-27 19:48:16 +01:00
inkex Build and ship inkscape inx files 2017-02-25 20:01:03 +01:00
scripts [Docker] clean dnf cache to save space 2019-07-12 12:16:28 +02:00
static Add a StorageSelf generator. This is a shelf for storing TypeTray boxes. 2019-06-01 12:52:34 +02:00
.gitignore Update .gitignore 2019-02-26 11:03:54 +01:00
.travis.yml create travis build script for doc 2018-11-04 13:37:52 +01:00
CODE_OF_CONDUCT.md Code of Conduct 2018-09-24 13:31:36 +02:00
CONTRIBUTING.rst Mention Sphinx dependency for building the docs 2019-03-06 23:55:07 +01:00
LICENSE.txt Licence the code under GPLv3 2014-03-16 18:26:12 +01:00
MANIFEST.in Fix MANIFEST.in 2019-02-06 23:47:32 +01:00
README.rst Improve README.rst 2019-02-20 21:43:16 +01:00
setup.py Use built in eTree implementation instead of lxml 2019-07-04 17:52:08 +02:00

README.rst

About Boxes.py
==============

* Boxes.py is an online box generator

  * https://www.festi.info/boxes.py/index.html

* Boxes.py is an Inkscape plug-in
* Boxes.py is library to write your own
* Boxes.py is free software licensed under GPL v3+
* Boxes.py is written in Python and runs with Python 2 and 3

Boxes.py comes with a growing set of ready-to-use, fully parametrized
generators. See https://florianfesti.github.io/boxes/html/generators.html for the full list.

Features
--------

Boxes.py 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.

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.

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.

Finger Joints are the work horse of the library. They allow 90° edges
and T connections. Their size is scaled up with the material
"thickness" to maintain the same appearance. The library also allows
putting holes and slots for screws (bed bolts) into finger joints,
although this is currently not supported for the included generators.

Dovetail joints can be used to join pieces in the same plane.

Flex cuts allows bending and stretching the material in one direction. This
is used for rounded edges and living hinges.

Documentation
-------------

Boxes.py comes with Sphinx based documentation for usage, installation
and development.

The rendered version can be viewed at <https://florianfesti.github.io/boxes/html/index.html>.