<commit_before>fingerjoint
===========
Convenience class to create finger joint panels for lasercut boxes. 

See http://en.wikipedia.org/wiki/Finger_joint for a good discussion of what these are.

I published a blog post explaining this project's rationale and showing off some early results here:

http://www.manifestdensity.net/2013/05/31/lasercut-fingerjoint-enclosures-pictures-code/

I use Ponoko.com to make these, but there are a variety of other sites that do this (Big Blue Saw, eMachineshop, etc.). Your local hackerspace might also have a laser cutter.

Why bother with this code? A few reasons:

* I'm not very good at fiddling around in vector drawing programs.
* It's difficult to remember to account for things like kerf (the width of the laser beam).
* Doing a bunch of test prints gets slow and expensive.
* My original finger joint project was an octagonal box (I hope to eventually expand this library's capabilities to non-rectilinear geometries). This involved a lot of graph paper and head scratching -- I'm not great at visualizing things in three dimensions. I'd prefer to solve these problems once, then ask a script to repeat the lessons I learned.


Suggested Values
----------------
Check the specs of whatever materials you intend to use, and whatever documentation of kerf is available. For Ponoko wood materials, thickness variance tends to be 10% and kerf can be set to 0.2mm.


Example Code
------------
The light_box.py script generates SVGs that can subsequently be used to construct a box. A sample EPS file is provided that reflects what I submitted to Ponoko to successfully print the design. Note that there are differences between the SVG and the EPS -- the script is not yet intended to produce ready-to-print vector output.


Known Issues / TODO
-------------------
* there is some path doubling on fingers aligned with bottom edges; this produces double-cutting
* default kerf value may be slightly too large
* would like to add support for complete box construction, both for rectilinear and other geometries


Requirements
------------
* numpy


Credits
-------
<NAME> <<EMAIL>>


License
-------
See the LICENSE file. Do what you want / please don't sue me! Pull requests welcome.
<commit_msg>fix link<commit_after>fingerjoint
===========
Convenience class to create finger joint panels for lasercut boxes. 

See http://en.wikipedia.org/wiki/Finger_joint for a good discussion of what these are.

I published a blog post explaining this project's rationale and showing off some early results here:

http://tomlee.wtf/2013/05/31/lasercut-fingerjoint-enclosures-pictures-code/

I use Ponoko.com to make these, but there are a variety of other sites that do this (Big Blue Saw, eMachineshop, etc.). Your local hackerspace might also have a laser cutter.

Why bother with this code? A few reasons:

* I'm not very good at fiddling around in vector drawing programs.
* It's difficult to remember to account for things like kerf (the width of the laser beam).
* Doing a bunch of test prints gets slow and expensive.
* My original finger joint project was an octagonal box (I hope to eventually expand this library's capabilities to non-rectilinear geometries). This involved a lot of graph paper and head scratching -- I'm not great at visualizing things in three dimensions. I'd prefer to solve these problems once, then ask a script to repeat the lessons I learned.


Suggested Values
----------------
Check the specs of whatever materials you intend to use, and whatever documentation of kerf is available. For Ponoko wood materials, thickness variance tends to be 10% and kerf can be set to 0.2mm.


Example Code
------------
The light_box.py script generates SVGs that can subsequently be used to construct a box. A sample EPS file is provided that reflects what I submitted to Ponoko to successfully print the design. Note that there are differences between the SVG and the EPS -- the script is not yet intended to produce ready-to-print vector output.


Known Issues / TODO
-------------------
* there is some path doubling on fingers aligned with bottom edges; this produces double-cutting
* default kerf value may be slightly too large
* would like to add support for complete box construction, both for rectilinear and other geometries


Requirements
------------
* numpy


Credits
-------
<NAME> <<EMAIL>>


License
-------
See the LICENSE file. Do what you want / please don't sue me! Pull requests welcome.

{'fraction_non_alphanumeric': 0.08004484304932735, 'fraction_numerical': 0.0053811659192825115, 'mean_word_length': 3.6037151702786376, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2782210', 'n_tokens_mistral': 1160, 'n_tokens_neox': 1052, 'n_words': 647}