Add install.rst, remove TODO.rst

Todos moved to GH as issues
Some description on installation and the Inkscape plugins
This commit is contained in:
Florian Festi 2017-02-26 13:47:06 +01:00
parent 5eeb3f5811
commit 2c721a98f1
4 changed files with 89 additions and 42 deletions

View File

@ -1,26 +1,32 @@
What is this? Boxes.py
============= ========
This is a small python library for generating drawings to be used with a laser Create boxes and more with a laser cutter!
cutter. It comes with a set of ready-to-use, fully parametrized generators:
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:
* Boxes in various shapes and with various lids * Boxes in various shapes and with various lids
* Boxes using flex cuts with rounded corners and living hinges * Boxes using flex cuts with rounded corners and living hinges
* Type trays with and without outer walls and floors * Type trays with and without outer walls and floors
* Shelves
* Book covers with flex spine * Book covers with flex spine
* Magazine files * Magazine files
* Timing belt pulleys and gears
* and more
And a few one trick ponies: And a few one trick ponies:
* A desktop arcade cabinet
* A drill stand * A drill stand
* A castle tower * A castle tower
* A housing for a special kind of lamp
* A cutlery stand * A cutlery stand
Have a look into the examples/ directory to see how the results look like. Have a look into the examples/ directory <https://github.com/florianfesti/boxes/tree/master/examples/>or the online generator <http://www.festi.info/boxes.py/index.html> to see how the results look like.
Features Features
======== --------
It generates SVG images that can be viewed directly in a web brower but also 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 postscript and - with pstoedit as external helper - other vector formats
@ -46,11 +52,12 @@ Flex cuts allows bending and stretching the material in one direction. This
is used for rounded edges and living hinges. is used for rounded edges and living hinges.
Usage Usage
===== -----
There are multiple ways to use the available generators: There are multiple ways to use the available generators:
* Try them out at <http://www.festi.info/boxes.py/index.html> * Try them out at <http://www.festi.info/boxes.py/index.html>
* Use them as Inkscape extensions under *Extensions->Boxes.py*
* Execute the scripts/boxes tool and pass the name of the generator together with the measurements on the command line. * Execute the scripts/boxes tool and pass the name of the generator together with the measurements on the command line.
* Run *scripts/boxesserver* which provides an web interface on port 8000. * Run *scripts/boxesserver* which provides an web interface on port 8000.
* Add a *WSGIScriptAlias* to *scripts/boxesserver* in your httpd config. * Add a *WSGIScriptAlias* to *scripts/boxesserver* in your httpd config.
@ -58,7 +65,7 @@ There are multiple ways to use the available generators:
You can also create your own generators using *boxes/generators/_template.py* or any of the generators in *boxes/generators* as a starting point. You can also create your own generators using *boxes/generators/_template.py* or any of the generators in *boxes/generators* as a starting point.
Documentation Documentation
============= -------------
The module comes with Sphinx based documentation. The rendered version can be The module comes with Sphinx based documentation. The rendered version can be
viewed at <http://florianfesti.github.io/boxes/html/index.html>. viewed at <http://florianfesti.github.io/boxes/html/index.html>.

View File

@ -1,32 +0,0 @@
=====
To Do
=====
Infrastructure
..............
* Make outer edge continuous even if other parts are drawn intermediately.
* Check burn compensation for building blocks
* Fix hexHoles\* (leftoover, grow to space, ...)
* Add other ventilation patterns than hex holes
* Make settings nicer
* Offer a collection of different settings
* Use stretch setting in flexboxes
* Move settings out of Boxes class (see .open())
* .bedBoltSettings
* .hexHolesSettings
* Latches and locks
Generators
..........
* Fix traylayout
* Move bottom edges of walls without floor underneeth to E
* Make bolts configurable (e.g. in box2.py)
* Treasure Chest with rounded lid and living hinge

View File

@ -12,9 +12,9 @@ Contents:
:maxdepth: 2 :maxdepth: 2
README README
install
Boxes Boxes
edges edges
TODO
Indices and tables Indices and tables
================== ==================

View File

@ -0,0 +1,72 @@
Installation
============
Boxes.py is a pure Python project that does support the regular setuptools
method of shipping with *setup.py*. *setup.py --help-commands* and
*setup.py CMD --help* provide the necessary documentation for building,
installing or building binary formats.
Requirements
------------
Cairo
.....
Boxes.py is based on the cairo graphics library. It supoprts both the PyPi
version *cairocffi* and python-cairo that might be shipped with your
distribution.
ps2edit
.......
While not a hard requirement Boxes.py uses ps2edit to offer formats that are
not supported by Cairo: DXF, gcode, PLT. Currently the location Boxes.py looks
for *ps2edit* is hard coded to */usr/bin/pstoedit* in the
*boxes.formats.Formats* class.
Python
......
Boxes.py - while defaulting to Python3 - can also run on Python
2.7. If you encounter any compatibility issues please report them at the
[https://github.com/florianfesti/boxes Git Hub project]
Running from working dir
------------------------
Due to lazy developer(s) Boxes.py can also run from the git check
out. The scripts in *scripts/* are all suppossed to just work right
after *git clone*. The Inkscape needs a bit manual work to get
running. See below.
Inkscape
--------
Boxes.py can be used as a set of Inkscape plugins. The package does
install the necessary .inx files to */usr/share/inkscape/extensions*
on unix operating systems. The .inx files assume that the *boxes*
executable is available in the path (which it is when installing the
binary package)
On non unix operating systems or when running Boxes.py from git
checkout the .inx files need to be copied by hand. *setup.py build*
creares them in the *inkex/* directory. They then have to be copied in
either the global or the per user extension directory of
Inkscape. These are */usr/share/inkscape/extensions/* and
*~/.config/inkscape/extensions/* on Unix. On other Operating systems
you can look up *Edit -> Preferences... -> System* in the Inkscape
menu to look up *User extensions* and *Inkscape extensions*. It may be
more convenient to generate the .inx files right in place by executing
*scripts/boxes2inkscape* with the taget path as only parameter.
After placing the .inx files you need to make the *boxes* script
available in the path. One way is to create a symlink from a location
that is in the path or installing the package on the system.
Boxes.py on Windows
-------------------
While there is no known reason why Boxes.py should not run on Windows
there is no upstream experience with doing so. Getting the Inkscape
plugins to run will likely need manual installation (see above). If
you run into trouble or have better installation instructions please
open a ticket on Git Hub.