boxespy/html/boxes.html

4754 lines
580 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>boxes package &#8212; boxes.py 0.1 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/nature.css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<link rel="shortcut icon" href="_static/favicon.ico"/>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">boxes.py 0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">boxes package</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="boxes-package">
<h1>boxes package<a class="headerlink" href="#boxes-package" title="Permalink to this heading"></a></h1>
<section id="module-boxes.generators">
<span id="subpackage-boxes-generators"></span><h2>Subpackage boxes.generators<a class="headerlink" href="#module-boxes.generators" title="Permalink to this heading"></a></h2>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.generators.UIGroup">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.generators.</span></span><span class="sig-name descname"><span class="pre">UIGroup</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">title</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">description</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">image</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/generators.html#UIGroup"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.generators.UIGroup" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.generators.UIGroup.add">
<span class="sig-name descname"><span class="pre">add</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">box</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/generators.html#UIGroup.add"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.generators.UIGroup.add" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py property">
<dt class="sig sig-object py" id="boxes.generators.UIGroup.image">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">image</span></span><a class="headerlink" href="#boxes.generators.UIGroup.image" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py property">
<dt class="sig sig-object py" id="boxes.generators.UIGroup.thumbnail">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">thumbnail</span></span><a class="headerlink" href="#boxes.generators.UIGroup.thumbnail" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.generators.getAllBoxGenerators">
<span class="sig-prename descclassname"><span class="pre">boxes.generators.</span></span><span class="sig-name descname"><span class="pre">getAllBoxGenerators</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/generators.html#getAllBoxGenerators"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.generators.getAllBoxGenerators" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.generators.getAllGeneratorModules">
<span class="sig-prename descclassname"><span class="pre">boxes.generators.</span></span><span class="sig-name descname"><span class="pre">getAllGeneratorModules</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/generators.html#getAllGeneratorModules"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.generators.getAllGeneratorModules" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<p><a class="reference internal" href="generators.html"><span class="doc">All Box Generators</span></a></p>
</section>
<section id="submodules">
<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this heading"></a></h2>
</section>
<section id="module-boxes.Color">
<span id="boxes-color-module"></span><h2>boxes.Color module<a class="headerlink" href="#module-boxes.Color" title="Permalink to this heading"></a></h2>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.Color.Color">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.Color.</span></span><span class="sig-name descname"><span class="pre">Color</span></span><a class="reference internal" href="_modules/boxes/Color.html#Color"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Color.Color" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.Color.Color.ANNOTATIONS">
<span class="sig-name descname"><span class="pre">ANNOTATIONS</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">[1.0,</span> <span class="pre">0.0,</span> <span class="pre">0.0]</span></em><a class="headerlink" href="#boxes.Color.Color.ANNOTATIONS" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.Color.Color.BLACK">
<span class="sig-name descname"><span class="pre">BLACK</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">[0.0,</span> <span class="pre">0.0,</span> <span class="pre">0.0]</span></em><a class="headerlink" href="#boxes.Color.Color.BLACK" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.Color.Color.BLUE">
<span class="sig-name descname"><span class="pre">BLUE</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">[0.0,</span> <span class="pre">0.0,</span> <span class="pre">1.0]</span></em><a class="headerlink" href="#boxes.Color.Color.BLUE" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.Color.Color.CYAN">
<span class="sig-name descname"><span class="pre">CYAN</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">[0.0,</span> <span class="pre">1.0,</span> <span class="pre">1.0]</span></em><a class="headerlink" href="#boxes.Color.Color.CYAN" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.Color.Color.ETCHING">
<span class="sig-name descname"><span class="pre">ETCHING</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">[0.0,</span> <span class="pre">1.0,</span> <span class="pre">0.0]</span></em><a class="headerlink" href="#boxes.Color.Color.ETCHING" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.Color.Color.ETCHING_DEEP">
<span class="sig-name descname"><span class="pre">ETCHING_DEEP</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">[0.0,</span> <span class="pre">1.0,</span> <span class="pre">1.0]</span></em><a class="headerlink" href="#boxes.Color.Color.ETCHING_DEEP" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.Color.Color.GREEN">
<span class="sig-name descname"><span class="pre">GREEN</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">[0.0,</span> <span class="pre">1.0,</span> <span class="pre">0.0]</span></em><a class="headerlink" href="#boxes.Color.Color.GREEN" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.Color.Color.INNER_CUT">
<span class="sig-name descname"><span class="pre">INNER_CUT</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">[0.0,</span> <span class="pre">0.0,</span> <span class="pre">1.0]</span></em><a class="headerlink" href="#boxes.Color.Color.INNER_CUT" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.Color.Color.MAGENTA">
<span class="sig-name descname"><span class="pre">MAGENTA</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">[1.0,</span> <span class="pre">0.0,</span> <span class="pre">1.0]</span></em><a class="headerlink" href="#boxes.Color.Color.MAGENTA" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.Color.Color.OUTER_CUT">
<span class="sig-name descname"><span class="pre">OUTER_CUT</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">[0.0,</span> <span class="pre">0.0,</span> <span class="pre">0.0]</span></em><a class="headerlink" href="#boxes.Color.Color.OUTER_CUT" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.Color.Color.RED">
<span class="sig-name descname"><span class="pre">RED</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">[1.0,</span> <span class="pre">0.0,</span> <span class="pre">0.0]</span></em><a class="headerlink" href="#boxes.Color.Color.RED" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.Color.Color.WHITE">
<span class="sig-name descname"><span class="pre">WHITE</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">[1.0,</span> <span class="pre">1.0,</span> <span class="pre">1.0]</span></em><a class="headerlink" href="#boxes.Color.Color.WHITE" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.Color.Color.YELLOW">
<span class="sig-name descname"><span class="pre">YELLOW</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">[1.0,</span> <span class="pre">1.0,</span> <span class="pre">0.0]</span></em><a class="headerlink" href="#boxes.Color.Color.YELLOW" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</section>
<section id="module-boxes.edges">
<span id="boxes-edges-module"></span><h2>boxes.edges module<a class="headerlink" href="#module-boxes.edges" title="Permalink to this heading"></a></h2>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.BaseEdge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">BaseEdge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#BaseEdge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.BaseEdge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Abstract base class for all Edges</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.BaseEdge.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">None</span></em><a class="headerlink" href="#boxes.edges.BaseEdge.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.BaseEdge.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Abstract</span> <span class="pre">Edge</span> <span class="pre">Class'</span></em><a class="headerlink" href="#boxes.edges.BaseEdge.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.BaseEdge.endAngle">
<span class="sig-name descname"><span class="pre">endAngle</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#BaseEdge.endAngle"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.BaseEdge.endAngle" title="Permalink to this definition"></a></dt>
<dd><p>Not yet supported</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.BaseEdge.endwidth">
<span class="sig-name descname"><span class="pre">endwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#BaseEdge.endwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.BaseEdge.endwidth" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.BaseEdge.margin">
<span class="sig-name descname"><span class="pre">margin</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#BaseEdge.margin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.BaseEdge.margin" title="Permalink to this definition"></a></dt>
<dd><p>Space needed right of the starting point</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.BaseEdge.spacing">
<span class="sig-name descname"><span class="pre">spacing</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#BaseEdge.spacing"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.BaseEdge.spacing" title="Permalink to this definition"></a></dt>
<dd><p>Space the edge needs outside of the inner space of the part</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.BaseEdge.startAngle">
<span class="sig-name descname"><span class="pre">startAngle</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#BaseEdge.startAngle"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.BaseEdge.startAngle" title="Permalink to this definition"></a></dt>
<dd><p>Not yet supported</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.BaseEdge.startwidth">
<span class="sig-name descname"><span class="pre">startwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#BaseEdge.startwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.BaseEdge.startwidth" title="Permalink to this definition"></a></dt>
<dd><p>Amount of space the beginning of the edge is set below the inner space of the part</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.BoltPolicy">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">BoltPolicy</span></span><a class="reference internal" href="_modules/boxes/edges.html#BoltPolicy"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.BoltPolicy" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Abstract class</p>
<p>Distributes (bed) bolts on a number of segments
(fingers of a finger joint)</p>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.BoltPolicy.drawbolt">
<span class="sig-name descname"><span class="pre">drawbolt</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pos</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#BoltPolicy.drawbolt"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.BoltPolicy.drawbolt" title="Permalink to this definition"></a></dt>
<dd><p>Add a bolt to this segment?</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>pos</strong> number of the finger</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.BoltPolicy.numFingers">
<span class="sig-name descname"><span class="pre">numFingers</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">numfingers</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#BoltPolicy.numFingers"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.BoltPolicy.numFingers" title="Permalink to this definition"></a></dt>
<dd><p>Return next smaller, possible number of fingers</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>numfingers</strong> number of fingers to aim for</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.Bolts">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">Bolts</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bolts</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#Bolts"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.Bolts" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.BoltPolicy" title="boxes.edges.BoltPolicy"><code class="xref py py-class docutils literal notranslate"><span class="pre">BoltPolicy</span></code></a></p>
<p>Distribute a fixed number of bolts evenly</p>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.Bolts.drawBolt">
<span class="sig-name descname"><span class="pre">drawBolt</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pos</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#Bolts.drawBolt"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.Bolts.drawBolt" title="Permalink to this definition"></a></dt>
<dd><p>Return if this finger needs a bolt</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>pos</strong> number of this finger</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.Bolts.numFingers">
<span class="sig-name descname"><span class="pre">numFingers</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">numFingers</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#Bolts.numFingers"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.Bolts.numFingers" title="Permalink to this definition"></a></dt>
<dd><p>Return next smaller, possible number of fingers</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>numfingers</strong> number of fingers to aim for</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.CabinetHingeEdge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">CabinetHingeEdge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">top</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angled</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#CabinetHingeEdge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.CabinetHingeEdge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.BaseEdge" title="boxes.edges.BaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEdge</span></code></a></p>
<p>Edge with cabinet hinges</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.CabinetHingeEdge.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'u'</span></em><a class="headerlink" href="#boxes.edges.CabinetHingeEdge.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.CabinetHingeEdge.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Edge</span> <span class="pre">with</span> <span class="pre">cabinet</span> <span class="pre">hinges'</span></em><a class="headerlink" href="#boxes.edges.CabinetHingeEdge.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.CabinetHingeEdge.parts">
<span class="sig-name descname"><span class="pre">parts</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">move</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#CabinetHingeEdge.parts"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.CabinetHingeEdge.parts" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.CabinetHingeEdge.startwidth">
<span class="sig-name descname"><span class="pre">startwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#CabinetHingeEdge.startwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.CabinetHingeEdge.startwidth" title="Permalink to this definition"></a></dt>
<dd><p>Amount of space the beginning of the edge is set below the inner space of the part</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.CabinetHingeSettings">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">CabinetHingeSettings</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">thickness</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">relative</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#CabinetHingeSettings"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.CabinetHingeSettings" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.Settings" title="boxes.edges.Settings"><code class="xref py py-class docutils literal notranslate"><span class="pre">Settings</span></code></a></p>
<p>Settings for Cabinet Hinges
Values:</p>
<ul class="simple">
<li><p>absolute_params</p></li>
</ul>
<blockquote>
<div><ul class="simple">
<li><p>bore : 3.2 : diameter of the pin hole in mm</p></li>
<li><p>eyes_per_hinge : 5 : pieces per hinge</p></li>
<li><p>hinges : 2 : number of hinges per edge</p></li>
<li><p>style : inside : style of hinge used</p></li>
</ul>
</div></blockquote>
<ul class="simple">
<li><p>relative (in multiples of thickness)</p></li>
</ul>
<blockquote>
<div><ul class="simple">
<li><p>eye : 1.5 : radius of the eye (multiples of thickness)</p></li>
<li><p>play : 0.05 : space between eyes (multiples of thickness)</p></li>
<li><p>spacing : 2.0 : minimum space around the hinge (multiples of thickness)</p></li>
</ul>
</div></blockquote>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.CabinetHingeSettings.absolute_params">
<span class="sig-name descname"><span class="pre">absolute_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'bore':</span> <span class="pre">3.2,</span> <span class="pre">'eyes_per_hinge':</span> <span class="pre">5,</span> <span class="pre">'hinges':</span> <span class="pre">2,</span> <span class="pre">'style':</span> <span class="pre">('inside',</span> <span class="pre">'outside')}</span></em><a class="headerlink" href="#boxes.edges.CabinetHingeSettings.absolute_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.CabinetHingeSettings.edgeObjects">
<span class="sig-name descname"><span class="pre">edgeObjects</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chars</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'uUvV'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">add</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#CabinetHingeSettings.edgeObjects"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.CabinetHingeSettings.edgeObjects" title="Permalink to this definition"></a></dt>
<dd><p>Generate Edge objects using this kind of settings</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>boxes</strong> Boxes object</p></li>
<li><p><strong>chars</strong> sequence of chars to be used by Edge objects</p></li>
<li><p><strong>add</strong> add the resulting Edge objects to the Boxes objects edges</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.CabinetHingeSettings.relative_params">
<span class="sig-name descname"><span class="pre">relative_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'eye':</span> <span class="pre">1.5,</span> <span class="pre">'play':</span> <span class="pre">0.05,</span> <span class="pre">'spacing':</span> <span class="pre">2.0}</span></em><a class="headerlink" href="#boxes.edges.CabinetHingeSettings.relative_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.ChestHinge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">ChestHinge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">reversed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ChestHinge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ChestHinge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.BaseEdge" title="boxes.edges.BaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEdge</span></code></a></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.ChestHinge.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'o'</span></em><a class="headerlink" href="#boxes.edges.ChestHinge.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.ChestHinge.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Edge</span> <span class="pre">with</span> <span class="pre">chest</span> <span class="pre">hinge'</span></em><a class="headerlink" href="#boxes.edges.ChestHinge.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.ChestHinge.endwidth">
<span class="sig-name descname"><span class="pre">endwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ChestHinge.endwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ChestHinge.endwidth" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.ChestHinge.margin">
<span class="sig-name descname"><span class="pre">margin</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ChestHinge.margin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ChestHinge.margin" title="Permalink to this definition"></a></dt>
<dd><p>Space needed right of the starting point</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.ChestHinge.startwidth">
<span class="sig-name descname"><span class="pre">startwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ChestHinge.startwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ChestHinge.startwidth" title="Permalink to this definition"></a></dt>
<dd><p>Amount of space the beginning of the edge is set below the inner space of the part</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.ChestHingeFront">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">ChestHingeFront</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ChestHingeFront"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ChestHingeFront" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.Edge" title="boxes.edges.Edge"><code class="xref py py-class docutils literal notranslate"><span class="pre">Edge</span></code></a></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.ChestHingeFront.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Q'</span></em><a class="headerlink" href="#boxes.edges.ChestHingeFront.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.ChestHingeFront.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Edge</span> <span class="pre">opposing</span> <span class="pre">a</span> <span class="pre">chest</span> <span class="pre">hinge'</span></em><a class="headerlink" href="#boxes.edges.ChestHingeFront.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.ChestHingeFront.startwidth">
<span class="sig-name descname"><span class="pre">startwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ChestHingeFront.startwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ChestHingeFront.startwidth" title="Permalink to this definition"></a></dt>
<dd><p>Amount of space the beginning of the edge is set below the inner space of the part</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.ChestHingePin">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">ChestHingePin</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ChestHingePin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ChestHingePin" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.BaseEdge" title="boxes.edges.BaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEdge</span></code></a></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.ChestHingePin.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'q'</span></em><a class="headerlink" href="#boxes.edges.ChestHingePin.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.ChestHingePin.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Edge</span> <span class="pre">with</span> <span class="pre">pins</span> <span class="pre">for</span> <span class="pre">an</span> <span class="pre">chest</span> <span class="pre">hinge'</span></em><a class="headerlink" href="#boxes.edges.ChestHingePin.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.ChestHingePin.margin">
<span class="sig-name descname"><span class="pre">margin</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ChestHingePin.margin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ChestHingePin.margin" title="Permalink to this definition"></a></dt>
<dd><p>Space needed right of the starting point</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.ChestHingeSettings">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">ChestHingeSettings</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">thickness</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">relative</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ChestHingeSettings"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ChestHingeSettings" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.Settings" title="boxes.edges.Settings"><code class="xref py py-class docutils literal notranslate"><span class="pre">Settings</span></code></a></p>
<p>Settings for Chest Hinges
Values:</p>
<ul class="simple">
<li><p>relative (in multiples of thickness)</p></li>
</ul>
<blockquote>
<div><ul class="simple">
<li><p>pin_height : 2.0 : radius of the disc rotating in the hinge (multiples of thickness)</p></li>
<li><p>hinge_strength : 1.0 : thickness of the arc holding the pin in place (multiples of thickness)</p></li>
</ul>
</div></blockquote>
<ul class="simple">
<li><p>absolute</p></li>
</ul>
<blockquote>
<div><ul class="simple">
<li><p>finger_joints_on_box : False : whether to include finger joints on the edge with the box</p></li>
<li><p>finger_joints_on_lid : False : whether to include finger joints on the edge with the lid</p></li>
</ul>
</div></blockquote>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.ChestHingeSettings.absolute_params">
<span class="sig-name descname"><span class="pre">absolute_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'finger_joints_on_box':</span> <span class="pre">False,</span> <span class="pre">'finger_joints_on_lid':</span> <span class="pre">False}</span></em><a class="headerlink" href="#boxes.edges.ChestHingeSettings.absolute_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.ChestHingeSettings.checkValues">
<span class="sig-name descname"><span class="pre">checkValues</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ChestHingeSettings.checkValues"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ChestHingeSettings.checkValues" title="Permalink to this definition"></a></dt>
<dd><p>Check if all values are in the right range. Raise ValueError if needed</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.ChestHingeSettings.edgeObjects">
<span class="sig-name descname"><span class="pre">edgeObjects</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chars</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'oOpPqQ'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">add</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ChestHingeSettings.edgeObjects"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ChestHingeSettings.edgeObjects" title="Permalink to this definition"></a></dt>
<dd><p>Generate Edge objects using this kind of settings</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>boxes</strong> Boxes object</p></li>
<li><p><strong>chars</strong> sequence of chars to be used by Edge objects</p></li>
<li><p><strong>add</strong> add the resulting Edge objects to the Boxes objects edges</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.ChestHingeSettings.pinheight">
<span class="sig-name descname"><span class="pre">pinheight</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ChestHingeSettings.pinheight"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ChestHingeSettings.pinheight" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.ChestHingeSettings.relative_params">
<span class="sig-name descname"><span class="pre">relative_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'hinge_strength':</span> <span class="pre">1.0,</span> <span class="pre">'pin_height':</span> <span class="pre">2.0,</span> <span class="pre">'play':</span> <span class="pre">0.1}</span></em><a class="headerlink" href="#boxes.edges.ChestHingeSettings.relative_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.ChestHingeTop">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">ChestHingeTop</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">reversed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ChestHingeTop"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ChestHingeTop" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.ChestHinge" title="boxes.edges.ChestHinge"><code class="xref py py-class docutils literal notranslate"><span class="pre">ChestHinge</span></code></a></p>
<p>Edge above a chest hinge</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.ChestHingeTop.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'p'</span></em><a class="headerlink" href="#boxes.edges.ChestHingeTop.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.ChestHingeTop.endwidth">
<span class="sig-name descname"><span class="pre">endwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ChestHingeTop.endwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ChestHingeTop.endwidth" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.ChestHingeTop.margin">
<span class="sig-name descname"><span class="pre">margin</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ChestHingeTop.margin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ChestHingeTop.margin" title="Permalink to this definition"></a></dt>
<dd><p>Space needed right of the starting point</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.ChestHingeTop.startwidth">
<span class="sig-name descname"><span class="pre">startwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ChestHingeTop.startwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ChestHingeTop.startwidth" title="Permalink to this definition"></a></dt>
<dd><p>Amount of space the beginning of the edge is set below the inner space of the part</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.ClickConnector">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">ClickConnector</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ClickConnector"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ClickConnector" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.BaseEdge" title="boxes.edges.BaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEdge</span></code></a></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.ClickConnector.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'c'</span></em><a class="headerlink" href="#boxes.edges.ClickConnector.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.ClickConnector.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Click</span> <span class="pre">on</span> <span class="pre">(bottom</span> <span class="pre">side)'</span></em><a class="headerlink" href="#boxes.edges.ClickConnector.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.ClickConnector.finger">
<span class="sig-name descname"><span class="pre">finger</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">length</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ClickConnector.finger"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ClickConnector.finger" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.ClickConnector.hook">
<span class="sig-name descname"><span class="pre">hook</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">reverse</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ClickConnector.hook"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ClickConnector.hook" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.ClickConnector.hookOffset">
<span class="sig-name descname"><span class="pre">hookOffset</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ClickConnector.hookOffset"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ClickConnector.hookOffset" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.ClickConnector.hookWidth">
<span class="sig-name descname"><span class="pre">hookWidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ClickConnector.hookWidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ClickConnector.hookWidth" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.ClickConnector.margin">
<span class="sig-name descname"><span class="pre">margin</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ClickConnector.margin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ClickConnector.margin" title="Permalink to this definition"></a></dt>
<dd><p>Space needed right of the starting point</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.ClickEdge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">ClickEdge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ClickEdge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ClickEdge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.ClickConnector" title="boxes.edges.ClickConnector"><code class="xref py py-class docutils literal notranslate"><span class="pre">ClickConnector</span></code></a></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.ClickEdge.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'C'</span></em><a class="headerlink" href="#boxes.edges.ClickEdge.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.ClickEdge.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Click</span> <span class="pre">on</span> <span class="pre">(top)'</span></em><a class="headerlink" href="#boxes.edges.ClickEdge.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.ClickEdge.margin">
<span class="sig-name descname"><span class="pre">margin</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ClickEdge.margin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ClickEdge.margin" title="Permalink to this definition"></a></dt>
<dd><p>Space needed right of the starting point</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.ClickEdge.startwidth">
<span class="sig-name descname"><span class="pre">startwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ClickEdge.startwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ClickEdge.startwidth" title="Permalink to this definition"></a></dt>
<dd><p>Amount of space the beginning of the edge is set below the inner space of the part</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.ClickSettings">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">ClickSettings</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">thickness</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">relative</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ClickSettings"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ClickSettings" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.Settings" title="boxes.edges.Settings"><code class="xref py py-class docutils literal notranslate"><span class="pre">Settings</span></code></a></p>
<p>Settings for Click-on Lids
Values:</p>
<ul class="simple">
<li><p>absolute_params</p>
<ul>
<li><p>angle : 5.0 : angle of the hooks bending outward</p></li>
</ul>
</li>
<li><p>relative (in multiples of thickness)</p>
<ul>
<li><p>depth : 3.0 : length of the hooks (multiples of thickness)</p></li>
<li><p>bottom_radius : 0.1 : radius at the bottom (multiples of thickness)</p></li>
</ul>
</li>
</ul>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.ClickSettings.absolute_params">
<span class="sig-name descname"><span class="pre">absolute_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'angle':</span> <span class="pre">5.0}</span></em><a class="headerlink" href="#boxes.edges.ClickSettings.absolute_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.ClickSettings.edgeObjects">
<span class="sig-name descname"><span class="pre">edgeObjects</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chars</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'cC'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">add</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#ClickSettings.edgeObjects"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.ClickSettings.edgeObjects" title="Permalink to this definition"></a></dt>
<dd><p>Generate Edge objects using this kind of settings</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>boxes</strong> Boxes object</p></li>
<li><p><strong>chars</strong> sequence of chars to be used by Edge objects</p></li>
<li><p><strong>add</strong> add the resulting Edge objects to the Boxes objects edges</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.ClickSettings.relative_params">
<span class="sig-name descname"><span class="pre">relative_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'bottom_radius':</span> <span class="pre">0.1,</span> <span class="pre">'depth':</span> <span class="pre">3.0}</span></em><a class="headerlink" href="#boxes.edges.ClickSettings.relative_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.CompoundEdge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">CompoundEdge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">types</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lengths</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#CompoundEdge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.CompoundEdge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.BaseEdge" title="boxes.edges.BaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEdge</span></code></a></p>
<p>Edge composed of multiple different Edges</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.CompoundEdge.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Compound</span> <span class="pre">Edge'</span></em><a class="headerlink" href="#boxes.edges.CompoundEdge.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.CompoundEdge.endwidth">
<span class="sig-name descname"><span class="pre">endwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#CompoundEdge.endwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.CompoundEdge.endwidth" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.CompoundEdge.margin">
<span class="sig-name descname"><span class="pre">margin</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#CompoundEdge.margin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.CompoundEdge.margin" title="Permalink to this definition"></a></dt>
<dd><p>Space needed right of the starting point</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.CompoundEdge.startwidth">
<span class="sig-name descname"><span class="pre">startwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#CompoundEdge.startwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.CompoundEdge.startwidth" title="Permalink to this definition"></a></dt>
<dd><p>Amount of space the beginning of the edge is set below the inner space of the part</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.CrossingFingerHoleEdge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">CrossingFingerHoleEdge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">height</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fingerHoles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#CrossingFingerHoleEdge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.CrossingFingerHoleEdge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.Edge" title="boxes.edges.Edge"><code class="xref py py-class docutils literal notranslate"><span class="pre">Edge</span></code></a></p>
<p>Edge with holes for finger joints 90° above</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.CrossingFingerHoleEdge.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'|'</span></em><a class="headerlink" href="#boxes.edges.CrossingFingerHoleEdge.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.CrossingFingerHoleEdge.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Edge</span> <span class="pre">(orthogonal</span> <span class="pre">Finger</span> <span class="pre">Joint</span> <span class="pre">Holes)'</span></em><a class="headerlink" href="#boxes.edges.CrossingFingerHoleEdge.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.DoveTailJoint">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">DoveTailJoint</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#DoveTailJoint"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.DoveTailJoint" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.BaseEdge" title="boxes.edges.BaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEdge</span></code></a></p>
<p>Edge with dove tail joints</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.DoveTailJoint.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'d'</span></em><a class="headerlink" href="#boxes.edges.DoveTailJoint.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.DoveTailJoint.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Dove</span> <span class="pre">Tail</span> <span class="pre">Joint'</span></em><a class="headerlink" href="#boxes.edges.DoveTailJoint.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.DoveTailJoint.margin">
<span class="sig-name descname"><span class="pre">margin</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#DoveTailJoint.margin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.DoveTailJoint.margin" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.DoveTailJoint.positive">
<span class="sig-name descname"><span class="pre">positive</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">True</span></em><a class="headerlink" href="#boxes.edges.DoveTailJoint.positive" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.DoveTailJointCounterPart">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">DoveTailJointCounterPart</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#DoveTailJointCounterPart"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.DoveTailJointCounterPart" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.DoveTailJoint" title="boxes.edges.DoveTailJoint"><code class="xref py py-class docutils literal notranslate"><span class="pre">DoveTailJoint</span></code></a></p>
<p>Edge for other side of dove joints</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.DoveTailJointCounterPart.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'D'</span></em><a class="headerlink" href="#boxes.edges.DoveTailJointCounterPart.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.DoveTailJointCounterPart.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Dove</span> <span class="pre">Tail</span> <span class="pre">Joint</span> <span class="pre">(opposing</span> <span class="pre">side)'</span></em><a class="headerlink" href="#boxes.edges.DoveTailJointCounterPart.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.DoveTailJointCounterPart.margin">
<span class="sig-name descname"><span class="pre">margin</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#DoveTailJointCounterPart.margin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.DoveTailJointCounterPart.margin" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.DoveTailJointCounterPart.positive">
<span class="sig-name descname"><span class="pre">positive</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">False</span></em><a class="headerlink" href="#boxes.edges.DoveTailJointCounterPart.positive" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.DoveTailSettings">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">DoveTailSettings</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">thickness</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">relative</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#DoveTailSettings"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.DoveTailSettings" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.Settings" title="boxes.edges.Settings"><code class="xref py py-class docutils literal notranslate"><span class="pre">Settings</span></code></a></p>
<p>Settings for Dove Tail Joints</p>
<p>Values:</p>
<ul class="simple">
<li><p>absolute</p>
<ul>
<li><p>angle : 50 : how much should fingers widen (-80 to 80)</p></li>
</ul>
</li>
<li><p>relative (in multiples of thickness)</p>
<ul>
<li><p>size : 3 : from one middle of a dove tail to another (multiples of thickness)</p></li>
<li><p>depth : 1.5 : how far the dove tails stick out of/into the edge (multiples of thickness)</p></li>
<li><p>radius : 0.2 : radius used on all four corners (multiples of thickness)</p></li>
</ul>
</li>
</ul>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.DoveTailSettings.absolute_params">
<span class="sig-name descname"><span class="pre">absolute_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'angle':</span> <span class="pre">50}</span></em><a class="headerlink" href="#boxes.edges.DoveTailSettings.absolute_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.DoveTailSettings.edgeObjects">
<span class="sig-name descname"><span class="pre">edgeObjects</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chars</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'dD'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">add</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#DoveTailSettings.edgeObjects"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.DoveTailSettings.edgeObjects" title="Permalink to this definition"></a></dt>
<dd><p>Generate Edge objects using this kind of settings</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>boxes</strong> Boxes object</p></li>
<li><p><strong>chars</strong> sequence of chars to be used by Edge objects</p></li>
<li><p><strong>add</strong> add the resulting Edge objects to the Boxes objects edges</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.DoveTailSettings.relative_params">
<span class="sig-name descname"><span class="pre">relative_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'depth':</span> <span class="pre">1.5,</span> <span class="pre">'radius':</span> <span class="pre">0.2,</span> <span class="pre">'size':</span> <span class="pre">3}</span></em><a class="headerlink" href="#boxes.edges.DoveTailSettings.relative_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.Edge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">Edge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#Edge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.Edge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.BaseEdge" title="boxes.edges.BaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEdge</span></code></a></p>
<p>Straight edge</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.Edge.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'e'</span></em><a class="headerlink" href="#boxes.edges.Edge.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.Edge.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Straight</span> <span class="pre">Edge'</span></em><a class="headerlink" href="#boxes.edges.Edge.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.Edge.positive">
<span class="sig-name descname"><span class="pre">positive</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">False</span></em><a class="headerlink" href="#boxes.edges.Edge.positive" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.FingerHoleEdge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">FingerHoleEdge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fingerHoles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#FingerHoleEdge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.FingerHoleEdge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.BaseEdge" title="boxes.edges.BaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEdge</span></code></a></p>
<p>Edge with holes for a parallel finger joint</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.FingerHoleEdge.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'h'</span></em><a class="headerlink" href="#boxes.edges.FingerHoleEdge.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.FingerHoleEdge.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Edge</span> <span class="pre">(parallel</span> <span class="pre">Finger</span> <span class="pre">Joint</span> <span class="pre">Holes)'</span></em><a class="headerlink" href="#boxes.edges.FingerHoleEdge.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.FingerHoleEdge.startwidth">
<span class="sig-name descname"><span class="pre">startwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#FingerHoleEdge.startwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.FingerHoleEdge.startwidth" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.FingerHoles">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">FingerHoles</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#FingerHoles"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.FingerHoles" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.FingerJointBase" title="boxes.edges.FingerJointBase"><code class="xref py py-class docutils literal notranslate"><span class="pre">FingerJointBase</span></code></a></p>
<p>Hole matching a finger joint edge</p>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.FingerJointBase">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">FingerJointBase</span></span><a class="reference internal" href="_modules/boxes/edges.html#FingerJointBase"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.FingerJointBase" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.FingerJointBase.calcFingers">
<span class="sig-name descname"><span class="pre">calcFingers</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">length</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bedBolts</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#FingerJointBase.calcFingers"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.FingerJointBase.calcFingers" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.FingerJointBase.fingerLength">
<span class="sig-name descname"><span class="pre">fingerLength</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">angle</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#FingerJointBase.fingerLength"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.FingerJointBase.fingerLength" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.FingerJointEdge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">FingerJointEdge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#FingerJointEdge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.FingerJointEdge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.BaseEdge" title="boxes.edges.BaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEdge</span></code></a>, <a class="reference internal" href="#boxes.edges.FingerJointBase" title="boxes.edges.FingerJointBase"><code class="xref py py-class docutils literal notranslate"><span class="pre">FingerJointBase</span></code></a></p>
<p>Finger joint edge</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.FingerJointEdge.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'f'</span></em><a class="headerlink" href="#boxes.edges.FingerJointEdge.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.FingerJointEdge.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Finger</span> <span class="pre">Joint'</span></em><a class="headerlink" href="#boxes.edges.FingerJointEdge.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.FingerJointEdge.draw_finger">
<span class="sig-name descname"><span class="pre">draw_finger</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">f</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">h</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">style</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">positive</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">firsthalf</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#FingerJointEdge.draw_finger"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.FingerJointEdge.draw_finger" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.FingerJointEdge.margin">
<span class="sig-name descname"><span class="pre">margin</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#FingerJointEdge.margin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.FingerJointEdge.margin" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.FingerJointEdge.positive">
<span class="sig-name descname"><span class="pre">positive</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">True</span></em><a class="headerlink" href="#boxes.edges.FingerJointEdge.positive" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.FingerJointEdge.startwidth">
<span class="sig-name descname"><span class="pre">startwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#FingerJointEdge.startwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.FingerJointEdge.startwidth" title="Permalink to this definition"></a></dt>
<dd><p>Amount of space the beginning of the edge is set below the inner space of the part</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.FingerJointEdgeCounterPart">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">FingerJointEdgeCounterPart</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#FingerJointEdgeCounterPart"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.FingerJointEdgeCounterPart" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.FingerJointEdge" title="boxes.edges.FingerJointEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">FingerJointEdge</span></code></a></p>
<p>Finger joint edge - other side</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.FingerJointEdgeCounterPart.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'F'</span></em><a class="headerlink" href="#boxes.edges.FingerJointEdgeCounterPart.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.FingerJointEdgeCounterPart.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Finger</span> <span class="pre">Joint</span> <span class="pre">(opposing</span> <span class="pre">side)'</span></em><a class="headerlink" href="#boxes.edges.FingerJointEdgeCounterPart.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.FingerJointEdgeCounterPart.positive">
<span class="sig-name descname"><span class="pre">positive</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">False</span></em><a class="headerlink" href="#boxes.edges.FingerJointEdgeCounterPart.positive" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.FingerJointSettings">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">FingerJointSettings</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">thickness</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">relative</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#FingerJointSettings"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.FingerJointSettings" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.Settings" title="boxes.edges.Settings"><code class="xref py py-class docutils literal notranslate"><span class="pre">Settings</span></code></a></p>
<p>Settings for Finger Joints</p>
<p>Values:</p>
<ul class="simple">
<li><p>absolute
* style : “rectangular” : style of the fingers
* surroundingspaces : 2.0 : space at the start and end in multiple of normal spaces
* angle: 90 : Angle of the walls meeting</p></li>
<li><p>relative (in multiples of thickness)</p>
<ul>
<li><p>space : 2.0 : space between fingers (multiples of thickness)</p></li>
<li><p>finger : 2.0 : width of the fingers (multiples of thickness)</p></li>
<li><p>width : 1.0 : width of finger holes (multiples of thickness)</p></li>
<li><p>edge_width : 1.0 : space below holes of FingerHoleEdge (multiples of thickness)</p></li>
<li><p>play : 0.0 : extra space to allow finger move in and out (multiples of thickness)</p></li>
<li><p>extra_length : 0.0 : extra material to grind away burn marks (multiples of thickness)</p></li>
</ul>
</li>
</ul>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.FingerJointSettings.absolute_params">
<span class="sig-name descname"><span class="pre">absolute_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'angle':</span> <span class="pre">90.0,</span> <span class="pre">'style':</span> <span class="pre">('rectangular',</span> <span class="pre">'springs',</span> <span class="pre">'barbs',</span> <span class="pre">'snap'),</span> <span class="pre">'surroundingspaces':</span> <span class="pre">2.0}</span></em><a class="headerlink" href="#boxes.edges.FingerJointSettings.absolute_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.FingerJointSettings.checkValues">
<span class="sig-name descname"><span class="pre">checkValues</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#FingerJointSettings.checkValues"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.FingerJointSettings.checkValues" title="Permalink to this definition"></a></dt>
<dd><p>Check if all values are in the right range. Raise ValueError if needed</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.FingerJointSettings.edgeObjects">
<span class="sig-name descname"><span class="pre">edgeObjects</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chars</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'fFh'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">add</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#FingerJointSettings.edgeObjects"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.FingerJointSettings.edgeObjects" title="Permalink to this definition"></a></dt>
<dd><p>Generate Edge objects using this kind of settings</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>boxes</strong> Boxes object</p></li>
<li><p><strong>chars</strong> sequence of chars to be used by Edge objects</p></li>
<li><p><strong>add</strong> add the resulting Edge objects to the Boxes objects edges</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.FingerJointSettings.relative_params">
<span class="sig-name descname"><span class="pre">relative_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'edge_width':</span> <span class="pre">1.0,</span> <span class="pre">'extra_length':</span> <span class="pre">0.0,</span> <span class="pre">'finger':</span> <span class="pre">2.0,</span> <span class="pre">'play':</span> <span class="pre">0.0,</span> <span class="pre">'space':</span> <span class="pre">2.0,</span> <span class="pre">'width':</span> <span class="pre">1.0}</span></em><a class="headerlink" href="#boxes.edges.FingerJointSettings.relative_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.FlexEdge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">FlexEdge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#FlexEdge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.FlexEdge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.BaseEdge" title="boxes.edges.BaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEdge</span></code></a></p>
<p>Edge with flex cuts - use straight edge for the opposing side</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.FlexEdge.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'X'</span></em><a class="headerlink" href="#boxes.edges.FlexEdge.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.FlexEdge.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Flex</span> <span class="pre">cut'</span></em><a class="headerlink" href="#boxes.edges.FlexEdge.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.FlexSettings">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">FlexSettings</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">thickness</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">relative</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#FlexSettings"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.FlexSettings" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.Settings" title="boxes.edges.Settings"><code class="xref py py-class docutils literal notranslate"><span class="pre">Settings</span></code></a></p>
<p>Settings for Flex</p>
<p>Values:</p>
<ul class="simple">
<li><p>absolute</p></li>
</ul>
<blockquote>
<div><ul class="simple">
<li><p>stretch : 1.05 : Hint of how much the flex part should be shortend</p></li>
</ul>
</div></blockquote>
<ul class="simple">
<li><p>relative (in multiples of thickness)</p></li>
</ul>
<blockquote>
<div><ul class="simple">
<li><p>distance : 0.5 : width of the pattern perpendicular to the cuts (multiples of thickness)</p></li>
<li><p>connection : 1.0 : width of the gaps in the cuts (multiples of thickness)</p></li>
<li><p>width : 5.0 : width of the pattern in direction of the cuts (multiples of thickness)</p></li>
</ul>
</div></blockquote>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.FlexSettings.absolute_params">
<span class="sig-name descname"><span class="pre">absolute_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'stretch':</span> <span class="pre">1.05}</span></em><a class="headerlink" href="#boxes.edges.FlexSettings.absolute_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.FlexSettings.checkValues">
<span class="sig-name descname"><span class="pre">checkValues</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#FlexSettings.checkValues"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.FlexSettings.checkValues" title="Permalink to this definition"></a></dt>
<dd><p>Check if all values are in the right range. Raise ValueError if needed</p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.FlexSettings.relative_params">
<span class="sig-name descname"><span class="pre">relative_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'connection':</span> <span class="pre">1.0,</span> <span class="pre">'distance':</span> <span class="pre">0.5,</span> <span class="pre">'width':</span> <span class="pre">5.0}</span></em><a class="headerlink" href="#boxes.edges.FlexSettings.relative_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.GearSettings">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">GearSettings</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">thickness</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">relative</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#GearSettings"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.GearSettings" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.Settings" title="boxes.edges.Settings"><code class="xref py py-class docutils literal notranslate"><span class="pre">Settings</span></code></a></p>
<p>Settings for rack (and pinion) edge
Values:
* absolute_params</p>
<blockquote>
<div><ul class="simple">
<li><p>dimension : 3.0 : modulus of the gear (in mm)</p></li>
<li><p>angle : 20.0 : pressure angle</p></li>
<li><p>profile_shift : 20.0 : Profile shift</p></li>
<li><p>clearance : 0.0 : clearance</p></li>
</ul>
</div></blockquote>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.GearSettings.absolute_params">
<span class="sig-name descname"><span class="pre">absolute_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'angle':</span> <span class="pre">20.0,</span> <span class="pre">'clearance':</span> <span class="pre">0.0,</span> <span class="pre">'dimension':</span> <span class="pre">3.0,</span> <span class="pre">'profile_shift':</span> <span class="pre">20.0}</span></em><a class="headerlink" href="#boxes.edges.GearSettings.absolute_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.GearSettings.relative_params">
<span class="sig-name descname"><span class="pre">relative_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{}</span></em><a class="headerlink" href="#boxes.edges.GearSettings.relative_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.GripSettings">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">GripSettings</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">thickness</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">relative</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#GripSettings"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.GripSettings" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.Settings" title="boxes.edges.Settings"><code class="xref py py-class docutils literal notranslate"><span class="pre">Settings</span></code></a></p>
<p>Settings for GrippingEdge
Values:</p>
<ul class="simple">
<li><p>absolute_params</p></li>
</ul>
<blockquote>
<div><ul class="simple">
<li><p>style : “wave : “wave” or “bumps”</p></li>
<li><p>outset : True : extend outward the straight edge</p></li>
</ul>
</div></blockquote>
<ul class="simple">
<li><p>relative (in multiples of thickness)</p></li>
</ul>
<blockquote>
<div><ul class="simple">
<li><p>depth : 0.3 : depth of the grooves</p></li>
</ul>
</div></blockquote>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.GripSettings.absolute_params">
<span class="sig-name descname"><span class="pre">absolute_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'outset':</span> <span class="pre">True,</span> <span class="pre">'style':</span> <span class="pre">('wave',</span> <span class="pre">'bumps')}</span></em><a class="headerlink" href="#boxes.edges.GripSettings.absolute_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.GripSettings.edgeObjects">
<span class="sig-name descname"><span class="pre">edgeObjects</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chars</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'g'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">add</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#GripSettings.edgeObjects"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.GripSettings.edgeObjects" title="Permalink to this definition"></a></dt>
<dd><p>Generate Edge objects using this kind of settings</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>boxes</strong> Boxes object</p></li>
<li><p><strong>chars</strong> sequence of chars to be used by Edge objects</p></li>
<li><p><strong>add</strong> add the resulting Edge objects to the Boxes objects edges</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.GripSettings.relative_params">
<span class="sig-name descname"><span class="pre">relative_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'depth':</span> <span class="pre">0.3}</span></em><a class="headerlink" href="#boxes.edges.GripSettings.relative_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.GrippingEdge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">GrippingEdge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#GrippingEdge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.GrippingEdge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.BaseEdge" title="boxes.edges.BaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEdge</span></code></a></p>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.GrippingEdge.bumps">
<span class="sig-name descname"><span class="pre">bumps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">length</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#GrippingEdge.bumps"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.GrippingEdge.bumps" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.GrippingEdge.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'g'</span></em><a class="headerlink" href="#boxes.edges.GrippingEdge.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.GrippingEdge.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Corrugated</span> <span class="pre">edge</span> <span class="pre">useful</span> <span class="pre">as</span> <span class="pre">an</span> <span class="pre">gipping</span> <span class="pre">area'</span></em><a class="headerlink" href="#boxes.edges.GrippingEdge.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.GrippingEdge.margin">
<span class="sig-name descname"><span class="pre">margin</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#GrippingEdge.margin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.GrippingEdge.margin" title="Permalink to this definition"></a></dt>
<dd><p>Space needed right of the starting point</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.GrippingEdge.wave">
<span class="sig-name descname"><span class="pre">wave</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">length</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#GrippingEdge.wave"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.GrippingEdge.wave" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.GroovedEdge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">GroovedEdge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#GroovedEdge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.GroovedEdge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.GroovedEdgeBase" title="boxes.edges.GroovedEdgeBase"><code class="xref py py-class docutils literal notranslate"><span class="pre">GroovedEdgeBase</span></code></a></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.GroovedEdge.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'z'</span></em><a class="headerlink" href="#boxes.edges.GroovedEdge.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.GroovedEdge.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Edge</span> <span class="pre">with</span> <span class="pre">grooves'</span></em><a class="headerlink" href="#boxes.edges.GroovedEdge.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.GroovedEdge.inverse">
<span class="sig-name descname"><span class="pre">inverse</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">False</span></em><a class="headerlink" href="#boxes.edges.GroovedEdge.inverse" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.GroovedEdgeBase">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">GroovedEdgeBase</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#GroovedEdgeBase"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.GroovedEdgeBase" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.BaseEdge" title="boxes.edges.BaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEdge</span></code></a></p>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.GroovedEdgeBase.groove_arc">
<span class="sig-name descname"><span class="pre">groove_arc</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">width</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">90</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inv</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-1.0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#GroovedEdgeBase.groove_arc"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.GroovedEdgeBase.groove_arc" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.GroovedEdgeBase.groove_soft_arc">
<span class="sig-name descname"><span class="pre">groove_soft_arc</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">width</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">60</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inv</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-1.0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#GroovedEdgeBase.groove_soft_arc"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.GroovedEdgeBase.groove_soft_arc" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.GroovedEdgeBase.groove_triangle">
<span class="sig-name descname"><span class="pre">groove_triangle</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">width</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">45</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inv</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-1.0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#GroovedEdgeBase.groove_triangle"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.GroovedEdgeBase.groove_triangle" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.GroovedEdgeBase.is_inverse">
<span class="sig-name descname"><span class="pre">is_inverse</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#GroovedEdgeBase.is_inverse"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.GroovedEdgeBase.is_inverse" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.GroovedEdgeCounterPart">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">GroovedEdgeCounterPart</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#GroovedEdgeCounterPart"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.GroovedEdgeCounterPart" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.GroovedEdgeBase" title="boxes.edges.GroovedEdgeBase"><code class="xref py py-class docutils literal notranslate"><span class="pre">GroovedEdgeBase</span></code></a></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.GroovedEdgeCounterPart.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Z'</span></em><a class="headerlink" href="#boxes.edges.GroovedEdgeCounterPart.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.GroovedEdgeCounterPart.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Edge</span> <span class="pre">with</span> <span class="pre">grooves</span> <span class="pre">(opposing</span> <span class="pre">side)'</span></em><a class="headerlink" href="#boxes.edges.GroovedEdgeCounterPart.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.GroovedEdgeCounterPart.inverse">
<span class="sig-name descname"><span class="pre">inverse</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">True</span></em><a class="headerlink" href="#boxes.edges.GroovedEdgeCounterPart.inverse" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.GroovedSettings">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">GroovedSettings</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">thickness</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">relative</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#GroovedSettings"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.GroovedSettings" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.Settings" title="boxes.edges.Settings"><code class="xref py py-class docutils literal notranslate"><span class="pre">Settings</span></code></a></p>
<p>Settings for Grooved Edge
Values:</p>
<ul class="simple">
<li><p>absolute_params</p></li>
</ul>
<blockquote>
<div><ul class="simple">
<li><p>style : “arc” : the style of grooves</p></li>
<li><p>tri_angle : 30 : the angle of triangular cuts</p></li>
<li><p>arc_angle : 120 : the angle of arc cuts</p></li>
<li><p>width : 0.2 : the width of each groove (fraction of the edge length)</p></li>
<li><p>gap : 0.1 : the gap between grooves (fraction of the edge length)</p></li>
<li><p>margin : 0.3 : minimum space left and right without grooves (fraction of the edge length)</p></li>
<li><p>inverse : False : invert the groove directions</p></li>
<li><p>interleave : False : alternate the direction of grooves</p></li>
</ul>
</div></blockquote>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.GroovedSettings.PARAM_ARC">
<span class="sig-name descname"><span class="pre">PARAM_ARC</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'arc'</span></em><a class="headerlink" href="#boxes.edges.GroovedSettings.PARAM_ARC" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.GroovedSettings.PARAM_FLAT">
<span class="sig-name descname"><span class="pre">PARAM_FLAT</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'flat'</span></em><a class="headerlink" href="#boxes.edges.GroovedSettings.PARAM_FLAT" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.GroovedSettings.PARAM_SOFTARC">
<span class="sig-name descname"><span class="pre">PARAM_SOFTARC</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'softarc'</span></em><a class="headerlink" href="#boxes.edges.GroovedSettings.PARAM_SOFTARC" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.GroovedSettings.PARAM_TRIANGLE">
<span class="sig-name descname"><span class="pre">PARAM_TRIANGLE</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'triangle'</span></em><a class="headerlink" href="#boxes.edges.GroovedSettings.PARAM_TRIANGLE" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.GroovedSettings.absolute_params">
<span class="sig-name descname"><span class="pre">absolute_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'arc_angle':</span> <span class="pre">120,</span> <span class="pre">'gap':</span> <span class="pre">0.1,</span> <span class="pre">'interleave':</span> <span class="pre">False,</span> <span class="pre">'inverse':</span> <span class="pre">False,</span> <span class="pre">'margin':</span> <span class="pre">0.3,</span> <span class="pre">'style':</span> <span class="pre">('arc',</span> <span class="pre">'flat',</span> <span class="pre">'triangle',</span> <span class="pre">'softarc'),</span> <span class="pre">'tri_angle':</span> <span class="pre">30,</span> <span class="pre">'width':</span> <span class="pre">0.2}</span></em><a class="headerlink" href="#boxes.edges.GroovedSettings.absolute_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.GroovedSettings.edgeObjects">
<span class="sig-name descname"><span class="pre">edgeObjects</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chars</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'zZ'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">add</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#GroovedSettings.edgeObjects"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.GroovedSettings.edgeObjects" title="Permalink to this definition"></a></dt>
<dd><p>Generate Edge objects using this kind of settings</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>boxes</strong> Boxes object</p></li>
<li><p><strong>chars</strong> sequence of chars to be used by Edge objects</p></li>
<li><p><strong>add</strong> add the resulting Edge objects to the Boxes objects edges</p></li>
</ul>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.HandleEdge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">HandleEdge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#HandleEdge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.HandleEdge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.Edge" title="boxes.edges.Edge"><code class="xref py py-class docutils literal notranslate"><span class="pre">Edge</span></code></a></p>
<p>Extends an edge by adding a rounded bumpout with optional holes</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.HandleEdge.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'y'</span></em><a class="headerlink" href="#boxes.edges.HandleEdge.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.HandleEdge.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Handle</span> <span class="pre">for</span> <span class="pre">e.g.</span> <span class="pre">a</span> <span class="pre">drawer'</span></em><a class="headerlink" href="#boxes.edges.HandleEdge.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.HandleEdge.extra_height">
<span class="sig-name descname"><span class="pre">extra_height</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">0.0</span></em><a class="headerlink" href="#boxes.edges.HandleEdge.extra_height" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.HandleEdge.margin">
<span class="sig-name descname"><span class="pre">margin</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#HandleEdge.margin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.HandleEdge.margin" title="Permalink to this definition"></a></dt>
<dd><p>Space needed right of the starting point</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.HandleEdgeSettings">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">HandleEdgeSettings</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">thickness</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">relative</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#HandleEdgeSettings"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.HandleEdgeSettings" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.Settings" title="boxes.edges.Settings"><code class="xref py py-class docutils literal notranslate"><span class="pre">Settings</span></code></a></p>
<p>Settings for HandleEdge
Values:</p>
<ul class="simple">
<li><p>absolute_params</p></li>
</ul>
<blockquote>
<div><ul class="simple">
<li><p>height : 20. : height above the wall in mm</p></li>
<li><p>radius : 10. : radius of corners in mm</p></li>
<li><p>hole_width : “40:40” : width of hole(s) in percentage of maximum hole width (width of edge - (n+1) * material thickness)</p></li>
<li><p>hole_height : 75. : height of hole(s) in percentage of maximum hole height (handle height - 2 * material thickness)</p></li>
<li><p>on_sides : True, : added to side panels if checked, to front and back otherwise (only used with top_edge parameter)</p></li>
</ul>
</div></blockquote>
<ul class="simple">
<li><p>relative</p></li>
</ul>
<blockquote>
<div><ul class="simple">
<li><p>outset : 1. : extend the handle along the length of the edge (multiples of thickness)</p></li>
</ul>
</div></blockquote>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.HandleEdgeSettings.absolute_params">
<span class="sig-name descname"><span class="pre">absolute_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'height':</span> <span class="pre">20.0,</span> <span class="pre">'hole_height':</span> <span class="pre">75.0,</span> <span class="pre">'hole_width':</span> <span class="pre">'40:40',</span> <span class="pre">'on_sides':</span> <span class="pre">True,</span> <span class="pre">'radius':</span> <span class="pre">10.0}</span></em><a class="headerlink" href="#boxes.edges.HandleEdgeSettings.absolute_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.HandleEdgeSettings.edgeObjects">
<span class="sig-name descname"><span class="pre">edgeObjects</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chars</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'yY'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">add</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#HandleEdgeSettings.edgeObjects"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.HandleEdgeSettings.edgeObjects" title="Permalink to this definition"></a></dt>
<dd><p>Generate Edge objects using this kind of settings</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>boxes</strong> Boxes object</p></li>
<li><p><strong>chars</strong> sequence of chars to be used by Edge objects</p></li>
<li><p><strong>add</strong> add the resulting Edge objects to the Boxes objects edges</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.HandleEdgeSettings.relative_params">
<span class="sig-name descname"><span class="pre">relative_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'outset':</span> <span class="pre">1.0}</span></em><a class="headerlink" href="#boxes.edges.HandleEdgeSettings.relative_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.HandleHoleEdge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">HandleHoleEdge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#HandleHoleEdge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.HandleHoleEdge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.HandleEdge" title="boxes.edges.HandleEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">HandleEdge</span></code></a></p>
<p>Extends an edge by adding a rounded bumpout with optional holes and holes for parallel finger joint</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.HandleHoleEdge.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Y'</span></em><a class="headerlink" href="#boxes.edges.HandleHoleEdge.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.HandleHoleEdge.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Handle</span> <span class="pre">with</span> <span class="pre">holes</span> <span class="pre">for</span> <span class="pre">parallel</span> <span class="pre">finger</span> <span class="pre">joint'</span></em><a class="headerlink" href="#boxes.edges.HandleHoleEdge.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.HandleHoleEdge.extra_height">
<span class="sig-name descname"><span class="pre">extra_height</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">1.0</span></em><a class="headerlink" href="#boxes.edges.HandleHoleEdge.extra_height" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.HandleHoleEdge.margin">
<span class="sig-name descname"><span class="pre">margin</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#HandleHoleEdge.margin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.HandleHoleEdge.margin" title="Permalink to this definition"></a></dt>
<dd><p>Space needed right of the starting point</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.Hinge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">Hinge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">layout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#Hinge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.Hinge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.BaseEdge" title="boxes.edges.BaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEdge</span></code></a></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.Hinge.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'i'</span></em><a class="headerlink" href="#boxes.edges.Hinge.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.Hinge.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Straight</span> <span class="pre">edge</span> <span class="pre">with</span> <span class="pre">hinge</span> <span class="pre">eye'</span></em><a class="headerlink" href="#boxes.edges.Hinge.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.Hinge.flush">
<span class="sig-name descname"><span class="pre">flush</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">_reversed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#Hinge.flush"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.Hinge.flush" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.Hinge.flushlen">
<span class="sig-name descname"><span class="pre">flushlen</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#Hinge.flushlen"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.Hinge.flushlen" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.Hinge.margin">
<span class="sig-name descname"><span class="pre">margin</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#Hinge.margin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.Hinge.margin" title="Permalink to this definition"></a></dt>
<dd><p>Space needed right of the starting point</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.Hinge.outset">
<span class="sig-name descname"><span class="pre">outset</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">_reversed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#Hinge.outset"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.Hinge.outset" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.Hinge.outsetlen">
<span class="sig-name descname"><span class="pre">outsetlen</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#Hinge.outsetlen"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.Hinge.outsetlen" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.HingePin">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">HingePin</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">layout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#HingePin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.HingePin" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.BaseEdge" title="boxes.edges.BaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEdge</span></code></a></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.HingePin.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'I'</span></em><a class="headerlink" href="#boxes.edges.HingePin.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.HingePin.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Edge</span> <span class="pre">with</span> <span class="pre">hinge</span> <span class="pre">pin'</span></em><a class="headerlink" href="#boxes.edges.HingePin.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.HingePin.endwidth">
<span class="sig-name descname"><span class="pre">endwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#HingePin.endwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.HingePin.endwidth" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.HingePin.flush">
<span class="sig-name descname"><span class="pre">flush</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">_reversed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#HingePin.flush"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.HingePin.flush" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.HingePin.flushlen">
<span class="sig-name descname"><span class="pre">flushlen</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#HingePin.flushlen"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.HingePin.flushlen" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.HingePin.margin">
<span class="sig-name descname"><span class="pre">margin</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#HingePin.margin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.HingePin.margin" title="Permalink to this definition"></a></dt>
<dd><p>Space needed right of the starting point</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.HingePin.outset">
<span class="sig-name descname"><span class="pre">outset</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">_reversed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#HingePin.outset"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.HingePin.outset" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.HingePin.outsetlen">
<span class="sig-name descname"><span class="pre">outsetlen</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#HingePin.outsetlen"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.HingePin.outsetlen" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.HingePin.startwidth">
<span class="sig-name descname"><span class="pre">startwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#HingePin.startwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.HingePin.startwidth" title="Permalink to this definition"></a></dt>
<dd><p>Amount of space the beginning of the edge is set below the inner space of the part</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.HingeSettings">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">HingeSettings</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">thickness</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">relative</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#HingeSettings"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.HingeSettings" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.Settings" title="boxes.edges.Settings"><code class="xref py py-class docutils literal notranslate"><span class="pre">Settings</span></code></a></p>
<p>Settings for Hinges and HingePins
Values:</p>
<ul class="simple">
<li><p>absolute_params</p></li>
</ul>
<blockquote>
<div><ul class="simple">
<li><p>style : “outset” : “outset” or “flush”</p></li>
<li><p>outset : False : have lid overlap at the sides (similar to OutSetEdge)</p></li>
<li><p>pinwidth : 1.0 : set to lower value to get disks surrounding the pins</p></li>
<li><p>grip_percentage” : 0 : percentage of the lid that should get grips</p></li>
</ul>
</div></blockquote>
<ul class="simple">
<li><p>relative (in multiples of thickness)</p></li>
</ul>
<blockquote>
<div><ul class="simple">
<li><p>hingestrength : 1 : thickness of the arc holding the pin in place (multiples of thickness)</p></li>
<li><p>axle : 2 : diameter of the pin hole (multiples of thickness)</p></li>
<li><p>grip_length : 0 : fixed length of the grips on he lids (multiples of thickness)</p></li>
</ul>
</div></blockquote>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.HingeSettings.absolute_params">
<span class="sig-name descname"><span class="pre">absolute_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'grip_percentage':</span> <span class="pre">0,</span> <span class="pre">'outset':</span> <span class="pre">False,</span> <span class="pre">'pinwidth':</span> <span class="pre">0.5,</span> <span class="pre">'style':</span> <span class="pre">('outset',</span> <span class="pre">'flush')}</span></em><a class="headerlink" href="#boxes.edges.HingeSettings.absolute_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.HingeSettings.checkValues">
<span class="sig-name descname"><span class="pre">checkValues</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#HingeSettings.checkValues"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.HingeSettings.checkValues" title="Permalink to this definition"></a></dt>
<dd><p>Check if all values are in the right range. Raise ValueError if needed</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.HingeSettings.edgeObjects">
<span class="sig-name descname"><span class="pre">edgeObjects</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chars</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'iIjJkK'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">add</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#HingeSettings.edgeObjects"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.HingeSettings.edgeObjects" title="Permalink to this definition"></a></dt>
<dd><p>Generate Edge objects using this kind of settings</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>boxes</strong> Boxes object</p></li>
<li><p><strong>chars</strong> sequence of chars to be used by Edge objects</p></li>
<li><p><strong>add</strong> add the resulting Edge objects to the Boxes objects edges</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.HingeSettings.relative_params">
<span class="sig-name descname"><span class="pre">relative_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'axle':</span> <span class="pre">2.0,</span> <span class="pre">'grip_length':</span> <span class="pre">0,</span> <span class="pre">'hingestrength':</span> <span class="pre">1}</span></em><a class="headerlink" href="#boxes.edges.HingeSettings.relative_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.LidEdge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">LidEdge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#LidEdge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.LidEdge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.FingerJointEdge" title="boxes.edges.FingerJointEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">FingerJointEdge</span></code></a></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.LidEdge.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'l'</span></em><a class="headerlink" href="#boxes.edges.LidEdge.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.LidEdge.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Edge</span> <span class="pre">for</span> <span class="pre">slide</span> <span class="pre">on</span> <span class="pre">lid</span> <span class="pre">(back)'</span></em><a class="headerlink" href="#boxes.edges.LidEdge.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.LidHoleEdge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">LidHoleEdge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fingerHoles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#LidHoleEdge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.LidHoleEdge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.FingerHoleEdge" title="boxes.edges.FingerHoleEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">FingerHoleEdge</span></code></a></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.LidHoleEdge.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'L'</span></em><a class="headerlink" href="#boxes.edges.LidHoleEdge.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.LidHoleEdge.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Edge</span> <span class="pre">for</span> <span class="pre">slide</span> <span class="pre">on</span> <span class="pre">lid</span> <span class="pre">(box</span> <span class="pre">back)'</span></em><a class="headerlink" href="#boxes.edges.LidHoleEdge.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.LidLeft">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">LidLeft</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#LidLeft"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.LidLeft" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.LidRight" title="boxes.edges.LidRight"><code class="xref py py-class docutils literal notranslate"><span class="pre">LidRight</span></code></a></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.LidLeft.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'m'</span></em><a class="headerlink" href="#boxes.edges.LidLeft.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.LidLeft.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Edge</span> <span class="pre">for</span> <span class="pre">slide</span> <span class="pre">on</span> <span class="pre">lid</span> <span class="pre">(left)'</span></em><a class="headerlink" href="#boxes.edges.LidLeft.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.LidLeft.rightside">
<span class="sig-name descname"><span class="pre">rightside</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">False</span></em><a class="headerlink" href="#boxes.edges.LidLeft.rightside" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.LidRight">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">LidRight</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#LidRight"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.LidRight" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.BaseEdge" title="boxes.edges.BaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEdge</span></code></a></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.LidRight.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'n'</span></em><a class="headerlink" href="#boxes.edges.LidRight.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.LidRight.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Edge</span> <span class="pre">for</span> <span class="pre">slide</span> <span class="pre">on</span> <span class="pre">lid</span> <span class="pre">(right)'</span></em><a class="headerlink" href="#boxes.edges.LidRight.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.LidRight.endwidth">
<span class="sig-name descname"><span class="pre">endwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#LidRight.endwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.LidRight.endwidth" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.LidRight.margin">
<span class="sig-name descname"><span class="pre">margin</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#LidRight.margin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.LidRight.margin" title="Permalink to this definition"></a></dt>
<dd><p>Space needed right of the starting point</p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.LidRight.rightside">
<span class="sig-name descname"><span class="pre">rightside</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">True</span></em><a class="headerlink" href="#boxes.edges.LidRight.rightside" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.LidRight.startwidth">
<span class="sig-name descname"><span class="pre">startwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#LidRight.startwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.LidRight.startwidth" title="Permalink to this definition"></a></dt>
<dd><p>Amount of space the beginning of the edge is set below the inner space of the part</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.LidSettings">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">LidSettings</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">thickness</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">relative</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#LidSettings"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.LidSettings" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.FingerJointSettings" title="boxes.edges.FingerJointSettings"><code class="xref py py-class docutils literal notranslate"><span class="pre">FingerJointSettings</span></code></a></p>
<p>Settings for Slide-on Lids</p>
<p>Note that edge_width below also determines how much the sides extend above the lid.</p>
<p>Values:</p>
<ul class="simple">
<li><p>absolute_params</p></li>
</ul>
<blockquote>
<div><ul>
<li><p>second_pin : True : additional pin for better positioning</p></li>
<li><p>spring : “both” : position(s) of the extra locking springs in the lid</p></li>
<li><p>hole_width : 0 : width of the “finger hole” in mm</p>
<blockquote>
<div><p>Settings for Finger Joints</p>
</div></blockquote>
</li>
</ul>
</div></blockquote>
<p>Values:</p>
<ul class="simple">
<li><p>absolute
* style : “rectangular” : style of the fingers
* surroundingspaces : 2.0 : space at the start and end in multiple of normal spaces
* angle: 90 : Angle of the walls meeting</p></li>
<li><p>relative (in multiples of thickness)</p>
<ul>
<li><p>space : 2.0 : space between fingers (multiples of thickness)</p></li>
<li><p>finger : 2.0 : width of the fingers (multiples of thickness)</p></li>
<li><p>width : 1.0 : width of finger holes (multiples of thickness)</p></li>
<li><p>edge_width : 1.0 : space below holes of FingerHoleEdge (multiples of thickness)</p></li>
<li><p>play : 0.0 : extra space to allow finger move in and out (multiples of thickness)</p></li>
<li><p>extra_length : 0.0 : extra material to grind away burn marks (multiples of thickness)</p></li>
</ul>
</li>
</ul>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.LidSettings.absolute_params">
<span class="sig-name descname"><span class="pre">absolute_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'angle':</span> <span class="pre">90.0,</span> <span class="pre">'hole_width':</span> <span class="pre">0,</span> <span class="pre">'second_pin':</span> <span class="pre">True,</span> <span class="pre">'spring':</span> <span class="pre">('both',</span> <span class="pre">'none',</span> <span class="pre">'left',</span> <span class="pre">'right'),</span> <span class="pre">'style':</span> <span class="pre">('rectangular',</span> <span class="pre">'springs',</span> <span class="pre">'barbs',</span> <span class="pre">'snap'),</span> <span class="pre">'surroundingspaces':</span> <span class="pre">2.0}</span></em><a class="headerlink" href="#boxes.edges.LidSettings.absolute_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.LidSettings.edgeObjects">
<span class="sig-name descname"><span class="pre">edgeObjects</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chars</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">add</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#LidSettings.edgeObjects"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.LidSettings.edgeObjects" title="Permalink to this definition"></a></dt>
<dd><p>Generate Edge objects using this kind of settings</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>boxes</strong> Boxes object</p></li>
<li><p><strong>chars</strong> sequence of chars to be used by Edge objects</p></li>
<li><p><strong>add</strong> add the resulting Edge objects to the Boxes objects edges</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.LidSettings.relative_params">
<span class="sig-name descname"><span class="pre">relative_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'edge_width':</span> <span class="pre">1.0,</span> <span class="pre">'extra_length':</span> <span class="pre">0.0,</span> <span class="pre">'finger':</span> <span class="pre">3.0,</span> <span class="pre">'play':</span> <span class="pre">0.05,</span> <span class="pre">'space':</span> <span class="pre">2.0,</span> <span class="pre">'width':</span> <span class="pre">1.0}</span></em><a class="headerlink" href="#boxes.edges.LidSettings.relative_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.LidSideLeft">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">LidSideLeft</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#LidSideLeft"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.LidSideLeft" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.LidSideRight" title="boxes.edges.LidSideRight"><code class="xref py py-class docutils literal notranslate"><span class="pre">LidSideRight</span></code></a></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.LidSideLeft.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'M'</span></em><a class="headerlink" href="#boxes.edges.LidSideLeft.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.LidSideLeft.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Edge</span> <span class="pre">for</span> <span class="pre">slide</span> <span class="pre">on</span> <span class="pre">lid</span> <span class="pre">(box</span> <span class="pre">left)'</span></em><a class="headerlink" href="#boxes.edges.LidSideLeft.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.LidSideLeft.rightside">
<span class="sig-name descname"><span class="pre">rightside</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">False</span></em><a class="headerlink" href="#boxes.edges.LidSideLeft.rightside" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.LidSideRight">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">LidSideRight</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#LidSideRight"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.LidSideRight" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.BaseEdge" title="boxes.edges.BaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEdge</span></code></a></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.LidSideRight.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'N'</span></em><a class="headerlink" href="#boxes.edges.LidSideRight.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.LidSideRight.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Edge</span> <span class="pre">for</span> <span class="pre">slide</span> <span class="pre">on</span> <span class="pre">lid</span> <span class="pre">(box</span> <span class="pre">right)'</span></em><a class="headerlink" href="#boxes.edges.LidSideRight.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.LidSideRight.endwidth">
<span class="sig-name descname"><span class="pre">endwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#LidSideRight.endwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.LidSideRight.endwidth" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.LidSideRight.margin">
<span class="sig-name descname"><span class="pre">margin</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#LidSideRight.margin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.LidSideRight.margin" title="Permalink to this definition"></a></dt>
<dd><p>Space needed right of the starting point</p>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.LidSideRight.rightside">
<span class="sig-name descname"><span class="pre">rightside</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">True</span></em><a class="headerlink" href="#boxes.edges.LidSideRight.rightside" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.LidSideRight.startwidth">
<span class="sig-name descname"><span class="pre">startwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#LidSideRight.startwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.LidSideRight.startwidth" title="Permalink to this definition"></a></dt>
<dd><p>Amount of space the beginning of the edge is set below the inner space of the part</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.MountingEdge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">MountingEdge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#MountingEdge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.MountingEdge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.BaseEdge" title="boxes.edges.BaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEdge</span></code></a></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.MountingEdge.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'G'</span></em><a class="headerlink" href="#boxes.edges.MountingEdge.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.MountingEdge.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Edge</span> <span class="pre">with</span> <span class="pre">pear</span> <span class="pre">shaped</span> <span class="pre">mounting</span> <span class="pre">holes'</span></em><a class="headerlink" href="#boxes.edges.MountingEdge.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.MountingEdge.margin">
<span class="sig-name descname"><span class="pre">margin</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#MountingEdge.margin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.MountingEdge.margin" title="Permalink to this definition"></a></dt>
<dd><p>Space needed right of the starting point</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.MountingEdge.startwidth">
<span class="sig-name descname"><span class="pre">startwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#MountingEdge.startwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.MountingEdge.startwidth" title="Permalink to this definition"></a></dt>
<dd><p>Amount of space the beginning of the edge is set below the inner space of the part</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.MountingSettings">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">MountingSettings</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">thickness</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">relative</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#MountingSettings"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.MountingSettings" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.Settings" title="boxes.edges.Settings"><code class="xref py py-class docutils literal notranslate"><span class="pre">Settings</span></code></a></p>
<p>Settings for Mounting Edge
Values:
* absolute_params</p>
<blockquote>
<div><ul class="simple">
<li><p>style : “straight edge, within” : edge style</p></li>
<li><p>side : “back” : side of box (not all valid configurations make sense…)</p></li>
<li><p>num : 2 : number of mounting holes (integer)</p></li>
<li><p>margin : 0.125 : minimum space left and right without holes (fraction of the edge length)</p></li>
<li><p>d_shaft : 3.0 : shaft diameter of mounting screw (in mm)</p></li>
<li><p>d_head : 6.5 : head diameter of mounting screw (in mm)</p></li>
</ul>
</div></blockquote>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.MountingSettings.PARAM_BACK">
<span class="sig-name descname"><span class="pre">PARAM_BACK</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'back'</span></em><a class="headerlink" href="#boxes.edges.MountingSettings.PARAM_BACK" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.MountingSettings.PARAM_EXT">
<span class="sig-name descname"><span class="pre">PARAM_EXT</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'straight</span> <span class="pre">edge,</span> <span class="pre">extended'</span></em><a class="headerlink" href="#boxes.edges.MountingSettings.PARAM_EXT" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.MountingSettings.PARAM_FRONT">
<span class="sig-name descname"><span class="pre">PARAM_FRONT</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'front'</span></em><a class="headerlink" href="#boxes.edges.MountingSettings.PARAM_FRONT" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.MountingSettings.PARAM_IN">
<span class="sig-name descname"><span class="pre">PARAM_IN</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'straight</span> <span class="pre">edge,</span> <span class="pre">within'</span></em><a class="headerlink" href="#boxes.edges.MountingSettings.PARAM_IN" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.MountingSettings.PARAM_LEFT">
<span class="sig-name descname"><span class="pre">PARAM_LEFT</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'left'</span></em><a class="headerlink" href="#boxes.edges.MountingSettings.PARAM_LEFT" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.MountingSettings.PARAM_RIGHT">
<span class="sig-name descname"><span class="pre">PARAM_RIGHT</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'right'</span></em><a class="headerlink" href="#boxes.edges.MountingSettings.PARAM_RIGHT" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.MountingSettings.PARAM_TAB">
<span class="sig-name descname"><span class="pre">PARAM_TAB</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'mounting</span> <span class="pre">tab'</span></em><a class="headerlink" href="#boxes.edges.MountingSettings.PARAM_TAB" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.MountingSettings.absolute_params">
<span class="sig-name descname"><span class="pre">absolute_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'d_head':</span> <span class="pre">6.5,</span> <span class="pre">'d_shaft':</span> <span class="pre">3.0,</span> <span class="pre">'margin':</span> <span class="pre">0.125,</span> <span class="pre">'num':</span> <span class="pre">2,</span> <span class="pre">'side':</span> <span class="pre">('back',</span> <span class="pre">'left',</span> <span class="pre">'right',</span> <span class="pre">'front'),</span> <span class="pre">'style':</span> <span class="pre">('straight</span> <span class="pre">edge,</span> <span class="pre">within',</span> <span class="pre">'straight</span> <span class="pre">edge,</span> <span class="pre">extended',</span> <span class="pre">'mounting</span> <span class="pre">tab')}</span></em><a class="headerlink" href="#boxes.edges.MountingSettings.absolute_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.MountingSettings.edgeObjects">
<span class="sig-name descname"><span class="pre">edgeObjects</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chars</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'G'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">add</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#MountingSettings.edgeObjects"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.MountingSettings.edgeObjects" title="Permalink to this definition"></a></dt>
<dd><p>Generate Edge objects using this kind of settings</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>boxes</strong> Boxes object</p></li>
<li><p><strong>chars</strong> sequence of chars to be used by Edge objects</p></li>
<li><p><strong>add</strong> add the resulting Edge objects to the Boxes objects edges</p></li>
</ul>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.OutSetEdge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">OutSetEdge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#OutSetEdge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.OutSetEdge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.Edge" title="boxes.edges.Edge"><code class="xref py py-class docutils literal notranslate"><span class="pre">Edge</span></code></a></p>
<p>Straight edge out set by one thickness</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.OutSetEdge.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'E'</span></em><a class="headerlink" href="#boxes.edges.OutSetEdge.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.OutSetEdge.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Straight</span> <span class="pre">Edge</span> <span class="pre">(outset</span> <span class="pre">by</span> <span class="pre">thickness)'</span></em><a class="headerlink" href="#boxes.edges.OutSetEdge.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.OutSetEdge.positive">
<span class="sig-name descname"><span class="pre">positive</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">True</span></em><a class="headerlink" href="#boxes.edges.OutSetEdge.positive" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.OutSetEdge.startwidth">
<span class="sig-name descname"><span class="pre">startwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#OutSetEdge.startwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.OutSetEdge.startwidth" title="Permalink to this definition"></a></dt>
<dd><p>Amount of space the beginning of the edge is set below the inner space of the part</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.RackEdge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">RackEdge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#RackEdge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.RackEdge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.BaseEdge" title="boxes.edges.BaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEdge</span></code></a></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.RackEdge.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'R'</span></em><a class="headerlink" href="#boxes.edges.RackEdge.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.RackEdge.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Rack</span> <span class="pre">(and</span> <span class="pre">pinion)</span> <span class="pre">Edge'</span></em><a class="headerlink" href="#boxes.edges.RackEdge.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.RackEdge.margin">
<span class="sig-name descname"><span class="pre">margin</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#RackEdge.margin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.RackEdge.margin" title="Permalink to this definition"></a></dt>
<dd><p>Space needed right of the starting point</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.RoundedTriangleEdge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">RoundedTriangleEdge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#RoundedTriangleEdge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.RoundedTriangleEdge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.Edge" title="boxes.edges.Edge"><code class="xref py py-class docutils literal notranslate"><span class="pre">Edge</span></code></a></p>
<p>Makes an edge with a rounded triangular bumpout and
optional hole</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.RoundedTriangleEdge.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'t'</span></em><a class="headerlink" href="#boxes.edges.RoundedTriangleEdge.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.RoundedTriangleEdge.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Triangle</span> <span class="pre">for</span> <span class="pre">handle'</span></em><a class="headerlink" href="#boxes.edges.RoundedTriangleEdge.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.RoundedTriangleEdge.margin">
<span class="sig-name descname"><span class="pre">margin</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#RoundedTriangleEdge.margin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.RoundedTriangleEdge.margin" title="Permalink to this definition"></a></dt>
<dd><p>Space needed right of the starting point</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.RoundedTriangleEdgeSettings">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">RoundedTriangleEdgeSettings</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">thickness</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">relative</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#RoundedTriangleEdgeSettings"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.RoundedTriangleEdgeSettings" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.Settings" title="boxes.edges.Settings"><code class="xref py py-class docutils literal notranslate"><span class="pre">Settings</span></code></a></p>
<p>Settings for RoundedTriangleEdge
Values:</p>
<ul class="simple">
<li><p>absolute_params</p></li>
</ul>
<blockquote>
<div><ul class="simple">
<li><p>height : 150. : height above the wall</p></li>
<li><p>radius : 30. : radius of top corner</p></li>
<li><p>r_hole : 0. : radius of hole</p></li>
</ul>
</div></blockquote>
<ul class="simple">
<li><p>relative (in multiples of thickness)</p></li>
</ul>
<blockquote>
<div><ul class="simple">
<li><p>outset : 0 : extend the triangle along the length of the edge (multiples of thickness)</p></li>
</ul>
</div></blockquote>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.RoundedTriangleEdgeSettings.absolute_params">
<span class="sig-name descname"><span class="pre">absolute_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'height':</span> <span class="pre">50.0,</span> <span class="pre">'r_hole':</span> <span class="pre">2.0,</span> <span class="pre">'radius':</span> <span class="pre">30.0}</span></em><a class="headerlink" href="#boxes.edges.RoundedTriangleEdgeSettings.absolute_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.RoundedTriangleEdgeSettings.edgeObjects">
<span class="sig-name descname"><span class="pre">edgeObjects</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chars</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'t'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">add</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#RoundedTriangleEdgeSettings.edgeObjects"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.RoundedTriangleEdgeSettings.edgeObjects" title="Permalink to this definition"></a></dt>
<dd><p>Generate Edge objects using this kind of settings</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>boxes</strong> Boxes object</p></li>
<li><p><strong>chars</strong> sequence of chars to be used by Edge objects</p></li>
<li><p><strong>add</strong> add the resulting Edge objects to the Boxes objects edges</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.RoundedTriangleEdgeSettings.relative_params">
<span class="sig-name descname"><span class="pre">relative_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'outset':</span> <span class="pre">0.0}</span></em><a class="headerlink" href="#boxes.edges.RoundedTriangleEdgeSettings.relative_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.RoundedTriangleFingerHolesEdge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">RoundedTriangleFingerHolesEdge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#RoundedTriangleFingerHolesEdge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.RoundedTriangleFingerHolesEdge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.RoundedTriangleEdge" title="boxes.edges.RoundedTriangleEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">RoundedTriangleEdge</span></code></a></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.RoundedTriangleFingerHolesEdge.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'T'</span></em><a class="headerlink" href="#boxes.edges.RoundedTriangleFingerHolesEdge.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.RoundedTriangleFingerHolesEdge.startwidth">
<span class="sig-name descname"><span class="pre">startwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#RoundedTriangleFingerHolesEdge.startwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.RoundedTriangleFingerHolesEdge.startwidth" title="Permalink to this definition"></a></dt>
<dd><p>Amount of space the beginning of the edge is set below the inner space of the part</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.Settings">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">Settings</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">thickness</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">relative</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#Settings"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.Settings" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Generic Settings class</p>
<p>Used by different other classes to store measurements and details.
Supports absolute values and settings that grow with the thickness
of the material used.</p>
<p>Overload the absolute_params and relative_params class attributes with
the suported keys and default values. The values are available via
attribute access.</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.Settings.absolute_params">
<span class="sig-name descname"><span class="pre">absolute_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{}</span></em><a class="headerlink" href="#boxes.edges.Settings.absolute_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.Settings.checkValues">
<span class="sig-name descname"><span class="pre">checkValues</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#Settings.checkValues"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.Settings.checkValues" title="Permalink to this definition"></a></dt>
<dd><p>Check if all values are in the right range. Raise ValueError if needed</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.Settings.edgeObjects">
<span class="sig-name descname"><span class="pre">edgeObjects</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chars</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">add</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#Settings.edgeObjects"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.Settings.edgeObjects" title="Permalink to this definition"></a></dt>
<dd><p>Generate Edge objects using this kind of settings</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>boxes</strong> Boxes object</p></li>
<li><p><strong>chars</strong> sequence of chars to be used by Edge objects</p></li>
<li><p><strong>add</strong> add the resulting Edge objects to the Boxes objects edges</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.Settings.parserArguments">
<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">parserArguments</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">parser</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">defaults</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#Settings.parserArguments"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.Settings.parserArguments" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.Settings.relative_params">
<span class="sig-name descname"><span class="pre">relative_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{}</span></em><a class="headerlink" href="#boxes.edges.Settings.relative_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.Settings.setValues">
<span class="sig-name descname"><span class="pre">setValues</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">thickness</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">relative</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#Settings.setValues"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.Settings.setValues" title="Permalink to this definition"></a></dt>
<dd><p>Set values</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>thickness</strong> thickness of the material used</p></li>
<li><p><strong>relative</strong> (Default value = True) Do scale by thickness</p></li>
<li><p><strong>**kw</strong> parameters to set</p></li>
</ul>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.Slot">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">Slot</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">depth</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#Slot"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.Slot" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.BaseEdge" title="boxes.edges.BaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEdge</span></code></a></p>
<p>Edge with an slot to slid another pice through</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.Slot.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Slot'</span></em><a class="headerlink" href="#boxes.edges.Slot.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.SlottedEdge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">SlottedEdge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sections</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">edge</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'e'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">slots</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#SlottedEdge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.SlottedEdge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.BaseEdge" title="boxes.edges.BaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEdge</span></code></a></p>
<p>Edge with multiple slots</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.SlottedEdge.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Straight</span> <span class="pre">Edge</span> <span class="pre">with</span> <span class="pre">slots'</span></em><a class="headerlink" href="#boxes.edges.SlottedEdge.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.SlottedEdge.endwidth">
<span class="sig-name descname"><span class="pre">endwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#SlottedEdge.endwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.SlottedEdge.endwidth" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.SlottedEdge.margin">
<span class="sig-name descname"><span class="pre">margin</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#SlottedEdge.margin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.SlottedEdge.margin" title="Permalink to this definition"></a></dt>
<dd><p>Space needed right of the starting point</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.SlottedEdge.startwidth">
<span class="sig-name descname"><span class="pre">startwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#SlottedEdge.startwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.SlottedEdge.startwidth" title="Permalink to this definition"></a></dt>
<dd><p>Amount of space the beginning of the edge is set below the inner space of the part</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.StackableBaseEdge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">StackableBaseEdge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fingerjointsettings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#StackableBaseEdge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.StackableBaseEdge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.BaseEdge" title="boxes.edges.BaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseEdge</span></code></a></p>
<p>Edge for having stackable Boxes. The Edge creates feet on the bottom
and has matching recesses on the top corners.</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.StackableBaseEdge.bottom">
<span class="sig-name descname"><span class="pre">bottom</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">True</span></em><a class="headerlink" href="#boxes.edges.StackableBaseEdge.bottom" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.StackableBaseEdge.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'s'</span></em><a class="headerlink" href="#boxes.edges.StackableBaseEdge.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.StackableBaseEdge.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Abstract</span> <span class="pre">Stackable</span> <span class="pre">class'</span></em><a class="headerlink" href="#boxes.edges.StackableBaseEdge.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.StackableBaseEdge.margin">
<span class="sig-name descname"><span class="pre">margin</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#StackableBaseEdge.margin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.StackableBaseEdge.margin" title="Permalink to this definition"></a></dt>
<dd><p>Space needed right of the starting point</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.StackableBaseEdge.startwidth">
<span class="sig-name descname"><span class="pre">startwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#StackableBaseEdge.startwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.StackableBaseEdge.startwidth" title="Permalink to this definition"></a></dt>
<dd><p>Amount of space the beginning of the edge is set below the inner space of the part</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.StackableEdge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">StackableEdge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fingerjointsettings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#StackableEdge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.StackableEdge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.StackableBaseEdge" title="boxes.edges.StackableBaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">StackableBaseEdge</span></code></a></p>
<p>Edge for having stackable Boxes. The Edge creates feet on the bottom
and has matching recesses on the top corners.</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.StackableEdge.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'s'</span></em><a class="headerlink" href="#boxes.edges.StackableEdge.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.StackableEdge.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Stackable</span> <span class="pre">(bottom,</span> <span class="pre">finger</span> <span class="pre">joint</span> <span class="pre">holes)'</span></em><a class="headerlink" href="#boxes.edges.StackableEdge.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.StackableEdgeTop">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">StackableEdgeTop</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fingerjointsettings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#StackableEdgeTop"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.StackableEdgeTop" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.StackableBaseEdge" title="boxes.edges.StackableBaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">StackableBaseEdge</span></code></a></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.StackableEdgeTop.bottom">
<span class="sig-name descname"><span class="pre">bottom</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">False</span></em><a class="headerlink" href="#boxes.edges.StackableEdgeTop.bottom" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.StackableEdgeTop.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'S'</span></em><a class="headerlink" href="#boxes.edges.StackableEdgeTop.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.StackableEdgeTop.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Stackable</span> <span class="pre">(top)'</span></em><a class="headerlink" href="#boxes.edges.StackableEdgeTop.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.StackableFeet">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">StackableFeet</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fingerjointsettings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#StackableFeet"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.StackableFeet" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.StackableBaseEdge" title="boxes.edges.StackableBaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">StackableBaseEdge</span></code></a></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.StackableFeet.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'š'</span></em><a class="headerlink" href="#boxes.edges.StackableFeet.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.StackableFeet.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Stackable</span> <span class="pre">feet</span> <span class="pre">(bottom)'</span></em><a class="headerlink" href="#boxes.edges.StackableFeet.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.StackableHoleEdgeTop">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">StackableHoleEdgeTop</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fingerjointsettings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#StackableHoleEdgeTop"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.StackableHoleEdgeTop" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.StackableBaseEdge" title="boxes.edges.StackableBaseEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">StackableBaseEdge</span></code></a></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.StackableHoleEdgeTop.bottom">
<span class="sig-name descname"><span class="pre">bottom</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">False</span></em><a class="headerlink" href="#boxes.edges.StackableHoleEdgeTop.bottom" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.StackableHoleEdgeTop.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Š'</span></em><a class="headerlink" href="#boxes.edges.StackableHoleEdgeTop.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.StackableHoleEdgeTop.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Stackable</span> <span class="pre">edge</span> <span class="pre">with</span> <span class="pre">finger</span> <span class="pre">holes</span> <span class="pre">(top)'</span></em><a class="headerlink" href="#boxes.edges.StackableHoleEdgeTop.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.StackableHoleEdgeTop.startwidth">
<span class="sig-name descname"><span class="pre">startwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#StackableHoleEdgeTop.startwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.StackableHoleEdgeTop.startwidth" title="Permalink to this definition"></a></dt>
<dd><p>Amount of space the beginning of the edge is set below the inner space of the part</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.edges.StackableSettings">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">StackableSettings</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">thickness</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">relative</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#StackableSettings"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.StackableSettings" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.Settings" title="boxes.edges.Settings"><code class="xref py py-class docutils literal notranslate"><span class="pre">Settings</span></code></a></p>
<p>Settings for Stackable Edges</p>
<p>Values:</p>
<ul class="simple">
<li><p>absolute_params</p>
<ul>
<li><p>angle : 60 : inside angle of the feet</p></li>
</ul>
</li>
<li><p>relative (in multiples of thickness)</p>
<ul>
<li><p>height : 2.0 : height of the feet (multiples of thickness)</p></li>
<li><p>width : 4.0 : width of the feet (multiples of thickness)</p></li>
<li><p>holedistance : 1.0 : distance from finger holes to bottom edge (multiples of thickness)</p></li>
</ul>
</li>
</ul>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.StackableSettings.absolute_params">
<span class="sig-name descname"><span class="pre">absolute_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'angle':</span> <span class="pre">60}</span></em><a class="headerlink" href="#boxes.edges.StackableSettings.absolute_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.StackableSettings.checkValues">
<span class="sig-name descname"><span class="pre">checkValues</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#StackableSettings.checkValues"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.StackableSettings.checkValues" title="Permalink to this definition"></a></dt>
<dd><p>Check if all values are in the right range. Raise ValueError if needed</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.edges.StackableSettings.edgeObjects">
<span class="sig-name descname"><span class="pre">edgeObjects</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chars</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'sSšŠ'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">add</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fingersettings</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#StackableSettings.edgeObjects"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.StackableSettings.edgeObjects" title="Permalink to this definition"></a></dt>
<dd><p>Generate Edge objects using this kind of settings</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>boxes</strong> Boxes object</p></li>
<li><p><strong>chars</strong> sequence of chars to be used by Edge objects</p></li>
<li><p><strong>add</strong> add the resulting Edge objects to the Boxes objects edges</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.edges.StackableSettings.relative_params">
<span class="sig-name descname"><span class="pre">relative_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'height':</span> <span class="pre">2.0,</span> <span class="pre">'holedistance':</span> <span class="pre">1.0,</span> <span class="pre">'width':</span> <span class="pre">4.0}</span></em><a class="headerlink" href="#boxes.edges.StackableSettings.relative_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.edges.argparseSections">
<span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">argparseSections</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">s</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#argparseSections"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.argparseSections" title="Permalink to this definition"></a></dt>
<dd><p>Parse sections parameter</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>s</strong> string to parse</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.edges.getDescriptions">
<span class="sig-prename descclassname"><span class="pre">boxes.edges.</span></span><span class="sig-name descname"><span class="pre">getDescriptions</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/edges.html#getDescriptions"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.edges.getDescriptions" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</section>
<section id="module-boxes.formats">
<span id="boxes-formats-module"></span><h2>boxes.formats module<a class="headerlink" href="#module-boxes.formats" title="Permalink to this heading"></a></h2>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.formats.Formats">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.formats.</span></span><span class="sig-name descname"><span class="pre">Formats</span></span><a class="reference internal" href="_modules/boxes/formats.html#Formats"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.formats.Formats" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.formats.Formats.convert">
<span class="sig-name descname"><span class="pre">convert</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fmt</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">metadata</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/formats.html#Formats.convert"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.formats.Formats.convert" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.formats.Formats.formats">
<span class="sig-name descname"><span class="pre">formats</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'ai':</span> <span class="pre">['-f',</span> <span class="pre">'ps2ai'],</span> <span class="pre">'dxf':</span> <span class="pre">['-flat',</span> <span class="pre">'0.1',</span> <span class="pre">'-f',</span> <span class="pre">'dxf:-mm'],</span> <span class="pre">'gcode':</span> <span class="pre">['-f',</span> <span class="pre">'gcode'],</span> <span class="pre">'lbrn2':</span> <span class="pre">None,</span> <span class="pre">'pdf':</span> <span class="pre">['-f',</span> <span class="pre">'pdf'],</span> <span class="pre">'plt':</span> <span class="pre">['-f',</span> <span class="pre">'plot-hpgl'],</span> <span class="pre">'ps':</span> <span class="pre">None,</span> <span class="pre">'svg':</span> <span class="pre">None,</span> <span class="pre">'svg_Ponoko':</span> <span class="pre">None}</span></em><a class="headerlink" href="#boxes.formats.Formats.formats" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.formats.Formats.getFormats">
<span class="sig-name descname"><span class="pre">getFormats</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/formats.html#Formats.getFormats"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.formats.Formats.getFormats" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.formats.Formats.getSurface">
<span class="sig-name descname"><span class="pre">getSurface</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fmt</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/formats.html#Formats.getSurface"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.formats.Formats.getSurface" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.formats.Formats.http_headers">
<span class="sig-name descname"><span class="pre">http_headers</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'dxf':</span> <span class="pre">[('Content-type',</span> <span class="pre">'image/vnd.dxf')],</span> <span class="pre">'gcode':</span> <span class="pre">[('Content-type',</span> <span class="pre">'text/plain;</span> <span class="pre">charset=utf-8')],</span> <span class="pre">'lbrn2':</span> <span class="pre">[('Content-type',</span> <span class="pre">'application/lbrn2')],</span> <span class="pre">'plt':</span> <span class="pre">[('Content-type',</span> <span class="pre">'</span> <span class="pre">application/vnd.hp-hpgl')],</span> <span class="pre">'ps':</span> <span class="pre">[('Content-type',</span> <span class="pre">'application/postscript')],</span> <span class="pre">'svg':</span> <span class="pre">[('Content-type',</span> <span class="pre">'image/svg+xml;</span> <span class="pre">charset=utf-8')],</span> <span class="pre">'svg_Ponoko':</span> <span class="pre">[('Content-type',</span> <span class="pre">'image/svg+xml;</span> <span class="pre">charset=utf-8')]}</span></em><a class="headerlink" href="#boxes.formats.Formats.http_headers" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.formats.Formats.pstoedit_candidates">
<span class="sig-name descname"><span class="pre">pstoedit_candidates</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">['/usr/bin/pstoedit',</span> <span class="pre">'pstoedit',</span> <span class="pre">'pstoedit.exe']</span></em><a class="headerlink" href="#boxes.formats.Formats.pstoedit_candidates" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</section>
<section id="module-boxes.gears">
<span id="boxes-gears-module"></span><h2>boxes.gears module<a class="headerlink" href="#module-boxes.gears" title="Permalink to this heading"></a></h2>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.gears.Gears">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.gears.</span></span><span class="sig-name descname"><span class="pre">Gears</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/gears.html#Gears"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.gears.Gears" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.gears.Gears.calc_circular_pitch">
<span class="sig-name descname"><span class="pre">calc_circular_pitch</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/gears.html#Gears.calc_circular_pitch"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.gears.Gears.calc_circular_pitch" title="Permalink to this definition"></a></dt>
<dd><p>We use math based on circular pitch.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.gears.Gears.drawPoints">
<span class="sig-name descname"><span class="pre">drawPoints</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">lines</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">kerfdir</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">close</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/gears.html#Gears.drawPoints"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.gears.Gears.drawPoints" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.gears.Gears.gearCarrier">
<span class="sig-name descname"><span class="pre">gearCarrier</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">r</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">spoke_width</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">positions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mount_radius</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mount_hole</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">circle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">callback</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">move</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/gears.html#Gears.gearCarrier"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.gears.Gears.gearCarrier" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.gears.Gears.generate_spokes">
<span class="sig-name descname"><span class="pre">generate_spokes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">root_radius</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">spoke_width</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">spokes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mount_radius</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mount_hole</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">unit_factor</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">unit_label</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/gears.html#Gears.generate_spokes"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.gears.Gears.generate_spokes" title="Permalink to this definition"></a></dt>
<dd><p>given a set of constraints
- generate the svg path for the gear spokes
- lies between mount_radius (inner hole) and root_radius (bottom of the teeth)
- spoke width also defines the spacing at the root_radius
- mount_radius is adjusted so that spokes fit if there is room
- if no room (collision) then spokes not drawn</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.gears.Gears.sizes">
<span class="sig-name descname"><span class="pre">sizes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/gears.html#Gears.sizes"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.gears.Gears.sizes" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.gears.OptionParser">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.gears.</span></span><span class="sig-name descname"><span class="pre">OptionParser</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prog=None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">usage=None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">description=None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">epilog=None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">parents=[]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">formatter_class=&lt;class</span> <span class="pre">'argparse.HelpFormatter'&gt;</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prefix_chars='-'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fromfile_prefix_chars=None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">argument_default=None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">conflict_handler='error'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">add_help=True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allow_abbrev=True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/gears.html#OptionParser"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.gears.OptionParser" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">ArgumentParser</span></code></p>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.gears.OptionParser.add_option">
<span class="sig-name descname"><span class="pre">add_option</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">short</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">long_</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/gears.html#OptionParser.add_option"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.gears.OptionParser.add_option" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.gears.OptionParser.types">
<span class="sig-name descname"><span class="pre">types</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'float':</span> <span class="pre">&lt;class</span> <span class="pre">'float'&gt;,</span> <span class="pre">'inkbool':</span> <span class="pre">&lt;function</span> <span class="pre">inkbool&gt;,</span> <span class="pre">'int':</span> <span class="pre">&lt;class</span> <span class="pre">'int'&gt;,</span> <span class="pre">'string':</span> <span class="pre">&lt;class</span> <span class="pre">'str'&gt;}</span></em><a class="headerlink" href="#boxes.gears.OptionParser.types" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.gears.gear_calculations">
<span class="sig-prename descclassname"><span class="pre">boxes.gears.</span></span><span class="sig-name descname"><span class="pre">gear_calculations</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">num_teeth</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">circular_pitch</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pressure_angle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">clearance</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ring_gear</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">profile_shift</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/gears.html#gear_calculations"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.gears.gear_calculations" title="Permalink to this definition"></a></dt>
<dd><p>Put base calcs for spur/ring gears in one place.
- negative profile shifting helps against undercut.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.gears.generate_rack_points">
<span class="sig-prename descclassname"><span class="pre">boxes.gears.</span></span><span class="sig-name descname"><span class="pre">generate_rack_points</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tooth_count</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pitch</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">addendum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pressure_angle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">base_height</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tab_length</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">clearance</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">draw_guides</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/gears.html#generate_rack_points"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.gears.generate_rack_points" title="Permalink to this definition"></a></dt>
<dd><p>Return path (suitable for svg) of the Rack gear.
- rack gear uses straight sides</p>
<blockquote>
<div><ul class="simple">
<li><p>involute on a circle of infinite radius is a simple linear ramp</p></li>
</ul>
</div></blockquote>
<ul class="simple">
<li><p>the meshing circle touches at y = 0,</p></li>
<li><p>the highest elevation of the teeth is at y = +addendum</p></li>
<li><p>the lowest elevation of the teeth is at y = -addendum-clearance</p></li>
<li><p>the base_height extends downwards from the lowest elevation.</p></li>
<li><p>we generate this middle tooth exactly centered on the y=0 line.
(one extra tooth on the right hand side, if number of teeth is even)</p></li>
</ul>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.gears.generate_spur_points">
<span class="sig-prename descclassname"><span class="pre">boxes.gears.</span></span><span class="sig-name descname"><span class="pre">generate_spur_points</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">teeth</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">base_radius</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pitch_radius</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">outer_radius</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">root_radius</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">accuracy_involute</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">accuracy_circular</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/gears.html#generate_spur_points"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.gears.generate_spur_points" title="Permalink to this definition"></a></dt>
<dd><p>given a set of core gear params
- generate the svg path for the gear</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.gears.have_undercut">
<span class="sig-prename descclassname"><span class="pre">boxes.gears.</span></span><span class="sig-name descname"><span class="pre">have_undercut</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">teeth</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pitch_angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">k</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1.0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/gears.html#have_undercut"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.gears.have_undercut" title="Permalink to this definition"></a></dt>
<dd><p>returns true if the specified number of teeth would
cause an undercut.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.gears.inkbool">
<span class="sig-prename descclassname"><span class="pre">boxes.gears.</span></span><span class="sig-name descname"><span class="pre">inkbool</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">val</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/gears.html#inkbool"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.gears.inkbool" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.gears.involute_intersect_angle">
<span class="sig-prename descclassname"><span class="pre">boxes.gears.</span></span><span class="sig-name descname"><span class="pre">involute_intersect_angle</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">Rb</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">R</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/gears.html#involute_intersect_angle"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.gears.involute_intersect_angle" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.gears.linspace">
<span class="sig-prename descclassname"><span class="pre">boxes.gears.</span></span><span class="sig-name descname"><span class="pre">linspace</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">a</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">b</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/gears.html#linspace"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.gears.linspace" title="Permalink to this definition"></a></dt>
<dd><p>return list of linear interp of a to b in n steps
- if a and b are ints - youll get an int result.
- n must be an integer</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.gears.point_on_circle">
<span class="sig-prename descclassname"><span class="pre">boxes.gears.</span></span><span class="sig-name descname"><span class="pre">point_on_circle</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">radius</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/gears.html#point_on_circle"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.gears.point_on_circle" title="Permalink to this definition"></a></dt>
<dd><p>return xy coord of the point at distance radius from origin at angle</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.gears.undercut_max_k">
<span class="sig-prename descclassname"><span class="pre">boxes.gears.</span></span><span class="sig-name descname"><span class="pre">undercut_max_k</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">teeth</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pitch_angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20.0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/gears.html#undercut_max_k"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.gears.undercut_max_k" title="Permalink to this definition"></a></dt>
<dd><p>computes the maximum k value for a given teeth count and pitch_angle
so that no undercut occurs.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.gears.undercut_min_angle">
<span class="sig-prename descclassname"><span class="pre">boxes.gears.</span></span><span class="sig-name descname"><span class="pre">undercut_min_angle</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">teeth</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">k</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1.0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/gears.html#undercut_min_angle"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.gears.undercut_min_angle" title="Permalink to this definition"></a></dt>
<dd><p>computes the minimum pitch angle, to that the given teeth count (and
profile shift) cause no undercut.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.gears.undercut_min_teeth">
<span class="sig-prename descclassname"><span class="pre">boxes.gears.</span></span><span class="sig-name descname"><span class="pre">undercut_min_teeth</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pitch_angle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">k</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1.0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/gears.html#undercut_min_teeth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.gears.undercut_min_teeth" title="Permalink to this definition"></a></dt>
<dd><p>computes the minimum tooth count for a
spur gear so that no undercut with the given pitch_angle (in deg)
and an addendum = k * metric_module, where 0 &lt; k &lt; 1</p>
<p>Note:
The return value should be rounded upwards for perfect safety. E.g.
min_teeth = int(math.ceil(undercut_min_teeth(20.0))) # 18, not 17</p>
</dd></dl>
</section>
<section id="module-boxes.lids">
<span id="boxes-lids-module"></span><h2>boxes.lids module<a class="headerlink" href="#module-boxes.lids" title="Permalink to this heading"></a></h2>
</section>
<section id="boxes-mounts-module">
<h2>boxes.mounts module<a class="headerlink" href="#boxes-mounts-module" title="Permalink to this heading"></a></h2>
</section>
<section id="module-boxes.parts">
<span id="boxes-parts-module"></span><h2>boxes.parts module<a class="headerlink" href="#module-boxes.parts" title="Permalink to this heading"></a></h2>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.parts.Parts">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.parts.</span></span><span class="sig-name descname"><span class="pre">Parts</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/parts.html#Parts"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.parts.Parts" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.parts.Parts.concaveKnob">
<span class="sig-name descname"><span class="pre">concaveKnob</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">diameter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rounded</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">70</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">hole</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">callback</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">move</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/parts.html#Parts.concaveKnob"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.parts.Parts.concaveKnob" title="Permalink to this definition"></a></dt>
<dd><p>Knob with dents to be easier to be gripped</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>diameter</strong> diameter of the knob</p></li>
<li><p><strong>n</strong> (Default value = 3) number of dents</p></li>
<li><p><strong>rounded</strong> (Default value = 0.2) proportion of circumferen remaining</p></li>
<li><p><strong>angle</strong> (Default value = 70) angle the dents meet the circumference</p></li>
<li><p><strong>hole</strong> (Default value = 0)</p></li>
<li><p><strong>callback</strong> (Default value = None) called in the center</p></li>
<li><p><strong>move</strong> (Defaultvalue = None)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.parts.Parts.disc">
<span class="sig-name descname"><span class="pre">disc</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">diameter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">hole</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">callback</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">move</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">label</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/parts.html#Parts.disc"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.parts.Parts.disc" title="Permalink to this definition"></a></dt>
<dd><p>Simple disc</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>diameter</strong> diameter of the disc</p></li>
<li><p><strong>hole</strong> (Default value = 0)</p></li>
<li><p><strong>callback</strong> (Default value = None) called in the center</p></li>
<li><p><strong>move</strong> (Defaultvalue = None)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.parts.Parts.ringSegment">
<span class="sig-name descname"><span class="pre">ringSegment</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">r_outside</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">r_inside</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">move</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/parts.html#Parts.ringSegment"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.parts.Parts.ringSegment" title="Permalink to this definition"></a></dt>
<dd><p>Ring Segment</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>r_outside</strong> outer radius</p></li>
<li><p><strong>r_inside</strong> inner radius</p></li>
<li><p><strong>angle</strong> anlge the segment is spanning</p></li>
<li><p><strong>n</strong> (Default value = 1) number of segments</p></li>
<li><p><strong>move</strong> (Defaultvalue = None)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.parts.Parts.waivyKnob">
<span class="sig-name descname"><span class="pre">waivyKnob</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">diameter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">45</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">hole</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">callback</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">move</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/parts.html#Parts.waivyKnob"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.parts.Parts.waivyKnob" title="Permalink to this definition"></a></dt>
<dd><p>Disc with a waivy edge to be easier to be gripped</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>diameter</strong> diameter of the knob</p></li>
<li><p><strong>n</strong> (Default value = 20) number of waves</p></li>
<li><p><strong>angle</strong> (Default value = 45) maximum angle of the wave</p></li>
<li><p><strong>hole</strong> (Default value = 0)</p></li>
<li><p><strong>callback</strong> (Default value = None) called in the center</p></li>
<li><p><strong>move</strong> (Defaultvalue = None)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.parts.arcOnCircle">
<span class="sig-prename descclassname"><span class="pre">boxes.parts.</span></span><span class="sig-name descname"><span class="pre">arcOnCircle</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">spanning_angle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">outgoing_angle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">r</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1.0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/parts.html#arcOnCircle"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.parts.arcOnCircle" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</section>
<section id="module-boxes.pulley">
<span id="boxes-pulley-module"></span><h2>boxes.pulley module<a class="headerlink" href="#module-boxes.pulley" title="Permalink to this heading"></a></h2>
<p>// Parametric Pulley with multiple belt profiles
// by droftarts January 2012</p>
<p>// Based on pulleys by:
// <a class="reference external" href="http://www.thingiverse.com/thing:11256">http://www.thingiverse.com/thing:11256</a> by me!
// <a class="reference external" href="https://github.com/prusajr/PrusaMendel">https://github.com/prusajr/PrusaMendel</a> by Josef Prusa
// <a class="reference external" href="http://www.thingiverse.com/thing:3104">http://www.thingiverse.com/thing:3104</a> by GilesBathgate
// <a class="reference external" href="http://www.thingiverse.com/thing:2079">http://www.thingiverse.com/thing:2079</a> by nophead</p>
<p>// dxf tooth data from <a class="reference external" href="http://oem.cadregister.com/asp/PPOW_Entry.asp?company=915217&amp;elementID=07807803/METRIC/URETH/WV0025/F">http://oem.cadregister.com/asp/PPOW_Entry.asp?company=915217&amp;elementID=07807803/METRIC/URETH/WV0025/F</a>
// pulley diameter checked and modelled from data at <a class="reference external" href="http://www.sdp-si.com/D265/HTML/D265T016.html">http://www.sdp-si.com/D265/HTML/D265T016.html</a></p>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.pulley.Pulley">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.pulley.</span></span><span class="sig-name descname"><span class="pre">Pulley</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/pulley.html#Pulley"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.pulley.Pulley" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.pulley.Pulley.diameter">
<span class="sig-name descname"><span class="pre">diameter</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">teeth</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">profile</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/pulley.html#Pulley.diameter"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.pulley.Pulley.diameter" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.pulley.Pulley.drawPoints">
<span class="sig-name descname"><span class="pre">drawPoints</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">lines</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">kerfdir</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/pulley.html#Pulley.drawPoints"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.pulley.Pulley.drawPoints" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.pulley.Pulley.getProfiles">
<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">getProfiles</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/pulley.html#Pulley.getProfiles"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.pulley.Pulley.getProfiles" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.pulley.Pulley.profile_data">
<span class="sig-name descname"><span class="pre">profile_data</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'40DP':</span> <span class="pre">(0.457,</span> <span class="pre">1.226),</span> <span class="pre">'AT5':</span> <span class="pre">(1.19,</span> <span class="pre">4.268),</span> <span class="pre">'GT2_2mm':</span> <span class="pre">(0.764,</span> <span class="pre">1.494),</span> <span class="pre">'GT2_3mm':</span> <span class="pre">(1.169,</span> <span class="pre">2.31),</span> <span class="pre">'GT2_5mm':</span> <span class="pre">(1.969,</span> <span class="pre">3.952),</span> <span class="pre">'H':</span> <span class="pre">(1.905,</span> <span class="pre">5.359),</span> <span class="pre">'HTD_3mm':</span> <span class="pre">(1.289,</span> <span class="pre">2.27),</span> <span class="pre">'HTD_5mm':</span> <span class="pre">(2.199,</span> <span class="pre">3.781),</span> <span class="pre">'HTD_8mm':</span> <span class="pre">(3.607,</span> <span class="pre">6.603),</span> <span class="pre">'MXL':</span> <span class="pre">(0.508,</span> <span class="pre">1.321),</span> <span class="pre">'T10':</span> <span class="pre">(2.5,</span> <span class="pre">6.13),</span> <span class="pre">'T2_5':</span> <span class="pre">(0.7,</span> <span class="pre">1.678),</span> <span class="pre">'T5':</span> <span class="pre">(1.19,</span> <span class="pre">3.264),</span> <span class="pre">'XL':</span> <span class="pre">(1.27,</span> <span class="pre">3.051)}</span></em><a class="headerlink" href="#boxes.pulley.Pulley.profile_data" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.pulley.Pulley.spacing">
<span class="sig-name descname"><span class="pre">spacing</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'40DP':</span> <span class="pre">(False,</span> <span class="pre">2.07264,</span> <span class="pre">0.1778),</span> <span class="pre">'AT5':</span> <span class="pre">(True,</span> <span class="pre">0.6523,</span> <span class="pre">1.591,</span> <span class="pre">1.064),</span> <span class="pre">'GT2_2mm':</span> <span class="pre">(False,</span> <span class="pre">2,</span> <span class="pre">0.254),</span> <span class="pre">'GT2_3mm':</span> <span class="pre">(False,</span> <span class="pre">3,</span> <span class="pre">0.381),</span> <span class="pre">'GT2_5mm':</span> <span class="pre">(False,</span> <span class="pre">5,</span> <span class="pre">0.5715),</span> <span class="pre">'H':</span> <span class="pre">(False,</span> <span class="pre">9.525,</span> <span class="pre">0.381),</span> <span class="pre">'HTD_3mm':</span> <span class="pre">(False,</span> <span class="pre">3,</span> <span class="pre">0.381),</span> <span class="pre">'HTD_5mm':</span> <span class="pre">(False,</span> <span class="pre">5,</span> <span class="pre">0.5715),</span> <span class="pre">'HTD_8mm':</span> <span class="pre">(False,</span> <span class="pre">8,</span> <span class="pre">0.6858),</span> <span class="pre">'MXL':</span> <span class="pre">(False,</span> <span class="pre">2.032,</span> <span class="pre">0.254),</span> <span class="pre">'T10':</span> <span class="pre">(False,</span> <span class="pre">10,</span> <span class="pre">0.93),</span> <span class="pre">'T2_5':</span> <span class="pre">(True,</span> <span class="pre">0.7467,</span> <span class="pre">0.796,</span> <span class="pre">1.026),</span> <span class="pre">'T5':</span> <span class="pre">(True,</span> <span class="pre">0.6523,</span> <span class="pre">1.591,</span> <span class="pre">1.064),</span> <span class="pre">'XL':</span> <span class="pre">(False,</span> <span class="pre">5.08,</span> <span class="pre">0.254)}</span></em><a class="headerlink" href="#boxes.pulley.Pulley.spacing" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.pulley.Pulley.teeth">
<span class="sig-name descname"><span class="pre">teeth</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'40DP':</span> <span class="pre">[[-0.612775,</span> <span class="pre">-0.5],</span> <span class="pre">[-0.612775,</span> <span class="pre">0],</span> <span class="pre">[-0.574719,</span> <span class="pre">0.010187],</span> <span class="pre">[-0.546453,</span> <span class="pre">0.0381],</span> <span class="pre">[-0.355953,</span> <span class="pre">0.3683],</span> <span class="pre">[-0.327604,</span> <span class="pre">0.405408],</span> <span class="pre">[-0.291086,</span> <span class="pre">0.433388],</span> <span class="pre">[-0.248548,</span> <span class="pre">0.451049],</span> <span class="pre">[-0.202142,</span> <span class="pre">0.4572],</span> <span class="pre">[0.202494,</span> <span class="pre">0.4572],</span> <span class="pre">[0.248653,</span> <span class="pre">0.451049],</span> <span class="pre">[0.291042,</span> <span class="pre">0.433388],</span> <span class="pre">[0.327609,</span> <span class="pre">0.405408],</span> <span class="pre">[0.356306,</span> <span class="pre">0.3683],</span> <span class="pre">[0.546806,</span> <span class="pre">0.0381],</span> <span class="pre">[0.574499,</span> <span class="pre">0.010187],</span> <span class="pre">[0.612775,</span> <span class="pre">0],</span> <span class="pre">[0.612775,</span> <span class="pre">-0.5]],</span> <span class="pre">'AT5':</span> <span class="pre">[[-2.134129,</span> <span class="pre">-0.75],</span> <span class="pre">[-2.134129,</span> <span class="pre">0],</span> <span class="pre">[-2.058023,</span> <span class="pre">0.005488],</span> <span class="pre">[-1.984595,</span> <span class="pre">0.021547],</span> <span class="pre">[-1.914806,</span> <span class="pre">0.047569],</span> <span class="pre">[-1.849614,</span> <span class="pre">0.082947],</span> <span class="pre">[-1.789978,</span> <span class="pre">0.127073],</span> <span class="pre">[-1.736857,</span> <span class="pre">0.179338],</span> <span class="pre">[-1.691211,</span> <span class="pre">0.239136],</span> <span class="pre">[-1.653999,</span> <span class="pre">0.305859],</span> <span class="pre">[-1.349199,</span> <span class="pre">0.959203],</span> <span class="pre">[-1.286933,</span> <span class="pre">1.054635],</span> <span class="pre">[-1.201914,</span> <span class="pre">1.127346],</span> <span class="pre">[-1.099961,</span> <span class="pre">1.173664],</span> <span class="pre">[-0.986896,</span> <span class="pre">1.18992],</span> <span class="pre">[0.986543,</span> <span class="pre">1.18992],</span> <span class="pre">[1.099614,</span> <span class="pre">1.173664],</span> <span class="pre">[1.201605,</span> <span class="pre">1.127346],</span> <span class="pre">[1.286729,</span> <span class="pre">1.054635],</span> <span class="pre">[1.349199,</span> <span class="pre">0.959203],</span> <span class="pre">[1.653646,</span> <span class="pre">0.305859],</span> <span class="pre">[1.690859,</span> <span class="pre">0.239136],</span> <span class="pre">[1.73651,</span> <span class="pre">0.179338],</span> <span class="pre">[1.789644,</span> <span class="pre">0.127073],</span> <span class="pre">[1.849305,</span> <span class="pre">0.082947],</span> <span class="pre">[1.914539,</span> <span class="pre">0.047569],</span> <span class="pre">[1.984392,</span> <span class="pre">0.021547],</span> <span class="pre">[2.057906,</span> <span class="pre">0.005488],</span> <span class="pre">[2.134129,</span> <span class="pre">0],</span> <span class="pre">[2.134129,</span> <span class="pre">-0.75]],</span> <span class="pre">'GT2_2mm':</span> <span class="pre">[[-0.747183,</span> <span class="pre">-0.5],</span> <span class="pre">[-0.747183,</span> <span class="pre">0],</span> <span class="pre">[-0.647876,</span> <span class="pre">0.037218],</span> <span class="pre">[-0.598311,</span> <span class="pre">0.130528],</span> <span class="pre">[-0.578556,</span> <span class="pre">0.238423],</span> <span class="pre">[-0.547158,</span> <span class="pre">0.343077],</span> <span class="pre">[-0.504649,</span> <span class="pre">0.443762],</span> <span class="pre">[-0.451556,</span> <span class="pre">0.53975],</span> <span class="pre">[-0.358229,</span> <span class="pre">0.636924],</span> <span class="pre">[-0.2484,</span> <span class="pre">0.707276],</span> <span class="pre">[-0.127259,</span> <span class="pre">0.750044],</span> <span class="pre">[0,</span> <span class="pre">0.76447],</span> <span class="pre">[0.127259,</span> <span class="pre">0.750044],</span> <span class="pre">[0.2484,</span> <span class="pre">0.707276],</span> <span class="pre">[0.358229,</span> <span class="pre">0.636924],</span> <span class="pre">[0.451556,</span> <span class="pre">0.53975],</span> <span class="pre">[0.504797,</span> <span class="pre">0.443762],</span> <span class="pre">[0.547291,</span> <span class="pre">0.343077],</span> <span class="pre">[0.578605,</span> <span class="pre">0.238423],</span> <span class="pre">[0.598311,</span> <span class="pre">0.130528],</span> <span class="pre">[0.648009,</span> <span class="pre">0.037218],</span> <span class="pre">[0.747183,</span> <span class="pre">0],</span> <span class="pre">[0.747183,</span> <span class="pre">-0.5]],</span> <span class="pre">'GT2_3mm':</span> <span class="pre">[[-1.155171,</span> <span class="pre">-0.5],</span> <span class="pre">[-1.155171,</span> <span class="pre">0],</span> <span class="pre">[-1.065317,</span> <span class="pre">0.016448],</span> <span class="pre">[-0.989057,</span> <span class="pre">0.062001],</span> <span class="pre">[-0.93297,</span> <span class="pre">0.130969],</span> <span class="pre">[-0.90364,</span> <span class="pre">0.217664],</span> <span class="pre">[-0.863705,</span> <span class="pre">0.408181],</span> <span class="pre">[-0.800056,</span> <span class="pre">0.591388],</span> <span class="pre">[-0.713587,</span> <span class="pre">0.765004],</span> <span class="pre">[-0.60519,</span> <span class="pre">0.926747],</span> <span class="pre">[-0.469751,</span> <span class="pre">1.032548],</span> <span class="pre">[-0.320719,</span> <span class="pre">1.108119],</span> <span class="pre">[-0.162625,</span> <span class="pre">1.153462],</span> <span class="pre">[0,</span> <span class="pre">1.168577],</span> <span class="pre">[0.162625,</span> <span class="pre">1.153462],</span> <span class="pre">[0.320719,</span> <span class="pre">1.108119],</span> <span class="pre">[0.469751,</span> <span class="pre">1.032548],</span> <span class="pre">[0.60519,</span> <span class="pre">0.926747],</span> <span class="pre">[0.713587,</span> <span class="pre">0.765004],</span> <span class="pre">[0.800056,</span> <span class="pre">0.591388],</span> <span class="pre">[0.863705,</span> <span class="pre">0.408181],</span> <span class="pre">[0.90364,</span> <span class="pre">0.217664],</span> <span class="pre">[0.932921,</span> <span class="pre">0.130969],</span> <span class="pre">[0.988924,</span> <span class="pre">0.062001],</span> <span class="pre">[1.065168,</span> <span class="pre">0.016448],</span> <span class="pre">[1.155171,</span> <span class="pre">0],</span> <span class="pre">[1.155171,</span> <span class="pre">-0.5]],</span> <span class="pre">'GT2_5mm':</span> <span class="pre">[[-1.975908,</span> <span class="pre">-0.75],</span> <span class="pre">[-1.975908,</span> <span class="pre">0],</span> <span class="pre">[-1.797959,</span> <span class="pre">0.03212],</span> <span class="pre">[-1.646634,</span> <span class="pre">0.121224],</span> <span class="pre">[-1.534534,</span> <span class="pre">0.256431],</span> <span class="pre">[-1.474258,</span> <span class="pre">0.426861],</span> <span class="pre">[-1.446911,</span> <span class="pre">0.570808],</span> <span class="pre">[-1.411774,</span> <span class="pre">0.712722],</span> <span class="pre">[-1.368964,</span> <span class="pre">0.852287],</span> <span class="pre">[-1.318597,</span> <span class="pre">0.989189],</span> <span class="pre">[-1.260788,</span> <span class="pre">1.123115],</span> <span class="pre">[-1.195654,</span> <span class="pre">1.25375],</span> <span class="pre">[-1.12331,</span> <span class="pre">1.380781],</span> <span class="pre">[-1.043869,</span> <span class="pre">1.503892],</span> <span class="pre">[-0.935264,</span> <span class="pre">1.612278],</span> <span class="pre">[-0.817959,</span> <span class="pre">1.706414],</span> <span class="pre">[-0.693181,</span> <span class="pre">1.786237],</span> <span class="pre">[-0.562151,</span> <span class="pre">1.851687],</span> <span class="pre">[-0.426095,</span> <span class="pre">1.9027],</span> <span class="pre">[-0.286235,</span> <span class="pre">1.939214],</span> <span class="pre">[-0.143795,</span> <span class="pre">1.961168],</span> <span class="pre">[0,</span> <span class="pre">1.9685],</span> <span class="pre">[0.143796,</span> <span class="pre">1.961168],</span> <span class="pre">[0.286235,</span> <span class="pre">1.939214],</span> <span class="pre">[0.426095,</span> <span class="pre">1.9027],</span> <span class="pre">[0.562151,</span> <span class="pre">1.851687],</span> <span class="pre">[0.693181,</span> <span class="pre">1.786237],</span> <span class="pre">[0.817959,</span> <span class="pre">1.706414],</span> <span class="pre">[0.935263,</span> <span class="pre">1.612278],</span> <span class="pre">[1.043869,</span> <span class="pre">1.503892],</span> <span class="pre">[1.123207,</span> <span class="pre">1.380781],</span> <span class="pre">[1.195509,</span> <span class="pre">1.25375],</span> <span class="pre">[1.26065,</span> <span class="pre">1.123115],</span> <span class="pre">[1.318507,</span> <span class="pre">0.989189],</span> <span class="pre">[1.368956,</span> <span class="pre">0.852287],</span> <span class="pre">[1.411872,</span> <span class="pre">0.712722],</span> <span class="pre">[1.447132,</span> <span class="pre">0.570808],</span> <span class="pre">[1.474611,</span> <span class="pre">0.426861],</span> <span class="pre">[1.534583,</span> <span class="pre">0.256431],</span> <span class="pre">[1.646678,</span> <span class="pre">0.121223],</span> <span class="pre">[1.798064,</span> <span class="pre">0.03212],</span> <span class="pre">[1.975908,</span> <span class="pre">0],</span> <span class="pre">[1.975908,</span> <span class="pre">-0.75]],</span> <span class="pre">'H':</span> <span class="pre">[[-2.6797,</span> <span class="pre">-1],</span> <span class="pre">[-2.6797,</span> <span class="pre">0],</span> <span class="pre">[-2.600907,</span> <span class="pre">0.006138],</span> <span class="pre">[-2.525342,</span> <span class="pre">0.024024],</span> <span class="pre">[-2.45412,</span> <span class="pre">0.052881],</span> <span class="pre">[-2.388351,</span> <span class="pre">0.091909],</span> <span class="pre">[-2.329145,</span> <span class="pre">0.140328],</span> <span class="pre">[-2.277614,</span> <span class="pre">0.197358],</span> <span class="pre">[-2.234875,</span> <span class="pre">0.262205],</span> <span class="pre">[-2.202032,</span> <span class="pre">0.334091],</span> <span class="pre">[-1.75224,</span> <span class="pre">1.57093],</span> <span class="pre">[-1.719538,</span> <span class="pre">1.642815],</span> <span class="pre">[-1.676883,</span> <span class="pre">1.707663],</span> <span class="pre">[-1.62542,</span> <span class="pre">1.764693],</span> <span class="pre">[-1.566256,</span> <span class="pre">1.813112],</span> <span class="pre">[-1.500512,</span> <span class="pre">1.85214],</span> <span class="pre">[-1.4293,</span> <span class="pre">1.880997],</span> <span class="pre">[-1.353742,</span> <span class="pre">1.898883],</span> <span class="pre">[-1.274949,</span> <span class="pre">1.905021],</span> <span class="pre">[1.275281,</span> <span class="pre">1.905021],</span> <span class="pre">[1.354056,</span> <span class="pre">1.898883],</span> <span class="pre">[1.429576,</span> <span class="pre">1.880997],</span> <span class="pre">[1.500731,</span> <span class="pre">1.85214],</span> <span class="pre">[1.566411,</span> <span class="pre">1.813112],</span> <span class="pre">[1.625508,</span> <span class="pre">1.764693],</span> <span class="pre">[1.676919,</span> <span class="pre">1.707663],</span> <span class="pre">[1.719531,</span> <span class="pre">1.642815],</span> <span class="pre">[1.752233,</span> <span class="pre">1.57093],</span> <span class="pre">[2.20273,</span> <span class="pre">0.334091],</span> <span class="pre">[2.235433,</span> <span class="pre">0.262205],</span> <span class="pre">[2.278045,</span> <span class="pre">0.197358],</span> <span class="pre">[2.329455,</span> <span class="pre">0.140328],</span> <span class="pre">[2.388553,</span> <span class="pre">0.091909],</span> <span class="pre">[2.454233,</span> <span class="pre">0.052881],</span> <span class="pre">[2.525384,</span> <span class="pre">0.024024],</span> <span class="pre">[2.600904,</span> <span class="pre">0.006138],</span> <span class="pre">[2.6797,</span> <span class="pre">0],</span> <span class="pre">[2.6797,</span> <span class="pre">-1]],</span> <span class="pre">'HTD_3mm':</span> <span class="pre">[[-1.135062,</span> <span class="pre">-0.5],</span> <span class="pre">[-1.135062,</span> <span class="pre">0],</span> <span class="pre">[-1.048323,</span> <span class="pre">0.015484],</span> <span class="pre">[-0.974284,</span> <span class="pre">0.058517],</span> <span class="pre">[-0.919162,</span> <span class="pre">0.123974],</span> <span class="pre">[-0.889176,</span> <span class="pre">0.206728],</span> <span class="pre">[-0.81721,</span> <span class="pre">0.579614],</span> <span class="pre">[-0.800806,</span> <span class="pre">0.653232],</span> <span class="pre">[-0.778384,</span> <span class="pre">0.72416],</span> <span class="pre">[-0.750244,</span> <span class="pre">0.792137],</span> <span class="pre">[-0.716685,</span> <span class="pre">0.856903],</span> <span class="pre">[-0.678005,</span> <span class="pre">0.918199],</span> <span class="pre">[-0.634505,</span> <span class="pre">0.975764],</span> <span class="pre">[-0.586483,</span> <span class="pre">1.029338],</span> <span class="pre">[-0.534238,</span> <span class="pre">1.078662],</span> <span class="pre">[-0.47807,</span> <span class="pre">1.123476],</span> <span class="pre">[-0.418278,</span> <span class="pre">1.16352],</span> <span class="pre">[-0.355162,</span> <span class="pre">1.198533],</span> <span class="pre">[-0.289019,</span> <span class="pre">1.228257],</span> <span class="pre">[-0.22015,</span> <span class="pre">1.25243],</span> <span class="pre">[-0.148854,</span> <span class="pre">1.270793],</span> <span class="pre">[-0.07543,</span> <span class="pre">1.283087],</span> <span class="pre">[-0.000176,</span> <span class="pre">1.28905],</span> <span class="pre">[0.075081,</span> <span class="pre">1.283145],</span> <span class="pre">[0.148515,</span> <span class="pre">1.270895],</span> <span class="pre">[0.219827,</span> <span class="pre">1.252561],</span> <span class="pre">[0.288716,</span> <span class="pre">1.228406],</span> <span class="pre">[0.354879,</span> <span class="pre">1.19869],</span> <span class="pre">[0.418018,</span> <span class="pre">1.163675],</span> <span class="pre">[0.477831,</span> <span class="pre">1.123623],</span> <span class="pre">[0.534017,</span> <span class="pre">1.078795],</span> <span class="pre">[0.586276,</span> <span class="pre">1.029452],</span> <span class="pre">[0.634307,</span> <span class="pre">0.975857],</span> <span class="pre">[0.677809,</span> <span class="pre">0.91827],</span> <span class="pre">[0.716481,</span> <span class="pre">0.856953],</span> <span class="pre">[0.750022,</span> <span class="pre">0.792167],</span> <span class="pre">[0.778133,</span> <span class="pre">0.724174],</span> <span class="pre">[0.800511,</span> <span class="pre">0.653236],</span> <span class="pre">[0.816857,</span> <span class="pre">0.579614],</span> <span class="pre">[0.888471,</span> <span class="pre">0.206728],</span> <span class="pre">[0.919014,</span> <span class="pre">0.123974],</span> <span class="pre">[0.974328,</span> <span class="pre">0.058517],</span> <span class="pre">[1.048362,</span> <span class="pre">0.015484],</span> <span class="pre">[1.135062,</span> <span class="pre">0],</span> <span class="pre">[1.135062,</span> <span class="pre">-0.5]],</span> <span class="pre">'HTD_5mm':</span> <span class="pre">[[-1.89036,</span> <span class="pre">-0.75],</span> <span class="pre">[-1.89036,</span> <span class="pre">0],</span> <span class="pre">[-1.741168,</span> <span class="pre">0.02669],</span> <span class="pre">[-1.61387,</span> <span class="pre">0.100806],</span> <span class="pre">[-1.518984,</span> <span class="pre">0.21342],</span> <span class="pre">[-1.467026,</span> <span class="pre">0.3556],</span> <span class="pre">[-1.427162,</span> <span class="pre">0.960967],</span> <span class="pre">[-1.398568,</span> <span class="pre">1.089602],</span> <span class="pre">[-1.359437,</span> <span class="pre">1.213531],</span> <span class="pre">[-1.310296,</span> <span class="pre">1.332296],</span> <span class="pre">[-1.251672,</span> <span class="pre">1.445441],</span> <span class="pre">[-1.184092,</span> <span class="pre">1.552509],</span> <span class="pre">[-1.108081,</span> <span class="pre">1.653042],</span> <span class="pre">[-1.024167,</span> <span class="pre">1.746585],</span> <span class="pre">[-0.932877,</span> <span class="pre">1.832681],</span> <span class="pre">[-0.834736,</span> <span class="pre">1.910872],</span> <span class="pre">[-0.730271,</span> <span class="pre">1.980701],</span> <span class="pre">[-0.62001,</span> <span class="pre">2.041713],</span> <span class="pre">[-0.504478,</span> <span class="pre">2.09345],</span> <span class="pre">[-0.384202,</span> <span class="pre">2.135455],</span> <span class="pre">[-0.259708,</span> <span class="pre">2.167271],</span> <span class="pre">[-0.131524,</span> <span class="pre">2.188443],</span> <span class="pre">[-0.000176,</span> <span class="pre">2.198511],</span> <span class="pre">[0.131296,</span> <span class="pre">2.188504],</span> <span class="pre">[0.259588,</span> <span class="pre">2.167387],</span> <span class="pre">[0.384174,</span> <span class="pre">2.135616],</span> <span class="pre">[0.504527,</span> <span class="pre">2.093648],</span> <span class="pre">[0.620123,</span> <span class="pre">2.04194],</span> <span class="pre">[0.730433,</span> <span class="pre">1.980949],</span> <span class="pre">[0.834934,</span> <span class="pre">1.911132],</span> <span class="pre">[0.933097,</span> <span class="pre">1.832945],</span> <span class="pre">[1.024398,</span> <span class="pre">1.746846],</span> <span class="pre">[1.108311,</span> <span class="pre">1.653291],</span> <span class="pre">[1.184308,</span> <span class="pre">1.552736],</span> <span class="pre">[1.251865,</span> <span class="pre">1.445639],</span> <span class="pre">[1.310455,</span> <span class="pre">1.332457],</span> <span class="pre">[1.359552,</span> <span class="pre">1.213647],</span> <span class="pre">[1.39863,</span> <span class="pre">1.089664],</span> <span class="pre">[1.427162,</span> <span class="pre">0.960967],</span> <span class="pre">[1.467026,</span> <span class="pre">0.3556],</span> <span class="pre">[1.518984,</span> <span class="pre">0.21342],</span> <span class="pre">[1.61387,</span> <span class="pre">0.100806],</span> <span class="pre">[1.741168,</span> <span class="pre">0.02669],</span> <span class="pre">[1.89036,</span> <span class="pre">0],</span> <span class="pre">[1.89036,</span> <span class="pre">-0.75]],</span> <span class="pre">'HTD_8mm':</span> <span class="pre">[[-3.301471,</span> <span class="pre">-1],</span> <span class="pre">[-3.301471,</span> <span class="pre">0],</span> <span class="pre">[-3.16611,</span> <span class="pre">0.012093],</span> <span class="pre">[-3.038062,</span> <span class="pre">0.047068],</span> <span class="pre">[-2.919646,</span> <span class="pre">0.10297],</span> <span class="pre">[-2.813182,</span> <span class="pre">0.177844],</span> <span class="pre">[-2.720989,</span> <span class="pre">0.269734],</span> <span class="pre">[-2.645387,</span> <span class="pre">0.376684],</span> <span class="pre">[-2.588694,</span> <span class="pre">0.496739],</span> <span class="pre">[-2.553229,</span> <span class="pre">0.627944],</span> <span class="pre">[-2.460801,</span> <span class="pre">1.470025],</span> <span class="pre">[-2.411413,</span> <span class="pre">1.691917],</span> <span class="pre">[-2.343887,</span> <span class="pre">1.905691],</span> <span class="pre">[-2.259126,</span> <span class="pre">2.110563],</span> <span class="pre">[-2.158035,</span> <span class="pre">2.30575],</span> <span class="pre">[-2.041518,</span> <span class="pre">2.490467],</span> <span class="pre">[-1.910478,</span> <span class="pre">2.66393],</span> <span class="pre">[-1.76582,</span> <span class="pre">2.825356],</span> <span class="pre">[-1.608446,</span> <span class="pre">2.973961],</span> <span class="pre">[-1.439261,</span> <span class="pre">3.10896],</span> <span class="pre">[-1.259169,</span> <span class="pre">3.22957],</span> <span class="pre">[-1.069074,</span> <span class="pre">3.335006],</span> <span class="pre">[-0.869878,</span> <span class="pre">3.424485],</span> <span class="pre">[-0.662487,</span> <span class="pre">3.497224],</span> <span class="pre">[-0.447804,</span> <span class="pre">3.552437],</span> <span class="pre">[-0.226732,</span> <span class="pre">3.589341],</span> <span class="pre">[-0.000176,</span> <span class="pre">3.607153],</span> <span class="pre">[0.226511,</span> <span class="pre">3.589461],</span> <span class="pre">[0.447712,</span> <span class="pre">3.552654],</span> <span class="pre">[0.66252,</span> <span class="pre">3.497516],</span> <span class="pre">[0.870027,</span> <span class="pre">3.424833],</span> <span class="pre">[1.069329,</span> <span class="pre">3.33539],</span> <span class="pre">[1.259517,</span> <span class="pre">3.229973],</span> <span class="pre">[1.439687,</span> <span class="pre">3.109367],</span> <span class="pre">[1.608931,</span> <span class="pre">2.974358],</span> <span class="pre">[1.766344,</span> <span class="pre">2.825731],</span> <span class="pre">[1.911018,</span> <span class="pre">2.664271],</span> <span class="pre">[2.042047,</span> <span class="pre">2.490765],</span> <span class="pre">[2.158526,</span> <span class="pre">2.305998],</span> <span class="pre">[2.259547,</span> <span class="pre">2.110755],</span> <span class="pre">[2.344204,</span> <span class="pre">1.905821],</span> <span class="pre">[2.411591,</span> <span class="pre">1.691983],</span> <span class="pre">[2.460801,</span> <span class="pre">1.470025],</span> <span class="pre">[2.553229,</span> <span class="pre">0.627944],</span> <span class="pre">[2.588592,</span> <span class="pre">0.496739],</span> <span class="pre">[2.645238,</span> <span class="pre">0.376684],</span> <span class="pre">[2.720834,</span> <span class="pre">0.269734],</span> <span class="pre">[2.81305,</span> <span class="pre">0.177844],</span> <span class="pre">[2.919553,</span> <span class="pre">0.10297],</span> <span class="pre">[3.038012,</span> <span class="pre">0.047068],</span> <span class="pre">[3.166095,</span> <span class="pre">0.012093],</span> <span class="pre">[3.301471,</span> <span class="pre">0],</span> <span class="pre">[3.301471,</span> <span class="pre">-1]],</span> <span class="pre">'MXL':</span> <span class="pre">[[-0.660421,</span> <span class="pre">-0.5],</span> <span class="pre">[-0.660421,</span> <span class="pre">0],</span> <span class="pre">[-0.621898,</span> <span class="pre">0.006033],</span> <span class="pre">[-0.587714,</span> <span class="pre">0.023037],</span> <span class="pre">[-0.560056,</span> <span class="pre">0.049424],</span> <span class="pre">[-0.541182,</span> <span class="pre">0.083609],</span> <span class="pre">[-0.417357,</span> <span class="pre">0.424392],</span> <span class="pre">[-0.398413,</span> <span class="pre">0.458752],</span> <span class="pre">[-0.370649,</span> <span class="pre">0.48514],</span> <span class="pre">[-0.336324,</span> <span class="pre">0.502074],</span> <span class="pre">[-0.297744,</span> <span class="pre">0.508035],</span> <span class="pre">[0.297744,</span> <span class="pre">0.508035],</span> <span class="pre">[0.336268,</span> <span class="pre">0.502074],</span> <span class="pre">[0.370452,</span> <span class="pre">0.48514],</span> <span class="pre">[0.39811,</span> <span class="pre">0.458752],</span> <span class="pre">[0.416983,</span> <span class="pre">0.424392],</span> <span class="pre">[0.540808,</span> <span class="pre">0.083609],</span> <span class="pre">[0.559752,</span> <span class="pre">0.049424],</span> <span class="pre">[0.587516,</span> <span class="pre">0.023037],</span> <span class="pre">[0.621841,</span> <span class="pre">0.006033],</span> <span class="pre">[0.660421,</span> <span class="pre">0],</span> <span class="pre">[0.660421,</span> <span class="pre">-0.5]],</span> <span class="pre">'T10':</span> <span class="pre">[[-3.06511,</span> <span class="pre">-1],</span> <span class="pre">[-3.06511,</span> <span class="pre">0],</span> <span class="pre">[-2.971998,</span> <span class="pre">0.007239],</span> <span class="pre">[-2.882718,</span> <span class="pre">0.028344],</span> <span class="pre">[-2.79859,</span> <span class="pre">0.062396],</span> <span class="pre">[-2.720931,</span> <span class="pre">0.108479],</span> <span class="pre">[-2.651061,</span> <span class="pre">0.165675],</span> <span class="pre">[-2.590298,</span> <span class="pre">0.233065],</span> <span class="pre">[-2.539962,</span> <span class="pre">0.309732],</span> <span class="pre">[-2.501371,</span> <span class="pre">0.394759],</span> <span class="pre">[-1.879071,</span> <span class="pre">2.105025],</span> <span class="pre">[-1.840363,</span> <span class="pre">2.190052],</span> <span class="pre">[-1.789939,</span> <span class="pre">2.266719],</span> <span class="pre">[-1.729114,</span> <span class="pre">2.334109],</span> <span class="pre">[-1.659202,</span> <span class="pre">2.391304],</span> <span class="pre">[-1.581518,</span> <span class="pre">2.437387],</span> <span class="pre">[-1.497376,</span> <span class="pre">2.47144],</span> <span class="pre">[-1.408092,</span> <span class="pre">2.492545],</span> <span class="pre">[-1.314979,</span> <span class="pre">2.499784],</span> <span class="pre">[1.314979,</span> <span class="pre">2.499784],</span> <span class="pre">[1.408091,</span> <span class="pre">2.492545],</span> <span class="pre">[1.497371,</span> <span class="pre">2.47144],</span> <span class="pre">[1.581499,</span> <span class="pre">2.437387],</span> <span class="pre">[1.659158,</span> <span class="pre">2.391304],</span> <span class="pre">[1.729028,</span> <span class="pre">2.334109],</span> <span class="pre">[1.789791,</span> <span class="pre">2.266719],</span> <span class="pre">[1.840127,</span> <span class="pre">2.190052],</span> <span class="pre">[1.878718,</span> <span class="pre">2.105025],</span> <span class="pre">[2.501018,</span> <span class="pre">0.394759],</span> <span class="pre">[2.539726,</span> <span class="pre">0.309732],</span> <span class="pre">[2.59015,</span> <span class="pre">0.233065],</span> <span class="pre">[2.650975,</span> <span class="pre">0.165675],</span> <span class="pre">[2.720887,</span> <span class="pre">0.108479],</span> <span class="pre">[2.798571,</span> <span class="pre">0.062396],</span> <span class="pre">[2.882713,</span> <span class="pre">0.028344],</span> <span class="pre">[2.971997,</span> <span class="pre">0.007239],</span> <span class="pre">[3.06511,</span> <span class="pre">0],</span> <span class="pre">[3.06511,</span> <span class="pre">-1]],</span> <span class="pre">'T2_5':</span> <span class="pre">[[-0.839258,</span> <span class="pre">-0.5],</span> <span class="pre">[-0.839258,</span> <span class="pre">0],</span> <span class="pre">[-0.770246,</span> <span class="pre">0.021652],</span> <span class="pre">[-0.726369,</span> <span class="pre">0.079022],</span> <span class="pre">[-0.529167,</span> <span class="pre">0.620889],</span> <span class="pre">[-0.485025,</span> <span class="pre">0.67826],</span> <span class="pre">[-0.416278,</span> <span class="pre">0.699911],</span> <span class="pre">[0.416278,</span> <span class="pre">0.699911],</span> <span class="pre">[0.484849,</span> <span class="pre">0.67826],</span> <span class="pre">[0.528814,</span> <span class="pre">0.620889],</span> <span class="pre">[0.726369,</span> <span class="pre">0.079022],</span> <span class="pre">[0.770114,</span> <span class="pre">0.021652],</span> <span class="pre">[0.839258,</span> <span class="pre">0],</span> <span class="pre">[0.839258,</span> <span class="pre">-0.5]],</span> <span class="pre">'T5':</span> <span class="pre">[[-1.632126,</span> <span class="pre">-0.5],</span> <span class="pre">[-1.632126,</span> <span class="pre">0],</span> <span class="pre">[-1.568549,</span> <span class="pre">0.004939],</span> <span class="pre">[-1.507539,</span> <span class="pre">0.019367],</span> <span class="pre">[-1.450023,</span> <span class="pre">0.042686],</span> <span class="pre">[-1.396912,</span> <span class="pre">0.074224],</span> <span class="pre">[-1.349125,</span> <span class="pre">0.113379],</span> <span class="pre">[-1.307581,</span> <span class="pre">0.159508],</span> <span class="pre">[-1.273186,</span> <span class="pre">0.211991],</span> <span class="pre">[-1.246868,</span> <span class="pre">0.270192],</span> <span class="pre">[-1.009802,</span> <span class="pre">0.920362],</span> <span class="pre">[-0.983414,</span> <span class="pre">0.978433],</span> <span class="pre">[-0.949018,</span> <span class="pre">1.030788],</span> <span class="pre">[-0.907524,</span> <span class="pre">1.076798],</span> <span class="pre">[-0.859829,</span> <span class="pre">1.115847],</span> <span class="pre">[-0.80682,</span> <span class="pre">1.147314],</span> <span class="pre">[-0.749402,</span> <span class="pre">1.170562],</span> <span class="pre">[-0.688471,</span> <span class="pre">1.184956],</span> <span class="pre">[-0.624921,</span> <span class="pre">1.189895],</span> <span class="pre">[0.624971,</span> <span class="pre">1.189895],</span> <span class="pre">[0.688622,</span> <span class="pre">1.184956],</span> <span class="pre">[0.749607,</span> <span class="pre">1.170562],</span> <span class="pre">[0.807043,</span> <span class="pre">1.147314],</span> <span class="pre">[0.860055,</span> <span class="pre">1.115847],</span> <span class="pre">[0.907754,</span> <span class="pre">1.076798],</span> <span class="pre">[0.949269,</span> <span class="pre">1.030788],</span> <span class="pre">[0.9837,</span> <span class="pre">0.978433],</span> <span class="pre">[1.010193,</span> <span class="pre">0.920362],</span> <span class="pre">[1.246907,</span> <span class="pre">0.270192],</span> <span class="pre">[1.273295,</span> <span class="pre">0.211991],</span> <span class="pre">[1.307726,</span> <span class="pre">0.159508],</span> <span class="pre">[1.349276,</span> <span class="pre">0.113379],</span> <span class="pre">[1.397039,</span> <span class="pre">0.074224],</span> <span class="pre">[1.450111,</span> <span class="pre">0.042686],</span> <span class="pre">[1.507589,</span> <span class="pre">0.019367],</span> <span class="pre">[1.568563,</span> <span class="pre">0.004939],</span> <span class="pre">[1.632126,</span> <span class="pre">0],</span> <span class="pre">[1.632126,</span> <span class="pre">-0.5]],</span> <span class="pre">'XL':</span> <span class="pre">[[-1.525411,</span> <span class="pre">-1],</span> <span class="pre">[-1.525411,</span> <span class="pre">0],</span> <span class="pre">[-1.41777,</span> <span class="pre">0.015495],</span> <span class="pre">[-1.320712,</span> <span class="pre">0.059664],</span> <span class="pre">[-1.239661,</span> <span class="pre">0.129034],</span> <span class="pre">[-1.180042,</span> <span class="pre">0.220133],</span> <span class="pre">[-0.793044,</span> <span class="pre">1.050219],</span> <span class="pre">[-0.733574,</span> <span class="pre">1.141021],</span> <span class="pre">[-0.652507,</span> <span class="pre">1.210425],</span> <span class="pre">[-0.555366,</span> <span class="pre">1.254759],</span> <span class="pre">[-0.447675,</span> <span class="pre">1.270353],</span> <span class="pre">[0.447675,</span> <span class="pre">1.270353],</span> <span class="pre">[0.555366,</span> <span class="pre">1.254759],</span> <span class="pre">[0.652507,</span> <span class="pre">1.210425],</span> <span class="pre">[0.733574,</span> <span class="pre">1.141021],</span> <span class="pre">[0.793044,</span> <span class="pre">1.050219],</span> <span class="pre">[1.180042,</span> <span class="pre">0.220133],</span> <span class="pre">[1.239711,</span> <span class="pre">0.129034],</span> <span class="pre">[1.320844,</span> <span class="pre">0.059664],</span> <span class="pre">[1.417919,</span> <span class="pre">0.015495],</span> <span class="pre">[1.525411,</span> <span class="pre">0],</span> <span class="pre">[1.525411,</span> <span class="pre">-1]]}</span></em><a class="headerlink" href="#boxes.pulley.Pulley.teeth" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.pulley.mirrorx">
<span class="sig-prename descclassname"><span class="pre">boxes.pulley.</span></span><span class="sig-name descname"><span class="pre">mirrorx</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">points</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/pulley.html#mirrorx"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.pulley.mirrorx" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.pulley.tooth_spaceing_curvefit">
<span class="sig-prename descclassname"><span class="pre">boxes.pulley.</span></span><span class="sig-name descname"><span class="pre">tooth_spaceing_curvefit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">teeth</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">b</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">d</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/pulley.html#tooth_spaceing_curvefit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.pulley.tooth_spaceing_curvefit" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.pulley.tooth_spacing">
<span class="sig-prename descclassname"><span class="pre">boxes.pulley.</span></span><span class="sig-name descname"><span class="pre">tooth_spacing</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">teeth</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tooth_pitch</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pitch_line_offset</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/pulley.html#tooth_spacing"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.pulley.tooth_spacing" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</section>
<section id="module-boxes.robot">
<span id="boxes-robot-module"></span><h2>boxes.robot module<a class="headerlink" href="#module-boxes.robot" title="Permalink to this heading"></a></h2>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.robot.RobotArg">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.robot.</span></span><span class="sig-name descname"><span class="pre">RobotArg</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">includenone</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/robot.html#RobotArg"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.robot.RobotArg" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.robot.RobotArg.choices">
<span class="sig-name descname"><span class="pre">choices</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/robot.html#RobotArg.choices"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.robot.RobotArg.choices" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.robot.RobotArg.html">
<span class="sig-name descname"><span class="pre">html</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">default</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">translate</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/robot.html#RobotArg.html"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.robot.RobotArg.html" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.robot.RobotArmMM">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.robot.</span></span><span class="sig-name descname"><span class="pre">RobotArmMM</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">servo</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">servo2</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/robot.html#RobotArmMM"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.robot.RobotArmMM" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">_RobotArm</span></code></p>
<p>Robot arm segment with two parallel servos</p>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.robot.RobotArmMm">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.robot.</span></span><span class="sig-name descname"><span class="pre">RobotArmMm</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">servo</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">servo2</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/robot.html#RobotArmMm"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.robot.RobotArmMm" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">_RobotArm</span></code></p>
<p>Robot arm segment with two orthogonal servos</p>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.robot.RobotArmMu">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.robot.</span></span><span class="sig-name descname"><span class="pre">RobotArmMu</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">servo</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">servo2</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/robot.html#RobotArmMu"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.robot.RobotArmMu" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">_RobotArm</span></code></p>
<p>Robot arm segment with a servo and an orthogonal sets of hinge knuckles</p>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.robot.RobotArmUU">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.robot.</span></span><span class="sig-name descname"><span class="pre">RobotArmUU</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">servo</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">servo2</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/robot.html#RobotArmUU"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.robot.RobotArmUU" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">_RobotArm</span></code></p>
<p>Robot arm segment with two parallel sets of hinge knuckles</p>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.robot.RobotArmUu">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.robot.</span></span><span class="sig-name descname"><span class="pre">RobotArmUu</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">servo</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">servo2</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/robot.html#RobotArmUu"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.robot.RobotArmUu" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">_RobotArm</span></code></p>
<p>Robot arm segment with two orthogonal sets of hinge knuckles</p>
</dd></dl>
</section>
<section id="module-boxes.servos">
<span id="boxes-servos-module"></span><h2>boxes.servos module<a class="headerlink" href="#module-boxes.servos" title="Permalink to this heading"></a></h2>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.servos.EyeEdge">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.servos.</span></span><span class="sig-name descname"><span class="pre">EyeEdge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">servo</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fingerHoles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">driven</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">outset</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/servos.html#EyeEdge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.servos.EyeEdge" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.FingerHoleEdge" title="boxes.edges.FingerHoleEdge"><code class="xref py py-class docutils literal notranslate"><span class="pre">FingerHoleEdge</span></code></a></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.servos.EyeEdge.char">
<span class="sig-name descname"><span class="pre">char</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'m'</span></em><a class="headerlink" href="#boxes.servos.EyeEdge.char" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.servos.EyeEdge.margin">
<span class="sig-name descname"><span class="pre">margin</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/servos.html#EyeEdge.margin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.servos.EyeEdge.margin" title="Permalink to this definition"></a></dt>
<dd><p>Space needed right of the starting point</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.servos.EyeEdge.startwidth">
<span class="sig-name descname"><span class="pre">startwidth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/servos.html#EyeEdge.startwidth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.servos.EyeEdge.startwidth" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.servos.Servo">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.servos.</span></span><span class="sig-name descname"><span class="pre">Servo</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">axle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/servos.html#Servo"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.servos.Servo" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.servos.Servo.edges">
<span class="sig-name descname"><span class="pre">edges</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">edges</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/servos.html#Servo.edges"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.servos.Servo.edges" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.servos.Servo9g">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.servos.</span></span><span class="sig-name descname"><span class="pre">Servo9g</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">axle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/servos.html#Servo9g"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.servos.Servo9g" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.servos.Servo" title="boxes.servos.Servo"><code class="xref py py-class docutils literal notranslate"><span class="pre">Servo</span></code></a></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.servos.Servo9g.axle_pos">
<span class="sig-name descname"><span class="pre">axle_pos</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">6.0</span></em><a class="headerlink" href="#boxes.servos.Servo9g.axle_pos" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.servos.Servo9g.bottom">
<span class="sig-name descname"><span class="pre">bottom</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">90.0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/servos.html#Servo9g.bottom"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.servos.Servo9g.bottom" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.servos.Servo9g.front">
<span class="sig-name descname"><span class="pre">front</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">90.0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/servos.html#Servo9g.front"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.servos.Servo9g.front" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.servos.Servo9g.height">
<span class="sig-name descname"><span class="pre">height</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">22.5</span></em><a class="headerlink" href="#boxes.servos.Servo9g.height" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.servos.Servo9g.hinge_depth">
<span class="sig-name descname"><span class="pre">hinge_depth</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/servos.html#Servo9g.hinge_depth"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.servos.Servo9g.hinge_depth" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.servos.Servo9g.hinge_width">
<span class="sig-name descname"><span class="pre">hinge_width</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/servos.html#Servo9g.hinge_width"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.servos.Servo9g.hinge_width" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.servos.Servo9g.length">
<span class="sig-name descname"><span class="pre">length</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">28.0</span></em><a class="headerlink" href="#boxes.servos.Servo9g.length" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.servos.Servo9g.servo_axle">
<span class="sig-name descname"><span class="pre">servo_axle</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">4.6</span></em><a class="headerlink" href="#boxes.servos.Servo9g.servo_axle" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.servos.Servo9g.top">
<span class="sig-name descname"><span class="pre">top</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">90.0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/servos.html#Servo9g.top"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.servos.Servo9g.top" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.servos.Servo9g.width">
<span class="sig-name descname"><span class="pre">width</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">12.0</span></em><a class="headerlink" href="#boxes.servos.Servo9g.width" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.servos.Servo9gt">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.servos.</span></span><span class="sig-name descname"><span class="pre">Servo9gt</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">axle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/servos.html#Servo9gt"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.servos.Servo9gt" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.servos.Servo9g" title="boxes.servos.Servo9g"><code class="xref py py-class docutils literal notranslate"><span class="pre">Servo9g</span></code></a></p>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.servos.Servo9gt.bottom">
<span class="sig-name descname"><span class="pre">bottom</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">90.0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/servos.html#Servo9gt.bottom"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.servos.Servo9gt.bottom" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.servos.Servo9gt.front">
<span class="sig-name descname"><span class="pre">front</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">90.0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/servos.html#Servo9gt.front"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.servos.Servo9gt.front" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.servos.Servo9gt.height">
<span class="sig-name descname"><span class="pre">height</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">35</span></em><a class="headerlink" href="#boxes.servos.Servo9gt.height" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.servos.Servo9gt.top">
<span class="sig-name descname"><span class="pre">top</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">90.0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/servos.html#Servo9gt.top"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.servos.Servo9gt.top" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.servos.ServoArg">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.servos.</span></span><span class="sig-name descname"><span class="pre">ServoArg</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">includenone</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/servos.html#ServoArg"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.servos.ServoArg" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.servos.ServoArg.choices">
<span class="sig-name descname"><span class="pre">choices</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/servos.html#ServoArg.choices"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.servos.ServoArg.choices" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.servos.ServoArg.html">
<span class="sig-name descname"><span class="pre">html</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">default</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">translate</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/servos.html#ServoArg.html"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.servos.ServoArg.html" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.servos.buildEdges">
<span class="sig-prename descclassname"><span class="pre">boxes.servos.</span></span><span class="sig-name descname"><span class="pre">buildEdges</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">servo</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chars</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'mMnN'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/servos.html#buildEdges"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.servos.buildEdges" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</section>
<section id="module-boxes.svgutil">
<span id="boxes-svgutil-module"></span><h2>boxes.svgutil module<a class="headerlink" href="#module-boxes.svgutil" title="Permalink to this heading"></a></h2>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.svgutil.getSizeInMM">
<span class="sig-prename descclassname"><span class="pre">boxes.svgutil.</span></span><span class="sig-name descname"><span class="pre">getSizeInMM</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tree</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/svgutil.html#getSizeInMM"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.svgutil.getSizeInMM" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.svgutil.getViewBox">
<span class="sig-prename descclassname"><span class="pre">boxes.svgutil.</span></span><span class="sig-name descname"><span class="pre">getViewBox</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tree</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/svgutil.html#getViewBox"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.svgutil.getViewBox" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.svgutil.svgMerge">
<span class="sig-prename descclassname"><span class="pre">boxes.svgutil.</span></span><span class="sig-name descname"><span class="pre">svgMerge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">box</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inkscape</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">output</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/svgutil.html#svgMerge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.svgutil.svgMerge" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.svgutil.ticksPerMM">
<span class="sig-prename descclassname"><span class="pre">boxes.svgutil.</span></span><span class="sig-name descname"><span class="pre">ticksPerMM</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tree</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/svgutil.html#ticksPerMM"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.svgutil.ticksPerMM" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</section>
<section id="module-boxes.vectors">
<span id="boxes-vectors-module"></span><h2>boxes.vectors module<a class="headerlink" href="#module-boxes.vectors" title="Permalink to this heading"></a></h2>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.vectors.circlepoint">
<span class="sig-prename descclassname"><span class="pre">boxes.vectors.</span></span><span class="sig-name descname"><span class="pre">circlepoint</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">r</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">a</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/vectors.html#circlepoint"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.vectors.circlepoint" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.vectors.dotproduct">
<span class="sig-prename descclassname"><span class="pre">boxes.vectors.</span></span><span class="sig-name descname"><span class="pre">dotproduct</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">v1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">v2</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/vectors.html#dotproduct"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.vectors.dotproduct" title="Permalink to this definition"></a></dt>
<dd><p>Dot product</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.vectors.kerf">
<span class="sig-prename descclassname"><span class="pre">boxes.vectors.</span></span><span class="sig-name descname"><span class="pre">kerf</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">points</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">k</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">closed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/vectors.html#kerf"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.vectors.kerf" title="Permalink to this definition"></a></dt>
<dd><p>Outset points by k
Assumes a closed loop of points</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.vectors.mmul">
<span class="sig-prename descclassname"><span class="pre">boxes.vectors.</span></span><span class="sig-name descname"><span class="pre">mmul</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">m0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">m1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/vectors.html#mmul"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.vectors.mmul" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.vectors.normalize">
<span class="sig-prename descclassname"><span class="pre">boxes.vectors.</span></span><span class="sig-name descname"><span class="pre">normalize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">v</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/vectors.html#normalize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.vectors.normalize" title="Permalink to this definition"></a></dt>
<dd><p>set lenght of vector to one</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.vectors.rotm">
<span class="sig-prename descclassname"><span class="pre">boxes.vectors.</span></span><span class="sig-name descname"><span class="pre">rotm</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">angle</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/vectors.html#rotm"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.vectors.rotm" title="Permalink to this definition"></a></dt>
<dd><p>Rotation matrix</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.vectors.tangent">
<span class="sig-prename descclassname"><span class="pre">boxes.vectors.</span></span><span class="sig-name descname"><span class="pre">tangent</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">r</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/vectors.html#tangent"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.vectors.tangent" title="Permalink to this definition"></a></dt>
<dd><p>angle and length of a tangent to a circle at x,y with raduis r</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.vectors.vadd">
<span class="sig-prename descclassname"><span class="pre">boxes.vectors.</span></span><span class="sig-name descname"><span class="pre">vadd</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">v1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">v2</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/vectors.html#vadd"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.vectors.vadd" title="Permalink to this definition"></a></dt>
<dd><p>Sum of two vectors</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.vectors.vclip">
<span class="sig-prename descclassname"><span class="pre">boxes.vectors.</span></span><span class="sig-name descname"><span class="pre">vclip</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">v</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">length</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/vectors.html#vclip"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.vectors.vclip" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.vectors.vdiff">
<span class="sig-prename descclassname"><span class="pre">boxes.vectors.</span></span><span class="sig-name descname"><span class="pre">vdiff</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">p1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">p2</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/vectors.html#vdiff"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.vectors.vdiff" title="Permalink to this definition"></a></dt>
<dd><p>vector from point1 to point2</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.vectors.vlength">
<span class="sig-prename descclassname"><span class="pre">boxes.vectors.</span></span><span class="sig-name descname"><span class="pre">vlength</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">v</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/vectors.html#vlength"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.vectors.vlength" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.vectors.vorthogonal">
<span class="sig-prename descclassname"><span class="pre">boxes.vectors.</span></span><span class="sig-name descname"><span class="pre">vorthogonal</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">v</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/vectors.html#vorthogonal"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.vectors.vorthogonal" title="Permalink to this definition"></a></dt>
<dd><p>orthogonal vector</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.vectors.vscalmul">
<span class="sig-prename descclassname"><span class="pre">boxes.vectors.</span></span><span class="sig-name descname"><span class="pre">vscalmul</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">v</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">a</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/vectors.html#vscalmul"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.vectors.vscalmul" title="Permalink to this definition"></a></dt>
<dd><p>scale vector by a</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.vectors.vtransl">
<span class="sig-prename descclassname"><span class="pre">boxes.vectors.</span></span><span class="sig-name descname"><span class="pre">vtransl</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">v</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">m</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes/vectors.html#vtransl"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.vectors.vtransl" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</section>
<section id="module-boxes">
<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-boxes" title="Permalink to this heading"></a></h2>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.ArgparseEdgeType">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.</span></span><span class="sig-name descname"><span class="pre">ArgparseEdgeType</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">edges</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#ArgparseEdgeType"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.ArgparseEdgeType" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>argparse type to select from a set of edge types</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.ArgparseEdgeType.edges">
<span class="sig-name descname"><span class="pre">edges</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">[]</span></em><a class="headerlink" href="#boxes.ArgparseEdgeType.edges" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.ArgparseEdgeType.html">
<span class="sig-name descname"><span class="pre">html</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">default</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">translate</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#ArgparseEdgeType.html"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.ArgparseEdgeType.html" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.ArgparseEdgeType.inx">
<span class="sig-name descname"><span class="pre">inx</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">viewname</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arg</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#ArgparseEdgeType.inx"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.ArgparseEdgeType.inx" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.ArgparseEdgeType.names">
<span class="sig-name descname"><span class="pre">names</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'C':</span> <span class="pre">'Click</span> <span class="pre">on</span> <span class="pre">(top)',</span> <span class="pre">'D':</span> <span class="pre">'Dove</span> <span class="pre">Tail</span> <span class="pre">Joint</span> <span class="pre">(opposing</span> <span class="pre">side)',</span> <span class="pre">'E':</span> <span class="pre">'Straight</span> <span class="pre">Edge</span> <span class="pre">(outset</span> <span class="pre">by</span> <span class="pre">thickness)',</span> <span class="pre">'F':</span> <span class="pre">'Finger</span> <span class="pre">Joint</span> <span class="pre">(opposing</span> <span class="pre">side)',</span> <span class="pre">'G':</span> <span class="pre">'Edge</span> <span class="pre">with</span> <span class="pre">pear</span> <span class="pre">shaped</span> <span class="pre">mounting</span> <span class="pre">holes',</span> <span class="pre">'I':</span> <span class="pre">'Edge</span> <span class="pre">with</span> <span class="pre">hinge</span> <span class="pre">pin',</span> <span class="pre">'J':</span> <span class="pre">'Edge</span> <span class="pre">with</span> <span class="pre">hinge</span> <span class="pre">pin</span> <span class="pre">(other</span> <span class="pre">end)',</span> <span class="pre">'K':</span> <span class="pre">'Edge</span> <span class="pre">with</span> <span class="pre">hinge</span> <span class="pre">pin</span> <span class="pre">(both</span> <span class="pre">ends)',</span> <span class="pre">'L':</span> <span class="pre">'Edge</span> <span class="pre">for</span> <span class="pre">slide</span> <span class="pre">on</span> <span class="pre">lid</span> <span class="pre">(box</span> <span class="pre">back)',</span> <span class="pre">'M':</span> <span class="pre">'Edge</span> <span class="pre">for</span> <span class="pre">slide</span> <span class="pre">on</span> <span class="pre">lid</span> <span class="pre">(box</span> <span class="pre">left)',</span> <span class="pre">'N':</span> <span class="pre">'Edge</span> <span class="pre">for</span> <span class="pre">slide</span> <span class="pre">on</span> <span class="pre">lid</span> <span class="pre">(box</span> <span class="pre">right)',</span> <span class="pre">'O':</span> <span class="pre">'Edge</span> <span class="pre">with</span> <span class="pre">chest</span> <span class="pre">hinge</span> <span class="pre">(other</span> <span class="pre">end)',</span> <span class="pre">'P':</span> <span class="pre">'Edge</span> <span class="pre">with</span> <span class="pre">chest</span> <span class="pre">hinge</span> <span class="pre">(other</span> <span class="pre">end)',</span> <span class="pre">'Q':</span> <span class="pre">'Edge</span> <span class="pre">opposing</span> <span class="pre">a</span> <span class="pre">chest</span> <span class="pre">hinge',</span> <span class="pre">'R':</span> <span class="pre">'Rack</span> <span class="pre">(and</span> <span class="pre">pinion)</span> <span class="pre">Edge',</span> <span class="pre">'S':</span> <span class="pre">'Stackable</span> <span class="pre">(top)',</span> <span class="pre">'T':</span> <span class="pre">'Triangle</span> <span class="pre">for</span> <span class="pre">handle',</span> <span class="pre">'U':</span> <span class="pre">'Edge</span> <span class="pre">with</span> <span class="pre">cabinet</span> <span class="pre">hinges</span> <span class="pre">top</span> <span class="pre">side',</span> <span class="pre">'V':</span> <span class="pre">'Edge</span> <span class="pre">with</span> <span class="pre">cabinet</span> <span class="pre">hinges</span> <span class="pre">90°</span> <span class="pre">lid',</span> <span class="pre">'X':</span> <span class="pre">'Flex</span> <span class="pre">cut',</span> <span class="pre">'Y':</span> <span class="pre">'Handle</span> <span class="pre">with</span> <span class="pre">holes</span> <span class="pre">for</span> <span class="pre">parallel</span> <span class="pre">finger</span> <span class="pre">joint',</span> <span class="pre">'Z':</span> <span class="pre">'Edge</span> <span class="pre">with</span> <span class="pre">grooves</span> <span class="pre">(opposing</span> <span class="pre">side)',</span> <span class="pre">'c':</span> <span class="pre">'Click</span> <span class="pre">on</span> <span class="pre">(bottom</span> <span class="pre">side)',</span> <span class="pre">'d':</span> <span class="pre">'Dove</span> <span class="pre">Tail</span> <span class="pre">Joint',</span> <span class="pre">'e':</span> <span class="pre">'Straight</span> <span class="pre">Edge',</span> <span class="pre">'f':</span> <span class="pre">'Finger</span> <span class="pre">Joint',</span> <span class="pre">'g':</span> <span class="pre">'Corrugated</span> <span class="pre">edge</span> <span class="pre">useful</span> <span class="pre">as</span> <span class="pre">an</span> <span class="pre">gipping</span> <span class="pre">area',</span> <span class="pre">'h':</span> <span class="pre">'Edge</span> <span class="pre">(parallel</span> <span class="pre">Finger</span> <span class="pre">Joint</span> <span class="pre">Holes)',</span> <span class="pre">'i':</span> <span class="pre">'Straight</span> <span class="pre">edge</span> <span class="pre">with</span> <span class="pre">hinge</span> <span class="pre">eye',</span> <span class="pre">'j':</span> <span class="pre">'Straight</span> <span class="pre">edge</span> <span class="pre">with</span> <span class="pre">hinge</span> <span class="pre">eye</span> <span class="pre">(other</span> <span class="pre">end)',</span> <span class="pre">'k':</span> <span class="pre">'Straight</span> <span class="pre">edge</span> <span class="pre">with</span> <span class="pre">hinge</span> <span class="pre">eye</span> <span class="pre">(both</span> <span class="pre">ends)',</span> <span class="pre">'l':</span> <span class="pre">'Edge</span> <span class="pre">for</span> <span class="pre">slide</span> <span class="pre">on</span> <span class="pre">lid</span> <span class="pre">(back)',</span> <span class="pre">'m':</span> <span class="pre">'Edge</span> <span class="pre">for</span> <span class="pre">slide</span> <span class="pre">on</span> <span class="pre">lid</span> <span class="pre">(left)',</span> <span class="pre">'n':</span> <span class="pre">'Edge</span> <span class="pre">for</span> <span class="pre">slide</span> <span class="pre">on</span> <span class="pre">lid</span> <span class="pre">(right)',</span> <span class="pre">'o':</span> <span class="pre">'Edge</span> <span class="pre">with</span> <span class="pre">chest</span> <span class="pre">hinge',</span> <span class="pre">'p':</span> <span class="pre">'Edge</span> <span class="pre">with</span> <span class="pre">chest</span> <span class="pre">hinge',</span> <span class="pre">'q':</span> <span class="pre">'Edge</span> <span class="pre">with</span> <span class="pre">pins</span> <span class="pre">for</span> <span class="pre">an</span> <span class="pre">chest</span> <span class="pre">hinge',</span> <span class="pre">'s':</span> <span class="pre">'Stackable</span> <span class="pre">(bottom,</span> <span class="pre">finger</span> <span class="pre">joint</span> <span class="pre">holes)',</span> <span class="pre">'t':</span> <span class="pre">'Triangle</span> <span class="pre">for</span> <span class="pre">handle',</span> <span class="pre">'u':</span> <span class="pre">'Edge</span> <span class="pre">with</span> <span class="pre">cabinet</span> <span class="pre">hinges',</span> <span class="pre">'v':</span> <span class="pre">'Edge</span> <span class="pre">with</span> <span class="pre">cabinet</span> <span class="pre">hinges</span> <span class="pre">for</span> <span class="pre">90°</span> <span class="pre">lid',</span> <span class="pre">'y':</span> <span class="pre">'Handle</span> <span class="pre">for</span> <span class="pre">e.g.</span> <span class="pre">a</span> <span class="pre">drawer',</span> <span class="pre">'z':</span> <span class="pre">'Edge</span> <span class="pre">with</span> <span class="pre">grooves',</span> <span class="pre">'|':</span> <span class="pre">'Edge</span> <span class="pre">(orthogonal</span> <span class="pre">Finger</span> <span class="pre">Joint</span> <span class="pre">Holes)',</span> <span class="pre">'Š':</span> <span class="pre">'Stackable</span> <span class="pre">edge</span> <span class="pre">with</span> <span class="pre">finger</span> <span class="pre">holes</span> <span class="pre">(top)',</span> <span class="pre">'š':</span> <span class="pre">'Stackable</span> <span class="pre">feet</span> <span class="pre">(bottom)'}</span></em><a class="headerlink" href="#boxes.ArgparseEdgeType.names" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.BoolArg">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.</span></span><span class="sig-name descname"><span class="pre">BoolArg</span></span><a class="reference internal" href="_modules/boxes.html#BoolArg"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.BoolArg" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.BoolArg.html">
<span class="sig-name descname"><span class="pre">html</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">default</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">_</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#BoolArg.html"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.BoolArg.html" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.Boxes">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.</span></span><span class="sig-name descname"><span class="pre">Boxes</span></span><a class="reference internal" href="_modules/boxes.html#Boxes"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Main class Generator should sub class this</p>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.NEMA">
<span class="sig-name descname"><span class="pre">NEMA</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">x</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">screwholes</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.NEMA"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.NEMA" title="Permalink to this definition"></a></dt>
<dd><p>Draw holes for mounting a NEMA stepper motor</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>size</strong> Nominal size in tenths of inches</p></li>
<li><p><strong>x</strong> (Default value = 0)</p></li>
<li><p><strong>y</strong> (Default value = 0)</p></li>
<li><p><strong>angle</strong> (Default value = 0)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.TX">
<span class="sig-name descname"><span class="pre">TX</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">x</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.TX"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.TX" title="Permalink to this definition"></a></dt>
<dd><p>Draw a star pattern</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>size</strong> 1 to 100</p></li>
<li><p><strong>x</strong> (Default value = 0)</p></li>
<li><p><strong>y</strong> (Default value = 0)</p></li>
<li><p><strong>angle</strong> (Default value = 0)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.addPart">
<span class="sig-name descname"><span class="pre">addPart</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">part</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.addPart"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.addPart" title="Permalink to this definition"></a></dt>
<dd><p>Add Edge or other part instance to this one and add it as attribute</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>part</strong> Callable</p></li>
<li><p><strong>name</strong> (Default value = None) attribute name (__name__ as default)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.addParts">
<span class="sig-name descname"><span class="pre">addParts</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">parts</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.addParts"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.addParts" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.addSettingsArgs">
<span class="sig-name descname"><span class="pre">addSettingsArgs</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">settings</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">defaults</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.addSettingsArgs"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.addSettingsArgs" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.adjustSize">
<span class="sig-name descname"><span class="pre">adjustSize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">l</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">e1</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">e2</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.adjustSize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.adjustSize" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.bedBoltHole">
<span class="sig-name descname"><span class="pre">bedBoltHole</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">length</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bedBoltSettings</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tabs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.bedBoltHole"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.bedBoltHole" title="Permalink to this definition"></a></dt>
<dd><p>Draw an edge with slot for a bed bolt</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>length</strong> length of the edge in mm</p></li>
<li><p><strong>bedBoltSettings</strong> (Default value = None) Dimmensions of the slot</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.buildArgParser">
<span class="sig-name descname"><span class="pre">buildArgParser</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">l</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.buildArgParser"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.buildArgParser" title="Permalink to this definition"></a></dt>
<dd><p>Add commonly used arguments</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>*l</strong> parameter names</p></li>
<li><p><strong>**kw</strong> parameters with new default values</p></li>
</ul>
</dd>
</dl>
<p>Supported parameters are</p>
<ul class="simple">
<li><p>floats: x, y, h, hi</p></li>
<li><p>argparseSections: sx, sy, sh</p></li>
<li><p>ArgparseEdgeType: bottom_edge, top_edge</p></li>
<li><p>boolarg: outside</p></li>
<li><p>str (selection): nema_mount</p></li>
</ul>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.cc">
<span class="sig-name descname"><span class="pre">cc</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">callback</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">number</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">x</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.cc"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.cc" title="Permalink to this definition"></a></dt>
<dd><p>Call callback from edge of a part</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>callback</strong> callback (callable or list of callables)</p></li>
<li><p><strong>number</strong> number of the callback</p></li>
<li><p><strong>x</strong> (Default value = 0.0) x position to be call on</p></li>
<li><p><strong>y</strong> (Default value = None) y position to be called on (default does burn correction)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.circle">
<span class="sig-name descname"><span class="pre">circle</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">r</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.circle"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.circle" title="Permalink to this definition"></a></dt>
<dd><p>Draw a round disc</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> position</p></li>
<li><p><strong>y</strong> postion</p></li>
<li><p><strong>r</strong> radius</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.close">
<span class="sig-name descname"><span class="pre">close</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.close"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.close" title="Permalink to this definition"></a></dt>
<dd><p>Finish rendering</p>
<p>Flush canvas to disk and convert output to requested format if needed.
Call after .render()</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.corner">
<span class="sig-name descname"><span class="pre">corner</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">degrees</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">radius</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tabs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.corner"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.corner" title="Permalink to this definition"></a></dt>
<dd><p>Draw a corner</p>
<p>This is what does the burn corrections</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>degrees</strong> angle</p></li>
<li><p><strong>radius</strong> (Default value = 0)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.curveTo">
<span class="sig-name descname"><span class="pre">curveTo</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">x2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">x3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y3</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.curveTo"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.curveTo" title="Permalink to this definition"></a></dt>
<dd><p>control point 1, control point 2, end point</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x1</strong> </p></li>
<li><p><strong>y1</strong> </p></li>
<li><p><strong>x2</strong> </p></li>
<li><p><strong>y2</strong> </p></li>
<li><p><strong>x3</strong> </p></li>
<li><p><strong>y3</strong> </p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.dHole">
<span class="sig-name descname"><span class="pre">dHole</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">r</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">d</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rel_w</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.75</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.dHole"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.dHole" title="Permalink to this definition"></a></dt>
<dd><p>Draw a hole for a shaft with flat edge - D shaped hole</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> center position</p></li>
<li><p><strong>y</strong> center position</p></li>
<li><p><strong>r</strong> radius (overrides d)</p></li>
<li><p><strong>d</strong> diameter</p></li>
<li><p><strong>w</strong> width measured against flat side in mm</p></li>
<li><p><strong>rel_w</strong> width in percent</p></li>
<li><p><strong>angle</strong> orentation (rotation) of the flat side</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.Boxes.description">
<span class="sig-name descname"><span class="pre">description</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">''</span></em><a class="headerlink" href="#boxes.Boxes.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.edge">
<span class="sig-name descname"><span class="pre">edge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">length</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tabs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.edge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.edge" title="Permalink to this definition"></a></dt>
<dd><p>Simple line
:param length: length in mm</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.edgeCorner">
<span class="sig-name descname"><span class="pre">edgeCorner</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">edge1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">edge2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">90</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.edgeCorner"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.edgeCorner" title="Permalink to this definition"></a></dt>
<dd><p>Make a corner between two Edges. Take width of edges into account</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.fillHoles">
<span class="sig-name descname"><span class="pre">fillHoles</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pattern</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">border</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_radius</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">hspace</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bspace</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_radius</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">style</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'round'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bar_length</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">50</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_random</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1000</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.fillHoles"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.fillHoles" title="Permalink to this definition"></a></dt>
<dd><p>fill a polygon defined by its outline with holes</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>pattern</strong> defines the hole pattern - currently “random”, “hex”, “square” “hbar” or “vbar” are supported</p></li>
<li><p><strong>border</strong> array with coordinate [(x0,y0), (x1,y1),…] of the border polygon</p></li>
<li><p><strong>max_radius</strong> maximum hole radius</p></li>
<li><p><strong>hspace</strong> space between holes</p></li>
<li><p><strong>bspace</strong> space to border</p></li>
<li><p><strong>min_radius</strong> minimum hole radius</p></li>
<li><p><strong>style</strong> defines hole style - currently one of “round”, “triangle”, “square”, “hexagon” or “octagon”</p></li>
<li><p><strong>bar_length</strong> maximum bar length</p></li>
<li><p><strong>max_random</strong> maximum number of random holes</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.fingerHoleRectangle">
<span class="sig-name descname"><span class="pre">fingerHoleRectangle</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dy</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">x</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">outside</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.fingerHoleRectangle"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.fingerHoleRectangle" title="Permalink to this definition"></a></dt>
<dd><p>Place finger holes for four walls - attaching a box on this plane</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>dx</strong> size in x direction</p></li>
<li><p><strong>dy</strong> size in y direction</p></li>
<li><p><strong>x</strong> x position of the center</p></li>
<li><p><strong>y</strong> y position of the center</p></li>
<li><p><strong>angle</strong> angle in which the rectangle is placed</p></li>
<li><p><strong>outside</strong> meassure size from the outside of the walls - not the inside</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.flangedWall">
<span class="sig-name descname"><span class="pre">flangedWall</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">edges</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'FFFF'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">flanges</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">r</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">callback</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">move</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">label</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.flangedWall"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.flangedWall" title="Permalink to this definition"></a></dt>
<dd><p>Rectangular wall with flanges extending the regular size</p>
<p>This is similar to the rectangularWall but it may extend to either
side. Sides with flanges may only have e, E, or F edges - the later
being replaced with fingerHoles.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> width</p></li>
<li><p><strong>y</strong> height</p></li>
<li><p><strong>edges</strong> (Default value = “FFFF”) bottom, right, top, left</p></li>
<li><p><strong>flanges</strong> (Default value = None) list of width of the flanges</p></li>
<li><p><strong>r</strong> radius of the corners of the flange</p></li>
<li><p><strong>callback</strong> (Default value = None)</p></li>
<li><p><strong>move</strong> (Default value = None)</p></li>
<li><p><strong>label</strong> rendered to identify parts, it is not ment to be cut or etched (Default value = “”)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.flatHole">
<span class="sig-name descname"><span class="pre">flatHole</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">r</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">d</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">w</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rel_w</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.75</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.flatHole"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.flatHole" title="Permalink to this definition"></a></dt>
<dd><p>Draw a hole for a shaft with two opposed flat edges - ( ) shaped hole</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> center position</p></li>
<li><p><strong>y</strong> center position</p></li>
<li><p><strong>r</strong> radius (overrides d)</p></li>
<li><p><strong>d</strong> diameter</p></li>
<li><p><strong>w</strong> width measured against flat side in mm</p></li>
<li><p><strong>rel_w</strong> width in percent</p></li>
<li><p><strong>angle</strong> orientation (rotation) of the flat sides</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.flex2D">
<span class="sig-name descname"><span class="pre">flex2D</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.flex2D"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.flex2D" title="Permalink to this definition"></a></dt>
<dd><p>Fill a rectangle with a pattern allowing bending in both axis</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> width</p></li>
<li><p><strong>y</strong> height</p></li>
<li><p><strong>width</strong> width between the lines of the pattern in multiples of thickness</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.getEntry">
<span class="sig-name descname"><span class="pre">getEntry</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">param</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">idx</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.getEntry"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.getEntry" title="Permalink to this definition"></a></dt>
<dd><p>Get entry from list or items itself</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>param</strong> list or item</p></li>
<li><p><strong>idx</strong> index in list</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.grip">
<span class="sig-name descname"><span class="pre">grip</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">length</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">depth</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.grip"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.grip" title="Permalink to this definition"></a></dt>
<dd><p>Corrugated edge useful as an gipping area</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>length</strong> length</p></li>
<li><p><strong>depth</strong> depth of the grooves</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.handle">
<span class="sig-name descname"><span class="pre">handle</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">h</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">hl</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">r</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">30</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.handle"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.handle" title="Permalink to this definition"></a></dt>
<dd><p>Creates an Edge with a handle</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> width in mm</p></li>
<li><p><strong>h</strong> height in mm</p></li>
<li><p><strong>hl</strong> height if th grip hole</p></li>
<li><p><strong>r</strong> (Default value = 30) radius of the corners</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.hexHolesCircle">
<span class="sig-name descname"><span class="pre">hexHolesCircle</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">d</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.hexHolesCircle"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.hexHolesCircle" title="Permalink to this definition"></a></dt>
<dd><p>Fill circle with holes in a hex pattern</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>d</strong> diameter of the circle</p></li>
<li><p><strong>settings</strong> (Default value = None)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.hexHolesHex">
<span class="sig-name descname"><span class="pre">hexHolesHex</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">h</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">grow</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.hexHolesHex"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.hexHolesHex" title="Permalink to this definition"></a></dt>
<dd><p>Fill a hexagon with holes in a hex pattern</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>h</strong> height</p></li>
<li><p><strong>settings</strong> (Default value = None)</p></li>
<li><p><strong>grow</strong> (Default value = None)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.hexHolesPlate">
<span class="sig-name descname"><span class="pre">hexHolesPlate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rc</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.hexHolesPlate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.hexHolesPlate" title="Permalink to this definition"></a></dt>
<dd><p>Fill a plate with holes in a hex pattern</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> width</p></li>
<li><p><strong>y</strong> height</p></li>
<li><p><strong>rc</strong> radius of the corners</p></li>
<li><p><strong>settings</strong> (Default value = None)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.hexHolesRectangle">
<span class="sig-name descname"><span class="pre">hexHolesRectangle</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">skip</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.hexHolesRectangle"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.hexHolesRectangle" title="Permalink to this definition"></a></dt>
<dd><p>Fills a rectangle with holes in a hex pattern.</p>
<p>Settings have:
r : radius of holes
b : space between holes
style : what types of holes (not yet implemented)</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> width</p></li>
<li><p><strong>y</strong> height</p></li>
<li><p><strong>settings</strong> (Default value = None)</p></li>
<li><p><strong>skip</strong> (Default value = None) function to check if hole should be present
gets x, y, r, b, posx, posy</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.hole">
<span class="sig-name descname"><span class="pre">hole</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">r</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">d</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tabs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.hole"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.hole" title="Permalink to this definition"></a></dt>
<dd><p>Draw a round hole</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> position</p></li>
<li><p><strong>y</strong> postion</p></li>
<li><p><strong>r</strong> radius</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.latch">
<span class="sig-name descname"><span class="pre">latch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">length</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">positive</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">reverse</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.latch"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.latch" title="Permalink to this definition"></a></dt>
<dd><p>Latch to fix a flex box door to the box</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>length</strong> length in mm</p></li>
<li><p><strong>positive</strong> (Default value = True) False: Door side; True: Box side</p></li>
<li><p><strong>reverse</strong> (Default value = False) True when running away from the latch</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.mirrorX">
<span class="sig-name descname"><span class="pre">mirrorX</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">f</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">offset</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.mirrorX"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.mirrorX" title="Permalink to this definition"></a></dt>
<dd><p>Wrap a function to draw mirrored at the y axis</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>f</strong> function to wrap</p></li>
<li><p><strong>offset</strong> (default value = 0.0) axis to mirror at</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.mirrorY">
<span class="sig-name descname"><span class="pre">mirrorY</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">f</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">offset</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.mirrorY"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.mirrorY" title="Permalink to this definition"></a></dt>
<dd><p>Wrap a function to draw mirrored at the x axis</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>f</strong> function to wrap</p></li>
<li><p><strong>offset</strong> (default value = 0.0) axis to mirror at</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.mountingHole">
<span class="sig-name descname"><span class="pre">mountingHole</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">d_shaft</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">d_head</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tabs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.mountingHole"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.mountingHole" title="Permalink to this definition"></a></dt>
<dd><p>Draw a pear shaped mounting hole for sliding over a screw head. Total height = 1.5* d_shaft + d_head</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> position</p></li>
<li><p><strong>y</strong> postion</p></li>
<li><p><strong>d_shaft</strong> diameter of the screw shaft</p></li>
<li><p><strong>d_head</strong> diameter of the screw head</p></li>
<li><p><strong>angle</strong> rotation angle of the hole</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.move">
<span class="sig-name descname"><span class="pre">move</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">where</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">before</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">label</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.move"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.move" title="Permalink to this definition"></a></dt>
<dd><p>Intended to be used by parts
where can be combinations of “up” or “down”, “left” or “right”, “only”,
“mirror” and “rotated”
when “only” is included the move is only done when before is True
“mirror” will flip the part along the y axis
“rotated” draws the parts rotated 90 counter clockwise
The function returns whether actual drawing of the part
should be ommited.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> width of part</p></li>
<li><p><strong>y</strong> height of part</p></li>
<li><p><strong>where</strong> which direction to move</p></li>
<li><p><strong>before</strong> (Default value = False) called before or after part being drawn</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.moveArc">
<span class="sig-name descname"><span class="pre">moveArc</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">angle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">r</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.moveArc"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.moveArc" title="Permalink to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>angle</strong> </p></li>
<li><p><strong>r</strong> (Default value = 0.0)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.moveTo">
<span class="sig-name descname"><span class="pre">moveTo</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">degrees</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.moveTo"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.moveTo" title="Permalink to this definition"></a></dt>
<dd><p>Move coordinate system to given point</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> </p></li>
<li><p><strong>y</strong> (Default value = 0.0)</p></li>
<li><p><strong>degrees</strong> (Default value = 0)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.Boxes.nema_sizes">
<span class="sig-name descname"><span class="pre">nema_sizes</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{8:</span> <span class="pre">(20.3,</span> <span class="pre">16,</span> <span class="pre">15.4,</span> <span class="pre">3),</span> <span class="pre">11:</span> <span class="pre">(28.2,</span> <span class="pre">22,</span> <span class="pre">23,</span> <span class="pre">4),</span> <span class="pre">14:</span> <span class="pre">(35.2,</span> <span class="pre">22,</span> <span class="pre">26,</span> <span class="pre">4),</span> <span class="pre">16:</span> <span class="pre">(39.2,</span> <span class="pre">22,</span> <span class="pre">31,</span> <span class="pre">4),</span> <span class="pre">17:</span> <span class="pre">(42.2,</span> <span class="pre">22,</span> <span class="pre">31,</span> <span class="pre">4),</span> <span class="pre">23:</span> <span class="pre">(56.4,</span> <span class="pre">38.1,</span> <span class="pre">47.1,</span> <span class="pre">5.2),</span> <span class="pre">24:</span> <span class="pre">(60,</span> <span class="pre">36,</span> <span class="pre">49.8,</span> <span class="pre">5.1),</span> <span class="pre">34:</span> <span class="pre">(86.3,</span> <span class="pre">73,</span> <span class="pre">69.8,</span> <span class="pre">6.6),</span> <span class="pre">42:</span> <span class="pre">(110,</span> <span class="pre">55.5,</span> <span class="pre">89,</span> <span class="pre">8.5)}</span></em><a class="headerlink" href="#boxes.Boxes.nema_sizes" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.open">
<span class="sig-name descname"><span class="pre">open</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.open"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.open" title="Permalink to this definition"></a></dt>
<dd><p>Prepare for rendering</p>
<p>Create canvas and edge and other objects
Call this before .render()</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.parseArgs">
<span class="sig-name descname"><span class="pre">parseArgs</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">args</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.parseArgs"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.parseArgs" title="Permalink to this definition"></a></dt>
<dd><p>Parse command line parameters</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>args</strong> (Default value = None) parameters, None for using sys.argv</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.partsMatrix">
<span class="sig-name descname"><span class="pre">partsMatrix</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">width</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">move</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">part</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">l</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.partsMatrix"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.partsMatrix" title="Permalink to this definition"></a></dt>
<dd><p>place many of the same part</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>n</strong> number of parts</p></li>
<li><p><strong>width</strong> number of parts in a row (0 for same as n)</p></li>
<li><p><strong>move</strong> (Default value = None)</p></li>
<li><p><strong>part</strong> callable that draws a part and knows move param</p></li>
<li><p><strong>*l</strong> params for part</p></li>
<li><p><strong>**kw</strong> keyword params for part</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.polygonWall">
<span class="sig-name descname"><span class="pre">polygonWall</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">borders</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">edge</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'f'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">turtle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">callback</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">move</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">label</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.polygonWall"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.polygonWall" title="Permalink to this definition"></a></dt>
<dd><p>Polygon wall for all kind of multi-edged objects</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>borders</strong> array of distance and angles to draw</p></li>
<li><p><strong>edge</strong> (Default value = “f”) Edges to apply. If the array of borders contains more segments that edges, the edge will wrap. Only edge types without start and end width suppported for now.</p></li>
<li><p><strong>turtle</strong> (Default value = False)</p></li>
<li><p><strong>callback</strong> (Default value = None)</p></li>
<li><p><strong>move</strong> (Default value = None)</p></li>
<li><p><strong>label</strong> rendered to identify parts, it is not ment to be cut or etched (Default value = “”)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.polygonWalls">
<span class="sig-name descname"><span class="pre">polygonWalls</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">borders</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">h</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bottom</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'F'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">top</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'F'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">symetrical</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.polygonWalls"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.polygonWalls" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.polyline">
<span class="sig-name descname"><span class="pre">polyline</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.polyline"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.polyline" title="Permalink to this definition"></a></dt>
<dd><p>Draw multiple connected lines</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>*args</strong> Alternating length in mm and angle in degrees.</p>
</dd>
</dl>
<p>lengths may be a tuple (length, #tabs)
angles may be tuple (angle, radius)</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.rectangularHole">
<span class="sig-name descname"><span class="pre">rectangularHole</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dy</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">r</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">center_x</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">center_y</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.rectangularHole"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.rectangularHole" title="Permalink to this definition"></a></dt>
<dd><p>Draw a rectangular hole</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> position</p></li>
<li><p><strong>y</strong> position</p></li>
<li><p><strong>dx</strong> width</p></li>
<li><p><strong>dy</strong> height</p></li>
<li><p><strong>r</strong> (Default value = 0) radius of the corners</p></li>
<li><p><strong>center_x</strong> (Default value = True) if True, x position is the center, else the start</p></li>
<li><p><strong>center_y</strong> (Default value = True) if True, y position is the center, else the start</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.rectangularTriangle">
<span class="sig-name descname"><span class="pre">rectangularTriangle</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">edges</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'eee'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">r</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bedBolts</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bedBoltSettings</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">callback</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">move</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">label</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.rectangularTriangle"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.rectangularTriangle" title="Permalink to this definition"></a></dt>
<dd><p>Rectangular triangular wall</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> width</p></li>
<li><p><strong>y</strong> height</p></li>
<li><p><strong>edges</strong> (Default value = “eee”) bottom, right[, diagonal]</p></li>
<li><p><strong>r</strong> radius towards the hypothenuse</p></li>
<li><p><strong>num</strong> (Default value = 1) number of triangles</p></li>
<li><p><strong>bedBolts</strong> (Default value = None)</p></li>
<li><p><strong>bedBoltSettings</strong> (Default value = None)</p></li>
<li><p><strong>callback</strong> (Default value = None)</p></li>
<li><p><strong>move</strong> (Default value = None)</p></li>
<li><p><strong>label</strong> rendered to identify parts, it is not ment to be cut or etched (Default value = “”)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.rectangularWall">
<span class="sig-name descname"><span class="pre">rectangularWall</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">edges</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'eeee'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ignore_widths</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">holesMargin</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">holesSettings</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bedBolts</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bedBoltSettings</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">callback</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">move</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">label</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.rectangularWall"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.rectangularWall" title="Permalink to this definition"></a></dt>
<dd><p>Rectangular wall for all kind of box like objects</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> width</p></li>
<li><p><strong>y</strong> height</p></li>
<li><p><strong>edges</strong> (Default value = “eeee”) bottom, right, top, left</p></li>
<li><p><strong>ignore_widths</strong> list of edge_widths added to adjacent edge</p></li>
<li><p><strong>holesMargin</strong> (Default value = None)</p></li>
<li><p><strong>holesSettings</strong> (Default value = None)</p></li>
<li><p><strong>bedBolts</strong> (Default value = None)</p></li>
<li><p><strong>bedBoltSettings</strong> (Default value = None)</p></li>
<li><p><strong>callback</strong> (Default value = None)</p></li>
<li><p><strong>move</strong> (Default value = None)</p></li>
<li><p><strong>label</strong> rendered to identify parts, it is not ment to be cut or etched (Default value = “”)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.regularPolygon">
<span class="sig-name descname"><span class="pre">regularPolygon</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">corners</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">radius</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">h</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">side</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.regularPolygon"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.regularPolygon" title="Permalink to this definition"></a></dt>
<dd><p>Give measures of a regular polygon</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>corners</strong> number of corners of the polygon</p></li>
<li><p><strong>radius</strong> distance center to one of the corners</p></li>
<li><p><strong>h</strong> distance center to one of the sides (height of sector)</p></li>
<li><p><strong>side</strong> length of one side</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>(radius, h, side)</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.regularPolygonAt">
<span class="sig-name descname"><span class="pre">regularPolygonAt</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">corners</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">r</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">h</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">side</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.regularPolygonAt"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.regularPolygonAt" title="Permalink to this definition"></a></dt>
<dd><p>Draw regular polygon</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.regularPolygonHole">
<span class="sig-name descname"><span class="pre">regularPolygonHole</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">r</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">d</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">6</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">a</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tabs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">corner_radius</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.regularPolygonHole"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.regularPolygonHole" title="Permalink to this definition"></a></dt>
<dd><p>Draw a hole in shape of an n-edged regular polygon</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> position</p></li>
<li><p><strong>y</strong> postion</p></li>
<li><p><strong>r</strong> radius</p></li>
<li><p><strong>n</strong> number of edges</p></li>
<li><p><strong>a</strong> rotation angle</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.regularPolygonWall">
<span class="sig-name descname"><span class="pre">regularPolygonWall</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">corners</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">r</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">h</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">side</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">edges</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'e'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">hole</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">callback</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">move</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.regularPolygonWall"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.regularPolygonWall" title="Permalink to this definition"></a></dt>
<dd><p>Create regular polygon as a wall</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>corners</strong> number of corners of the polygon</p></li>
<li><p><strong>radius</strong> distance center to one of the corners</p></li>
<li><p><strong>h</strong> distance center to one of the sides (height of sector)</p></li>
<li><p><strong>side</strong> length of one side</p></li>
<li><p><strong>edges</strong> (Default value = “e”, may be string/list of length corners)</p></li>
<li><p><strong>hole</strong> diameter of central hole (Default value = 0)</p></li>
<li><p><strong>callback</strong> (Default value = None, middle=0, then sides=1..)</p></li>
<li><p><strong>move</strong> (Default value = None)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.render">
<span class="sig-name descname"><span class="pre">render</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.render"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.render" title="Permalink to this definition"></a></dt>
<dd><p>Implement this method in your sub class.</p>
<p>You will typically need to call .parseArgs() before calling this one</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.roundedPlate">
<span class="sig-name descname"><span class="pre">roundedPlate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">r</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">edge</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'f'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">callback</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">holesMargin</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">holesSettings</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bedBolts</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bedBoltSettings</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wallpieces</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">extend_corners</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">move</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.roundedPlate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.roundedPlate" title="Permalink to this definition"></a></dt>
<dd><p>Plate with rounded corner fitting to .surroundingWall()</p>
<p>For the callbacks the sides are counted depending on wallpieces</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> width</p></li>
<li><p><strong>y</strong> height</p></li>
<li><p><strong>r</strong> radius of the corners</p></li>
<li><p><strong>callback</strong> (Default value = None)</p></li>
<li><p><strong>holesMargin</strong> (Default value = None) set to get hex holes</p></li>
<li><p><strong>holesSettings</strong> (Default value = None)</p></li>
<li><p><strong>bedBolts</strong> (Default value = None)</p></li>
<li><p><strong>bedBoltSettings</strong> (Default value = None)</p></li>
<li><p><strong>wallpieces</strong> (Default value = 1) # of separate surrounding walls</p></li>
<li><p><strong>extend_corners</strong> (Default value = True) have corners outset with the edges</p></li>
<li><p><strong>move</strong> (Default value = None)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.saved_context">
<span class="sig-name descname"><span class="pre">saved_context</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.saved_context"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.saved_context" title="Permalink to this definition"></a></dt>
<dd><p>Generator: for saving and restoring contexts.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.set_font">
<span class="sig-name descname"><span class="pre">set_font</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">style</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bold</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">italic</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.set_font"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.set_font" title="Permalink to this definition"></a></dt>
<dd><p>Set font style used
:param style: “serif”, “sans-serif” or “monospaced”
:param bold: Use bold font
:param italic: Use italic font</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.set_source_color">
<span class="sig-name descname"><span class="pre">set_source_color</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">color</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.set_source_color"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.set_source_color" title="Permalink to this definition"></a></dt>
<dd><p>Sets the color of the pen.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.showBorderPoly">
<span class="sig-name descname"><span class="pre">showBorderPoly</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">border</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">color</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[1.0,</span> <span class="pre">0.0,</span> <span class="pre">0.0]</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.showBorderPoly"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.showBorderPoly" title="Permalink to this definition"></a></dt>
<dd><p>draw border polygon (for debugging only)</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>border</strong> array with coordinate [(x0,y0), (x1,y1),…] of the border polygon</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.step">
<span class="sig-name descname"><span class="pre">step</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">out</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.step"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.step" title="Permalink to this definition"></a></dt>
<dd><p>Create a parallel step prependicular to the current direction
Positive values move to the outside of the part</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.surroundingWall">
<span class="sig-name descname"><span class="pre">surroundingWall</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">r</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">h</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bottom</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'e'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">top</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'e'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">left</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'D'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">right</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'d'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pieces</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">extend_corners</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">callback</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">move</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.surroundingWall"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.surroundingWall" title="Permalink to this definition"></a></dt>
<dd><p>Wall(s) with flex fiting around a roundedPlate()</p>
<p>For the callbacks the sides are counted depending on pieces</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> width of matching roundedPlate</p></li>
<li><p><strong>y</strong> height of matching roundedPlate</p></li>
<li><p><strong>r</strong> corner radius of matching roundedPlate</p></li>
<li><p><strong>h</strong> inner height of the wall (without edges)</p></li>
<li><p><strong>bottom</strong> (Default value = e) Edge type</p></li>
<li><p><strong>top</strong> (Default value = e) Edge type</p></li>
<li><p><strong>left</strong> (Default value = D) left edge(s)</p></li>
<li><p><strong>right</strong> (Default value = d) right edge(s)</p></li>
<li><p><strong>pieces</strong> (Default value = 1) number of separate pieces</p></li>
<li><p><strong>callback</strong> (Default value = None)</p></li>
<li><p><strong>move</strong> (Default value = None)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.surroundingWallPiece">
<span class="sig-name descname"><span class="pre">surroundingWallPiece</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cbnr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">r</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pieces</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.surroundingWallPiece"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.surroundingWallPiece" title="Permalink to this definition"></a></dt>
<dd><p>Return the geometry of a pices of surroundingWall with the given
callback number.
:param cbnr: number of the callback corresponding to this part of the wall
:param x: width of matching roundedPlate
:param y: height of matching roundedPlate
:param r: corner radius of matching roundedPlate
:param pieces: (Default value = 1) number of separate pieces
:return: (left, length, right) left and right are Booleans that are True if the start or end of the wall is on that side.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.text">
<span class="sig-name descname"><span class="pre">text</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">text</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">x</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fontsize</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">color</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[0.0,</span> <span class="pre">0.0,</span> <span class="pre">0.0]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">font</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'Arial'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.text"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.text" title="Permalink to this definition"></a></dt>
<dd><p>Draw text</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>text</strong> text to render</p></li>
<li><p><strong>x</strong> (Default value = 0)</p></li>
<li><p><strong>y</strong> (Default value = 0)</p></li>
<li><p><strong>angle</strong> (Default value = 0)</p></li>
<li><p><strong>align</strong> (Default value = “”) string with combinations of (top|middle|bottom) and (left|center|right) separated by a space</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.trapezoidSideWall">
<span class="sig-name descname"><span class="pre">trapezoidSideWall</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">w</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">h0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">h1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">edges</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'eeee'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">radius</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">callback</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">move</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">label</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.trapezoidSideWall"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.trapezoidSideWall" title="Permalink to this definition"></a></dt>
<dd><p>Rectangular trapezoidal wall</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>w</strong> width</p></li>
<li><p><strong>h0</strong> left height</p></li>
<li><p><strong>h1</strong> right height</p></li>
<li><p><strong>edges</strong> (Default value = “eeee”) bottom, right, left</p></li>
<li><p><strong>radius</strong> (Default value = 0.0) radius of upper corners</p></li>
<li><p><strong>callback</strong> (Default value = None)</p></li>
<li><p><strong>move</strong> (Default value = None)</p></li>
<li><p><strong>label</strong> rendered to identify parts, it is not ment to be cut or etched (Default value = “”)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="boxes.Boxes.trapezoidWall">
<span class="sig-name descname"><span class="pre">trapezoidWall</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">w</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">h0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">h1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">edges</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'eeee'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">callback</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">move</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">label</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#Boxes.trapezoidWall"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.Boxes.trapezoidWall" title="Permalink to this definition"></a></dt>
<dd><p>Rectangular trapezoidal wall</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>w</strong> width</p></li>
<li><p><strong>h0</strong> left height</p></li>
<li><p><strong>h1</strong> right height</p></li>
<li><p><strong>edges</strong> (Default value = “eee”) bottom, right, left</p></li>
<li><p><strong>callback</strong> (Default value = None)</p></li>
<li><p><strong>move</strong> (Default value = None)</p></li>
<li><p><strong>label</strong> rendered to identify parts, it is not ment to be cut or etched (Default value = “”)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.Boxes.tx_sizes">
<span class="sig-name descname"><span class="pre">tx_sizes</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{1:</span> <span class="pre">0.61,</span> <span class="pre">2:</span> <span class="pre">0.7,</span> <span class="pre">3:</span> <span class="pre">0.82,</span> <span class="pre">4:</span> <span class="pre">0.96,</span> <span class="pre">5:</span> <span class="pre">1.06,</span> <span class="pre">6:</span> <span class="pre">1.27,</span> <span class="pre">7:</span> <span class="pre">1.49,</span> <span class="pre">8:</span> <span class="pre">1.75,</span> <span class="pre">9:</span> <span class="pre">1.87,</span> <span class="pre">10:</span> <span class="pre">2.05,</span> <span class="pre">15:</span> <span class="pre">2.4,</span> <span class="pre">20:</span> <span class="pre">2.85,</span> <span class="pre">25:</span> <span class="pre">3.25,</span> <span class="pre">30:</span> <span class="pre">4.05,</span> <span class="pre">40:</span> <span class="pre">4.85,</span> <span class="pre">45:</span> <span class="pre">5.64,</span> <span class="pre">50:</span> <span class="pre">6.45,</span> <span class="pre">55:</span> <span class="pre">8.05,</span> <span class="pre">60:</span> <span class="pre">9.6,</span> <span class="pre">70:</span> <span class="pre">11.2,</span> <span class="pre">80:</span> <span class="pre">12.8,</span> <span class="pre">90:</span> <span class="pre">14.4,</span> <span class="pre">100:</span> <span class="pre">16.0}</span></em><a class="headerlink" href="#boxes.Boxes.tx_sizes" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.Boxes.ui_group">
<span class="sig-name descname"><span class="pre">ui_group</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">'Misc'</span></em><a class="headerlink" href="#boxes.Boxes.ui_group" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.Boxes.webinterface">
<span class="sig-name descname"><span class="pre">webinterface</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">True</span></em><a class="headerlink" href="#boxes.Boxes.webinterface" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.HexHolesSettings">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.</span></span><span class="sig-name descname"><span class="pre">HexHolesSettings</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">thickness</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">relative</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#HexHolesSettings"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.HexHolesSettings" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.Settings" title="boxes.edges.Settings"><code class="xref py py-class docutils literal notranslate"><span class="pre">Settings</span></code></a></p>
<p>Settings for hexagonal hole patterns</p>
<p>Values:</p>
<ul class="simple">
<li><p>absolute
* diameter : 5.0 : diameter of the holes
* distance : 3.0 : distance between the holes
* style : “circle” : currently only supported style</p></li>
</ul>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.HexHolesSettings.absolute_params">
<span class="sig-name descname"><span class="pre">absolute_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'diameter':</span> <span class="pre">10.0,</span> <span class="pre">'distance':</span> <span class="pre">3.0,</span> <span class="pre">'style':</span> <span class="pre">('circle',)}</span></em><a class="headerlink" href="#boxes.HexHolesSettings.absolute_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.HexHolesSettings.relative_params">
<span class="sig-name descname"><span class="pre">relative_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{}</span></em><a class="headerlink" href="#boxes.HexHolesSettings.relative_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.NutHole">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.</span></span><span class="sig-name descname"><span class="pre">NutHole</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">boxes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">settings</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#NutHole"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.NutHole" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Draw a hex nut</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.NutHole.sizes">
<span class="sig-name descname"><span class="pre">sizes</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'M1.6':</span> <span class="pre">(3.2,</span> <span class="pre">1.3),</span> <span class="pre">'M10':</span> <span class="pre">(16,</span> <span class="pre">8.4),</span> <span class="pre">'M12':</span> <span class="pre">(18,</span> <span class="pre">10.8),</span> <span class="pre">'M14':</span> <span class="pre">(21,</span> <span class="pre">12.8),</span> <span class="pre">'M16':</span> <span class="pre">(24,</span> <span class="pre">14.8),</span> <span class="pre">'M2':</span> <span class="pre">(4,</span> <span class="pre">1.6),</span> <span class="pre">'M2.5':</span> <span class="pre">(5,</span> <span class="pre">2.0),</span> <span class="pre">'M20':</span> <span class="pre">(30,</span> <span class="pre">18.0),</span> <span class="pre">'M24':</span> <span class="pre">(36,</span> <span class="pre">21.5),</span> <span class="pre">'M3':</span> <span class="pre">(5.5,</span> <span class="pre">2.4),</span> <span class="pre">'M30':</span> <span class="pre">(46,</span> <span class="pre">25.6),</span> <span class="pre">'M36':</span> <span class="pre">(55,</span> <span class="pre">31),</span> <span class="pre">'M4':</span> <span class="pre">(7,</span> <span class="pre">3.2),</span> <span class="pre">'M42':</span> <span class="pre">(65,</span> <span class="pre">34),</span> <span class="pre">'M48':</span> <span class="pre">(75,</span> <span class="pre">38),</span> <span class="pre">'M5':</span> <span class="pre">(8,</span> <span class="pre">4.7),</span> <span class="pre">'M56':</span> <span class="pre">(85,</span> <span class="pre">45),</span> <span class="pre">'M6':</span> <span class="pre">(10,</span> <span class="pre">5.2),</span> <span class="pre">'M64':</span> <span class="pre">(95,</span> <span class="pre">51),</span> <span class="pre">'M8':</span> <span class="pre">(13.7,</span> <span class="pre">6.8)}</span></em><a class="headerlink" href="#boxes.NutHole.sizes" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.argparseSections">
<span class="sig-prename descclassname"><span class="pre">boxes.</span></span><span class="sig-name descname"><span class="pre">argparseSections</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">s</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#argparseSections"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.argparseSections" title="Permalink to this definition"></a></dt>
<dd><p>Parse sections parameter</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>s</strong> string to parse</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.dist">
<span class="sig-prename descclassname"><span class="pre">boxes.</span></span><span class="sig-name descname"><span class="pre">dist</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dy</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#dist"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.dist" title="Permalink to this definition"></a></dt>
<dd><p>Return distance</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>dx</strong> delta x</p></li>
<li><p><strong>dy</strong> delat y</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="boxes.fillHolesSettings">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">boxes.</span></span><span class="sig-name descname"><span class="pre">fillHolesSettings</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">thickness</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">relative</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#fillHolesSettings"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.fillHolesSettings" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#boxes.edges.Settings" title="boxes.edges.Settings"><code class="xref py py-class docutils literal notranslate"><span class="pre">Settings</span></code></a></p>
<p>Settings for Hole filling</p>
<p>Values:</p>
<ul class="simple">
<li><p>absolute
* fill_pattern : “no fill” : style of hole pattern
* hole_style : “round” : style of holes (does not apply to fill patterns vbar and hbar)
* max_random : 1000 : maximum number of random holes
* bar_length : 50 : maximum length of bars
* hole_max_radius : 12.0 : maximum radius of generated holes (in mm)
* hole_min_radius : 4.0 : minimum radius of generated holes (in mm)
* space_between_holes : 4.0 : hole to hole spacing (in mm)
* space_to_border : 4.0 : hole to border spacing (in mm)</p></li>
</ul>
<dl class="py attribute">
<dt class="sig sig-object py" id="boxes.fillHolesSettings.absolute_params">
<span class="sig-name descname"><span class="pre">absolute_params</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{'bar_length':</span> <span class="pre">50,</span> <span class="pre">'fill_pattern':</span> <span class="pre">('no</span> <span class="pre">fill',</span> <span class="pre">'hex',</span> <span class="pre">'square',</span> <span class="pre">'random',</span> <span class="pre">'hbar',</span> <span class="pre">'vbar'),</span> <span class="pre">'hole_max_radius':</span> <span class="pre">3.0,</span> <span class="pre">'hole_min_radius':</span> <span class="pre">0.5,</span> <span class="pre">'hole_style':</span> <span class="pre">('round',</span> <span class="pre">'triangle',</span> <span class="pre">'square',</span> <span class="pre">'hexagon',</span> <span class="pre">'octagon'),</span> <span class="pre">'max_random':</span> <span class="pre">1000,</span> <span class="pre">'space_between_holes':</span> <span class="pre">4.0,</span> <span class="pre">'space_to_border':</span> <span class="pre">4.0}</span></em><a class="headerlink" href="#boxes.fillHolesSettings.absolute_params" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.holeCol">
<span class="sig-prename descclassname"><span class="pre">boxes.</span></span><span class="sig-name descname"><span class="pre">holeCol</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#holeCol"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.holeCol" title="Permalink to this definition"></a></dt>
<dd><p>Wrapper: color holes differently</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>func</strong> function to wrap</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="boxes.restore">
<span class="sig-prename descclassname"><span class="pre">boxes.</span></span><span class="sig-name descname"><span class="pre">restore</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/boxes.html#restore"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#boxes.restore" title="Permalink to this definition"></a></dt>
<dd><p>Wrapper: Restore coordiantes after function</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>func</strong> function to wrap</p>
</dd>
</dl>
</dd></dl>
</section>
</section>
<div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="index.html">
<img class="logo" src="_static/boxes-logo.svg" alt="Logo"/>
</a></p>
<div>
<h3><a href="index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">boxes package</a><ul>
<li><a class="reference internal" href="#module-boxes.generators">Subpackage boxes.generators</a><ul>
<li><a class="reference internal" href="#boxes.generators.UIGroup"><code class="docutils literal notranslate"><span class="pre">UIGroup</span></code></a><ul>
<li><a class="reference internal" href="#boxes.generators.UIGroup.add"><code class="docutils literal notranslate"><span class="pre">UIGroup.add()</span></code></a></li>
<li><a class="reference internal" href="#boxes.generators.UIGroup.image"><code class="docutils literal notranslate"><span class="pre">UIGroup.image</span></code></a></li>
<li><a class="reference internal" href="#boxes.generators.UIGroup.thumbnail"><code class="docutils literal notranslate"><span class="pre">UIGroup.thumbnail</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.generators.getAllBoxGenerators"><code class="docutils literal notranslate"><span class="pre">getAllBoxGenerators()</span></code></a></li>
<li><a class="reference internal" href="#boxes.generators.getAllGeneratorModules"><code class="docutils literal notranslate"><span class="pre">getAllGeneratorModules()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#submodules">Submodules</a></li>
<li><a class="reference internal" href="#module-boxes.Color">boxes.Color module</a><ul>
<li><a class="reference internal" href="#boxes.Color.Color"><code class="docutils literal notranslate"><span class="pre">Color</span></code></a><ul>
<li><a class="reference internal" href="#boxes.Color.Color.ANNOTATIONS"><code class="docutils literal notranslate"><span class="pre">Color.ANNOTATIONS</span></code></a></li>
<li><a class="reference internal" href="#boxes.Color.Color.BLACK"><code class="docutils literal notranslate"><span class="pre">Color.BLACK</span></code></a></li>
<li><a class="reference internal" href="#boxes.Color.Color.BLUE"><code class="docutils literal notranslate"><span class="pre">Color.BLUE</span></code></a></li>
<li><a class="reference internal" href="#boxes.Color.Color.CYAN"><code class="docutils literal notranslate"><span class="pre">Color.CYAN</span></code></a></li>
<li><a class="reference internal" href="#boxes.Color.Color.ETCHING"><code class="docutils literal notranslate"><span class="pre">Color.ETCHING</span></code></a></li>
<li><a class="reference internal" href="#boxes.Color.Color.ETCHING_DEEP"><code class="docutils literal notranslate"><span class="pre">Color.ETCHING_DEEP</span></code></a></li>
<li><a class="reference internal" href="#boxes.Color.Color.GREEN"><code class="docutils literal notranslate"><span class="pre">Color.GREEN</span></code></a></li>
<li><a class="reference internal" href="#boxes.Color.Color.INNER_CUT"><code class="docutils literal notranslate"><span class="pre">Color.INNER_CUT</span></code></a></li>
<li><a class="reference internal" href="#boxes.Color.Color.MAGENTA"><code class="docutils literal notranslate"><span class="pre">Color.MAGENTA</span></code></a></li>
<li><a class="reference internal" href="#boxes.Color.Color.OUTER_CUT"><code class="docutils literal notranslate"><span class="pre">Color.OUTER_CUT</span></code></a></li>
<li><a class="reference internal" href="#boxes.Color.Color.RED"><code class="docutils literal notranslate"><span class="pre">Color.RED</span></code></a></li>
<li><a class="reference internal" href="#boxes.Color.Color.WHITE"><code class="docutils literal notranslate"><span class="pre">Color.WHITE</span></code></a></li>
<li><a class="reference internal" href="#boxes.Color.Color.YELLOW"><code class="docutils literal notranslate"><span class="pre">Color.YELLOW</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#module-boxes.edges">boxes.edges module</a><ul>
<li><a class="reference internal" href="#boxes.edges.BaseEdge"><code class="docutils literal notranslate"><span class="pre">BaseEdge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.BaseEdge.char"><code class="docutils literal notranslate"><span class="pre">BaseEdge.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.BaseEdge.description"><code class="docutils literal notranslate"><span class="pre">BaseEdge.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.BaseEdge.endAngle"><code class="docutils literal notranslate"><span class="pre">BaseEdge.endAngle()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.BaseEdge.endwidth"><code class="docutils literal notranslate"><span class="pre">BaseEdge.endwidth()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.BaseEdge.margin"><code class="docutils literal notranslate"><span class="pre">BaseEdge.margin()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.BaseEdge.spacing"><code class="docutils literal notranslate"><span class="pre">BaseEdge.spacing()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.BaseEdge.startAngle"><code class="docutils literal notranslate"><span class="pre">BaseEdge.startAngle()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.BaseEdge.startwidth"><code class="docutils literal notranslate"><span class="pre">BaseEdge.startwidth()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.BoltPolicy"><code class="docutils literal notranslate"><span class="pre">BoltPolicy</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.BoltPolicy.drawbolt"><code class="docutils literal notranslate"><span class="pre">BoltPolicy.drawbolt()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.BoltPolicy.numFingers"><code class="docutils literal notranslate"><span class="pre">BoltPolicy.numFingers()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.Bolts"><code class="docutils literal notranslate"><span class="pre">Bolts</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.Bolts.drawBolt"><code class="docutils literal notranslate"><span class="pre">Bolts.drawBolt()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.Bolts.numFingers"><code class="docutils literal notranslate"><span class="pre">Bolts.numFingers()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.CabinetHingeEdge"><code class="docutils literal notranslate"><span class="pre">CabinetHingeEdge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.CabinetHingeEdge.char"><code class="docutils literal notranslate"><span class="pre">CabinetHingeEdge.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.CabinetHingeEdge.description"><code class="docutils literal notranslate"><span class="pre">CabinetHingeEdge.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.CabinetHingeEdge.parts"><code class="docutils literal notranslate"><span class="pre">CabinetHingeEdge.parts()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.CabinetHingeEdge.startwidth"><code class="docutils literal notranslate"><span class="pre">CabinetHingeEdge.startwidth()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.CabinetHingeSettings"><code class="docutils literal notranslate"><span class="pre">CabinetHingeSettings</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.CabinetHingeSettings.absolute_params"><code class="docutils literal notranslate"><span class="pre">CabinetHingeSettings.absolute_params</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.CabinetHingeSettings.edgeObjects"><code class="docutils literal notranslate"><span class="pre">CabinetHingeSettings.edgeObjects()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.CabinetHingeSettings.relative_params"><code class="docutils literal notranslate"><span class="pre">CabinetHingeSettings.relative_params</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.ChestHinge"><code class="docutils literal notranslate"><span class="pre">ChestHinge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.ChestHinge.char"><code class="docutils literal notranslate"><span class="pre">ChestHinge.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ChestHinge.description"><code class="docutils literal notranslate"><span class="pre">ChestHinge.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ChestHinge.endwidth"><code class="docutils literal notranslate"><span class="pre">ChestHinge.endwidth()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ChestHinge.margin"><code class="docutils literal notranslate"><span class="pre">ChestHinge.margin()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ChestHinge.startwidth"><code class="docutils literal notranslate"><span class="pre">ChestHinge.startwidth()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.ChestHingeFront"><code class="docutils literal notranslate"><span class="pre">ChestHingeFront</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.ChestHingeFront.char"><code class="docutils literal notranslate"><span class="pre">ChestHingeFront.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ChestHingeFront.description"><code class="docutils literal notranslate"><span class="pre">ChestHingeFront.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ChestHingeFront.startwidth"><code class="docutils literal notranslate"><span class="pre">ChestHingeFront.startwidth()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.ChestHingePin"><code class="docutils literal notranslate"><span class="pre">ChestHingePin</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.ChestHingePin.char"><code class="docutils literal notranslate"><span class="pre">ChestHingePin.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ChestHingePin.description"><code class="docutils literal notranslate"><span class="pre">ChestHingePin.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ChestHingePin.margin"><code class="docutils literal notranslate"><span class="pre">ChestHingePin.margin()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.ChestHingeSettings"><code class="docutils literal notranslate"><span class="pre">ChestHingeSettings</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.ChestHingeSettings.absolute_params"><code class="docutils literal notranslate"><span class="pre">ChestHingeSettings.absolute_params</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ChestHingeSettings.checkValues"><code class="docutils literal notranslate"><span class="pre">ChestHingeSettings.checkValues()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ChestHingeSettings.edgeObjects"><code class="docutils literal notranslate"><span class="pre">ChestHingeSettings.edgeObjects()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ChestHingeSettings.pinheight"><code class="docutils literal notranslate"><span class="pre">ChestHingeSettings.pinheight()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ChestHingeSettings.relative_params"><code class="docutils literal notranslate"><span class="pre">ChestHingeSettings.relative_params</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.ChestHingeTop"><code class="docutils literal notranslate"><span class="pre">ChestHingeTop</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.ChestHingeTop.char"><code class="docutils literal notranslate"><span class="pre">ChestHingeTop.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ChestHingeTop.endwidth"><code class="docutils literal notranslate"><span class="pre">ChestHingeTop.endwidth()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ChestHingeTop.margin"><code class="docutils literal notranslate"><span class="pre">ChestHingeTop.margin()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ChestHingeTop.startwidth"><code class="docutils literal notranslate"><span class="pre">ChestHingeTop.startwidth()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.ClickConnector"><code class="docutils literal notranslate"><span class="pre">ClickConnector</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.ClickConnector.char"><code class="docutils literal notranslate"><span class="pre">ClickConnector.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ClickConnector.description"><code class="docutils literal notranslate"><span class="pre">ClickConnector.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ClickConnector.finger"><code class="docutils literal notranslate"><span class="pre">ClickConnector.finger()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ClickConnector.hook"><code class="docutils literal notranslate"><span class="pre">ClickConnector.hook()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ClickConnector.hookOffset"><code class="docutils literal notranslate"><span class="pre">ClickConnector.hookOffset()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ClickConnector.hookWidth"><code class="docutils literal notranslate"><span class="pre">ClickConnector.hookWidth()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ClickConnector.margin"><code class="docutils literal notranslate"><span class="pre">ClickConnector.margin()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.ClickEdge"><code class="docutils literal notranslate"><span class="pre">ClickEdge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.ClickEdge.char"><code class="docutils literal notranslate"><span class="pre">ClickEdge.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ClickEdge.description"><code class="docutils literal notranslate"><span class="pre">ClickEdge.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ClickEdge.margin"><code class="docutils literal notranslate"><span class="pre">ClickEdge.margin()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ClickEdge.startwidth"><code class="docutils literal notranslate"><span class="pre">ClickEdge.startwidth()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.ClickSettings"><code class="docutils literal notranslate"><span class="pre">ClickSettings</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.ClickSettings.absolute_params"><code class="docutils literal notranslate"><span class="pre">ClickSettings.absolute_params</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ClickSettings.edgeObjects"><code class="docutils literal notranslate"><span class="pre">ClickSettings.edgeObjects()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.ClickSettings.relative_params"><code class="docutils literal notranslate"><span class="pre">ClickSettings.relative_params</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.CompoundEdge"><code class="docutils literal notranslate"><span class="pre">CompoundEdge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.CompoundEdge.description"><code class="docutils literal notranslate"><span class="pre">CompoundEdge.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.CompoundEdge.endwidth"><code class="docutils literal notranslate"><span class="pre">CompoundEdge.endwidth()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.CompoundEdge.margin"><code class="docutils literal notranslate"><span class="pre">CompoundEdge.margin()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.CompoundEdge.startwidth"><code class="docutils literal notranslate"><span class="pre">CompoundEdge.startwidth()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.CrossingFingerHoleEdge"><code class="docutils literal notranslate"><span class="pre">CrossingFingerHoleEdge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.CrossingFingerHoleEdge.char"><code class="docutils literal notranslate"><span class="pre">CrossingFingerHoleEdge.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.CrossingFingerHoleEdge.description"><code class="docutils literal notranslate"><span class="pre">CrossingFingerHoleEdge.description</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.DoveTailJoint"><code class="docutils literal notranslate"><span class="pre">DoveTailJoint</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.DoveTailJoint.char"><code class="docutils literal notranslate"><span class="pre">DoveTailJoint.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.DoveTailJoint.description"><code class="docutils literal notranslate"><span class="pre">DoveTailJoint.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.DoveTailJoint.margin"><code class="docutils literal notranslate"><span class="pre">DoveTailJoint.margin()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.DoveTailJoint.positive"><code class="docutils literal notranslate"><span class="pre">DoveTailJoint.positive</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.DoveTailJointCounterPart"><code class="docutils literal notranslate"><span class="pre">DoveTailJointCounterPart</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.DoveTailJointCounterPart.char"><code class="docutils literal notranslate"><span class="pre">DoveTailJointCounterPart.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.DoveTailJointCounterPart.description"><code class="docutils literal notranslate"><span class="pre">DoveTailJointCounterPart.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.DoveTailJointCounterPart.margin"><code class="docutils literal notranslate"><span class="pre">DoveTailJointCounterPart.margin()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.DoveTailJointCounterPart.positive"><code class="docutils literal notranslate"><span class="pre">DoveTailJointCounterPart.positive</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.DoveTailSettings"><code class="docutils literal notranslate"><span class="pre">DoveTailSettings</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.DoveTailSettings.absolute_params"><code class="docutils literal notranslate"><span class="pre">DoveTailSettings.absolute_params</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.DoveTailSettings.edgeObjects"><code class="docutils literal notranslate"><span class="pre">DoveTailSettings.edgeObjects()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.DoveTailSettings.relative_params"><code class="docutils literal notranslate"><span class="pre">DoveTailSettings.relative_params</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.Edge"><code class="docutils literal notranslate"><span class="pre">Edge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.Edge.char"><code class="docutils literal notranslate"><span class="pre">Edge.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.Edge.description"><code class="docutils literal notranslate"><span class="pre">Edge.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.Edge.positive"><code class="docutils literal notranslate"><span class="pre">Edge.positive</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.FingerHoleEdge"><code class="docutils literal notranslate"><span class="pre">FingerHoleEdge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.FingerHoleEdge.char"><code class="docutils literal notranslate"><span class="pre">FingerHoleEdge.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.FingerHoleEdge.description"><code class="docutils literal notranslate"><span class="pre">FingerHoleEdge.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.FingerHoleEdge.startwidth"><code class="docutils literal notranslate"><span class="pre">FingerHoleEdge.startwidth()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.FingerHoles"><code class="docutils literal notranslate"><span class="pre">FingerHoles</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.FingerJointBase"><code class="docutils literal notranslate"><span class="pre">FingerJointBase</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.FingerJointBase.calcFingers"><code class="docutils literal notranslate"><span class="pre">FingerJointBase.calcFingers()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.FingerJointBase.fingerLength"><code class="docutils literal notranslate"><span class="pre">FingerJointBase.fingerLength()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.FingerJointEdge"><code class="docutils literal notranslate"><span class="pre">FingerJointEdge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.FingerJointEdge.char"><code class="docutils literal notranslate"><span class="pre">FingerJointEdge.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.FingerJointEdge.description"><code class="docutils literal notranslate"><span class="pre">FingerJointEdge.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.FingerJointEdge.draw_finger"><code class="docutils literal notranslate"><span class="pre">FingerJointEdge.draw_finger()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.FingerJointEdge.margin"><code class="docutils literal notranslate"><span class="pre">FingerJointEdge.margin()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.FingerJointEdge.positive"><code class="docutils literal notranslate"><span class="pre">FingerJointEdge.positive</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.FingerJointEdge.startwidth"><code class="docutils literal notranslate"><span class="pre">FingerJointEdge.startwidth()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.FingerJointEdgeCounterPart"><code class="docutils literal notranslate"><span class="pre">FingerJointEdgeCounterPart</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.FingerJointEdgeCounterPart.char"><code class="docutils literal notranslate"><span class="pre">FingerJointEdgeCounterPart.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.FingerJointEdgeCounterPart.description"><code class="docutils literal notranslate"><span class="pre">FingerJointEdgeCounterPart.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.FingerJointEdgeCounterPart.positive"><code class="docutils literal notranslate"><span class="pre">FingerJointEdgeCounterPart.positive</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.FingerJointSettings"><code class="docutils literal notranslate"><span class="pre">FingerJointSettings</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.FingerJointSettings.absolute_params"><code class="docutils literal notranslate"><span class="pre">FingerJointSettings.absolute_params</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.FingerJointSettings.checkValues"><code class="docutils literal notranslate"><span class="pre">FingerJointSettings.checkValues()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.FingerJointSettings.edgeObjects"><code class="docutils literal notranslate"><span class="pre">FingerJointSettings.edgeObjects()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.FingerJointSettings.relative_params"><code class="docutils literal notranslate"><span class="pre">FingerJointSettings.relative_params</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.FlexEdge"><code class="docutils literal notranslate"><span class="pre">FlexEdge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.FlexEdge.char"><code class="docutils literal notranslate"><span class="pre">FlexEdge.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.FlexEdge.description"><code class="docutils literal notranslate"><span class="pre">FlexEdge.description</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.FlexSettings"><code class="docutils literal notranslate"><span class="pre">FlexSettings</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.FlexSettings.absolute_params"><code class="docutils literal notranslate"><span class="pre">FlexSettings.absolute_params</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.FlexSettings.checkValues"><code class="docutils literal notranslate"><span class="pre">FlexSettings.checkValues()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.FlexSettings.relative_params"><code class="docutils literal notranslate"><span class="pre">FlexSettings.relative_params</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.GearSettings"><code class="docutils literal notranslate"><span class="pre">GearSettings</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.GearSettings.absolute_params"><code class="docutils literal notranslate"><span class="pre">GearSettings.absolute_params</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.GearSettings.relative_params"><code class="docutils literal notranslate"><span class="pre">GearSettings.relative_params</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.GripSettings"><code class="docutils literal notranslate"><span class="pre">GripSettings</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.GripSettings.absolute_params"><code class="docutils literal notranslate"><span class="pre">GripSettings.absolute_params</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.GripSettings.edgeObjects"><code class="docutils literal notranslate"><span class="pre">GripSettings.edgeObjects()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.GripSettings.relative_params"><code class="docutils literal notranslate"><span class="pre">GripSettings.relative_params</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.GrippingEdge"><code class="docutils literal notranslate"><span class="pre">GrippingEdge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.GrippingEdge.bumps"><code class="docutils literal notranslate"><span class="pre">GrippingEdge.bumps()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.GrippingEdge.char"><code class="docutils literal notranslate"><span class="pre">GrippingEdge.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.GrippingEdge.description"><code class="docutils literal notranslate"><span class="pre">GrippingEdge.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.GrippingEdge.margin"><code class="docutils literal notranslate"><span class="pre">GrippingEdge.margin()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.GrippingEdge.wave"><code class="docutils literal notranslate"><span class="pre">GrippingEdge.wave()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.GroovedEdge"><code class="docutils literal notranslate"><span class="pre">GroovedEdge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.GroovedEdge.char"><code class="docutils literal notranslate"><span class="pre">GroovedEdge.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.GroovedEdge.description"><code class="docutils literal notranslate"><span class="pre">GroovedEdge.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.GroovedEdge.inverse"><code class="docutils literal notranslate"><span class="pre">GroovedEdge.inverse</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.GroovedEdgeBase"><code class="docutils literal notranslate"><span class="pre">GroovedEdgeBase</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.GroovedEdgeBase.groove_arc"><code class="docutils literal notranslate"><span class="pre">GroovedEdgeBase.groove_arc()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.GroovedEdgeBase.groove_soft_arc"><code class="docutils literal notranslate"><span class="pre">GroovedEdgeBase.groove_soft_arc()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.GroovedEdgeBase.groove_triangle"><code class="docutils literal notranslate"><span class="pre">GroovedEdgeBase.groove_triangle()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.GroovedEdgeBase.is_inverse"><code class="docutils literal notranslate"><span class="pre">GroovedEdgeBase.is_inverse()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.GroovedEdgeCounterPart"><code class="docutils literal notranslate"><span class="pre">GroovedEdgeCounterPart</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.GroovedEdgeCounterPart.char"><code class="docutils literal notranslate"><span class="pre">GroovedEdgeCounterPart.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.GroovedEdgeCounterPart.description"><code class="docutils literal notranslate"><span class="pre">GroovedEdgeCounterPart.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.GroovedEdgeCounterPart.inverse"><code class="docutils literal notranslate"><span class="pre">GroovedEdgeCounterPart.inverse</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.GroovedSettings"><code class="docutils literal notranslate"><span class="pre">GroovedSettings</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.GroovedSettings.PARAM_ARC"><code class="docutils literal notranslate"><span class="pre">GroovedSettings.PARAM_ARC</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.GroovedSettings.PARAM_FLAT"><code class="docutils literal notranslate"><span class="pre">GroovedSettings.PARAM_FLAT</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.GroovedSettings.PARAM_SOFTARC"><code class="docutils literal notranslate"><span class="pre">GroovedSettings.PARAM_SOFTARC</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.GroovedSettings.PARAM_TRIANGLE"><code class="docutils literal notranslate"><span class="pre">GroovedSettings.PARAM_TRIANGLE</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.GroovedSettings.absolute_params"><code class="docutils literal notranslate"><span class="pre">GroovedSettings.absolute_params</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.GroovedSettings.edgeObjects"><code class="docutils literal notranslate"><span class="pre">GroovedSettings.edgeObjects()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.HandleEdge"><code class="docutils literal notranslate"><span class="pre">HandleEdge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.HandleEdge.char"><code class="docutils literal notranslate"><span class="pre">HandleEdge.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.HandleEdge.description"><code class="docutils literal notranslate"><span class="pre">HandleEdge.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.HandleEdge.extra_height"><code class="docutils literal notranslate"><span class="pre">HandleEdge.extra_height</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.HandleEdge.margin"><code class="docutils literal notranslate"><span class="pre">HandleEdge.margin()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.HandleEdgeSettings"><code class="docutils literal notranslate"><span class="pre">HandleEdgeSettings</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.HandleEdgeSettings.absolute_params"><code class="docutils literal notranslate"><span class="pre">HandleEdgeSettings.absolute_params</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.HandleEdgeSettings.edgeObjects"><code class="docutils literal notranslate"><span class="pre">HandleEdgeSettings.edgeObjects()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.HandleEdgeSettings.relative_params"><code class="docutils literal notranslate"><span class="pre">HandleEdgeSettings.relative_params</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.HandleHoleEdge"><code class="docutils literal notranslate"><span class="pre">HandleHoleEdge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.HandleHoleEdge.char"><code class="docutils literal notranslate"><span class="pre">HandleHoleEdge.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.HandleHoleEdge.description"><code class="docutils literal notranslate"><span class="pre">HandleHoleEdge.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.HandleHoleEdge.extra_height"><code class="docutils literal notranslate"><span class="pre">HandleHoleEdge.extra_height</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.HandleHoleEdge.margin"><code class="docutils literal notranslate"><span class="pre">HandleHoleEdge.margin()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.Hinge"><code class="docutils literal notranslate"><span class="pre">Hinge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.Hinge.char"><code class="docutils literal notranslate"><span class="pre">Hinge.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.Hinge.description"><code class="docutils literal notranslate"><span class="pre">Hinge.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.Hinge.flush"><code class="docutils literal notranslate"><span class="pre">Hinge.flush()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.Hinge.flushlen"><code class="docutils literal notranslate"><span class="pre">Hinge.flushlen()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.Hinge.margin"><code class="docutils literal notranslate"><span class="pre">Hinge.margin()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.Hinge.outset"><code class="docutils literal notranslate"><span class="pre">Hinge.outset()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.Hinge.outsetlen"><code class="docutils literal notranslate"><span class="pre">Hinge.outsetlen()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.HingePin"><code class="docutils literal notranslate"><span class="pre">HingePin</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.HingePin.char"><code class="docutils literal notranslate"><span class="pre">HingePin.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.HingePin.description"><code class="docutils literal notranslate"><span class="pre">HingePin.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.HingePin.endwidth"><code class="docutils literal notranslate"><span class="pre">HingePin.endwidth()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.HingePin.flush"><code class="docutils literal notranslate"><span class="pre">HingePin.flush()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.HingePin.flushlen"><code class="docutils literal notranslate"><span class="pre">HingePin.flushlen()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.HingePin.margin"><code class="docutils literal notranslate"><span class="pre">HingePin.margin()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.HingePin.outset"><code class="docutils literal notranslate"><span class="pre">HingePin.outset()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.HingePin.outsetlen"><code class="docutils literal notranslate"><span class="pre">HingePin.outsetlen()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.HingePin.startwidth"><code class="docutils literal notranslate"><span class="pre">HingePin.startwidth()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.HingeSettings"><code class="docutils literal notranslate"><span class="pre">HingeSettings</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.HingeSettings.absolute_params"><code class="docutils literal notranslate"><span class="pre">HingeSettings.absolute_params</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.HingeSettings.checkValues"><code class="docutils literal notranslate"><span class="pre">HingeSettings.checkValues()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.HingeSettings.edgeObjects"><code class="docutils literal notranslate"><span class="pre">HingeSettings.edgeObjects()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.HingeSettings.relative_params"><code class="docutils literal notranslate"><span class="pre">HingeSettings.relative_params</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.LidEdge"><code class="docutils literal notranslate"><span class="pre">LidEdge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.LidEdge.char"><code class="docutils literal notranslate"><span class="pre">LidEdge.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.LidEdge.description"><code class="docutils literal notranslate"><span class="pre">LidEdge.description</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.LidHoleEdge"><code class="docutils literal notranslate"><span class="pre">LidHoleEdge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.LidHoleEdge.char"><code class="docutils literal notranslate"><span class="pre">LidHoleEdge.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.LidHoleEdge.description"><code class="docutils literal notranslate"><span class="pre">LidHoleEdge.description</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.LidLeft"><code class="docutils literal notranslate"><span class="pre">LidLeft</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.LidLeft.char"><code class="docutils literal notranslate"><span class="pre">LidLeft.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.LidLeft.description"><code class="docutils literal notranslate"><span class="pre">LidLeft.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.LidLeft.rightside"><code class="docutils literal notranslate"><span class="pre">LidLeft.rightside</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.LidRight"><code class="docutils literal notranslate"><span class="pre">LidRight</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.LidRight.char"><code class="docutils literal notranslate"><span class="pre">LidRight.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.LidRight.description"><code class="docutils literal notranslate"><span class="pre">LidRight.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.LidRight.endwidth"><code class="docutils literal notranslate"><span class="pre">LidRight.endwidth()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.LidRight.margin"><code class="docutils literal notranslate"><span class="pre">LidRight.margin()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.LidRight.rightside"><code class="docutils literal notranslate"><span class="pre">LidRight.rightside</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.LidRight.startwidth"><code class="docutils literal notranslate"><span class="pre">LidRight.startwidth()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.LidSettings"><code class="docutils literal notranslate"><span class="pre">LidSettings</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.LidSettings.absolute_params"><code class="docutils literal notranslate"><span class="pre">LidSettings.absolute_params</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.LidSettings.edgeObjects"><code class="docutils literal notranslate"><span class="pre">LidSettings.edgeObjects()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.LidSettings.relative_params"><code class="docutils literal notranslate"><span class="pre">LidSettings.relative_params</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.LidSideLeft"><code class="docutils literal notranslate"><span class="pre">LidSideLeft</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.LidSideLeft.char"><code class="docutils literal notranslate"><span class="pre">LidSideLeft.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.LidSideLeft.description"><code class="docutils literal notranslate"><span class="pre">LidSideLeft.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.LidSideLeft.rightside"><code class="docutils literal notranslate"><span class="pre">LidSideLeft.rightside</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.LidSideRight"><code class="docutils literal notranslate"><span class="pre">LidSideRight</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.LidSideRight.char"><code class="docutils literal notranslate"><span class="pre">LidSideRight.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.LidSideRight.description"><code class="docutils literal notranslate"><span class="pre">LidSideRight.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.LidSideRight.endwidth"><code class="docutils literal notranslate"><span class="pre">LidSideRight.endwidth()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.LidSideRight.margin"><code class="docutils literal notranslate"><span class="pre">LidSideRight.margin()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.LidSideRight.rightside"><code class="docutils literal notranslate"><span class="pre">LidSideRight.rightside</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.LidSideRight.startwidth"><code class="docutils literal notranslate"><span class="pre">LidSideRight.startwidth()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.MountingEdge"><code class="docutils literal notranslate"><span class="pre">MountingEdge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.MountingEdge.char"><code class="docutils literal notranslate"><span class="pre">MountingEdge.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.MountingEdge.description"><code class="docutils literal notranslate"><span class="pre">MountingEdge.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.MountingEdge.margin"><code class="docutils literal notranslate"><span class="pre">MountingEdge.margin()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.MountingEdge.startwidth"><code class="docutils literal notranslate"><span class="pre">MountingEdge.startwidth()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.MountingSettings"><code class="docutils literal notranslate"><span class="pre">MountingSettings</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.MountingSettings.PARAM_BACK"><code class="docutils literal notranslate"><span class="pre">MountingSettings.PARAM_BACK</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.MountingSettings.PARAM_EXT"><code class="docutils literal notranslate"><span class="pre">MountingSettings.PARAM_EXT</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.MountingSettings.PARAM_FRONT"><code class="docutils literal notranslate"><span class="pre">MountingSettings.PARAM_FRONT</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.MountingSettings.PARAM_IN"><code class="docutils literal notranslate"><span class="pre">MountingSettings.PARAM_IN</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.MountingSettings.PARAM_LEFT"><code class="docutils literal notranslate"><span class="pre">MountingSettings.PARAM_LEFT</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.MountingSettings.PARAM_RIGHT"><code class="docutils literal notranslate"><span class="pre">MountingSettings.PARAM_RIGHT</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.MountingSettings.PARAM_TAB"><code class="docutils literal notranslate"><span class="pre">MountingSettings.PARAM_TAB</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.MountingSettings.absolute_params"><code class="docutils literal notranslate"><span class="pre">MountingSettings.absolute_params</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.MountingSettings.edgeObjects"><code class="docutils literal notranslate"><span class="pre">MountingSettings.edgeObjects()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.OutSetEdge"><code class="docutils literal notranslate"><span class="pre">OutSetEdge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.OutSetEdge.char"><code class="docutils literal notranslate"><span class="pre">OutSetEdge.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.OutSetEdge.description"><code class="docutils literal notranslate"><span class="pre">OutSetEdge.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.OutSetEdge.positive"><code class="docutils literal notranslate"><span class="pre">OutSetEdge.positive</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.OutSetEdge.startwidth"><code class="docutils literal notranslate"><span class="pre">OutSetEdge.startwidth()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.RackEdge"><code class="docutils literal notranslate"><span class="pre">RackEdge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.RackEdge.char"><code class="docutils literal notranslate"><span class="pre">RackEdge.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.RackEdge.description"><code class="docutils literal notranslate"><span class="pre">RackEdge.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.RackEdge.margin"><code class="docutils literal notranslate"><span class="pre">RackEdge.margin()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.RoundedTriangleEdge"><code class="docutils literal notranslate"><span class="pre">RoundedTriangleEdge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.RoundedTriangleEdge.char"><code class="docutils literal notranslate"><span class="pre">RoundedTriangleEdge.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.RoundedTriangleEdge.description"><code class="docutils literal notranslate"><span class="pre">RoundedTriangleEdge.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.RoundedTriangleEdge.margin"><code class="docutils literal notranslate"><span class="pre">RoundedTriangleEdge.margin()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.RoundedTriangleEdgeSettings"><code class="docutils literal notranslate"><span class="pre">RoundedTriangleEdgeSettings</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.RoundedTriangleEdgeSettings.absolute_params"><code class="docutils literal notranslate"><span class="pre">RoundedTriangleEdgeSettings.absolute_params</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.RoundedTriangleEdgeSettings.edgeObjects"><code class="docutils literal notranslate"><span class="pre">RoundedTriangleEdgeSettings.edgeObjects()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.RoundedTriangleEdgeSettings.relative_params"><code class="docutils literal notranslate"><span class="pre">RoundedTriangleEdgeSettings.relative_params</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.RoundedTriangleFingerHolesEdge"><code class="docutils literal notranslate"><span class="pre">RoundedTriangleFingerHolesEdge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.RoundedTriangleFingerHolesEdge.char"><code class="docutils literal notranslate"><span class="pre">RoundedTriangleFingerHolesEdge.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.RoundedTriangleFingerHolesEdge.startwidth"><code class="docutils literal notranslate"><span class="pre">RoundedTriangleFingerHolesEdge.startwidth()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.Settings"><code class="docutils literal notranslate"><span class="pre">Settings</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.Settings.absolute_params"><code class="docutils literal notranslate"><span class="pre">Settings.absolute_params</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.Settings.checkValues"><code class="docutils literal notranslate"><span class="pre">Settings.checkValues()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.Settings.edgeObjects"><code class="docutils literal notranslate"><span class="pre">Settings.edgeObjects()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.Settings.parserArguments"><code class="docutils literal notranslate"><span class="pre">Settings.parserArguments()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.Settings.relative_params"><code class="docutils literal notranslate"><span class="pre">Settings.relative_params</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.Settings.setValues"><code class="docutils literal notranslate"><span class="pre">Settings.setValues()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.Slot"><code class="docutils literal notranslate"><span class="pre">Slot</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.Slot.description"><code class="docutils literal notranslate"><span class="pre">Slot.description</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.SlottedEdge"><code class="docutils literal notranslate"><span class="pre">SlottedEdge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.SlottedEdge.description"><code class="docutils literal notranslate"><span class="pre">SlottedEdge.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.SlottedEdge.endwidth"><code class="docutils literal notranslate"><span class="pre">SlottedEdge.endwidth()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.SlottedEdge.margin"><code class="docutils literal notranslate"><span class="pre">SlottedEdge.margin()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.SlottedEdge.startwidth"><code class="docutils literal notranslate"><span class="pre">SlottedEdge.startwidth()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.StackableBaseEdge"><code class="docutils literal notranslate"><span class="pre">StackableBaseEdge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.StackableBaseEdge.bottom"><code class="docutils literal notranslate"><span class="pre">StackableBaseEdge.bottom</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.StackableBaseEdge.char"><code class="docutils literal notranslate"><span class="pre">StackableBaseEdge.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.StackableBaseEdge.description"><code class="docutils literal notranslate"><span class="pre">StackableBaseEdge.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.StackableBaseEdge.margin"><code class="docutils literal notranslate"><span class="pre">StackableBaseEdge.margin()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.StackableBaseEdge.startwidth"><code class="docutils literal notranslate"><span class="pre">StackableBaseEdge.startwidth()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.StackableEdge"><code class="docutils literal notranslate"><span class="pre">StackableEdge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.StackableEdge.char"><code class="docutils literal notranslate"><span class="pre">StackableEdge.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.StackableEdge.description"><code class="docutils literal notranslate"><span class="pre">StackableEdge.description</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.StackableEdgeTop"><code class="docutils literal notranslate"><span class="pre">StackableEdgeTop</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.StackableEdgeTop.bottom"><code class="docutils literal notranslate"><span class="pre">StackableEdgeTop.bottom</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.StackableEdgeTop.char"><code class="docutils literal notranslate"><span class="pre">StackableEdgeTop.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.StackableEdgeTop.description"><code class="docutils literal notranslate"><span class="pre">StackableEdgeTop.description</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.StackableFeet"><code class="docutils literal notranslate"><span class="pre">StackableFeet</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.StackableFeet.char"><code class="docutils literal notranslate"><span class="pre">StackableFeet.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.StackableFeet.description"><code class="docutils literal notranslate"><span class="pre">StackableFeet.description</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.StackableHoleEdgeTop"><code class="docutils literal notranslate"><span class="pre">StackableHoleEdgeTop</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.StackableHoleEdgeTop.bottom"><code class="docutils literal notranslate"><span class="pre">StackableHoleEdgeTop.bottom</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.StackableHoleEdgeTop.char"><code class="docutils literal notranslate"><span class="pre">StackableHoleEdgeTop.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.StackableHoleEdgeTop.description"><code class="docutils literal notranslate"><span class="pre">StackableHoleEdgeTop.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.StackableHoleEdgeTop.startwidth"><code class="docutils literal notranslate"><span class="pre">StackableHoleEdgeTop.startwidth()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.StackableSettings"><code class="docutils literal notranslate"><span class="pre">StackableSettings</span></code></a><ul>
<li><a class="reference internal" href="#boxes.edges.StackableSettings.absolute_params"><code class="docutils literal notranslate"><span class="pre">StackableSettings.absolute_params</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.StackableSettings.checkValues"><code class="docutils literal notranslate"><span class="pre">StackableSettings.checkValues()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.StackableSettings.edgeObjects"><code class="docutils literal notranslate"><span class="pre">StackableSettings.edgeObjects()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.StackableSettings.relative_params"><code class="docutils literal notranslate"><span class="pre">StackableSettings.relative_params</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.edges.argparseSections"><code class="docutils literal notranslate"><span class="pre">argparseSections()</span></code></a></li>
<li><a class="reference internal" href="#boxes.edges.getDescriptions"><code class="docutils literal notranslate"><span class="pre">getDescriptions()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#module-boxes.formats">boxes.formats module</a><ul>
<li><a class="reference internal" href="#boxes.formats.Formats"><code class="docutils literal notranslate"><span class="pre">Formats</span></code></a><ul>
<li><a class="reference internal" href="#boxes.formats.Formats.convert"><code class="docutils literal notranslate"><span class="pre">Formats.convert()</span></code></a></li>
<li><a class="reference internal" href="#boxes.formats.Formats.formats"><code class="docutils literal notranslate"><span class="pre">Formats.formats</span></code></a></li>
<li><a class="reference internal" href="#boxes.formats.Formats.getFormats"><code class="docutils literal notranslate"><span class="pre">Formats.getFormats()</span></code></a></li>
<li><a class="reference internal" href="#boxes.formats.Formats.getSurface"><code class="docutils literal notranslate"><span class="pre">Formats.getSurface()</span></code></a></li>
<li><a class="reference internal" href="#boxes.formats.Formats.http_headers"><code class="docutils literal notranslate"><span class="pre">Formats.http_headers</span></code></a></li>
<li><a class="reference internal" href="#boxes.formats.Formats.pstoedit_candidates"><code class="docutils literal notranslate"><span class="pre">Formats.pstoedit_candidates</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#module-boxes.gears">boxes.gears module</a><ul>
<li><a class="reference internal" href="#boxes.gears.Gears"><code class="docutils literal notranslate"><span class="pre">Gears</span></code></a><ul>
<li><a class="reference internal" href="#boxes.gears.Gears.calc_circular_pitch"><code class="docutils literal notranslate"><span class="pre">Gears.calc_circular_pitch()</span></code></a></li>
<li><a class="reference internal" href="#boxes.gears.Gears.drawPoints"><code class="docutils literal notranslate"><span class="pre">Gears.drawPoints()</span></code></a></li>
<li><a class="reference internal" href="#boxes.gears.Gears.gearCarrier"><code class="docutils literal notranslate"><span class="pre">Gears.gearCarrier()</span></code></a></li>
<li><a class="reference internal" href="#boxes.gears.Gears.generate_spokes"><code class="docutils literal notranslate"><span class="pre">Gears.generate_spokes()</span></code></a></li>
<li><a class="reference internal" href="#boxes.gears.Gears.sizes"><code class="docutils literal notranslate"><span class="pre">Gears.sizes()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.gears.OptionParser"><code class="docutils literal notranslate"><span class="pre">OptionParser</span></code></a><ul>
<li><a class="reference internal" href="#boxes.gears.OptionParser.add_option"><code class="docutils literal notranslate"><span class="pre">OptionParser.add_option()</span></code></a></li>
<li><a class="reference internal" href="#boxes.gears.OptionParser.types"><code class="docutils literal notranslate"><span class="pre">OptionParser.types</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.gears.gear_calculations"><code class="docutils literal notranslate"><span class="pre">gear_calculations()</span></code></a></li>
<li><a class="reference internal" href="#boxes.gears.generate_rack_points"><code class="docutils literal notranslate"><span class="pre">generate_rack_points()</span></code></a></li>
<li><a class="reference internal" href="#boxes.gears.generate_spur_points"><code class="docutils literal notranslate"><span class="pre">generate_spur_points()</span></code></a></li>
<li><a class="reference internal" href="#boxes.gears.have_undercut"><code class="docutils literal notranslate"><span class="pre">have_undercut()</span></code></a></li>
<li><a class="reference internal" href="#boxes.gears.inkbool"><code class="docutils literal notranslate"><span class="pre">inkbool()</span></code></a></li>
<li><a class="reference internal" href="#boxes.gears.involute_intersect_angle"><code class="docutils literal notranslate"><span class="pre">involute_intersect_angle()</span></code></a></li>
<li><a class="reference internal" href="#boxes.gears.linspace"><code class="docutils literal notranslate"><span class="pre">linspace()</span></code></a></li>
<li><a class="reference internal" href="#boxes.gears.point_on_circle"><code class="docutils literal notranslate"><span class="pre">point_on_circle()</span></code></a></li>
<li><a class="reference internal" href="#boxes.gears.undercut_max_k"><code class="docutils literal notranslate"><span class="pre">undercut_max_k()</span></code></a></li>
<li><a class="reference internal" href="#boxes.gears.undercut_min_angle"><code class="docutils literal notranslate"><span class="pre">undercut_min_angle()</span></code></a></li>
<li><a class="reference internal" href="#boxes.gears.undercut_min_teeth"><code class="docutils literal notranslate"><span class="pre">undercut_min_teeth()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#module-boxes.lids">boxes.lids module</a></li>
<li><a class="reference internal" href="#boxes-mounts-module">boxes.mounts module</a></li>
<li><a class="reference internal" href="#module-boxes.parts">boxes.parts module</a><ul>
<li><a class="reference internal" href="#boxes.parts.Parts"><code class="docutils literal notranslate"><span class="pre">Parts</span></code></a><ul>
<li><a class="reference internal" href="#boxes.parts.Parts.concaveKnob"><code class="docutils literal notranslate"><span class="pre">Parts.concaveKnob()</span></code></a></li>
<li><a class="reference internal" href="#boxes.parts.Parts.disc"><code class="docutils literal notranslate"><span class="pre">Parts.disc()</span></code></a></li>
<li><a class="reference internal" href="#boxes.parts.Parts.ringSegment"><code class="docutils literal notranslate"><span class="pre">Parts.ringSegment()</span></code></a></li>
<li><a class="reference internal" href="#boxes.parts.Parts.waivyKnob"><code class="docutils literal notranslate"><span class="pre">Parts.waivyKnob()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.parts.arcOnCircle"><code class="docutils literal notranslate"><span class="pre">arcOnCircle()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#module-boxes.pulley">boxes.pulley module</a><ul>
<li><a class="reference internal" href="#boxes.pulley.Pulley"><code class="docutils literal notranslate"><span class="pre">Pulley</span></code></a><ul>
<li><a class="reference internal" href="#boxes.pulley.Pulley.diameter"><code class="docutils literal notranslate"><span class="pre">Pulley.diameter()</span></code></a></li>
<li><a class="reference internal" href="#boxes.pulley.Pulley.drawPoints"><code class="docutils literal notranslate"><span class="pre">Pulley.drawPoints()</span></code></a></li>
<li><a class="reference internal" href="#boxes.pulley.Pulley.getProfiles"><code class="docutils literal notranslate"><span class="pre">Pulley.getProfiles()</span></code></a></li>
<li><a class="reference internal" href="#boxes.pulley.Pulley.profile_data"><code class="docutils literal notranslate"><span class="pre">Pulley.profile_data</span></code></a></li>
<li><a class="reference internal" href="#boxes.pulley.Pulley.spacing"><code class="docutils literal notranslate"><span class="pre">Pulley.spacing</span></code></a></li>
<li><a class="reference internal" href="#boxes.pulley.Pulley.teeth"><code class="docutils literal notranslate"><span class="pre">Pulley.teeth</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.pulley.mirrorx"><code class="docutils literal notranslate"><span class="pre">mirrorx()</span></code></a></li>
<li><a class="reference internal" href="#boxes.pulley.tooth_spaceing_curvefit"><code class="docutils literal notranslate"><span class="pre">tooth_spaceing_curvefit()</span></code></a></li>
<li><a class="reference internal" href="#boxes.pulley.tooth_spacing"><code class="docutils literal notranslate"><span class="pre">tooth_spacing()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#module-boxes.robot">boxes.robot module</a><ul>
<li><a class="reference internal" href="#boxes.robot.RobotArg"><code class="docutils literal notranslate"><span class="pre">RobotArg</span></code></a><ul>
<li><a class="reference internal" href="#boxes.robot.RobotArg.choices"><code class="docutils literal notranslate"><span class="pre">RobotArg.choices()</span></code></a></li>
<li><a class="reference internal" href="#boxes.robot.RobotArg.html"><code class="docutils literal notranslate"><span class="pre">RobotArg.html()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.robot.RobotArmMM"><code class="docutils literal notranslate"><span class="pre">RobotArmMM</span></code></a></li>
<li><a class="reference internal" href="#boxes.robot.RobotArmMm"><code class="docutils literal notranslate"><span class="pre">RobotArmMm</span></code></a></li>
<li><a class="reference internal" href="#boxes.robot.RobotArmMu"><code class="docutils literal notranslate"><span class="pre">RobotArmMu</span></code></a></li>
<li><a class="reference internal" href="#boxes.robot.RobotArmUU"><code class="docutils literal notranslate"><span class="pre">RobotArmUU</span></code></a></li>
<li><a class="reference internal" href="#boxes.robot.RobotArmUu"><code class="docutils literal notranslate"><span class="pre">RobotArmUu</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#module-boxes.servos">boxes.servos module</a><ul>
<li><a class="reference internal" href="#boxes.servos.EyeEdge"><code class="docutils literal notranslate"><span class="pre">EyeEdge</span></code></a><ul>
<li><a class="reference internal" href="#boxes.servos.EyeEdge.char"><code class="docutils literal notranslate"><span class="pre">EyeEdge.char</span></code></a></li>
<li><a class="reference internal" href="#boxes.servos.EyeEdge.margin"><code class="docutils literal notranslate"><span class="pre">EyeEdge.margin()</span></code></a></li>
<li><a class="reference internal" href="#boxes.servos.EyeEdge.startwidth"><code class="docutils literal notranslate"><span class="pre">EyeEdge.startwidth()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.servos.Servo"><code class="docutils literal notranslate"><span class="pre">Servo</span></code></a><ul>
<li><a class="reference internal" href="#boxes.servos.Servo.edges"><code class="docutils literal notranslate"><span class="pre">Servo.edges()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.servos.Servo9g"><code class="docutils literal notranslate"><span class="pre">Servo9g</span></code></a><ul>
<li><a class="reference internal" href="#boxes.servos.Servo9g.axle_pos"><code class="docutils literal notranslate"><span class="pre">Servo9g.axle_pos</span></code></a></li>
<li><a class="reference internal" href="#boxes.servos.Servo9g.bottom"><code class="docutils literal notranslate"><span class="pre">Servo9g.bottom()</span></code></a></li>
<li><a class="reference internal" href="#boxes.servos.Servo9g.front"><code class="docutils literal notranslate"><span class="pre">Servo9g.front()</span></code></a></li>
<li><a class="reference internal" href="#boxes.servos.Servo9g.height"><code class="docutils literal notranslate"><span class="pre">Servo9g.height</span></code></a></li>
<li><a class="reference internal" href="#boxes.servos.Servo9g.hinge_depth"><code class="docutils literal notranslate"><span class="pre">Servo9g.hinge_depth()</span></code></a></li>
<li><a class="reference internal" href="#boxes.servos.Servo9g.hinge_width"><code class="docutils literal notranslate"><span class="pre">Servo9g.hinge_width()</span></code></a></li>
<li><a class="reference internal" href="#boxes.servos.Servo9g.length"><code class="docutils literal notranslate"><span class="pre">Servo9g.length</span></code></a></li>
<li><a class="reference internal" href="#boxes.servos.Servo9g.servo_axle"><code class="docutils literal notranslate"><span class="pre">Servo9g.servo_axle</span></code></a></li>
<li><a class="reference internal" href="#boxes.servos.Servo9g.top"><code class="docutils literal notranslate"><span class="pre">Servo9g.top()</span></code></a></li>
<li><a class="reference internal" href="#boxes.servos.Servo9g.width"><code class="docutils literal notranslate"><span class="pre">Servo9g.width</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.servos.Servo9gt"><code class="docutils literal notranslate"><span class="pre">Servo9gt</span></code></a><ul>
<li><a class="reference internal" href="#boxes.servos.Servo9gt.bottom"><code class="docutils literal notranslate"><span class="pre">Servo9gt.bottom()</span></code></a></li>
<li><a class="reference internal" href="#boxes.servos.Servo9gt.front"><code class="docutils literal notranslate"><span class="pre">Servo9gt.front()</span></code></a></li>
<li><a class="reference internal" href="#boxes.servos.Servo9gt.height"><code class="docutils literal notranslate"><span class="pre">Servo9gt.height</span></code></a></li>
<li><a class="reference internal" href="#boxes.servos.Servo9gt.top"><code class="docutils literal notranslate"><span class="pre">Servo9gt.top()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.servos.ServoArg"><code class="docutils literal notranslate"><span class="pre">ServoArg</span></code></a><ul>
<li><a class="reference internal" href="#boxes.servos.ServoArg.choices"><code class="docutils literal notranslate"><span class="pre">ServoArg.choices()</span></code></a></li>
<li><a class="reference internal" href="#boxes.servos.ServoArg.html"><code class="docutils literal notranslate"><span class="pre">ServoArg.html()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.servos.buildEdges"><code class="docutils literal notranslate"><span class="pre">buildEdges()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#module-boxes.svgutil">boxes.svgutil module</a><ul>
<li><a class="reference internal" href="#boxes.svgutil.getSizeInMM"><code class="docutils literal notranslate"><span class="pre">getSizeInMM()</span></code></a></li>
<li><a class="reference internal" href="#boxes.svgutil.getViewBox"><code class="docutils literal notranslate"><span class="pre">getViewBox()</span></code></a></li>
<li><a class="reference internal" href="#boxes.svgutil.svgMerge"><code class="docutils literal notranslate"><span class="pre">svgMerge()</span></code></a></li>
<li><a class="reference internal" href="#boxes.svgutil.ticksPerMM"><code class="docutils literal notranslate"><span class="pre">ticksPerMM()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#module-boxes.vectors">boxes.vectors module</a><ul>
<li><a class="reference internal" href="#boxes.vectors.circlepoint"><code class="docutils literal notranslate"><span class="pre">circlepoint()</span></code></a></li>
<li><a class="reference internal" href="#boxes.vectors.dotproduct"><code class="docutils literal notranslate"><span class="pre">dotproduct()</span></code></a></li>
<li><a class="reference internal" href="#boxes.vectors.kerf"><code class="docutils literal notranslate"><span class="pre">kerf()</span></code></a></li>
<li><a class="reference internal" href="#boxes.vectors.mmul"><code class="docutils literal notranslate"><span class="pre">mmul()</span></code></a></li>
<li><a class="reference internal" href="#boxes.vectors.normalize"><code class="docutils literal notranslate"><span class="pre">normalize()</span></code></a></li>
<li><a class="reference internal" href="#boxes.vectors.rotm"><code class="docutils literal notranslate"><span class="pre">rotm()</span></code></a></li>
<li><a class="reference internal" href="#boxes.vectors.tangent"><code class="docutils literal notranslate"><span class="pre">tangent()</span></code></a></li>
<li><a class="reference internal" href="#boxes.vectors.vadd"><code class="docutils literal notranslate"><span class="pre">vadd()</span></code></a></li>
<li><a class="reference internal" href="#boxes.vectors.vclip"><code class="docutils literal notranslate"><span class="pre">vclip()</span></code></a></li>
<li><a class="reference internal" href="#boxes.vectors.vdiff"><code class="docutils literal notranslate"><span class="pre">vdiff()</span></code></a></li>
<li><a class="reference internal" href="#boxes.vectors.vlength"><code class="docutils literal notranslate"><span class="pre">vlength()</span></code></a></li>
<li><a class="reference internal" href="#boxes.vectors.vorthogonal"><code class="docutils literal notranslate"><span class="pre">vorthogonal()</span></code></a></li>
<li><a class="reference internal" href="#boxes.vectors.vscalmul"><code class="docutils literal notranslate"><span class="pre">vscalmul()</span></code></a></li>
<li><a class="reference internal" href="#boxes.vectors.vtransl"><code class="docutils literal notranslate"><span class="pre">vtransl()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#module-boxes">Module contents</a><ul>
<li><a class="reference internal" href="#boxes.ArgparseEdgeType"><code class="docutils literal notranslate"><span class="pre">ArgparseEdgeType</span></code></a><ul>
<li><a class="reference internal" href="#boxes.ArgparseEdgeType.edges"><code class="docutils literal notranslate"><span class="pre">ArgparseEdgeType.edges</span></code></a></li>
<li><a class="reference internal" href="#boxes.ArgparseEdgeType.html"><code class="docutils literal notranslate"><span class="pre">ArgparseEdgeType.html()</span></code></a></li>
<li><a class="reference internal" href="#boxes.ArgparseEdgeType.inx"><code class="docutils literal notranslate"><span class="pre">ArgparseEdgeType.inx()</span></code></a></li>
<li><a class="reference internal" href="#boxes.ArgparseEdgeType.names"><code class="docutils literal notranslate"><span class="pre">ArgparseEdgeType.names</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.BoolArg"><code class="docutils literal notranslate"><span class="pre">BoolArg</span></code></a><ul>
<li><a class="reference internal" href="#boxes.BoolArg.html"><code class="docutils literal notranslate"><span class="pre">BoolArg.html()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.Boxes"><code class="docutils literal notranslate"><span class="pre">Boxes</span></code></a><ul>
<li><a class="reference internal" href="#boxes.Boxes.NEMA"><code class="docutils literal notranslate"><span class="pre">Boxes.NEMA()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.TX"><code class="docutils literal notranslate"><span class="pre">Boxes.TX()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.addPart"><code class="docutils literal notranslate"><span class="pre">Boxes.addPart()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.addParts"><code class="docutils literal notranslate"><span class="pre">Boxes.addParts()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.addSettingsArgs"><code class="docutils literal notranslate"><span class="pre">Boxes.addSettingsArgs()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.adjustSize"><code class="docutils literal notranslate"><span class="pre">Boxes.adjustSize()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.bedBoltHole"><code class="docutils literal notranslate"><span class="pre">Boxes.bedBoltHole()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.buildArgParser"><code class="docutils literal notranslate"><span class="pre">Boxes.buildArgParser()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.cc"><code class="docutils literal notranslate"><span class="pre">Boxes.cc()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.circle"><code class="docutils literal notranslate"><span class="pre">Boxes.circle()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.close"><code class="docutils literal notranslate"><span class="pre">Boxes.close()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.corner"><code class="docutils literal notranslate"><span class="pre">Boxes.corner()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.curveTo"><code class="docutils literal notranslate"><span class="pre">Boxes.curveTo()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.dHole"><code class="docutils literal notranslate"><span class="pre">Boxes.dHole()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.description"><code class="docutils literal notranslate"><span class="pre">Boxes.description</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.edge"><code class="docutils literal notranslate"><span class="pre">Boxes.edge()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.edgeCorner"><code class="docutils literal notranslate"><span class="pre">Boxes.edgeCorner()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.fillHoles"><code class="docutils literal notranslate"><span class="pre">Boxes.fillHoles()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.fingerHoleRectangle"><code class="docutils literal notranslate"><span class="pre">Boxes.fingerHoleRectangle()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.flangedWall"><code class="docutils literal notranslate"><span class="pre">Boxes.flangedWall()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.flatHole"><code class="docutils literal notranslate"><span class="pre">Boxes.flatHole()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.flex2D"><code class="docutils literal notranslate"><span class="pre">Boxes.flex2D()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.getEntry"><code class="docutils literal notranslate"><span class="pre">Boxes.getEntry()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.grip"><code class="docutils literal notranslate"><span class="pre">Boxes.grip()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.handle"><code class="docutils literal notranslate"><span class="pre">Boxes.handle()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.hexHolesCircle"><code class="docutils literal notranslate"><span class="pre">Boxes.hexHolesCircle()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.hexHolesHex"><code class="docutils literal notranslate"><span class="pre">Boxes.hexHolesHex()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.hexHolesPlate"><code class="docutils literal notranslate"><span class="pre">Boxes.hexHolesPlate()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.hexHolesRectangle"><code class="docutils literal notranslate"><span class="pre">Boxes.hexHolesRectangle()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.hole"><code class="docutils literal notranslate"><span class="pre">Boxes.hole()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.latch"><code class="docutils literal notranslate"><span class="pre">Boxes.latch()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.mirrorX"><code class="docutils literal notranslate"><span class="pre">Boxes.mirrorX()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.mirrorY"><code class="docutils literal notranslate"><span class="pre">Boxes.mirrorY()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.mountingHole"><code class="docutils literal notranslate"><span class="pre">Boxes.mountingHole()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.move"><code class="docutils literal notranslate"><span class="pre">Boxes.move()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.moveArc"><code class="docutils literal notranslate"><span class="pre">Boxes.moveArc()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.moveTo"><code class="docutils literal notranslate"><span class="pre">Boxes.moveTo()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.nema_sizes"><code class="docutils literal notranslate"><span class="pre">Boxes.nema_sizes</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.open"><code class="docutils literal notranslate"><span class="pre">Boxes.open()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.parseArgs"><code class="docutils literal notranslate"><span class="pre">Boxes.parseArgs()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.partsMatrix"><code class="docutils literal notranslate"><span class="pre">Boxes.partsMatrix()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.polygonWall"><code class="docutils literal notranslate"><span class="pre">Boxes.polygonWall()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.polygonWalls"><code class="docutils literal notranslate"><span class="pre">Boxes.polygonWalls()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.polyline"><code class="docutils literal notranslate"><span class="pre">Boxes.polyline()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.rectangularHole"><code class="docutils literal notranslate"><span class="pre">Boxes.rectangularHole()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.rectangularTriangle"><code class="docutils literal notranslate"><span class="pre">Boxes.rectangularTriangle()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.rectangularWall"><code class="docutils literal notranslate"><span class="pre">Boxes.rectangularWall()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.regularPolygon"><code class="docutils literal notranslate"><span class="pre">Boxes.regularPolygon()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.regularPolygonAt"><code class="docutils literal notranslate"><span class="pre">Boxes.regularPolygonAt()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.regularPolygonHole"><code class="docutils literal notranslate"><span class="pre">Boxes.regularPolygonHole()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.regularPolygonWall"><code class="docutils literal notranslate"><span class="pre">Boxes.regularPolygonWall()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.render"><code class="docutils literal notranslate"><span class="pre">Boxes.render()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.roundedPlate"><code class="docutils literal notranslate"><span class="pre">Boxes.roundedPlate()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.saved_context"><code class="docutils literal notranslate"><span class="pre">Boxes.saved_context()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.set_font"><code class="docutils literal notranslate"><span class="pre">Boxes.set_font()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.set_source_color"><code class="docutils literal notranslate"><span class="pre">Boxes.set_source_color()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.showBorderPoly"><code class="docutils literal notranslate"><span class="pre">Boxes.showBorderPoly()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.step"><code class="docutils literal notranslate"><span class="pre">Boxes.step()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.surroundingWall"><code class="docutils literal notranslate"><span class="pre">Boxes.surroundingWall()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.surroundingWallPiece"><code class="docutils literal notranslate"><span class="pre">Boxes.surroundingWallPiece()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.text"><code class="docutils literal notranslate"><span class="pre">Boxes.text()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.trapezoidSideWall"><code class="docutils literal notranslate"><span class="pre">Boxes.trapezoidSideWall()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.trapezoidWall"><code class="docutils literal notranslate"><span class="pre">Boxes.trapezoidWall()</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.tx_sizes"><code class="docutils literal notranslate"><span class="pre">Boxes.tx_sizes</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.ui_group"><code class="docutils literal notranslate"><span class="pre">Boxes.ui_group</span></code></a></li>
<li><a class="reference internal" href="#boxes.Boxes.webinterface"><code class="docutils literal notranslate"><span class="pre">Boxes.webinterface</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.HexHolesSettings"><code class="docutils literal notranslate"><span class="pre">HexHolesSettings</span></code></a><ul>
<li><a class="reference internal" href="#boxes.HexHolesSettings.absolute_params"><code class="docutils literal notranslate"><span class="pre">HexHolesSettings.absolute_params</span></code></a></li>
<li><a class="reference internal" href="#boxes.HexHolesSettings.relative_params"><code class="docutils literal notranslate"><span class="pre">HexHolesSettings.relative_params</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.NutHole"><code class="docutils literal notranslate"><span class="pre">NutHole</span></code></a><ul>
<li><a class="reference internal" href="#boxes.NutHole.sizes"><code class="docutils literal notranslate"><span class="pre">NutHole.sizes</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.argparseSections"><code class="docutils literal notranslate"><span class="pre">argparseSections()</span></code></a></li>
<li><a class="reference internal" href="#boxes.dist"><code class="docutils literal notranslate"><span class="pre">dist()</span></code></a></li>
<li><a class="reference internal" href="#boxes.fillHolesSettings"><code class="docutils literal notranslate"><span class="pre">fillHolesSettings</span></code></a><ul>
<li><a class="reference internal" href="#boxes.fillHolesSettings.absolute_params"><code class="docutils literal notranslate"><span class="pre">fillHolesSettings.absolute_params</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#boxes.holeCol"><code class="docutils literal notranslate"><span class="pre">holeCol()</span></code></a></li>
<li><a class="reference internal" href="#boxes.restore"><code class="docutils literal notranslate"><span class="pre">restore()</span></code></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/boxes.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>document.getElementById('searchbox').style.display = "block"</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">boxes.py 0.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">boxes package</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2016, Florian Festi.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 5.3.0.
</div>
</body>
</html>