update assembly to work with new settings

This commit is contained in:
acereca 2021-02-14 16:02:21 +01:00
parent 89af799c44
commit 62f84dade3
5 changed files with 224 additions and 11 deletions

Binary file not shown.

View File

@ -0,0 +1,7 @@
solidLib.primitives module
==========================
.. automodule:: solidLib.primitives
:members:
:undoc-members:
:show-inheritance:

View File

@ -0,0 +1,199 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>solidLib.primitives module &#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>
<div class="section" id="module-solidLib.primitives">
<span id="solidlib-primitives-module"></span><h1>solidLib.primitives module<a class="headerlink" href="#module-solidLib.primitives" title="Permalink to this headline"></a></h1>
<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><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">
<code class="sig-prename descclassname">solidLib.primitives.</code><code class="sig-name descname">round_box</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">x_dim</span><span class="p">:</span> <span class="n">float</span></em>, <em class="sig-param"><span class="n">y_dim</span><span class="p">:</span> <span class="n">float</span></em>, <em class="sig-param"><span class="n">z_dim</span><span class="p">:</span> <span class="n">float</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"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solidLib.primitives.round_box" title="Permalink to this definition"></a></dt>
<dd><p>creates a round box with radius r</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>x_dim</strong> (<em>float</em>) <p>.</p>
</p>
</dd>
</dl>
<div class="admonition important">
<p class="admonition-title">Important</p>
<p>deprecated</p>
</div>
<img alt="_images/round_box.png" src="_images/round_box.png" />
</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>
<dd><p>creates a round box with radius r and flat top/bottom</p>
<img alt="_images/round_flat_box.png" src="_images/round_flat_box.png" />
</dd></dl>
</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

@ -0,0 +1,7 @@
solidLib.primitives module
==========================
.. automodule:: solidLib.primitives
:members:
:undoc-members:
:show-inheritance:

View File

@ -37,7 +37,7 @@ def grid(
scallop = slp.pill(
[
[0, 0, 0],
[dsl.settings.raster - 2 * h - (w - 2 * h), 0, 0],
[sl.settings.raster - 2 * h - (w - 2 * h), 0, 0],
# [0,0,h], [dim - 2 * h - (w - 2 * h),0,h]
],
h,
@ -71,7 +71,7 @@ def grid_inv(
return scad.cube([x * sl.settings.raster, y * sl.settings.raster, h]) - g
def bin(x: float, y: float, h: float = 67):
def bin(x: float, y: float, h: float = 67, wall: float = 2):
"""
standardized container
@ -79,20 +79,19 @@ def bin(x: float, y: float, h: float = 67):
"""
class dims:
wall = 2
r_in = 2
r_out = r_in + wall
r_out = r_in + 2
bulk = slp.rfcube([sl.settings.raster * x, sl.settings.raster * y, h], sl.settings.raster.r_out)
hole = slp.rcube([sl.settings.raster * x - dims.wall * 2, sl.settings.raster * y - dims.wall * 2, h], dims.r_in)
hole = scad.translate([dims.wall, dims.wall, dims.wall])(hole)
bulk = slp.rfcube([sl.settings.raster * x, sl.settings.raster * y, h], dims.r_out)
hole = slp.rcube([sl.settings.raster * x - wall * 2, sl.settings.raster * y - wall * 2, h], dims.r_in)
hole = scad.translate([wall, wall, wall])(hole)
wall_o = scad.cylinder(r=dims.r_out, h=dims.r_out, segments=sl.settings.segments)
g = grid(x, y)
goverlay = grid(x, y, w=2 + 2 * dims.wall, h=dims.r_in, fillet=True)
goverlay = scad.translate([0, 0, dims.wall])(goverlay)
goverlay = grid(x, y, w=2 + 2 * wall, h=dims.r_in, fillet=True)
goverlay = scad.translate([0, 0, wall])(goverlay)
goverlay = scad.intersection()(goverlay, hole)
return bulk - hole - g + goverlay
@ -174,7 +173,8 @@ def toolinlay2(
:param inset_tool: depth of additional toolspace inset
:param maxh: system height restriction
"""
x_dim = 3
x_dim = 2
y_dim = 3
r_in = 2
base = slp.rfcube([x_dim * sl.settings.raster, y_dim * sl.settings.raster, height + inset], r_in + wall)
@ -244,7 +244,7 @@ def toolinlay2(
)
)
lower = bin(2, 3, h=maxh - height, dim=sl.settings.raster)
lower = bin(2, 3, h=maxh - height, wall=2.2)
lower = scad.color("red", 0.5)(lower)
base = scad.translate([0, 0, maxh - height - inset])(base)