generate pngs with jenkins

This commit is contained in:
acereca 2021-02-12 20:20:53 +01:00
parent 63d8f7ea99
commit d974ca7df3
52 changed files with 5085 additions and 803 deletions

2
Jenkinsfile vendored
View File

@ -13,6 +13,8 @@ pipeline {
stage("Build") {
agent any
steps {
sh 'python3.8 tests.py'
sh 'make doc_images -j4'
sh 'make -C docs html'
}
}

10
Makefile Normal file
View File

@ -0,0 +1,10 @@
GENERATE = bin grid grid_inv pill rcube round_box round_flat_box toolinlay1 toolinlay2
doc_images: $(GENERATE:%=docs/img/%.png)
clean:
rm docs/files/*
rm docs/img/*
docs/img/%.png: docs/files/%.scad
openscad $< -o $@ --colorscheme "Tomorrow" --render --quiet || snap run openscad $< -o $@ --colorscheme "Tomorrow" --render --quiet

Binary file not shown.

Binary file not shown.

BIN
docs/_build/html/_images/bin.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

BIN
docs/_build/html/_images/toolinlay1.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
docs/_build/html/_images/toolinlay2.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -119,9 +119,10 @@
<div>
<h1>All modules for which code is available</h1>
<ul><li><a href="solidLib.html">solidLib</a></li>
<ul><li><a href="solidLib/assortment.html">solidLib.assortment</a></li>
<li><a href="solidLib/primitives.html">solidLib.primitives</a></li>
</ul>
</ul></ul>
</div>

158
docs/_build/html/_modules/solidLib.html vendored Normal file
View File

@ -0,0 +1,158 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>solidLib &#8212; solidLib documentation</title>
<link rel="stylesheet" href="../_static/css/index.f658d18f9b420779cfdf24aa0a7e2d77.css">
<link rel="stylesheet"
href="../_static/vendor/fontawesome/5.13.0/css/all.min.css">
<link rel="preload" as="font" type="font/woff2" crossorigin
href="../_static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.woff2">
<link rel="preload" as="font" type="font/woff2" crossorigin
href="../_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
<link rel="stylesheet"
href="../_static/vendor/open-sans_all/1.44.1/index.css">
<link rel="stylesheet"
href="../_static/vendor/lato_latin-ext/1.44.1/index.css">
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/basic.css" type="text/css" />
<link rel="preload" as="script" href="../_static/js/index.d3f166471bb80abb5163.js">
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="docsearch:language" content="en" />
</head>
<body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
<nav class="navbar navbar-light navbar-expand-lg bg-light fixed-top bd-navbar" id="navbar-main">
<div class="container-xl">
<a class="navbar-brand" href="../index.html">
<p class="title">solidLib</p>
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar-menu" aria-controls="navbar-menu" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div id="navbar-menu" class="col-lg-9 collapse navbar-collapse">
<ul id="navbar-main-elements" class="navbar-nav mr-auto">
<li class="nav-item ">
<a class="nav-link" href="../solidLib.html">solidLib package</a>
</li>
</ul>
<ul class="navbar-nav">
</ul>
</div>
</div>
</nav>
<div class="container-xl">
<div class="row">
<div class="col-12 col-md-3 bd-sidebar"><form class="bd-search d-flex align-items-center" action="../search.html" method="get">
<i class="icon fas fa-search"></i>
<input type="search" class="form-control" name="q" id="search-input" placeholder="Search the docs ..." aria-label="Search the docs ..." autocomplete="off" >
</form>
<nav class="bd-links" id="bd-docs-nav" aria-label="Main navigation">
<div class="bd-toc-item active">
<ul class="nav bd-sidenav">
</ul>
</nav>
</div>
<div class="d-none d-xl-block col-xl-2 bd-toc">
<nav id="bd-toc-nav">
<ul class="nav section-nav flex-column">
</ul>
</nav>
</div>
<main class="col-12 col-md-9 col-xl-7 py-md-5 pl-md-5 pr-md-4 bd-content" role="main">
<div>
<h1>Source code for solidLib</h1><div class="highlight"><pre>
<div class="viewcode-block" id="settings"><a class="viewcode-back" href="../solidLib.html#solidLib.settings">[docs]</a><span></span><span class="k">class</span> <span class="nc">settings</span><span class="p">:</span>
<span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> global dolidLib settings</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">segments</span> <span class="o">=</span> <span class="mi">36</span>
<span class="n">raster</span> <span class="o">=</span> <span class="mi">59</span>
<span class="n">height</span> <span class="o">=</span> <span class="mi">67</span></div>
</pre></div>
</div>
<div class='prev-next-bottom'>
</div>
</main>
</div>
</div>
<script src="../_static/js/index.d3f166471bb80abb5163.js"></script>
<footer class="footer mt-5 mt-md-0">
<div class="container">
<p>
&copy; Copyright 2021, Patrick Nisble.<br/>
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 3.4.3.<br/>
</p>
</div>
</footer>
</body>
</html>

View File

@ -195,6 +195,11 @@
<div class="viewcode-block" id="bin"><a class="viewcode-back" href="../../solidLib.html#solidLib.assortment.bin">[docs]</a><span class="k">def</span> <span class="nf">bin</span><span class="p">(</span><span class="n">x</span><span class="p">:</span> <span class="nb">float</span><span class="p">,</span> <span class="n">y</span><span class="p">:</span> <span class="nb">float</span><span class="p">,</span> <span class="n">h</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mi">67</span><span class="p">,</span> <span class="n">segments</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">36</span><span class="p">,</span> <span class="n">dim</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mi">59</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> standardized container</span>
<span class="sd"> .. image:: img/bin.png</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">class</span> <span class="nc">dims</span><span class="p">:</span>
<span class="n">wall</span> <span class="o">=</span> <span class="mi">2</span>
<span class="n">r_in</span> <span class="o">=</span> <span class="mi">2</span>
@ -228,7 +233,7 @@
<span class="sd"> creates a tooltray for alex container bins (2x3)</span>
<span class="sd"> .. image:: img/bin_toolinlay1.png</span>
<span class="sd"> .. image:: img/toolinlay1.png</span>
<span class="sd"> :param height: height of inset above lower bin</span>
<span class="sd"> :param inset: depth of inset</span>
@ -287,7 +292,7 @@
<span class="sd"> creates a tooltray for alex container bins (2x3)</span>
<span class="sd"> .. image:: img/bin_toolinlay2.png</span>
<span class="sd"> .. image:: img/toolinlay2.png</span>
<span class="sd"> :param height: height of inset above lower bin</span>
<span class="sd"> :param r_tool: toolspace radius as float or list of floats</span>

View File

@ -123,8 +123,6 @@
<span class="kn">import</span> <span class="nn">solid</span> <span class="k">as</span> <span class="nn">scad</span>
<span class="kn">from</span> <span class="nn">.globals</span> <span class="kn">import</span> <span class="n">SEGMENTS</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
<span class="kn">import</span> <span class="nn">logging</span> <span class="k">as</span> <span class="nn">log</span>
@ -149,7 +147,7 @@
<span class="n">scad</span><span class="o">.</span><span class="n">minkowski</span><span class="p">()(</span><span class="n">box</span><span class="p">,</span> <span class="n">wall</span><span class="p">)</span>
<span class="p">)</span></div>
<div class="viewcode-block" id="round_box_new"><a class="viewcode-back" href="../../solidLib.html#solidLib.primitives.round_box_new">[docs]</a><span class="k">def</span> <span class="nf">round_box_new</span><span class="p">(</span><span class="n">dim</span><span class="p">:</span> <span class="n">Iterable</span><span class="p">[</span><span class="nb">float</span><span class="p">],</span> <span class="n">radius</span><span class="p">:</span> <span class="nb">float</span><span class="p">,</span> <span class="n">segments</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">32</span><span class="p">):</span>
<div class="viewcode-block" id="rcube"><a class="viewcode-back" href="../../solidLib.html#solidLib.primitives.rcube">[docs]</a><span class="k">def</span> <span class="nf">rcube</span><span class="p">(</span><span class="n">dim</span><span class="p">:</span> <span class="n">Iterable</span><span class="p">[</span><span class="nb">float</span><span class="p">],</span> <span class="n">radius</span><span class="p">:</span> <span class="nb">float</span><span class="p">,</span> <span class="n">segments</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">32</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> creates a cube with rounded corners</span>
@ -187,6 +185,9 @@
<div class="viewcode-block" id="pill"><a class="viewcode-back" href="../../solidLib.html#solidLib.primitives.pill">[docs]</a><span class="k">def</span> <span class="nf">pill</span><span class="p">(</span><span class="n">ps</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">List</span><span class="p">[</span><span class="nb">float</span><span class="p">]],</span> <span class="n">r</span><span class="p">,</span> <span class="n">segments</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">36</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> create a pill around given points</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">ps</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">2</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;requires 2 or more points&quot;</span><span class="p">)</span>
<span class="n">s</span> <span class="o">=</span> <span class="n">scad</span><span class="o">.</span><span class="n">sphere</span><span class="p">(</span><span class="n">r</span><span class="o">=</span><span class="n">r</span><span class="p">,</span> <span class="n">segments</span><span class="o">=</span><span class="n">segments</span><span class="p">)</span>

View File

@ -12,14 +12,6 @@ solidLib.assortment module
:undoc-members:
:show-inheritance:
solidLib.globals module
-----------------------
.. automodule:: solidLib.globals
:members:
:undoc-members:
:show-inheritance:
solidLib.primitives module
--------------------------

View File

@ -1,701 +0,0 @@
@import url("basic.css");
/* -- page layout ----------------------------------------------------------- */
body {
font-family: Georgia, serif;
font-size: 17px;
background-color: #fff;
color: #000;
margin: 0;
padding: 0;
}
div.document {
width: 940px;
margin: 30px auto 0 auto;
}
div.documentwrapper {
float: left;
width: 100%;
}
div.bodywrapper {
margin: 0 0 0 220px;
}
div.sphinxsidebar {
width: 220px;
font-size: 14px;
line-height: 1.5;
}
hr {
border: 1px solid #B1B4B6;
}
div.body {
background-color: #fff;
color: #3E4349;
padding: 0 30px 0 30px;
}
div.body > .section {
text-align: left;
}
div.footer {
width: 940px;
margin: 20px auto 30px auto;
font-size: 14px;
color: #888;
text-align: right;
}
div.footer a {
color: #888;
}
p.caption {
font-family: inherit;
font-size: inherit;
}
div.relations {
display: none;
}
div.sphinxsidebar a {
color: #444;
text-decoration: none;
border-bottom: 1px dotted #999;
}
div.sphinxsidebar a:hover {
border-bottom: 1px solid #999;
}
div.sphinxsidebarwrapper {
padding: 18px 10px;
}
div.sphinxsidebarwrapper p.logo {
padding: 0;
margin: -10px 0 0 0px;
text-align: center;
}
div.sphinxsidebarwrapper h1.logo {
margin-top: -10px;
text-align: center;
margin-bottom: 5px;
text-align: left;
}
div.sphinxsidebarwrapper h1.logo-name {
margin-top: 0px;
}
div.sphinxsidebarwrapper p.blurb {
margin-top: 0;
font-style: normal;
}
div.sphinxsidebar h3,
div.sphinxsidebar h4 {
font-family: Georgia, serif;
color: #444;
font-size: 24px;
font-weight: normal;
margin: 0 0 5px 0;
padding: 0;
}
div.sphinxsidebar h4 {
font-size: 20px;
}
div.sphinxsidebar h3 a {
color: #444;
}
div.sphinxsidebar p.logo a,
div.sphinxsidebar h3 a,
div.sphinxsidebar p.logo a:hover,
div.sphinxsidebar h3 a:hover {
border: none;
}
div.sphinxsidebar p {
color: #555;
margin: 10px 0;
}
div.sphinxsidebar ul {
margin: 10px 0;
padding: 0;
color: #000;
}
div.sphinxsidebar ul li.toctree-l1 > a {
font-size: 120%;
}
div.sphinxsidebar ul li.toctree-l2 > a {
font-size: 110%;
}
div.sphinxsidebar input {
border: 1px solid #CCC;
font-family: Georgia, serif;
font-size: 1em;
}
div.sphinxsidebar hr {
border: none;
height: 1px;
color: #AAA;
background: #AAA;
text-align: left;
margin-left: 0;
width: 50%;
}
div.sphinxsidebar .badge {
border-bottom: none;
}
div.sphinxsidebar .badge:hover {
border-bottom: none;
}
/* To address an issue with donation coming after search */
div.sphinxsidebar h3.donation {
margin-top: 10px;
}
/* -- body styles ----------------------------------------------------------- */
a {
color: #004B6B;
text-decoration: underline;
}
a:hover {
color: #6D4100;
text-decoration: underline;
}
div.body h1,
div.body h2,
div.body h3,
div.body h4,
div.body h5,
div.body h6 {
font-family: Georgia, serif;
font-weight: normal;
margin: 30px 0px 10px 0px;
padding: 0;
}
div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; }
div.body h2 { font-size: 180%; }
div.body h3 { font-size: 150%; }
div.body h4 { font-size: 130%; }
div.body h5 { font-size: 100%; }
div.body h6 { font-size: 100%; }
a.headerlink {
color: #DDD;
padding: 0 4px;
text-decoration: none;
}
a.headerlink:hover {
color: #444;
background: #EAEAEA;
}
div.body p, div.body dd, div.body li {
line-height: 1.4em;
}
div.admonition {
margin: 20px 0px;
padding: 10px 30px;
background-color: #EEE;
border: 1px solid #CCC;
}
div.admonition tt.xref, div.admonition code.xref, div.admonition a tt {
background-color: #FBFBFB;
border-bottom: 1px solid #fafafa;
}
div.admonition p.admonition-title {
font-family: Georgia, serif;
font-weight: normal;
font-size: 24px;
margin: 0 0 10px 0;
padding: 0;
line-height: 1;
}
div.admonition p.last {
margin-bottom: 0;
}
div.highlight {
background-color: #fff;
}
dt:target, .highlight {
background: #FAF3E8;
}
div.warning {
background-color: #FCC;
border: 1px solid #FAA;
}
div.danger {
background-color: #FCC;
border: 1px solid #FAA;
-moz-box-shadow: 2px 2px 4px #D52C2C;
-webkit-box-shadow: 2px 2px 4px #D52C2C;
box-shadow: 2px 2px 4px #D52C2C;
}
div.error {
background-color: #FCC;
border: 1px solid #FAA;
-moz-box-shadow: 2px 2px 4px #D52C2C;
-webkit-box-shadow: 2px 2px 4px #D52C2C;
box-shadow: 2px 2px 4px #D52C2C;
}
div.caution {
background-color: #FCC;
border: 1px solid #FAA;
}
div.attention {
background-color: #FCC;
border: 1px solid #FAA;
}
div.important {
background-color: #EEE;
border: 1px solid #CCC;
}
div.note {
background-color: #EEE;
border: 1px solid #CCC;
}
div.tip {
background-color: #EEE;
border: 1px solid #CCC;
}
div.hint {
background-color: #EEE;
border: 1px solid #CCC;
}
div.seealso {
background-color: #EEE;
border: 1px solid #CCC;
}
div.topic {
background-color: #EEE;
}
p.admonition-title {
display: inline;
}
p.admonition-title:after {
content: ":";
}
pre, tt, code {
font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
font-size: 0.9em;
}
.hll {
background-color: #FFC;
margin: 0 -12px;
padding: 0 12px;
display: block;
}
img.screenshot {
}
tt.descname, tt.descclassname, code.descname, code.descclassname {
font-size: 0.95em;
}
tt.descname, code.descname {
padding-right: 0.08em;
}
img.screenshot {
-moz-box-shadow: 2px 2px 4px #EEE;
-webkit-box-shadow: 2px 2px 4px #EEE;
box-shadow: 2px 2px 4px #EEE;
}
table.docutils {
border: 1px solid #888;
-moz-box-shadow: 2px 2px 4px #EEE;
-webkit-box-shadow: 2px 2px 4px #EEE;
box-shadow: 2px 2px 4px #EEE;
}
table.docutils td, table.docutils th {
border: 1px solid #888;
padding: 0.25em 0.7em;
}
table.field-list, table.footnote {
border: none;
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
}
table.footnote {
margin: 15px 0;
width: 100%;
border: 1px solid #EEE;
background: #FDFDFD;
font-size: 0.9em;
}
table.footnote + table.footnote {
margin-top: -15px;
border-top: none;
}
table.field-list th {
padding: 0 0.8em 0 0;
}
table.field-list td {
padding: 0;
}
table.field-list p {
margin-bottom: 0.8em;
}
/* Cloned from
* https://github.com/sphinx-doc/sphinx/commit/ef60dbfce09286b20b7385333d63a60321784e68
*/
.field-name {
-moz-hyphens: manual;
-ms-hyphens: manual;
-webkit-hyphens: manual;
hyphens: manual;
}
table.footnote td.label {
width: .1px;
padding: 0.3em 0 0.3em 0.5em;
}
table.footnote td {
padding: 0.3em 0.5em;
}
dl {
margin: 0;
padding: 0;
}
dl dd {
margin-left: 30px;
}
blockquote {
margin: 0 0 0 30px;
padding: 0;
}
ul, ol {
/* Matches the 30px from the narrow-screen "li > ul" selector below */
margin: 10px 0 10px 30px;
padding: 0;
}
pre {
background: #EEE;
padding: 7px 30px;
margin: 15px 0px;
line-height: 1.3em;
}
div.viewcode-block:target {
background: #ffd;
}
dl pre, blockquote pre, li pre {
margin-left: 0;
padding-left: 30px;
}
tt, code {
background-color: #ecf0f3;
color: #222;
/* padding: 1px 2px; */
}
tt.xref, code.xref, a tt {
background-color: #FBFBFB;
border-bottom: 1px solid #fff;
}
a.reference {
text-decoration: none;
border-bottom: 1px dotted #004B6B;
}
/* Don't put an underline on images */
a.image-reference, a.image-reference:hover {
border-bottom: none;
}
a.reference:hover {
border-bottom: 1px solid #6D4100;
}
a.footnote-reference {
text-decoration: none;
font-size: 0.7em;
vertical-align: top;
border-bottom: 1px dotted #004B6B;
}
a.footnote-reference:hover {
border-bottom: 1px solid #6D4100;
}
a:hover tt, a:hover code {
background: #EEE;
}
@media screen and (max-width: 870px) {
div.sphinxsidebar {
display: none;
}
div.document {
width: 100%;
}
div.documentwrapper {
margin-left: 0;
margin-top: 0;
margin-right: 0;
margin-bottom: 0;
}
div.bodywrapper {
margin-top: 0;
margin-right: 0;
margin-bottom: 0;
margin-left: 0;
}
ul {
margin-left: 0;
}
li > ul {
/* Matches the 30px from the "ul, ol" selector above */
margin-left: 30px;
}
.document {
width: auto;
}
.footer {
width: auto;
}
.bodywrapper {
margin: 0;
}
.footer {
width: auto;
}
.github {
display: none;
}
}
@media screen and (max-width: 875px) {
body {
margin: 0;
padding: 20px 30px;
}
div.documentwrapper {
float: none;
background: #fff;
}
div.sphinxsidebar {
display: block;
float: none;
width: 102.5%;
margin: 50px -30px -20px -30px;
padding: 10px 20px;
background: #333;
color: #FFF;
}
div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p,
div.sphinxsidebar h3 a {
color: #fff;
}
div.sphinxsidebar a {
color: #AAA;
}
div.sphinxsidebar p.logo {
display: none;
}
div.document {
width: 100%;
margin: 0;
}
div.footer {
display: none;
}
div.bodywrapper {
margin: 0;
}
div.body {
min-height: 0;
padding: 0;
}
.rtd_doc_footer {
display: none;
}
.document {
width: auto;
}
.footer {
width: auto;
}
.footer {
width: auto;
}
.github {
display: none;
}
}
/* misc. */
.revsys-inline {
display: none!important;
}
/* Make nested-list/multi-paragraph items look better in Releases changelog
* pages. Without this, docutils' magical list fuckery causes inconsistent
* formatting between different release sub-lists.
*/
div#changelog > div.section > ul > li > p:only-child {
margin-bottom: 0;
}
/* Hide fugly table cell borders in ..bibliography:: directive output */
table.docutils.citation, table.docutils.citation td, table.docutils.citation th {
border: none;
/* Below needed in some edge cases; if not applied, bottom shadows appear */
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
}
/* relbar */
.related {
line-height: 30px;
width: 100%;
font-size: 0.9rem;
}
.related.top {
border-bottom: 1px solid #EEE;
margin-bottom: 20px;
}
.related.bottom {
border-top: 1px solid #EEE;
}
.related ul {
padding: 0;
margin: 0;
list-style: none;
}
.related li {
display: inline;
}
nav#rellinks {
float: right;
}
nav#rellinks li+li:before {
content: "|";
}
nav#breadcrumbs li+li:before {
content: "\00BB";
}
/* Hide certain items when printing */
@media print {
div.related {
display: none;
}
}

View File

@ -1 +0,0 @@
/* This file intentionally left blank. */

View File

@ -124,6 +124,7 @@
<div class="genindex-jumpbox">
<a href="#B"><strong>B</strong></a>
| <a href="#G"><strong>G</strong></a>
| <a href="#H"><strong>H</strong></a>
| <a href="#M"><strong>M</strong></a>
| <a href="#P"><strong>P</strong></a>
| <a href="#R"><strong>R</strong></a>
@ -151,6 +152,14 @@
</ul></td>
</tr></table>
<h2 id="H">H</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="solidLib.html#solidLib.settings.height">height (solidLib.settings attribute)</a>
</li>
</ul></td>
</tr></table>
<h2 id="M">M</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
@ -161,8 +170,6 @@
<li><a href="solidLib.html#module-solidLib">solidLib</a>
</li>
<li><a href="solidLib.html#module-solidLib.assortment">solidLib.assortment</a>
</li>
<li><a href="solidLib.html#module-solidLib.globals">solidLib.globals</a>
</li>
<li><a href="solidLib.html#module-solidLib.primitives">solidLib.primitives</a>
</li>
@ -181,11 +188,13 @@
<h2 id="R">R</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="solidLib.html#solidLib.primitives.round_box">round_box() (in module solidLib.primitives)</a>
<li><a href="solidLib.html#solidLib.settings.raster">raster (solidLib.settings attribute)</a>
</li>
<li><a href="solidLib.html#solidLib.primitives.rcube">rcube() (in module solidLib.primitives)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="solidLib.html#solidLib.primitives.round_box_new">round_box_new() (in module solidLib.primitives)</a>
<li><a href="solidLib.html#solidLib.primitives.round_box">round_box() (in module solidLib.primitives)</a>
</li>
<li><a href="solidLib.html#solidLib.primitives.round_flat_box">round_flat_box() (in module solidLib.primitives)</a>
</li>
@ -195,6 +204,10 @@
<h2 id="S">S</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="solidLib.html#solidLib.settings.segments">segments (solidLib.settings attribute)</a>
</li>
<li><a href="solidLib.html#solidLib.settings">settings (class in solidLib)</a>
</li>
<li>
solidLib
@ -202,20 +215,13 @@
<li><a href="solidLib.html#module-solidLib">module</a>
</li>
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li>
solidLib.assortment
<ul>
<li><a href="solidLib.html#module-solidLib.assortment">module</a>
</li>
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li>
solidLib.globals
<ul>
<li><a href="solidLib.html#module-solidLib.globals">module</a>
</li>
</ul></li>
<li>

View File

@ -138,7 +138,6 @@
<li class="toctree-l1"><a class="reference internal" href="solidLib.html">solidLib package</a><ul>
<li class="toctree-l2"><a class="reference internal" href="solidLib.html#submodules">Submodules</a></li>
<li class="toctree-l2"><a class="reference internal" href="solidLib.html#module-solidLib.assortment">solidLib.assortment module</a></li>
<li class="toctree-l2"><a class="reference internal" href="solidLib.html#module-solidLib.globals">solidLib.globals module</a></li>
<li class="toctree-l2"><a class="reference internal" href="solidLib.html#module-solidLib.primitives">solidLib.primitives module</a></li>
<li class="toctree-l2"><a class="reference internal" href="solidLib.html#module-solidLib">Module contents</a></li>
</ul>

Binary file not shown.

View File

@ -143,11 +143,6 @@
<td>&#160;&#160;&#160;
<a href="solidLib.html#module-solidLib.assortment"><code class="xref">solidLib.assortment</code></a></td><td>
<em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&#160;&#160;&#160;
<a href="solidLib.html#module-solidLib.globals"><code class="xref">solidLib.globals</code></a></td><td>
<em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&#160;&#160;&#160;

View File

@ -1 +1 @@
Search.setIndex({docnames:["index","solidLib"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["index.rst","solidLib.rst"],objects:{"":{solidLib:[1,0,0,"-"]},"solidLib.assortment":{bin:[1,1,1,""],grid:[1,1,1,""],grid_inv:[1,1,1,""],toolinlay1:[1,1,1,""],toolinlay2:[1,1,1,""]},"solidLib.primitives":{pill:[1,1,1,""],round_box:[1,1,1,""],round_box_new:[1,1,1,""],round_flat_box:[1,1,1,""]},solidLib:{assortment:[1,0,0,"-"],globals:[1,0,0,"-"],primitives:[1,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:function"},terms:{"2x3":1,"2x3x":[],"float":1,"int":1,abov:1,addit:1,alex:1,arg:1,assort:0,base:1,bin:1,bool:1,bottom:1,box:1,circular:1,contain:1,content:0,corner:1,creat:1,cube:1,deprec:1,depth:1,dim:1,dimens:1,fals:1,fillet:1,flat:1,flatten:1,gener:1,given:1,global:0,grid:1,grid_inv:1,gridspac:1,height:1,index:0,inset:1,inset_tool:1,iter:1,list:1,lower:1,maxh:1,modul:0,object:1,oer:[],packag:0,page:0,paramet:1,pill:1,primit:0,r_tool:1,radiu:1,raster:1,restrict:1,round:1,round_box:1,round_box_new:1,round_flat_box:1,search:0,segment:1,size:1,sourc:1,structur:1,submodul:0,system:1,toolinlai:1,toolinlay1:1,toolinlay2:1,toolspac:1,tooltrai:1,top:1,triangl:1,union:1,used:1,wall:1,warn:[],width:1,without:1,x_dim:1,y_dim:1,z_dim:1},titles:["Welcome to solidLib\u2019s documentation!","solidLib package"],titleterms:{assort:1,content:1,document:0,global:1,indic:0,modul:1,packag:1,primit:1,solidlib:[0,1],submodul:1,tabl:0,welcom:0}})
Search.setIndex({docnames:["index","solidLib"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["index.rst","solidLib.rst"],objects:{"":{solidLib:[1,0,0,"-"]},"solidLib.assortment":{bin:[1,1,1,""],grid:[1,1,1,""],grid_inv:[1,1,1,""],toolinlay1:[1,1,1,""],toolinlay2:[1,1,1,""]},"solidLib.primitives":{pill:[1,1,1,""],rcube:[1,1,1,""],round_box:[1,1,1,""],round_flat_box:[1,1,1,""]},"solidLib.settings":{height:[1,3,1,""],raster:[1,3,1,""],segments:[1,3,1,""]},solidLib:{assortment:[1,0,0,"-"],primitives:[1,0,0,"-"],settings:[1,2,1,""]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","attribute","Python attribute"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:attribute"},terms:{"2x3":1,"class":1,"float":1,"int":1,abov:1,addit:1,alex:1,arg:1,around:1,assort:0,base:1,bin:1,bool:1,bottom:1,box:1,circular:1,contain:1,content:0,corner:1,creat:1,cube:1,deprec:1,depth:1,dim:1,dimens:1,dolidlib:1,fals:1,fillet:1,flat:1,flatten:1,gener:1,given:1,global:1,grid:1,grid_inv:1,gridspac:1,height:1,index:0,inset:1,inset_tool:1,iter:1,list:1,lower:1,maxh:1,modul:0,object:1,packag:0,page:0,paramet:1,pill:1,point:1,primit:0,r_tool:1,radiu:1,raster:1,rcube:1,restrict:1,round:1,round_box:1,round_flat_box:1,search:0,segment:1,set:1,size:1,sourc:1,standard:1,structur:1,submodul:0,system:1,toolinlai:1,toolinlay1:1,toolinlay2:1,toolspac:1,tooltrai:1,top:1,triangl:1,union:1,used:1,wall:1,width:1,without:1,x_dim:1,y_dim:1,z_dim:1},titles:["Welcome to solidLib\u2019s documentation!","solidLib package"],titleterms:{assort:1,content:1,document:0,global:[],indic:0,modul:1,packag:1,primit:1,solidlib:[0,1],submodul:1,tabl:0,welcom:0}})

View File

@ -119,10 +119,6 @@
<a href="#module-solidLib.assortment" class="nav-link">solidLib.assortment module</a>
</li>
<li class="nav-item toc-entry toc-h2">
<a href="#module-solidLib.globals" class="nav-link">solidLib.globals module</a>
</li>
<li class="nav-item toc-entry toc-h2">
<a href="#module-solidLib.primitives" class="nav-link">solidLib.primitives module</a>
</li>
@ -154,7 +150,9 @@
<dl class="py function">
<dt id="solidLib.assortment.bin">
<code class="sig-prename descclassname">solidLib.assortment.</code><code class="sig-name descname">bin</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x</span><span class="p">:</span> <span class="n">float</span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">float</span></em>, <em class="sig-param"><span class="n">h</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">67</span></em>, <em class="sig-param"><span class="n">segments</span><span class="p">:</span> <span class="n">int</span> <span class="o">=</span> <span class="default_value">36</span></em>, <em class="sig-param"><span class="n">dim</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">59</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/solidLib/assortment.html#bin"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solidLib.assortment.bin" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dd><p>standardized container</p>
<img alt="_images/bin.png" src="_images/bin.png" />
</dd></dl>
<dl class="py function">
<dt id="solidLib.assortment.grid">
@ -174,7 +172,7 @@ the triangles used for the base structure is given by their height and width</p>
<dt id="solidLib.assortment.toolinlay1">
<code class="sig-prename descclassname">solidLib.assortment.</code><code class="sig-name descname">toolinlay1</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">height</span><span class="p">:</span> <span class="n">float</span></em>, <em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="n">r_tool</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">7</span></em>, <em class="sig-param"><span class="n">inset</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">4</span></em>, <em class="sig-param"><span class="n">maxh</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">67</span></em>, <em class="sig-param"><span class="n">dim</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">59</span></em>, <em class="sig-param"><span class="n">segments</span><span class="p">:</span> <span class="n">int</span> <span class="o">=</span> <span class="default_value">36</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/solidLib/assortment.html#toolinlay1"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solidLib.assortment.toolinlay1" title="Permalink to this definition"></a></dt>
<dd><p>creates a tooltray for alex container bins (2x3)</p>
<img alt="_images/bin_toolinlay1.png" src="_images/bin_toolinlay1.png" />
<img alt="_images/toolinlay1.png" src="_images/toolinlay1.png" />
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
@ -189,7 +187,7 @@ the triangles used for the base structure is given by their height and width</p>
<dt id="solidLib.assortment.toolinlay2">
<code class="sig-prename descclassname">solidLib.assortment.</code><code class="sig-name descname">toolinlay2</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">height</span><span class="p">:</span> <span class="n">float</span></em>, <em class="sig-param"><span class="n">r_tool</span><span class="p">:</span> <span class="n">Union<span class="p">[</span>float<span class="p">, </span>Iterable<span class="p">[</span>float<span class="p">]</span><span class="p">]</span></span> <span class="o">=</span> <span class="default_value">7</span></em>, <em class="sig-param"><span class="n">inset</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">4</span></em>, <em class="sig-param"><span class="n">inset_tool</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">3</span></em>, <em class="sig-param"><span class="n">maxh</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">67</span></em>, <em class="sig-param"><span class="n">dim</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">59</span></em>, <em class="sig-param"><span class="n">wall</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">2</span></em>, <em class="sig-param"><span class="n">segments</span><span class="p">:</span> <span class="n">int</span> <span class="o">=</span> <span class="default_value">36</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/solidLib/assortment.html#toolinlay2"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solidLib.assortment.toolinlay2" title="Permalink to this definition"></a></dt>
<dd><p>creates a tooltray for alex container bins (2x3)</p>
<img alt="_images/bin_toolinlay2.png" src="_images/bin_toolinlay2.png" />
<img alt="_images/toolinlay2.png" src="_images/toolinlay2.png" />
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
@ -205,16 +203,30 @@ the triangles used for the base structure is given by their height and width</p>
</dl>
</dd></dl>
</div>
<div class="section" id="module-solidLib.globals">
<span id="solidlib-globals-module"></span><h2>solidLib.globals module<a class="headerlink" href="#module-solidLib.globals" title="Permalink to this headline"></a></h2>
</div>
<div class="section" id="module-solidLib.primitives">
<span id="solidlib-primitives-module"></span><h2>solidLib.primitives module<a class="headerlink" href="#module-solidLib.primitives" title="Permalink to this headline"></a></h2>
<dl class="py function">
<dt id="solidLib.primitives.pill">
<code class="sig-prename descclassname">solidLib.primitives.</code><code class="sig-name descname">pill</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">ps</span><span class="p">:</span> <span class="n">List<span class="p">[</span>List<span class="p">[</span>float<span class="p">]</span><span class="p">]</span></span></em>, <em class="sig-param"><span class="n">r</span></em>, <em class="sig-param"><span class="n">segments</span><span class="p">:</span> <span class="n">int</span> <span class="o">=</span> <span class="default_value">36</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/solidLib/primitives.html#pill"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solidLib.primitives.pill" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dd><p>create a pill around given points</p>
</dd></dl>
<dl class="py function">
<dt id="solidLib.primitives.rcube">
<code class="sig-prename descclassname">solidLib.primitives.</code><code class="sig-name descname">rcube</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">dim</span><span class="p">:</span> <span class="n">Iterable<span class="p">[</span>float<span class="p">]</span></span></em>, <em class="sig-param"><span class="n">radius</span><span class="p">:</span> <span class="n">float</span></em>, <em class="sig-param"><span class="n">segments</span><span class="p">:</span> <span class="n">int</span> <span class="o">=</span> <span class="default_value">32</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/solidLib/primitives.html#rcube"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solidLib.primitives.rcube" title="Permalink to this definition"></a></dt>
<dd><p>creates a cube with rounded corners</p>
<img alt="_images/round_box.png" src="_images/round_box.png" />
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>dim</strong> cube dimensions to base box on.</p></li>
<li><p><strong>radius</strong> box radius.</p></li>
<li><p><strong>segments</strong> circular object segments</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="solidLib.primitives.round_box">
@ -233,22 +245,6 @@ the triangles used for the base structure is given by their height and width</p>
<img alt="_images/round_box.png" src="_images/round_box.png" />
</dd></dl>
<dl class="py function">
<dt id="solidLib.primitives.round_box_new">
<code class="sig-prename descclassname">solidLib.primitives.</code><code class="sig-name descname">round_box_new</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">dim</span><span class="p">:</span> <span class="n">Iterable<span class="p">[</span>float<span class="p">]</span></span></em>, <em class="sig-param"><span class="n">radius</span><span class="p">:</span> <span class="n">float</span></em>, <em class="sig-param"><span class="n">segments</span><span class="p">:</span> <span class="n">int</span> <span class="o">=</span> <span class="default_value">32</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/solidLib/primitives.html#round_box_new"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solidLib.primitives.round_box_new" title="Permalink to this definition"></a></dt>
<dd><p>creates a cube with rounded corners</p>
<img alt="_images/round_box.png" src="_images/round_box.png" />
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>dim</strong> cube dimensions to base box on.</p></li>
<li><p><strong>radius</strong> box radius.</p></li>
<li><p><strong>segments</strong> circular object segments</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt id="solidLib.primitives.round_flat_box">
<code class="sig-prename descclassname">solidLib.primitives.</code><code class="sig-name descname">round_flat_box</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x</span><span class="p">:</span> <span class="n">float</span></em>, <em class="sig-param"><span class="n">y</span><span class="p">:</span> <span class="n">float</span></em>, <em class="sig-param"><span class="n">z</span><span class="p">:</span> <span class="n">float</span></em>, <em class="sig-param"><span class="n">r</span><span class="p">:</span> <span class="n">float</span></em>, <em class="sig-param"><span class="n">segments</span><span class="p">:</span> <span class="n">int</span> <span class="o">=</span> <span class="default_value">32</span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/solidLib/primitives.html#round_flat_box"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solidLib.primitives.round_flat_box" title="Permalink to this definition"></a></dt>
@ -259,6 +255,28 @@ the triangles used for the base structure is given by their height and width</p>
</div>
<div class="section" id="module-solidLib">
<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-solidLib" title="Permalink to this headline"></a></h2>
<dl class="py class">
<dt id="solidLib.settings">
<em class="property">class </em><code class="sig-prename descclassname">solidLib.</code><code class="sig-name descname">settings</code><a class="reference internal" href="_modules/solidLib.html#settings"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solidLib.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>global dolidLib settings</p>
<dl class="py attribute">
<dt id="solidLib.settings.height">
<code class="sig-name descname">height</code><em class="property"> = 67</em><a class="headerlink" href="#solidLib.settings.height" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="solidLib.settings.raster">
<code class="sig-name descname">raster</code><em class="property"> = 59</em><a class="headerlink" href="#solidLib.settings.raster" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="solidLib.settings.segments">
<code class="sig-name descname">segments</code><em class="property"> = 36</em><a class="headerlink" href="#solidLib.settings.segments" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</div>
</div>

509
docs/files/bin.scad Normal file
View File

@ -0,0 +1,509 @@
// Generated by SolidPython 1.0.5 on 2021-02-12 20:02:04
union() {
difference() {
translate(v = [4, 4, 0]) {
minkowski() {
cube(size = [51, 51, 59]);
cylinder($fn = 36, h = 8, r = 4);
}
}
translate(v = [2, 2, 2]) {
translate(v = [2, 2, 2]) {
minkowski() {
cube(size = [51, 51, 63]);
sphere($fn = 32, r = 2);
}
}
}
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
translate(v = [59, 59, 0]) {
rotate(a = [0, 0, 180]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
}
}
}
translate(v = [0, 0, 0]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
translate(v = [59, 59, 0]) {
rotate(a = [0, 0, 180]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
}
}
}
}
}
}
}
intersection() {
translate(v = [0, 0, 2]) {
union() {
difference() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
}
}
translate(v = [3.0000000000, 3.0000000000, 2]) {
union() {
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 2);
}
translate(v = [53, 0, 0]) {
sphere($fn = 36, r = 2);
}
}
union() {
rotate(a = [0, -90, 0]) {
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 2);
}
translate(v = [53, 0, 0]) {
sphere($fn = 36, r = 2);
}
}
}
translate(v = [53, 0, 0]) {
rotate(a = [0, -90, 0]) {
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 2);
}
translate(v = [53, 0, 0]) {
sphere($fn = 36, r = 2);
}
}
}
}
}
}
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
difference() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
}
}
translate(v = [3.0000000000, 3.0000000000, 2]) {
union() {
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 2);
}
translate(v = [53, 0, 0]) {
sphere($fn = 36, r = 2);
}
}
union() {
rotate(a = [0, -90, 0]) {
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 2);
}
translate(v = [53, 0, 0]) {
sphere($fn = 36, r = 2);
}
}
}
translate(v = [53, 0, 0]) {
rotate(a = [0, -90, 0]) {
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 2);
}
translate(v = [53, 0, 0]) {
sphere($fn = 36, r = 2);
}
}
}
}
}
}
}
}
}
}
translate(v = [59, 59, 0]) {
rotate(a = [0, 0, 180]) {
union() {
difference() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
}
}
translate(v = [3.0000000000, 3.0000000000, 2]) {
union() {
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 2);
}
translate(v = [53, 0, 0]) {
sphere($fn = 36, r = 2);
}
}
union() {
rotate(a = [0, -90, 0]) {
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 2);
}
translate(v = [53, 0, 0]) {
sphere($fn = 36, r = 2);
}
}
}
translate(v = [53, 0, 0]) {
rotate(a = [0, -90, 0]) {
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 2);
}
translate(v = [53, 0, 0]) {
sphere($fn = 36, r = 2);
}
}
}
}
}
}
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
difference() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
}
}
translate(v = [3.0000000000, 3.0000000000, 2]) {
union() {
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 2);
}
translate(v = [53, 0, 0]) {
sphere($fn = 36, r = 2);
}
}
union() {
rotate(a = [0, -90, 0]) {
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 2);
}
translate(v = [53, 0, 0]) {
sphere($fn = 36, r = 2);
}
}
}
translate(v = [53, 0, 0]) {
rotate(a = [0, -90, 0]) {
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 2);
}
translate(v = [53, 0, 0]) {
sphere($fn = 36, r = 2);
}
}
}
}
}
}
}
}
}
}
}
}
}
translate(v = [0, 0, 0]) {
union() {
difference() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
}
}
translate(v = [3.0000000000, 3.0000000000, 2]) {
union() {
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 2);
}
translate(v = [53, 0, 0]) {
sphere($fn = 36, r = 2);
}
}
union() {
rotate(a = [0, -90, 0]) {
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 2);
}
translate(v = [53, 0, 0]) {
sphere($fn = 36, r = 2);
}
}
}
translate(v = [53, 0, 0]) {
rotate(a = [0, -90, 0]) {
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 2);
}
translate(v = [53, 0, 0]) {
sphere($fn = 36, r = 2);
}
}
}
}
}
}
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
difference() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
}
}
translate(v = [3.0000000000, 3.0000000000, 2]) {
union() {
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 2);
}
translate(v = [53, 0, 0]) {
sphere($fn = 36, r = 2);
}
}
union() {
rotate(a = [0, -90, 0]) {
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 2);
}
translate(v = [53, 0, 0]) {
sphere($fn = 36, r = 2);
}
}
}
translate(v = [53, 0, 0]) {
rotate(a = [0, -90, 0]) {
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 2);
}
translate(v = [53, 0, 0]) {
sphere($fn = 36, r = 2);
}
}
}
}
}
}
}
}
}
}
translate(v = [59, 59, 0]) {
rotate(a = [0, 0, 180]) {
union() {
difference() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
}
}
translate(v = [3.0000000000, 3.0000000000, 2]) {
union() {
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 2);
}
translate(v = [53, 0, 0]) {
sphere($fn = 36, r = 2);
}
}
union() {
rotate(a = [0, -90, 0]) {
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 2);
}
translate(v = [53, 0, 0]) {
sphere($fn = 36, r = 2);
}
}
}
translate(v = [53, 0, 0]) {
rotate(a = [0, -90, 0]) {
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 2);
}
translate(v = [53, 0, 0]) {
sphere($fn = 36, r = 2);
}
}
}
}
}
}
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
difference() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [3.0000000000, 0], [1.0000000000, 2], [0, 2]]);
}
}
translate(v = [3.0000000000, 3.0000000000, 2]) {
union() {
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 2);
}
translate(v = [53, 0, 0]) {
sphere($fn = 36, r = 2);
}
}
union() {
rotate(a = [0, -90, 0]) {
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 2);
}
translate(v = [53, 0, 0]) {
sphere($fn = 36, r = 2);
}
}
}
translate(v = [53, 0, 0]) {
rotate(a = [0, -90, 0]) {
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 2);
}
translate(v = [53, 0, 0]) {
sphere($fn = 36, r = 2);
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
translate(v = [2, 2, 2]) {
translate(v = [2, 2, 2]) {
minkowski() {
cube(size = [51, 51, 63]);
sphere($fn = 32, r = 2);
}
}
}
}
}
/***********************************************
********* SolidPython code: **********
************************************************
# import solidLib as sl
import solidLib.primitives as slp
import solidLib.assortment as sla
import solid as s
s.scad_render_to_file(slp.pill([[0,0,0],[1, 1, 1]], .25), "./docs/files/pill.scad")
s.scad_render_to_file(slp.rcube([1, 1, 1], .25), "./docs/files/rcube.scad")
s.scad_render_to_file(slp.round_box(1, 1, 1, .25), "./docs/files/round_box.scad")
s.scad_render_to_file(slp.round_flat_box(1, 1, 1, .25), "./docs/files/round_flat_box.scad")
s.scad_render_to_file(sla.bin(1, 1), "./docs/files/bin.scad")
s.scad_render_to_file(sla.grid(2,3), "docs/files/grid.scad")
s.scad_render_to_file(sla.grid_inv(2,3), "docs/files/grid_inv.scad")
s.scad_render_to_file(sla.toolinlay1(15), "docs/files/toolinlay1.scad")
s.scad_render_to_file(sla.toolinlay2(15), "docs/files/toolinlay2.scad")
************************************************/

291
docs/files/grid.scad Normal file
View File

@ -0,0 +1,291 @@
// Generated by SolidPython 1.0.5 on 2021-02-12 20:02:04
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
translate(v = [59, 59, 0]) {
rotate(a = [0, 0, 180]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
}
}
}
translate(v = [0, 0, 0]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
translate(v = [59, 59, 0]) {
rotate(a = [0, 0, 180]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
}
}
}
}
}
translate(v = [0, 59, 0]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
translate(v = [59, 59, 0]) {
rotate(a = [0, 0, 180]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
}
}
}
}
}
translate(v = [0, 118, 0]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
translate(v = [59, 59, 0]) {
rotate(a = [0, 0, 180]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
}
}
}
}
}
translate(v = [59, 0, 0]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
translate(v = [59, 59, 0]) {
rotate(a = [0, 0, 180]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
}
}
}
}
}
translate(v = [59, 59, 0]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
translate(v = [59, 59, 0]) {
rotate(a = [0, 0, 180]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
}
}
}
}
}
translate(v = [59, 118, 0]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
translate(v = [59, 59, 0]) {
rotate(a = [0, 0, 180]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
}
}
}
}
}
}
/***********************************************
********* SolidPython code: **********
************************************************
# import solidLib as sl
import solidLib.primitives as slp
import solidLib.assortment as sla
import solid as s
s.scad_render_to_file(slp.pill([[0,0,0],[1, 1, 1]], .25), "./docs/files/pill.scad")
s.scad_render_to_file(slp.rcube([1, 1, 1], .25), "./docs/files/rcube.scad")
s.scad_render_to_file(slp.round_box(1, 1, 1, .25), "./docs/files/round_box.scad")
s.scad_render_to_file(slp.round_flat_box(1, 1, 1, .25), "./docs/files/round_flat_box.scad")
s.scad_render_to_file(sla.bin(1, 1), "./docs/files/bin.scad")
s.scad_render_to_file(sla.grid(2,3), "docs/files/grid.scad")
s.scad_render_to_file(sla.grid_inv(2,3), "docs/files/grid_inv.scad")
s.scad_render_to_file(sla.toolinlay1(15), "docs/files/toolinlay1.scad")
s.scad_render_to_file(sla.toolinlay2(15), "docs/files/toolinlay2.scad")
************************************************/

294
docs/files/grid_inv.scad Normal file
View File

@ -0,0 +1,294 @@
// Generated by SolidPython 1.0.5 on 2021-02-12 20:02:04
difference() {
cube(size = [118, 177, 1.5000000000]);
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
translate(v = [59, 59, 0]) {
rotate(a = [0, 0, 180]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
}
}
}
translate(v = [0, 0, 0]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
translate(v = [59, 59, 0]) {
rotate(a = [0, 0, 180]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
}
}
}
}
}
translate(v = [0, 59, 0]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
translate(v = [59, 59, 0]) {
rotate(a = [0, 0, 180]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
}
}
}
}
}
translate(v = [0, 118, 0]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
translate(v = [59, 59, 0]) {
rotate(a = [0, 0, 180]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
}
}
}
}
}
translate(v = [59, 0, 0]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
translate(v = [59, 59, 0]) {
rotate(a = [0, 0, 180]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
}
}
}
}
}
translate(v = [59, 59, 0]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
translate(v = [59, 59, 0]) {
rotate(a = [0, 0, 180]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
}
}
}
}
}
translate(v = [59, 118, 0]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
translate(v = [59, 59, 0]) {
rotate(a = [0, 0, 180]) {
union() {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
translate(v = [0, 59, 0]) {
rotate(a = [0, 0, -90]) {
rotate(a = [90, 0, 90]) {
linear_extrude(height = 59) {
polygon(points = [[0, 0], [1.5000000000, 0], [0, 1.5000000000]]);
}
}
}
}
}
}
}
}
}
}
}
/***********************************************
********* SolidPython code: **********
************************************************
# import solidLib as sl
import solidLib.primitives as slp
import solidLib.assortment as sla
import solid as s
s.scad_render_to_file(slp.pill([[0,0,0],[1, 1, 1]], .25), "./docs/files/pill.scad")
s.scad_render_to_file(slp.rcube([1, 1, 1], .25), "./docs/files/rcube.scad")
s.scad_render_to_file(slp.round_box(1, 1, 1, .25), "./docs/files/round_box.scad")
s.scad_render_to_file(slp.round_flat_box(1, 1, 1, .25), "./docs/files/round_flat_box.scad")
s.scad_render_to_file(sla.bin(1, 1), "./docs/files/bin.scad")
s.scad_render_to_file(sla.grid(2,3), "docs/files/grid.scad")
s.scad_render_to_file(sla.grid_inv(2,3), "docs/files/grid_inv.scad")
s.scad_render_to_file(sla.toolinlay1(15), "docs/files/toolinlay1.scad")
s.scad_render_to_file(sla.toolinlay2(15), "docs/files/toolinlay2.scad")
************************************************/

35
docs/files/pill.scad Normal file
View File

@ -0,0 +1,35 @@
// Generated by SolidPython 1.0.5 on 2021-02-12 20:02:04
hull() {
translate(v = [0, 0, 0]) {
sphere($fn = 36, r = 0.2500000000);
}
translate(v = [1, 1, 1]) {
sphere($fn = 36, r = 0.2500000000);
}
}
/***********************************************
********* SolidPython code: **********
************************************************
# import solidLib as sl
import solidLib.primitives as slp
import solidLib.assortment as sla
import solid as s
s.scad_render_to_file(slp.pill([[0,0,0],[1, 1, 1]], .25), "./docs/files/pill.scad")
s.scad_render_to_file(slp.rcube([1, 1, 1], .25), "./docs/files/rcube.scad")
s.scad_render_to_file(slp.round_box(1, 1, 1, .25), "./docs/files/round_box.scad")
s.scad_render_to_file(slp.round_flat_box(1, 1, 1, .25), "./docs/files/round_flat_box.scad")
s.scad_render_to_file(sla.bin(1, 1), "./docs/files/bin.scad")
s.scad_render_to_file(sla.grid(2,3), "docs/files/grid.scad")
s.scad_render_to_file(sla.grid_inv(2,3), "docs/files/grid_inv.scad")
s.scad_render_to_file(sla.toolinlay1(15), "docs/files/toolinlay1.scad")
s.scad_render_to_file(sla.toolinlay2(15), "docs/files/toolinlay2.scad")
************************************************/

53
docs/files/rcube.scad Normal file
View File

@ -0,0 +1,53 @@
// Generated by SolidPython 1.0.5 on 2021-02-12 20:02:04
hull() {
translate(v = [0.2500000000, 0.2500000000, 0.2500000000]) {
sphere(r = 0.2500000000);
}
translate(v = [0.2500000000, 0.2500000000, 0.7500000000]) {
sphere(r = 0.2500000000);
}
translate(v = [0.2500000000, 0.7500000000, 0.2500000000]) {
sphere(r = 0.2500000000);
}
translate(v = [0.2500000000, 0.7500000000, 0.7500000000]) {
sphere(r = 0.2500000000);
}
translate(v = [0.7500000000, 0.2500000000, 0.2500000000]) {
sphere(r = 0.2500000000);
}
translate(v = [0.7500000000, 0.2500000000, 0.7500000000]) {
sphere(r = 0.2500000000);
}
translate(v = [0.7500000000, 0.7500000000, 0.2500000000]) {
sphere(r = 0.2500000000);
}
translate(v = [0.7500000000, 0.7500000000, 0.7500000000]) {
sphere(r = 0.2500000000);
}
}
/***********************************************
********* SolidPython code: **********
************************************************
# import solidLib as sl
import solidLib.primitives as slp
import solidLib.assortment as sla
import solid as s
s.scad_render_to_file(slp.pill([[0,0,0],[1, 1, 1]], .25), "./docs/files/pill.scad")
s.scad_render_to_file(slp.rcube([1, 1, 1], .25), "./docs/files/rcube.scad")
s.scad_render_to_file(slp.round_box(1, 1, 1, .25), "./docs/files/round_box.scad")
s.scad_render_to_file(slp.round_flat_box(1, 1, 1, .25), "./docs/files/round_flat_box.scad")
s.scad_render_to_file(sla.bin(1, 1), "./docs/files/bin.scad")
s.scad_render_to_file(sla.grid(2,3), "docs/files/grid.scad")
s.scad_render_to_file(sla.grid_inv(2,3), "docs/files/grid_inv.scad")
s.scad_render_to_file(sla.toolinlay1(15), "docs/files/toolinlay1.scad")
s.scad_render_to_file(sla.toolinlay2(15), "docs/files/toolinlay2.scad")
************************************************/

View File

@ -1,23 +0,0 @@
// Generated by SolidPython 1.0.5 on 2021-02-09 16:29:37
translate(v = [0.2500000000, 0.2500000000, 0]) {
minkowski() {
cube(size = [0.5000000000, 0.5000000000, 0.5000000000]);
cylinder($fn = 36, h = 0.5000000000, r = 0.2500000000);
}
}
/***********************************************
********* SolidPython code: **********
************************************************
# import solidLib as sl
import solidLib.primitives as slp
import solid as s
s.scad_render_to_file(slp.round_box(1, 1, 1, .25), "./docs/files/round_box.scad")
s.scad_render_to_file(slp.round_flat_box(1, 1, 1, .25), "./docs/files/round__flat_box.scad")
************************************************/

View File

@ -1,10 +1,10 @@
// Generated by SolidPython 1.0.5 on 2021-02-09 16:31:15
// Generated by SolidPython 1.0.5 on 2021-02-12 20:02:04
translate(v = [0.2500000000, 0.2500000000, 0.2500000000]) {
minkowski() {
cube(size = [0.5000000000, 0.5000000000, 0.5000000000]);
sphere($fn = 36, r = 0.2500000000);
sphere($fn = 32, r = 0.2500000000);
}
}
/***********************************************
@ -13,11 +13,21 @@ translate(v = [0.2500000000, 0.2500000000, 0.2500000000]) {
# import solidLib as sl
import solidLib.primitives as slp
import solidLib.assortment as sla
import solid as s
s.scad_render_to_file(slp.pill([[0,0,0],[1, 1, 1]], .25), "./docs/files/pill.scad")
s.scad_render_to_file(slp.rcube([1, 1, 1], .25), "./docs/files/rcube.scad")
s.scad_render_to_file(slp.round_box(1, 1, 1, .25), "./docs/files/round_box.scad")
s.scad_render_to_file(slp.round_flat_box(1, 1, 1, .25), "./docs/files/round_flat_box.scad")
s.scad_render_to_file(sla.bin(1, 1), "./docs/files/bin.scad")
s.scad_render_to_file(sla.grid(2,3), "docs/files/grid.scad")
s.scad_render_to_file(sla.grid_inv(2,3), "docs/files/grid_inv.scad")
s.scad_render_to_file(sla.toolinlay1(15), "docs/files/toolinlay1.scad")
s.scad_render_to_file(sla.toolinlay2(15), "docs/files/toolinlay2.scad")
************************************************/

View File

@ -1,4 +1,4 @@
// Generated by SolidPython 1.0.5 on 2021-02-09 16:31:15
// Generated by SolidPython 1.0.5 on 2021-02-12 20:02:04
translate(v = [0.2500000000, 0.2500000000, 0]) {
@ -13,11 +13,21 @@ translate(v = [0.2500000000, 0.2500000000, 0]) {
# import solidLib as sl
import solidLib.primitives as slp
import solidLib.assortment as sla
import solid as s
s.scad_render_to_file(slp.pill([[0,0,0],[1, 1, 1]], .25), "./docs/files/pill.scad")
s.scad_render_to_file(slp.rcube([1, 1, 1], .25), "./docs/files/rcube.scad")
s.scad_render_to_file(slp.round_box(1, 1, 1, .25), "./docs/files/round_box.scad")
s.scad_render_to_file(slp.round_flat_box(1, 1, 1, .25), "./docs/files/round_flat_box.scad")
s.scad_render_to_file(sla.bin(1, 1), "./docs/files/bin.scad")
s.scad_render_to_file(sla.grid(2,3), "docs/files/grid.scad")
s.scad_render_to_file(sla.grid_inv(2,3), "docs/files/grid_inv.scad")
s.scad_render_to_file(sla.toolinlay1(15), "docs/files/toolinlay1.scad")
s.scad_render_to_file(sla.toolinlay2(15), "docs/files/toolinlay2.scad")
************************************************/

1823
docs/files/toolinlay1.scad Normal file

File diff suppressed because it is too large Load Diff

1785
docs/files/toolinlay2.scad Normal file

File diff suppressed because it is too large Load Diff

BIN
docs/img/bin.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

BIN
docs/img/grid_inv.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

BIN
docs/img/pill.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
docs/img/rcube.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

BIN
docs/img/toolinlay1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
docs/img/toolinlay2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -12,14 +12,6 @@ solidLib.assortment module
:undoc-members:
:show-inheritance:
solidLib.globals module
-----------------------
.. automodule:: solidLib.globals
:members:
:undoc-members:
:show-inheritance:
solidLib.primitives module
--------------------------

View File

@ -1 +1,7 @@
from .globals import SEGMENTS
class settings:
"""
global dolidLib settings
"""
segments = 36
raster = 59
height = 67

View File

@ -74,6 +74,11 @@ def grid_inv(
def bin(x: float, y: float, h: float = 67, segments: int = 36, dim: float = 59):
"""
standardized container
.. image:: img/bin.png
"""
class dims:
wall = 2
r_in = 2
@ -107,7 +112,7 @@ def toolinlay1(
creates a tooltray for alex container bins (2x3)
.. image:: img/bin_toolinlay1.png
.. image:: img/toolinlay1.png
:param height: height of inset above lower bin
:param inset: depth of inset
@ -166,7 +171,7 @@ def toolinlay2(
creates a tooltray for alex container bins (2x3)
.. image:: img/bin_toolinlay2.png
.. image:: img/toolinlay2.png
:param height: height of inset above lower bin
:param r_tool: toolspace radius as float or list of floats

View File

@ -1 +0,0 @@
SEGMENTS = 36

View File

@ -2,8 +2,6 @@ from typing import List, Iterable
import solid as scad
from .globals import SEGMENTS
import numpy as np
import logging as log

View File

@ -1,7 +1,17 @@
# import solidLib as sl
import solidLib.primitives as slp
import solidLib.assortment as sla
import solid as s
s.scad_render_to_file(slp.pill([[0,0,0],[1, 1, 1]], .25), "./docs/files/pill.scad")
s.scad_render_to_file(slp.rcube([1, 1, 1], .25), "./docs/files/rcube.scad")
s.scad_render_to_file(slp.round_box(1, 1, 1, .25), "./docs/files/round_box.scad")
s.scad_render_to_file(slp.round_flat_box(1, 1, 1, .25), "./docs/files/round_flat_box.scad")
s.scad_render_to_file(sla.bin(1, 1), "./docs/files/bin.scad")
s.scad_render_to_file(sla.grid(2,3), "docs/files/grid.scad")
s.scad_render_to_file(sla.grid_inv(2,3), "docs/files/grid_inv.scad")
s.scad_render_to_file(sla.toolinlay1(15), "docs/files/toolinlay1.scad")
s.scad_render_to_file(sla.toolinlay2(15), "docs/files/toolinlay2.scad")