<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>wphv &#8211; RS</title>
	<atom:link href="https://wp.heinar.pri.ee/author/wphv/feed/" rel="self" type="application/rss+xml" />
	<link>https://wp.heinar.pri.ee</link>
	<description></description>
	<lastBuildDate>Thu, 22 Jan 2026 10:20:20 +0000</lastBuildDate>
	<language>et</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>
	<item>
		<title>Pliiats</title>
		<link>https://wp.heinar.pri.ee/pliiats/</link>
					<comments>https://wp.heinar.pri.ee/pliiats/#respond</comments>
		
		<dc:creator><![CDATA[wphv]]></dc:creator>
		<pubDate>Mon, 03 Nov 2025 14:30:35 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://wp.heinar.pri.ee/?p=432</guid>

					<description><![CDATA[/ / Operating manual &#8211; IRC5 with FlexPendant]]></description>
										<content:encoded><![CDATA[
<span id="more-432"></span>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>//ochafik.com/openscad2
//pen2 150
union(){
    cylinder(h=15, r1=50, r2=50, center=false);
    translate(&#91;0, 0, 15&#93;)
    cylinder(h=30, r1=25, r2=25, center=false);
    translate(&#91;0, 0, 45&#93;)
    cylinder(h=105, r1=10, r2=1, center=false);
    }</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #616E88">//ochafik.com/openscad2</span></span>
<span class="line"><span style="color: #616E88">//pen2 150</span></span>
<span class="line"><span style="color: #88C0D0">union</span><span style="color: #D8DEE9FF">()</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">15</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=false</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">15</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">30</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">25</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">25</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=false</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">45</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">105</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">10</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=false</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">}</span></span></code></pre></div>



<p></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>//ochafik.com/openscad2
//pen1 90

union(){
    cylinder(h=15, r1=20, r2=20, center=false);
    translate(&#91;0, 0, 15&#93;)
    cylinder(h=75, r1=10, r2=1, center=false);
    }</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #616E88">//ochafik.com/openscad2</span></span>
<span class="line"><span style="color: #616E88">//pen1 90</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">union</span><span style="color: #D8DEE9FF">()</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">15</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">20</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">20</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=false</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">15</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">75</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">10</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=false</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">}</span></span></code></pre></div>



<p></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>//ochafik.com/openscad2
//circle

union(){
cylinder(h=15, r1=20, r2=10, center=false);
translate(&#91;0, 0, 15&#93;)
    cylinder(h=35, r1=2, r2=2, center=false, $fn = 20);

translate(&#91;0, 0, 60&#93;)
rotate(&#91;0, 90, 0&#93;)    
rotate_extrude(convexity = 10)
translate(&#91;10, 0, 0&#93;)
circle(r = 2);
}</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #616E88">//ochafik.com/openscad2</span></span>
<span class="line"><span style="color: #616E88">//circle</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">union</span><span style="color: #D8DEE9FF">()</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">15</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">20</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">10</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=false</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">15</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">35</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=false</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">20</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">60</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)    </span></span>
<span class="line"><span style="color: #88C0D0">rotate_extrude</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">convexity</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">10</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">10</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #88C0D0">circle</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #ECEFF4">}</span></span></code></pre></div>



<p></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>//ochafik.com/openscad2
//cross
//200x100x300 distants 600 diagonaalid

union(){
translate(&#91;0, 0, 50&#93;){
cylinder(h=4, r1=0.5, r2=0.5, center=true);
rotate(&#91;90, 0, 0&#93;)
cylinder(h=4, r1=0.5, r2=0.5, center=true);
}
cylinder(h=10, r1=20, r2=10, center=false);
translate(&#91;0, 0, 10&#93;)
    cylinder(h=30, r1=2, r2=2, center=false, $fn = 20);

translate(&#91;0, 0, 50&#93;)
rotate(&#91;0, 90, 0&#93;)    
rotate_extrude(convexity = 10)
translate(&#91;10, 0, 0&#93;)
circle(r = 2);
}</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #616E88">//ochafik.com/openscad2</span></span>
<span class="line"><span style="color: #616E88">//cross</span></span>
<span class="line"><span style="color: #616E88">//200x100x300 distants 600 diagonaalid</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">union</span><span style="color: #D8DEE9FF">()</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">&#93;)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=true</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=true</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">10</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">20</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">10</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=false</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">10</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">30</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=false</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">20</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)    </span></span>
<span class="line"><span style="color: #88C0D0">rotate_extrude</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">convexity</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">10</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">10</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #88C0D0">circle</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #ECEFF4">}</span></span></code></pre></div>



<p></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>//ochafik.com/openscad2
//cell

module cell(
    r,  //cylinder radius
    dx, //cell length
    dy, //cell width
    dz  //cell height
    ){  
    translate(&#91;dx/2, -dy/2, 0&#93;){
        translate(&#91;0, 0, dz&#93;)
        
        translate(&#91;0, 0, dz&#93;)
        color("green")floor(r, dx, dy, dz);
        color("blue")floor(r, dx, dy, dz);
        translate(&#91;-dx/2, 0, 0&#93;)
        color("cyan")cylinder(h=dz, r1=r, r2=r, 
            center=false, $fn = 20);
        translate(&#91;dx/2, 0, 0&#93;)
        color("magenta")cylinder(h=dz, r1=r, r2=r, 
            center=false, $fn = 20);
        translate(&#91;dx/2, dy, 0&#93;)
        color("fuchsia")cylinder(h=dz, r1=r, r2=r, 
            center=false, $fn = 20);
        translate(&#91;-dx/2, dy, 0&#93;)
        color("royalblue")cylinder(h=dz, r1=r, r2=r, 
            center=false, $fn = 20);
        }
    }
</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #616E88">//ochafik.com/openscad2</span></span>
<span class="line"><span style="color: #616E88">//cell</span></span>
<span class="line"></span>
<span class="line"><span style="color: #81A1C1">module</span><span style="color: #D8DEE9FF"> cell(</span></span>
<span class="line"><span style="color: #D8DEE9FF">    r,  </span><span style="color: #616E88">//cylinder radius</span></span>
<span class="line"><span style="color: #D8DEE9FF">    dx, </span><span style="color: #616E88">//cell length</span></span>
<span class="line"><span style="color: #D8DEE9FF">    dy, </span><span style="color: #616E88">//cell width</span></span>
<span class="line"><span style="color: #D8DEE9FF">    dz  </span><span style="color: #616E88">//cell height</span></span>
<span class="line"><span style="color: #D8DEE9FF">    )</span><span style="color: #ECEFF4">{</span><span style="color: #D8DEE9FF">  </span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #D8DEE9">dx</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">dy</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dz</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dz</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">green</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #88C0D0">floor</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dx</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dy</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dz</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">blue</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #88C0D0">floor</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dx</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dy</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dz</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">dx</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">cyan</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9">dz</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=false</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">20</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #D8DEE9">dx</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">magenta</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9">dz</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=false</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">20</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #D8DEE9">dx</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dy</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">fuchsia</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9">dz</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=false</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">20</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">dx</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dy</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">royalblue</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9">dz</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=false</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">20</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>//ochafik.com/openscad2
//array of cells

cross();
rotate(&#91;0, 0,-15&#93;)
rotate(&#91;0, 0,-15&#93;)
rotate(&#91;0, 0,-15&#93;)
translate(&#91;600, 0, 0&#93;)cell(1, 200, 150, 50);
rotate(&#91;0, 0,-15&#93;)
translate(&#91;600, 0, 0&#93;)cell(1, 200, 150, 50);
rotate(&#91;0, 0, 15&#93;)
translate(&#91;600, 0, 0&#93;)cell(1, 200, 150, 50);
//rotate(&#91;90, 0, 0&#93;)rotate(&#91;0, 90, 0&#93;)cross();
rotate(&#91;0, 0, 15&#93;)
rotate(&#91;0, 0, 15&#93;)
rotate(&#91;0, 0, 15&#93;)
translate(&#91;600, 0, 0&#93;)
cell(1, 200, 150, 50);</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #616E88">//ochafik.com/openscad2</span></span>
<span class="line"><span style="color: #616E88">//array of cells</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">cross</span><span style="color: #D8DEE9FF">()</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">15</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">15</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">15</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">600</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span><span style="color: #88C0D0">cell</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">15</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">600</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span><span style="color: #88C0D0">cell</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">15</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">600</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span><span style="color: #88C0D0">cell</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #616E88">//rotate(&#91;90, 0, 0&#93;)rotate(&#91;0, 90, 0&#93;)cross();</span></span>
<span class="line"><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">15</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">15</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">15</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">600</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #88C0D0">cell</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span></code></pre></div>



<p></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>//ochafik.com/openscad2
//axes

color("green"){
rotate(&#91;00, 90, 00&#93;)
cylinder(h=600, r1=2, r2=2, center=false);
rotate(&#91;90, 00, 00&#93;)
cylinder(h=600, r1=2, r2=2, center=true);
}</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #616E88">//ochafik.com/openscad2</span></span>
<span class="line"><span style="color: #616E88">//axes</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">green</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">00</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">00</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">600</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=false</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">00</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">00</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">600</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=true</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #ECEFF4">}</span></span></code></pre></div>



<p></p>



<p>/</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>//https://stackoverflow.com/questions/50869080/openscad-how-to-draw-a-cylinder-from-vector-to-vector

module hoop(R){
	color("#3333AA")
	rotate_extrude(angle = 90, convexity = 40)
	translate(&#91;R, 0, 0&#93;)
	circle(r = 2);
	}

module beam(
x1, y1, z1, x2, y2, z2, r1, r2
){
	dx = x2 - x1;
	dy = y2 - y1;
	dz = z2 - z1;

	l		= sqrt(dx * dx + dy * dy + dz * dz);
	lPrXY	= sqrt(dx * dx + dy * dy);

	ay = asin(dy/lPrXY);
	az = asin(dz/l);

	rotate(&#91;0,  0, ay&#93;)
	rotate(&#91;0, -az, 0&#93;)
	rotate(&#91;0, 90, 0&#93;)
		translate(&#91;0, 0, l/2&#93;)
			color("cyan")cylinder(l, r1, r2, center = true, $fn=50);

	rotate(&#91;0,  0, ay&#93;)
	rotate(&#91;0, 90, 0&#93;)
		translate(&#91;0, 0, lPrXY/2&#93;)
			color("tan")cylinder(lPrXY, r1, r2, center = true, $fn=50);

	hoop(lPrXY);
	translate(&#91;0, 0, dz&#93;)
	hoop(lPrXY);

	translate(&#91;lPrXY, 0, 0&#93;)
	translate(&#91;0, 0, dz/2&#93;)
		color("#00AA00")cylinder(dz, r1, r2, center = true, $fn=50);

	translate(&#91;x2, y2, z2&#93;)
	sphere(8, $fn=50);
	translate(&#91;x1, y1, z1&#93;)
	sphere(6, $fn=50);
	color("cyan")translate(&#91;x2, y2, 0&#93;)
		sphere(6, $fn=50);
	}

	{
	beam(0, 0, 0, 200, 300, 250, 4, 4);
	}
</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #616E88">//https://stackoverflow.com/questions/50869080/openscad-how-to-draw-a-cylinder-from-vector-to-vector</span></span>
<span class="line"></span>
<span class="line"><span style="color: #81A1C1">module</span><span style="color: #D8DEE9FF"> hoop(R)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#3333AA</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">rotate_extrude</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">angle</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">convexity</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">40</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #D8DEE9">R</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">circle</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #81A1C1">module</span><span style="color: #D8DEE9FF"> beam(</span></span>
<span class="line"><span style="color: #D8DEE9FF">x1, y1, z1, x2, y2, z2, r1, r2</span></span>
<span class="line"><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #D8DEE9">dx</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">x2</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">x1</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #D8DEE9">dy</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">y2</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">y1</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #D8DEE9">dz</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">z2</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">z1</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #D8DEE9">l</span><span style="color: #D8DEE9FF">		</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">sqrt</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dx</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">*</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dx</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dy</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">*</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dy</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dz</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">*</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dz</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #D8DEE9">lPrXY</span><span style="color: #D8DEE9FF">	</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">sqrt</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dx</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">*</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dx</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dy</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">*</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dy</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #D8DEE9">ay</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">asin</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dy</span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9">lPrXY</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #D8DEE9">az</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">asin</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dz</span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9">l</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ay</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">az</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">l</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">cyan</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">l</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">true</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ay</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">lPrXY</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">tan</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">lPrXY</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">true</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">hoop</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">lPrXY</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dz</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">hoop</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">lPrXY</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #D8DEE9">lPrXY</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dz</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#00AA00</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dz</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">true</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #D8DEE9">x2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">y2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">z2</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">sphere</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">8</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #D8DEE9">x1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">y1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">z1</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">sphere</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">6</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">cyan</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #D8DEE9">x2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">y2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">sphere</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">6</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">beam</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">300</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">250</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #ECEFF4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<p>/</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>
module c_1(ay, az, l, r1, r2, c){
	rotate(&#91;0, 0, az&#93;)
		rotate(&#91;0, ay, 0&#93;)
			rotate(&#91;0, 90, 0&#93;)
				translate(&#91;0, 0, l / 2&#93;)
					color(c)cylinder(l, r1, r2, center = true, $fn = 50);
}

module beam(x1, y1, z1, x2, y2, z2, r1, r2, c){
	translate(&#91;x1, y1, z1&#93;) {
		dx = x2 - x1;
		dy = y2 - y1;
		dz = z2 - z1;

		if ((abs(dx) &lt; 1e-6)&amp;&amp;(abs(dy) &lt; 1e-6)) {	// ||	Z
			if (dz > 0) {
				translate(&#91;0, 0, dz / 2&#93;)
				color(c)cylinder(dz, r1, r2, center = true, $fn = 50);
				}
			else if (dz &lt; 0){
				translate(&#91;0, 0, dz / 2&#93;)
				color(c)cylinder(-dz, r2, r1, center = true, $fn = 50);
				}
			}
		else if ((abs(dy) &lt; 1e-6)&amp;&amp;(abs(dz) &lt; 1e-6)){	// ||	X
			if (dx > 0){
				rotate(&#91;0, 90, 0&#93;)
				translate(&#91;0, 0, dx / 2&#93;)
					color(c)cylinder(dx, r1, r2, center = true, $fn = 50);
				}
			else if (dx &lt; 0){
				rotate(&#91;0, 90, 0&#93;)
					translate(&#91;0, 0, dx / 2&#93;)
						color(c)cylinder(-dx, r2, r1, center = true, $fn = 50);
				}

			}
		else if ((abs(dx) &lt; 1e-6)&amp;&amp;(abs(dz) &lt; 1e-6)){	// ||	Y
			if (dy > 0){
				rotate(&#91;-90, 0, 0&#93;)
				translate(&#91;0, 0, dy / 2&#93;)
					color(c)cylinder(dy, r1, r2, center = true, $fn = 50);
				}
			else if (dy &lt; 0){
				rotate(&#91;-90, 0, 0&#93;)
					translate(&#91;0, 0, dy / 2&#93;)
						color(c)cylinder(-dy, r2, r1, center = true, $fn = 50);
				}
			}
		else {
			l		= sqrt(pow(dx, 2) + pow(dy, 2) + pow(dz, 2)	);
			lPrXY	= sqrt(pow(dx, 2) + pow(dy, 2)				);

//minus = look from end of the axis; clockwise

			az = acos(dx / lPrXY);    //if lPrXY == 0, then vertical
			ay = acos(lPrXY / l);
			if (dx > 0){
				if (dy >= 0) {
					if (dz > 0) {	//	dx>0	dy>0	dz>0 	//OK 1 1 1
						c_1(-ay, az, l, r1, r2, c);
					}
					else {			//	dx>0	dy>0	dz&lt;0 	//OK 1 1-1
						c_1( ay, az, l, r1, r2, c);
					}
				}
				else if (dy &lt; 0) {
					if (dz > 0) {	//	dx>0	dy&lt;0	dz>0	//OK 1-1 1
						c_1(-ay, -az, l, r1, r2, c);
					}
					else {			//	dx>0	dy&lt;0	dz&lt;0	//OK 1-1-1
						c_1( ay, -az, l, r1, r2, c);
					}
				}
			}
			else {
				if (dy >= 0) {
					if (dz > 0) {	//	dx&lt;0	dy>0	dz>0 	//OK-1 1 1
						c_1(-ay, az, l, r1, r2, c);
					}
					else {			//	dx&lt;0	dy>0	dz&lt;0 	//OK-1 1-1
						c_1( ay, az, l, r1, r2, c);
					}
				}
				else if (dy &lt; 0) {
					if (dz > 0) {	//	dx&lt;0	dy&lt;0	dz>0	//OK-1-1 1
						c_1(-ay, -az, l, r1, r2, c);
						}
					else {			//	dx&lt;0	dy&lt;0	dz&lt;0	//OK-1-1-1
						c_1( ay, -az, l, r1, r2, c);
					}
				}

			}
		}
}
	translate(&#91;x2, y2, z2&#93;)
		sphere(6, $fn=50);
	translate(&#91;x1, y1, z1&#93;)
		sphere(6, $fn=50);
}

{

/*
	beam(    0,    0,    0,  200,  200,  200, 1, 4, "#EABB94");//dx>0 dy>0 dz>0	// 1 1 1
	beam(    0,    0,    0, -200,  200,  200, 1, 4, "#EABB94");//dx&lt;0 dy>0 dz>0	//-1 1 1

	beam(    0,    0,    0,  200,  200, -200, 1, 4, "#22EE22");//dx>0 dy>0 dz&lt;0	// 1 1-1
	beam(    0,    0,    0, -200,  200, -200, 1, 4, "#22EE22");//dx&lt;0 dy>0 dz&lt;0	//-1 1-1

	beam(    0,    0,    0,  200, -200,  200, 1, 4, "#EA0094");//dx>0 dy&lt;0 dz>0	// 1-1 1
	beam(    0,    0,    0,  200, -150,  200, 1, 4, "#EABB00");//dx>0 dy&lt;0 dz>0	// 1-1 1
	beam(    0,    0,    0, -200, -200,  200, 1, 4, "#00BB94");//dx&lt;0 dy&lt;0 dz>0	//-1-1 1
	beam(    0,    0,    0, -200, -150,  200, 1, 4, "#EABB94");//dx&lt;0 dy&lt;0 dz>0	//-1-1 1


	beam(    0,    0,    0,  200, -200, -200, 1, 4, "#EABB94");//dx>0 dy&lt;0 dz&lt;0	// 1-1-1
	beam(    0,    0,    0,  200, -150, -200, 1, 4, "#EABB94");//dx>0 dy&lt;0 dz&lt;0	// 1-1-1
	beam(    0,    0,    0, -200, -200, -200, 1, 4, "#EABB94");//dx&lt;0 dy&lt;0 dz&lt;0	//-1-1-1
	beam(    0,    0,    0, -200, -150, -200, 1, 4, "#EABB94");//dx&lt;0 dy&lt;0 dz&lt;0	//-1-1-1
*/

	beam( 150,  200,  175,  150,  200, -175, 1, 4, "#EABB94");
	beam( 150,  200, -175,  150, -200, -175, 1, 4, "#EABB94");
	beam( 150, -200, -175, -150, -200, -175, 1, 4, "#EABB94");
	beam(-150, -200, -175, -150,  200, -175, 1, 4, "#EABB94");
	beam(-150,  200, -175,  150,  200, -175, 1, 4, "#EABB94");

	beam( 150,  200,  175,  150, -200,  175, 1, 4, "#EABB94");
	beam( 150, -200,  175, -150, -200,  175, 1, 4, "#EABB94");
	beam(-150, -200,  175, -150,  200,  175, 1, 4, "#EABB94");
	beam(-150,  200,  175,  150,  200,  175, 1, 4, "#EABB94");

	beam(-150, -200, -175,  150,  200,  175, 1, 4, "#EABB94");
	beam(-150, -200, -175, -150, -200,  175, 1, 4, "#EABB94");
	beam(-150, -200, -175, -150,  200,  175, 1, 4, "#EABB94");
	beam(-150, -200, -175,  150, -200,  175, 1, 4, "#EABB94");

	beam( 150,  200,  175,  150, -200, -175, 1, 4, "#EABB94");
	beam( 150,  200,  175, -150, -200, -175, 1, 4, "#22DD22");
	beam( 150,  200,  175, -150,  200, -175, 1, 4, "#22DD22");
	beam( 150,  200,  175, -150, -200,  175, 1, 4, "#22DD22");

	beam( 150, -200, -175,  150, -200,  175, 1, 4, "#22DD22");
	beam( 150, -200, -175, -150, -200,  175, 1, 4, "#22DD22");

	beam( 150, -200,  175,  150,  200, -175, 1, 4, "#22DD22");

	beam( 150, -200, -175, -150,  200,  175, 1, 4, "#22DD22");
	beam(-150,  200,  175,  150, -200, -175, 1, 4, "#2222DD");

}

</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #81A1C1">module</span><span style="color: #D8DEE9FF"> c_1(ay, az, l, r1, r2, c)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">az</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ay</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">l</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">)</span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">l</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">true</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #81A1C1">module</span><span style="color: #D8DEE9FF"> beam(x1, y1, z1, x2, y2, z2, r1, r2, c)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #D8DEE9">x1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">y1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">z1</span><span style="color: #D8DEE9FF">&#93;) </span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #D8DEE9">dx</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">x2</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">x1</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #D8DEE9">dy</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">y2</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">y1</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #D8DEE9">dz</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">z2</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">z1</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #81A1C1">if</span><span style="color: #D8DEE9FF"> ((</span><span style="color: #88C0D0">abs</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dx</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&lt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1e-6</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">&amp;&amp;</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">abs</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dy</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&lt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1e-6</span><span style="color: #D8DEE9FF">)) </span><span style="color: #ECEFF4">{</span><span style="color: #D8DEE9FF">	</span><span style="color: #616E88">// ||	Z</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #81A1C1">if</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">dz</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">) </span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dz</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">)</span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dz</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">true</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #81A1C1">else</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">if</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">dz</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dz</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">)</span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">dz</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">true</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #81A1C1">else</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">if</span><span style="color: #D8DEE9FF"> ((</span><span style="color: #88C0D0">abs</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dy</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&lt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1e-6</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">&amp;&amp;</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">abs</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dz</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&lt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1e-6</span><span style="color: #D8DEE9FF">))</span><span style="color: #ECEFF4">{</span><span style="color: #D8DEE9FF">	</span><span style="color: #616E88">// ||	X</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #81A1C1">if</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">dx</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dx</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">)</span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dx</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">true</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #81A1C1">else</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">if</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">dx</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dx</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">						</span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">)</span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">dx</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">true</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #81A1C1">else</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">if</span><span style="color: #D8DEE9FF"> ((</span><span style="color: #88C0D0">abs</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dx</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&lt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1e-6</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">&amp;&amp;</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">abs</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dz</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&lt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1e-6</span><span style="color: #D8DEE9FF">))</span><span style="color: #ECEFF4">{</span><span style="color: #D8DEE9FF">	</span><span style="color: #616E88">// ||	Y</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #81A1C1">if</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">dy</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dy</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">)</span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dy</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">true</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #81A1C1">else</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">if</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">dy</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dy</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">						</span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">)</span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">dy</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">true</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #81A1C1">else</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #D8DEE9">l</span><span style="color: #D8DEE9FF">		</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">sqrt</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">pow</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dx</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">pow</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dy</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">pow</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dz</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)	)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #D8DEE9">lPrXY</span><span style="color: #D8DEE9FF">	</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">sqrt</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">pow</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dx</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">pow</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dy</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)				)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #616E88">//minus = look from end of the axis; clockwise</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #D8DEE9">az</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">acos</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dx</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">lPrXY</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span><span style="color: #D8DEE9FF">    </span><span style="color: #616E88">//if lPrXY == 0, then vertical</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #D8DEE9">ay</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">acos</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">lPrXY</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">l</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #81A1C1">if</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">dx</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #81A1C1">if</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">dy</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">) </span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #81A1C1">if</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">dz</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">) </span><span style="color: #ECEFF4">{</span><span style="color: #D8DEE9FF">	</span><span style="color: #616E88">//	dx&gt;0	dy&gt;0	dz&gt;0 	//OK 1 1 1</span></span>
<span class="line"><span style="color: #D8DEE9FF">						</span><span style="color: #88C0D0">c_1</span><span style="color: #D8DEE9FF">(</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">ay</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">az</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">l</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #81A1C1">else</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">{</span><span style="color: #D8DEE9FF">			</span><span style="color: #616E88">//	dx&gt;0	dy&gt;0	dz&lt;0 	//OK 1 1-1</span></span>
<span class="line"><span style="color: #D8DEE9FF">						</span><span style="color: #88C0D0">c_1</span><span style="color: #D8DEE9FF">( </span><span style="color: #D8DEE9">ay</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">az</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">l</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #81A1C1">else</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">if</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">dy</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">) </span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #81A1C1">if</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">dz</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">) </span><span style="color: #ECEFF4">{</span><span style="color: #D8DEE9FF">	</span><span style="color: #616E88">//	dx&gt;0	dy&lt;0	dz&gt;0	//OK 1-1 1</span></span>
<span class="line"><span style="color: #D8DEE9FF">						</span><span style="color: #88C0D0">c_1</span><span style="color: #D8DEE9FF">(</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">ay</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">az</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">l</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #81A1C1">else</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">{</span><span style="color: #D8DEE9FF">			</span><span style="color: #616E88">//	dx&gt;0	dy&lt;0	dz&lt;0	//OK 1-1-1</span></span>
<span class="line"><span style="color: #D8DEE9FF">						</span><span style="color: #88C0D0">c_1</span><span style="color: #D8DEE9FF">( </span><span style="color: #D8DEE9">ay</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">az</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">l</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #81A1C1">else</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #81A1C1">if</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">dy</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">) </span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #81A1C1">if</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">dz</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">) </span><span style="color: #ECEFF4">{</span><span style="color: #D8DEE9FF">	</span><span style="color: #616E88">//	dx&lt;0	dy&gt;0	dz&gt;0 	//OK-1 1 1</span></span>
<span class="line"><span style="color: #D8DEE9FF">						</span><span style="color: #88C0D0">c_1</span><span style="color: #D8DEE9FF">(</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">ay</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">az</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">l</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #81A1C1">else</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">{</span><span style="color: #D8DEE9FF">			</span><span style="color: #616E88">//	dx&lt;0	dy&gt;0	dz&lt;0 	//OK-1 1-1</span></span>
<span class="line"><span style="color: #D8DEE9FF">						</span><span style="color: #88C0D0">c_1</span><span style="color: #D8DEE9FF">( </span><span style="color: #D8DEE9">ay</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">az</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">l</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #81A1C1">else</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">if</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">dy</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">) </span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #81A1C1">if</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">dz</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">) </span><span style="color: #ECEFF4">{</span><span style="color: #D8DEE9FF">	</span><span style="color: #616E88">//	dx&lt;0	dy&lt;0	dz&gt;0	//OK-1-1 1</span></span>
<span class="line"><span style="color: #D8DEE9FF">						</span><span style="color: #88C0D0">c_1</span><span style="color: #D8DEE9FF">(</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">ay</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">az</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">l</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">						</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #81A1C1">else</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">{</span><span style="color: #D8DEE9FF">			</span><span style="color: #616E88">//	dx&lt;0	dy&lt;0	dz&lt;0	//OK-1-1-1</span></span>
<span class="line"><span style="color: #D8DEE9FF">						</span><span style="color: #88C0D0">c_1</span><span style="color: #D8DEE9FF">( </span><span style="color: #D8DEE9">ay</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">az</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">l</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #D8DEE9">x2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">y2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">z2</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">sphere</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">6</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #D8DEE9">x1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">y1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">z1</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">sphere</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">6</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #ECEFF4">{</span></span>
<span class="line"></span>
<span class="line"><span style="color: #616E88">/*</span></span>
<span class="line"><span style="color: #616E88">	beam(    0,    0,    0,  200,  200,  200, 1, 4, &quot;#EABB94&quot;);//dx&gt;0 dy&gt;0 dz&gt;0	// 1 1 1</span></span>
<span class="line"><span style="color: #616E88">	beam(    0,    0,    0, -200,  200,  200, 1, 4, &quot;#EABB94&quot;);//dx&lt;0 dy&gt;0 dz&gt;0	//-1 1 1</span></span>
<span class="line"></span>
<span class="line"><span style="color: #616E88">	beam(    0,    0,    0,  200,  200, -200, 1, 4, &quot;#22EE22&quot;);//dx&gt;0 dy&gt;0 dz&lt;0	// 1 1-1</span></span>
<span class="line"><span style="color: #616E88">	beam(    0,    0,    0, -200,  200, -200, 1, 4, &quot;#22EE22&quot;);//dx&lt;0 dy&gt;0 dz&lt;0	//-1 1-1</span></span>
<span class="line"></span>
<span class="line"><span style="color: #616E88">	beam(    0,    0,    0,  200, -200,  200, 1, 4, &quot;#EA0094&quot;);//dx&gt;0 dy&lt;0 dz&gt;0	// 1-1 1</span></span>
<span class="line"><span style="color: #616E88">	beam(    0,    0,    0,  200, -150,  200, 1, 4, &quot;#EABB00&quot;);//dx&gt;0 dy&lt;0 dz&gt;0	// 1-1 1</span></span>
<span class="line"><span style="color: #616E88">	beam(    0,    0,    0, -200, -200,  200, 1, 4, &quot;#00BB94&quot;);//dx&lt;0 dy&lt;0 dz&gt;0	//-1-1 1</span></span>
<span class="line"><span style="color: #616E88">	beam(    0,    0,    0, -200, -150,  200, 1, 4, &quot;#EABB94&quot;);//dx&lt;0 dy&lt;0 dz&gt;0	//-1-1 1</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #616E88">	beam(    0,    0,    0,  200, -200, -200, 1, 4, &quot;#EABB94&quot;);//dx&gt;0 dy&lt;0 dz&lt;0	// 1-1-1</span></span>
<span class="line"><span style="color: #616E88">	beam(    0,    0,    0,  200, -150, -200, 1, 4, &quot;#EABB94&quot;);//dx&gt;0 dy&lt;0 dz&lt;0	// 1-1-1</span></span>
<span class="line"><span style="color: #616E88">	beam(    0,    0,    0, -200, -200, -200, 1, 4, &quot;#EABB94&quot;);//dx&lt;0 dy&lt;0 dz&lt;0	//-1-1-1</span></span>
<span class="line"><span style="color: #616E88">	beam(    0,    0,    0, -200, -150, -200, 1, 4, &quot;#EABB94&quot;);//dx&lt;0 dy&lt;0 dz&lt;0	//-1-1-1</span></span>
<span class="line"><span style="color: #616E88">*/</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">beam</span><span style="color: #D8DEE9FF">( </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#EABB94</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">beam</span><span style="color: #D8DEE9FF">( </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#EABB94</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">beam</span><span style="color: #D8DEE9FF">( </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#EABB94</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">beam</span><span style="color: #D8DEE9FF">(</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#EABB94</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">beam</span><span style="color: #D8DEE9FF">(</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#EABB94</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">beam</span><span style="color: #D8DEE9FF">( </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#EABB94</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">beam</span><span style="color: #D8DEE9FF">( </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#EABB94</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">beam</span><span style="color: #D8DEE9FF">(</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#EABB94</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">beam</span><span style="color: #D8DEE9FF">(</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#EABB94</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">beam</span><span style="color: #D8DEE9FF">(</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#EABB94</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">beam</span><span style="color: #D8DEE9FF">(</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#EABB94</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">beam</span><span style="color: #D8DEE9FF">(</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#EABB94</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">beam</span><span style="color: #D8DEE9FF">(</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#EABB94</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">beam</span><span style="color: #D8DEE9FF">( </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#EABB94</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">beam</span><span style="color: #D8DEE9FF">( </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#22DD22</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">beam</span><span style="color: #D8DEE9FF">( </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#22DD22</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">beam</span><span style="color: #D8DEE9FF">( </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#22DD22</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">beam</span><span style="color: #D8DEE9FF">( </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#22DD22</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">beam</span><span style="color: #D8DEE9FF">( </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#22DD22</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">beam</span><span style="color: #D8DEE9FF">( </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#22DD22</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">beam</span><span style="color: #D8DEE9FF">( </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#22DD22</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">beam</span><span style="color: #D8DEE9FF">(</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">150</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">175</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#2222DD</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"></span></code></pre></div>



<p></p>



<p></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>//https://stackoverflow.com/questions/50869080/openscad-how-to-draw-a-cylinder-from-vector-to-vector


// Transpose of matrix A (swap rows and columns)
function transpose(A) = [for (j = [0:len(A&#91;0&#93;)-1]) [for(i = &#91;0:len(A)-1&#93;) A&#91;i&#93;&#91;j&#93;]];

//  Cylinder of radius r from P to Q
module cyl_between(P, Q, r){
    v = Q - P;    // vector from P to Q
    L = norm(v);  // height of the cylnder = dist(P, Q) 
    c = v / L;    // unit vector: direction from P to Q    
    is_c_vertical = ( 1 - abs(c * &#91;0, 0, 1&#93;) &lt; 1e-6); //is c parallel to z axis?
    u = is_c_vertical ? &#91;1, 0, 0&#93; : cross(&#91;0, 0, 1&#93;, c); // normal to c and Z axis
    a = u / norm(u); // unit vector normal to c and the Z axis
    b = cross(c, a); // unit vector normal to a and b
    // &#91;a, b, c&#93; is an orthonormal basis, i.e. the rotation matrix; P is the translation
    MT = &#91;a, b, c, P&#93;; // the transformation matrix
    M = transpose(MT); // OpenSCAD wants vectors in columns, so we need to transpose
    multmatrix(M)
        cylinder(h=L, r=r, $fn=30);
}

cyl_between(&#91;100,100,100&#93;, &#91;100,200,100&#93;, 4);</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #616E88">//https://stackoverflow.com/questions/50869080/openscad-how-to-draw-a-cylinder-from-vector-to-vector</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #616E88">// Transpose of matrix A (swap rows and columns)</span></span>
<span class="line"><span style="color: #81A1C1">function</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">transpose</span><span style="color: #ECEFF4">(</span><span style="color: #D8DEE9">A</span><span style="color: #ECEFF4">)</span><span style="color: #D8DEE9FF"> = [</span><span style="color: #88C0D0">for</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">(</span><span style="color: #D8DEE9">j</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> [</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">:</span><span style="color: #88C0D0">len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">A</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">]</span><span style="color: #ECEFF4">)</span><span style="color: #D8DEE9FF"> [</span><span style="color: #88C0D0">for</span><span style="color: #ECEFF4">(</span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">:</span><span style="color: #88C0D0">len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">A</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">)</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">A</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #88C0D0">i</span><span style="color: #D8DEE9FF">&#93;&#91;</span><span style="color: #88C0D0">j</span><span style="color: #D8DEE9FF">&#93;]]</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #616E88">//  Cylinder of radius r from P to Q</span></span>
<span class="line"><span style="color: #81A1C1">module</span><span style="color: #D8DEE9FF"> cyl_between(P, Q, r)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">v</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Q</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">P</span><span style="color: #81A1C1">;</span><span style="color: #D8DEE9FF">    </span><span style="color: #616E88">// vector from P to Q</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">L</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">norm</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">v</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span><span style="color: #D8DEE9FF">  </span><span style="color: #616E88">// height of the cylnder = dist(P, Q) </span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">v</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">L</span><span style="color: #81A1C1">;</span><span style="color: #D8DEE9FF">    </span><span style="color: #616E88">// unit vector: direction from P to Q    </span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">is_c_vertical</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> ( </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">abs</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">*</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">&#93;) </span><span style="color: #81A1C1">&lt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1e-6</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span><span style="color: #D8DEE9FF"> </span><span style="color: #616E88">//is c parallel to z axis?</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">u</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">is_c_vertical</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">?</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93; </span><span style="color: #81A1C1">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">cross</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span><span style="color: #D8DEE9FF"> </span><span style="color: #616E88">// normal to c and Z axis</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">a</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">u</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">norm</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">u</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span><span style="color: #D8DEE9FF"> </span><span style="color: #616E88">// unit vector normal to c and the Z axis</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">b</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">cross</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">c</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">a</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span><span style="color: #D8DEE9FF"> </span><span style="color: #616E88">// unit vector normal to a and b</span></span>
<span class="line"><span style="color: #ECEFF4">    </span><span style="color: #616E88">// &#91;a, b, c&#93; is an orthonormal basis, i.e. the rotation matrix; P is the translation</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">MT</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #D8DEE9">a</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">b</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">P</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #81A1C1">;</span><span style="color: #D8DEE9FF"> </span><span style="color: #616E88">// the transformation matrix</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">M</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">transpose</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">MT</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span><span style="color: #D8DEE9FF"> </span><span style="color: #616E88">// OpenSCAD wants vectors in columns, so we need to transpose</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">multmatrix</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">M</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9">L</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">30</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">cyl_between</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">100</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">100</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">100</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">100</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">100</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span></code></pre></div>



<p></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>//  tool; length = 50
union(){
    cylinder(h=10, r1=20, r2=20, center=false);
    translate(&#91;0, 0, 10&#93;)
    cylinder(h=40, r1=0.5, r2=0.25, center=false);

    translate(&#91;0, 0, 51&#93;){
    translate(&#91;0, 0, 5&#93;)
    linear_extrude(0.25)
    text("Z", size=2, font="Liberation Sans", halign="center", valign="center");
    cylinder(h=4, r1=0.25, r2=0.5, center=false);}

    translate(&#91;0, 0, 50&#93;)
    translate(&#91;1, 0, 0&#93;)
    rotate(&#91;0, 90, 0&#93;){
        translate(&#91;0, 0, 5&#93;)
        linear_extrude(0.25)
    text("X", size=2, font="Liberation Sans", halign="center", valign="center");
    cylinder(h=3, r1=0.25, r2=0.5, center=false);}

    translate(&#91;0, 0, 50&#93;)
    rotate(&#91;0, 0, 90&#93;)
    translate(&#91;1, 0, 0&#93;)
    rotate(&#91;0, 90, 0&#93;){
        translate(&#91;0, 0, 5&#93;)
        linear_extrude(0.25)
    text("Y", size=2, font="Liberation Sans", halign="center", valign="center");
    cylinder(h=3, r1=0.25, r2=0.5, center=false);}
    }</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #616E88">//  tool; length = 50</span></span>
<span class="line"><span style="color: #88C0D0">union</span><span style="color: #D8DEE9FF">()</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">10</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">20</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">20</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=false</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">10</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">40</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">0.25</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=false</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">51</span><span style="color: #D8DEE9FF">&#93;)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">5</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">linear_extrude</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">0.25</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">text</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Z</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">size</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">font</span><span style="color: #81A1C1">=</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Liberation Sans</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">halign</span><span style="color: #81A1C1">=</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">center</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">valign</span><span style="color: #81A1C1">=</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">center</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">0.25</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=false</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">5</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">linear_extrude</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">0.25</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">text</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">X</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">size</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">font</span><span style="color: #81A1C1">=</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Liberation Sans</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">halign</span><span style="color: #81A1C1">=</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">center</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">valign</span><span style="color: #81A1C1">=</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">center</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">3</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">0.25</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=false</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">90</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">5</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">linear_extrude</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">0.25</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">text</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Y</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">size</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">font</span><span style="color: #81A1C1">=</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Liberation Sans</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">halign</span><span style="color: #81A1C1">=</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">center</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">valign</span><span style="color: #81A1C1">=</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">center</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">3</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r1</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">0.25</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r2</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=false</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">}</span></span></code></pre></div>



<p></p>



<p></p>



<p><a href="https://www.uzivatelskadokumentace.cz/Controllers/IRC5/FlexPendant/en/3HAC050941-001.pdf">Operating manual &#8211; IRC5 with FlexPendant</a></p>



<p></p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://wp.heinar.pri.ee/pliiats/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Moodul ja protseduur</title>
		<link>https://wp.heinar.pri.ee/moodul-ja-protseduur/</link>
					<comments>https://wp.heinar.pri.ee/moodul-ja-protseduur/#respond</comments>
		
		<dc:creator><![CDATA[wphv]]></dc:creator>
		<pubDate>Mon, 03 Nov 2025 11:55:13 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://wp.heinar.pri.ee/?p=401</guid>

					<description><![CDATA[01 vajutatakse File valitakse NewModule (02) lisatakse nimi hv_mod_2 (03) vajutatakse OK hvMod_2 valmis(04) Valitaks showModule, mooduli sisu (05) valitakse [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><span id="more-401"></span></p>



<p>01 vajutatakse File valitakse NewModule (02) lisatakse nimi hv_mod_2 (03) vajutatakse OK hvMod_2 valmis(04) Valitaks showModule, mooduli sisu (05) valitakse Routines vastus no routines (06) valitakse file New Routine&#8230; (07) lisatakse nimi hvProc_2 (08) vjutatakse OK, proc valmis (09) vajutatakse ShowRoutine(09) protseduuri sisu (10) lisatakse käsk Stop (11) Käsu leidmiseks kasutatakse Previous ja Next (11) käsk Stop lisatud (12) Tehakse File valitakse Save Program As (13) Vajutatakse OK (14) Valitakse Yes (15) Mooduli koht failisüsteemis (16) Avatakse main moodul lisatakse ProcCall (17) Valitakse hvProc2 (18) Vajutatakse OK (19) Protseduuri poole pöördumine lisatud (20) Debug käima ja kontrollitakse üle.</p>



<p>/</p>



<p>MT_10 800, 0, 900, 0, 0, 1, 0</p>



<p>cos(a/2), 0, sin(a/2), 0</p>



<p>kolmekumnekraadine nurk =&gt; a/2 = 15 kraadi</p>


<pre>0     [806.29, 0.00, 1154.00] [0.500000, 0, 0.866030, 0] [           ]60x2=120<br />MT_40 [806.29, 0.00, 1154.00] [0.258820, 0, 0.965930, 0] [0,  0, 0, 0]75x2=150<br />MT_50 [781.29, 0.00, 1110.70] [0.258820, 0, 0.965930, 0] [0,  0, 0, 0]<br />MT_10 [850.00, 0.00,  900.00] [0.000000, 0, 1.000000, 0] [0, -1, 0, 0]<br />MT_20 [800.00, 0.00,  900.00] [0.000000, 0, 1.000000, 0] [0, -1, 0, 0]<br />MT_30 [800.00, 0.00,  900.00] [0.707107, 0, 0.707107, 0] [0, -1, 0, 0]<br />sphere(3, $fa= 5, $fs=0.1);<br />l= 50 <br />MT_7 [786.05, 17.17, 1122.4][0.424185, -0.34151, 0.707051, -0.451129][0, -1, -1, 0]<br />gg</pre>


<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>ECHO: "R_0"
ECHO: [&#91;600, 0, 550&#93;, &#91;0.5, 0, 0.866025, 0&#93;]
ECHO: [&#91;470.096, -8.32667e-15, 625&#93;, &#91;0.5, 0, 0.866025, 0&#93;]
ECHO: [&#91;493.934, 8.32667e-15, 656.066&#93;, &#91;0.382683, 0, 0.92388, 0&#93;]
ECHO: [&#91;508.144, -53.033, 656.066&#93;, &#91;0.369644, -0.239118, 0.892399, 0.0990458&#93;]
ECHO: [&#91;538.726, -53.033, 676.226&#93;, &#91;0.25, -0.224144, 0.933013, 0.12941&#93;]
ECHO: [&#91;546.967, 61.274, 676.226&#93;, &#91;0.268283, 0.501246, 0.818233, -0.0852703&#93;]
ECHO: [&#91;490.959, 61.274, 632.798&#93;, &#91;0.470916, 0.506236, 0.720916, 0.0473672&#93;]
ECHO: [&#91;478.238, 61.274, 612.606&#93;, &#91;0.531956, 0.500181, 0.67713, 0.0913083&#93;]
ECHO: "R_7"

ECHO: "R_0"
ECHO: [&#91;600,       0.000, 1000.00&#93;, &#91;0.5, 0, 0.866025, 0&#93;]
ECHO: [&#91;470.096,   0.000, 1075.00&#93;, &#91;0.5, 0, 0.866025, 0&#93;]
ECHO: [&#91;493.934,   0.000, 1106.07&#93;, &#91;0.382683, 0, 0.92388, 0&#93;]
ECHO: [&#91;508.144, -53.033, 1106.07&#93;, &#91;0.369644, -0.239118, 0.892399, 0.0990458&#93;]
ECHO: [&#91;538.726, -53.033, 1126.23&#93;, &#91;0.25, -0.224144, 0.933013, 0.12941&#93;]
ECHO: [&#91;546.967,  61.274, 1126.23&#93;, &#91;0.268283, 0.501246, 0.818233, -0.0852703&#93;]
ECHO: [&#91;490.959,  61.274, 1082.80&#93;, &#91;0.470916, 0.506236, 0.720916, 0.0473672&#93;]
ECHO: [&#91;478.238,  61.274, 1062.61&#93;, &#91;0.531956, 0.500181, 0.67713, 0.0913083&#93;]
ECHO: "R_7"</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9FF">ECHO</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">R_0</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">ECHO</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> [&#91;</span><span style="color: #B48EAD">600</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">550</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.866025</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;]</span></span>
<span class="line"><span style="color: #D8DEE9FF">ECHO</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> [&#91;</span><span style="color: #B48EAD">470.096</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">8.32667e-15</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">625</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.866025</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;]</span></span>
<span class="line"><span style="color: #D8DEE9FF">ECHO</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> [&#91;</span><span style="color: #B48EAD">493.934</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">8.32667e-15</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">656.066</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0.382683</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.92388</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;]</span></span>
<span class="line"><span style="color: #D8DEE9FF">ECHO</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> [&#91;</span><span style="color: #B48EAD">508.144</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">53.033</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">656.066</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0.369644</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">0.239118</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.892399</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.0990458</span><span style="color: #D8DEE9FF">&#93;]</span></span>
<span class="line"><span style="color: #D8DEE9FF">ECHO</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> [&#91;</span><span style="color: #B48EAD">538.726</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">53.033</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">676.226</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0.25</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">0.224144</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.933013</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.12941</span><span style="color: #D8DEE9FF">&#93;]</span></span>
<span class="line"><span style="color: #D8DEE9FF">ECHO</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> [&#91;</span><span style="color: #B48EAD">546.967</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">61.274</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">676.226</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0.268283</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.501246</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.818233</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">0.0852703</span><span style="color: #D8DEE9FF">&#93;]</span></span>
<span class="line"><span style="color: #D8DEE9FF">ECHO</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> [&#91;</span><span style="color: #B48EAD">490.959</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">61.274</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">632.798</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0.470916</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.506236</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.720916</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.0473672</span><span style="color: #D8DEE9FF">&#93;]</span></span>
<span class="line"><span style="color: #D8DEE9FF">ECHO</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> [&#91;</span><span style="color: #B48EAD">478.238</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">61.274</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">612.606</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0.531956</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.500181</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.67713</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.0913083</span><span style="color: #D8DEE9FF">&#93;]</span></span>
<span class="line"><span style="color: #D8DEE9FF">ECHO</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">R_7</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">ECHO</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">R_0</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">ECHO</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> [&#91;</span><span style="color: #B48EAD">600</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">       </span><span style="color: #B48EAD">0.000</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1000.00</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.866025</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;]</span></span>
<span class="line"><span style="color: #D8DEE9FF">ECHO</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> [&#91;</span><span style="color: #B48EAD">470.096</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">   </span><span style="color: #B48EAD">0.000</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1075.00</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.866025</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;]</span></span>
<span class="line"><span style="color: #D8DEE9FF">ECHO</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> [&#91;</span><span style="color: #B48EAD">493.934</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">   </span><span style="color: #B48EAD">0.000</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1106.07</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0.382683</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.92388</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;]</span></span>
<span class="line"><span style="color: #D8DEE9FF">ECHO</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> [&#91;</span><span style="color: #B48EAD">508.144</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">53.033</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1106.07</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0.369644</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">0.239118</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.892399</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.0990458</span><span style="color: #D8DEE9FF">&#93;]</span></span>
<span class="line"><span style="color: #D8DEE9FF">ECHO</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> [&#91;</span><span style="color: #B48EAD">538.726</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">53.033</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1126.23</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0.25</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">0.224144</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.933013</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.12941</span><span style="color: #D8DEE9FF">&#93;]</span></span>
<span class="line"><span style="color: #D8DEE9FF">ECHO</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> [&#91;</span><span style="color: #B48EAD">546.967</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">61.274</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1126.23</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0.268283</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.501246</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.818233</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">0.0852703</span><span style="color: #D8DEE9FF">&#93;]</span></span>
<span class="line"><span style="color: #D8DEE9FF">ECHO</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> [&#91;</span><span style="color: #B48EAD">490.959</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">61.274</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1082.80</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0.470916</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.506236</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.720916</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.0473672</span><span style="color: #D8DEE9FF">&#93;]</span></span>
<span class="line"><span style="color: #D8DEE9FF">ECHO</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> [&#91;</span><span style="color: #B48EAD">478.238</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">61.274</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1062.61</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0.531956</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.500181</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.67713</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.0913083</span><span style="color: #D8DEE9FF">&#93;]</span></span>
<span class="line"><span style="color: #D8DEE9FF">ECHO</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">R_7</span><span style="color: #ECEFF4">&quot;</span></span></code></pre></div>
]]></content:encoded>
					
					<wfw:commentRss>https://wp.heinar.pri.ee/moodul-ja-protseduur/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>RS algus</title>
		<link>https://wp.heinar.pri.ee/rs-algus/</link>
					<comments>https://wp.heinar.pri.ee/rs-algus/#respond</comments>
		
		<dc:creator><![CDATA[wphv]]></dc:creator>
		<pubDate>Fri, 24 Oct 2025 12:23:20 +0000</pubDate>
				<category><![CDATA[RobotStudio]]></category>
		<guid isPermaLink="false">http://wp.heinar.pri.ee/?p=153</guid>

					<description><![CDATA[1.1 Kataloog projekti salvestamiseks. Kataloogi nime formaat on soovituslikult yyy_mm_dd. 1.2 Rakenduse RobotStudio avaleht. Tädetakse väljad &#8216;Name&#8217;, &#8216;Location&#8217;, &#8216;Controller&#8217;, &#8216;RobotModel&#8217;, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p></p>



<span id="more-153"></span>



<p></p>



<p>1.1 <strong><em><a href="http://wp.heinar.pri.ee/hv/img/01/001_kataloog.png">Kataloog projekti salvestamiseks</a>. </em></strong>Kataloogi nime formaat on soovituslikult yyy_mm_dd.</p>



<p>1.2 <strong><em>Rakenduse <a href="http://wp.heinar.pri.ee/hv/img/01/002_avaleht.png">RobotStudio avaleht</a>.</em></strong> Tädetakse väljad &#8216;Name&#8217;, &#8216;Location&#8217;, &#8216;Controller&#8217;, &#8216;RobotModel&#8217;, &#8216;Variant&#8217;, &#8216;RobotWare&#8217;. Vajutatakse nuppu &#8216;Create&#8217;.<br>Väljade väärtused:<br></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td>Nr</td><td>Välja nimi</td><td>Soovitatav väärtus</td><td>Selgitus</td></tr><tr><td>1</td><td>Name</td><td>P_025_10_24</td><td>Projekti nimi</td></tr><tr><td>2</td><td>Location</td><td>&#8230;/rs/prj/025_10_24</td><td>Projekti kataloog</td></tr><tr><td>3</td><td>Controller</td><td>IRB1600_6_145</td><td></td></tr><tr><td>4</td><td>RobotModel</td><td>IRB1600</td><td></td></tr><tr><td>5</td><td>Variant</td><td>IRB 1600 6kg 1.45m</td><td></td></tr><tr><td>6</td><td>RobotWare</td><td>6.15.08.00</td><td></td></tr></tbody></table></figure>



<p><a href="http://wp.heinar.pri.ee/hv/img/01/003_avaleht.png">Täidetud avaleht</a>. Pärast nupu &#8216;Create&#8217; vajutamist <a href="http://wp.heinar.pri.ee/hv/img/01/004_avaleht.png">valitakse library</a>. Valitakse IRB1600_6_145_G_03. Pärast library valimist on <a href="http://wp.heinar.pri.ee/hv/img/01/005_valmis.png">projekti</a> koostamine tehtud. <br><a href="http://wp.heinar.pri.ee/hv/img/01/005_valmis.png" data-type="link" data-id="http://wp.heinar.pri.ee/hv/img/01/005_valmis.png">Lehe</a> all paremas servas on rohelisel taustal kiri &#8216;Controller status: 1/1&#8217;.</p>



<p>1.3. <strong><em>Esimese programmi koostamine juhtpuldi &#8216;FlexPendant&#8217; abil.</em></strong> Juhtpult käivitatalse <a href="http://wp.heinar.pri.ee/hv/img/01/006_startPendant.png">lehe</a> tabil &#8216;Controller&#8217; oleva nupu &#8216;FlexPendant&#8217; vajutamise abil. <a href="http://wp.heinar.pri.ee/hv/img/01/007_pendant.png">Puldil</a> vajutatakse võtmenuppu ja keeratakse <a href="http://wp.heinar.pri.ee/hv/img/01/008_key.png">võti</a> 90 kraadi päripäeva. Vajutatakse <a href="http://wp.heinar.pri.ee/hv/img/01/010_enableHold.png">nupud</a> &#8216;Enable&#8217; ja &#8216;Hold To Run&#8217; rohelisteks. Vajutatakse juhtpuldi vasakus ülemises nurgas asuvat <a href="http://wp.heinar.pri.ee/hv/img/01/010_1_menuButton.png">ABB nuppu</a>. Avaneb <a href="http://wp.heinar.pri.ee/hv/img/01/011_penMenu.png">menüü</a>. Valitakse &#8216;Program Editor&#8217;. Avaneb <a href="http://wp.heinar.pri.ee/hv/img/01/012_prEditor.png">programmiredaktor</a>. <a href="http://wp.heinar.pri.ee/hv/img/01/012_prEditor.png">Programmiredaktoris</a> vajutatakse nuppu &#8216;Tasks and Programs&#8217;. Avaneb <a href="http://wp.heinar.pri.ee/hv/img/01/013_t_and_Pr.png">programmide loetelu</a>. Vajutatakse nuppu &#8216;File&#8217;. <a href="http://wp.heinar.pri.ee/hv/img/01/015_saveAs.png">Menüüst</a> valitakse &#8216;Save Program As&#8230;&#8217;. Avaneb <a href="http://wp.heinar.pri.ee/hv/img/01/016_p01.png">programmi salvestamise aken</a>. Programm salvestatakse kataloogi &#8216;&#8230;/Virtual Controllers/IRB1600_6_145&#8217;. Programmi nimeks kirjutatakse &#8216;p01&#8217; ja vajutatakse nuppu &#8216;OK&#8217;. Avaneb <a href="http://wp.heinar.pri.ee/hv/img/01/017_p01_saved.png">programmide loetelu</a>. Programm on salvestatud nimega &#8216;p01&#8217;. Vajutatakse nuppu &#8216;Show Modules&#8217;. Avaneb <a href="http://wp.heinar.pri.ee/hv/img/01/018_showModules.png">moodulite loetelu</a>. Marker viiakse reale &#8216;Module1 Program module&#8217;. Vajutatakse nuppu &#8216;Show Module&#8217;. Avaneb a<a href="http://wp.heinar.pri.ee/hv/img/01/019_showModule.png">ken programmi &#8216;p01&#8217; tekstiga</a>. </p>



<p>1.4.<strong><em> Programmile &#8216;p01&#8217; lisatakse käsk &#8216;moveL&#8217; ja programm salvestatakse.</em></strong> <a href="http://wp.heinar.pri.ee/hv/img/01/019_1_pressAddInstr.png">Lehe</a> all vasakus servas vajutatakse nuppu &#8216;Add Instruction&#8217; . <a href="http://wp.heinar.pri.ee/hv/img/01/020_addInstruction.png">Lehe</a> paremasse serva ilmub käskude tabel. Valitakse käsk &#8216;MoveL&#8217;. <a href="http://wp.heinar.pri.ee/hv/img/01/020_moveL_Above.png">Lehel</a> valitakse nupp &#8216;Above&#8217; &#8211; uus rida lisatakse markeriga märgitud rea kohale. Käsk &#8216;<a href="http://wp.heinar.pri.ee/hv/img/01/021_aboveTehtud.png">MoveL * V1000&#8230;</a>&#8216; on lisatud. Programmi &#8216;p01&#8217; salvestamiseks valitakse <a href="http://wp.heinar.pri.ee/hv/img/01/021_1_before_save.png">lehel </a>&#8216;Tasks and Programs&#8217;. <a href="http://wp.heinar.pri.ee/hv/img/01/022_tasksAndPrg.png">Lehel</a> vajutatakse nuppu &#8216;File&#8217;. <a href="http://wp.heinar.pri.ee/hv/img/01/023_savePrgAs.png">Menüüst</a> valitakse &#8216;Save Program As&#8230;&#8217;. <a href="http://wp.heinar.pri.ee/hv/img/01/024_savePrgAs_II.png">Lehel</a> vajutatakse nupp &#8216;OK&#8217;. Programmi nimi on &#8216;p01&#8217; ja kataloog on &#8216;&#8230;/Virtual Controllers/IRB1600_6_145&#8217;. <a href="http://wp.heinar.pri.ee/hv/img/01/025_overwrite.png">Lehel</a> vajutatakse nuppu &#8216;OK&#8217;. Programm on <a href="http://wp.heinar.pri.ee/hv/img/01/026_saved.png">salvestatud</a>. Programmi &#8216;p01&#8217; vaatamiseks kasutatakse nuppusid &#8216;Show Modules&#8217; ja &#8216;Show Module&#8217;.</p>



<p>1.5. <strong><em>Roboti liigutamine juhtpuldi &#8216;FlexPendant&#8217; abil.</em></strong> Vajutatakse <a href="http://wp.heinar.pri.ee/hv/img/01/010_1_menuButton.png">ABB nuppu</a>. <a href="http://wp.heinar.pri.ee/hv/img/01/011_penMenu.png">Menüüst</a> valitakse &#8216;Jogging&#8217;. Roboti lülide 1, 2, 3 liigutamiseks kasutatakse meetodit &#8216;<a href="http://wp.heinar.pri.ee/hv/img/02/030_axis_1_3.png">Motion Mode axis 1-3</a>&#8216; [1]. Lülisid liigutatakse <a href="http://wp.heinar.pri.ee/hv/img/02/030_axis_1_3.png">juhthoova</a> [2] abil. Juhthoova liigutamine vasakule [3] &#8211; paremale[4] liigutab esimest lüli, juhthoova liigutamine alla-üles liigutab teist lüli vastavalt väljale &#8216;Joystick directions&#8217;.<br>Lülide 4, 5, 6 liigutamiseks kasutatakse meetodit &#8216;<a href="http://wp.heinar.pri.ee/hv/img/02/031_axis_4_6.png">Motion Mode axis 4-6</a>&#8216;. Juhthoova ja lülide vaheline seos on on väljal &#8216;Joystick directions&#8217;. Väljal &#8216;Position&#8217; on lülide pöördenurgad kraadides.<br>Näiteks esimese lüli liigutamiseks ülalt alla vaadates vastupäeva kasutatakse meetodit &#8216;<a href="http://wp.heinar.pri.ee/hv/img/02/032_axis_1_30_60.png">Motion Mode axis 1-3</a>&#8216;. Vajutatakse juhthooval nuppu &#8216;nool paremale&#8217;. Esimese lüli pöördenurk on väljal &#8216;Position&#8217; esimesel real.</p>



<p>1.6. <em><strong>Roboti liigutamine programmi &#8216;p10&#8217; abil.</strong></em> Roboti liigutamiseks algasendisse kasutatakse programmi &#8216;p01&#8217;. Avatakse <a href="http://wp.heinar.pri.ee/hv/img/02/033_prepStart.png">programmi redaktor</a>. Vajutatakse nuppu &#8216;Debug&#8217;. Vajutatakse &#8216;<a href="http://wp.heinar.pri.ee/hv/img/02/034_deBug.png">PP to Main</a>&#8216; See nupp viib programmi viida (program pointer) protseduuri &#8216;main&#8217; algusesse. Teatele <a href="http://wp.heinar.pri.ee/hv/img/02/035_yesToMain.png">vastatakse &#8216;Yes&#8217;</a>. Programmi viit <a href="http://wp.heinar.pri.ee/hv/img/02/036_rida_24.png">asub nüüd real 24</a>. Et programmi teksti paremini naha, vajutatakse nuppu &#8216;Debug&#8217;. Programmi juhtimiseks on nupud <a href="http://wp.heinar.pri.ee/hv/img/02/037_pl_st.png">&#8216;Play&#8217;, &#8216;Step&#8217;, &#8216;Stop&#8217;</a>.<br>Kui manipulaatori liigutamiseks kasutatakse meetodit &#8216;<a href="http://wp.heinar.pri.ee/hv/img/02/038_linear.png">Linear</a>&#8216;, siis on manipulaatori asukoht määratud koordinaatide XYZ kaudu. Koordinaadid on väljal <a href="http://wp.heinar.pri.ee/hv/img/02/039_XYZ.png">&#8216;Position&#8217;</a>. Sammu pikkuse määramiseks kasutatakse nuppu &#8216;<a href="http://wp.heinar.pri.ee/hv/img/02/041_step_l.png">ROB_1</a>&#8216; /041_step_l.png/<br>Viige manipulaator asukohta <a href="http://wp.heinar.pri.ee/hv/img/02/040_XYZ_h.png">X = 750 Y = 110 Z = 1164</a>. Seejarel käivitage programm &#8216;p01&#8217; , mis viib manipulaatori algasendisse tagasi.</p>



<p>1.7 <strong><em>Punkti defineerimine</em></strong> <a href="http://wp.heinar.pri.ee/hv/img/02/042_data_1.png">Menüüst</a> valitakse &#8216;Program Data&#8217;. Vajutatakse nuppu &#8216;<a href="http://wp.heinar.pri.ee/hv/img/02/043_data_2.png">View</a>&#8216; ja valitakse &#8216;<a href="http://wp.heinar.pri.ee/hv/img/02/044_data_3.png">All Data Types</a>&#8216;. Valitakse &#8216;<a href="http://wp.heinar.pri.ee/hv/img/02/045_data_4.png">robtarget</a>&#8216;.. Vajutatakse nuppu &#8216;<a href="http://wp.heinar.pri.ee/hv/img/02/046_data_5.png">Show Data</a>&#8216;. Vajutatakse nuppu &#8216;<a href="http://wp.heinar.pri.ee/hv/img/02/047_data_6.png">New</a>&#8216;. Vajutatakse nuppu &#8216;<a href="http://wp.heinar.pri.ee/hv/img/02/048_data_7.png">OK</a>&#8216;. Vajutatakse nuppu &#8216;<a href="http://wp.heinar.pri.ee/hv/img/02/049_data_8.png">Edit</a>&#8216;. Valitakse &#8216;<a href="http://wp.heinar.pri.ee/hv/img/02/050_data_9.png">Change Value</a>&#8216;. Täidetakse väljad <a href="http://wp.heinar.pri.ee/hv/img/02/051_data_10.png">x:= 750 y:= 110 z:= 1164</a>. Vajutatakse OK. Punkt &#8216;<a href="http://wp.heinar.pri.ee/hv/img/02/052_data_11.png">p10</a>&#8216; on defineeritud.</p>



<p>1.8. <strong><em>Defineeritud punkti kasutamine. </em></strong>Programmile &#8216;p01&#8217; lisatakse rida. Avatakse <a href="http://wp.heinar.pri.ee/hv/img/02/053_add_1.png">programmiredaktor</a> ja vajutatakse &#8216;Add Instruction&#8217;. Valitakse käsk <a href="http://wp.heinar.pri.ee/hv/img/02/054_add_2.png">MoveL</a>. Valitakse &#8216;<a href="http://wp.heinar.pri.ee/hv/img/02/055_add_3.png">Below</a>&#8216;. Vajutatakse &#8216;<a href="http://wp.heinar.pri.ee/hv/img/02/056_add_4.png">Add Instruction</a>&#8216;. <br><a href="http://wp.heinar.pri.ee/hv/img/02/057_add_5.png">Real 26</a> vajutatalse tärni, seejärel tehakse samas topeltklõps. <a href="http://wp.heinar.pri.ee/hv/img/02/058_add_6.png">Valitakse p10</a> ja vajutatakse &#8216;OK&#8217; <a href="http://wp.heinar.pri.ee/hv/img/02/059_add_7.png">Käsk on lisatud</a>. Käivitatakse programm &#8216;p01&#8217; (punkt 1.6.) Robot hakkab liikuma punktide * ja p10 vahel.<br></p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://wp.heinar.pri.ee/rs-algus/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Teljed</title>
		<link>https://wp.heinar.pri.ee/teljed/</link>
					<comments>https://wp.heinar.pri.ee/teljed/#respond</comments>
		
		<dc:creator><![CDATA[wphv]]></dc:creator>
		<pubDate>Fri, 24 Oct 2025 11:58:33 +0000</pubDate>
				<category><![CDATA[RobotStudio]]></category>
		<guid isPermaLink="false">http://wp.heinar.pri.ee/?p=143</guid>

					<description><![CDATA[Telgede mudel on failis axes_7.stl. Telgede mudel on loodud allpooltoodud skripti abil.]]></description>
										<content:encoded><![CDATA[
<p>Telgede mudel on failis <a href="http://wp.heinar.pri.ee/hv/det/axes_7.stl">axes_7.stl</a>. </p>



<span id="more-143"></span>



<p>Telgede mudel on loodud allpooltoodud skripti abil.</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>//	https://ochafik.com/openscad2
//	axes

h1	= 4;
d1	= 2;
n 	= 6;

module axis(k, name) {

	translate(&#91;0, 0, +(h1 / 2 + k * (d1 + h1))&#93;) {
		if (name != "0") {
		translate(&#91;2, -2, 0&#93;)
			rotate(&#91;90, 0, 0&#93;)
				linear_extrude(1)
					text(name, size = 4);
			}
		cylinder(h = h1, r = 0.5, center = true, $fn = 50);
		}
	}
module ax(name) {
	for (a = &#91;0 : 1 : n - 1&#93;) {
		axis(a, "0");
	}
	axis(n, name);
	for (a = &#91;0 : 1 : n - 1&#93;) {
		axis(a - n, "0");
	}}
color("#AA0000")
rotate(&#91;0, 90, 0&#93;)
	ax("X");

color("#00AA00")
rotate(&#91;-90, 0, 0&#93;)
	ax("Y");

color("#0000AA")
	ax("Z");


</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #616E88">//	https://ochafik.com/openscad2</span></span>
<span class="line"><span style="color: #616E88">//	axes</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9">h1</span><span style="color: #D8DEE9FF">	</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9">d1</span><span style="color: #D8DEE9FF">	</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9">n</span><span style="color: #D8DEE9FF"> 	</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">6</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #81A1C1">module</span><span style="color: #D8DEE9FF"> axis(k, name) </span><span style="color: #ECEFF4">{</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h1</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">k</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">*</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">d1</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">h1</span><span style="color: #D8DEE9FF">))&#93;) </span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #81A1C1">if</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">name</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">!=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">0</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">) </span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #88C0D0">linear_extrude</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #88C0D0">text</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">name</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">size</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">h1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">true</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #81A1C1">module</span><span style="color: #D8DEE9FF"> ax(name) </span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #81A1C1">for</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">a</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> : </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> : </span><span style="color: #D8DEE9">n</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">&#93;) </span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">axis</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">a</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">0</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">axis</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">n</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">name</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #81A1C1">for</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">a</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> : </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> : </span><span style="color: #D8DEE9">n</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">&#93;) </span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">axis</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">a</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">n</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">0</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #ECEFF4">}}</span></span>
<span class="line"><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#AA0000</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">ax</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">X</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#00AA00</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">ax</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Y</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#0000AA</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">ax</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Z</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"></span></code></pre></div>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://wp.heinar.pri.ee/teljed/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>uus</title>
		<link>https://wp.heinar.pri.ee/hello-world/</link>
					<comments>https://wp.heinar.pri.ee/hello-world/#comments</comments>
		
		<dc:creator><![CDATA[wphv]]></dc:creator>
		<pubDate>Sun, 21 Sep 2025 08:19:08 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://wp.heinar.pri.ee/?p=1</guid>

					<description><![CDATA[Welcome to WordPress.&#160; RobotStudio® Tutorial – Getting Started 2/5 Operating manual &#8211; RobotStudio GitHub &#8211; rparak/ABB-RobotStudio-Tutorial-Simple: Demonstration of some simple [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Welcome to WordPress.&nbsp;</p>



<p><a href="https://www.youtube.com/watch?v=chSs7ZatUN8">RobotStudio® Tutorial – Getting Started 2/5</a></p>



<p><a href="https://search-ext.abb.com/library/Download.aspx?DocumentID=3HAC032104-001">Operating manual &#8211; RobotStudio</a></p>



<p><a href="https://github.com/rparak/ABB-RobotStudio-Tutorial-Simple">GitHub &#8211; rparak/ABB-RobotStudio-Tutorial-Simple: Demonstration of some simple examples in ABB RobotStudio.</a></p>



<figure class="wp-block-embed is-type-wp-embed is-provider-fusion-of-engineering-control-coding-machine-learning-and-science wp-block-embed-fusion-of-engineering-control-coding-machine-learning-and-science"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="UhHaXtLM2K"><a href="https://aleksandarhaber.com/abb-robotstudio-tutorials/">ABB Robot Tutorials</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-same-origin allow-scripts" security="restricted"  title="&#8220;ABB Robot Tutorials&#8221; &#8212; Fusion of Engineering, Control, Coding, Machine Learning, and Science" src="https://aleksandarhaber.com/abb-robotstudio-tutorials/embed/#?secret=PGWOMCMD6y#?secret=UhHaXtLM2K" data-secret="UhHaXtLM2K" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>



<p><a href="https://yandex.com/search/?text=ABB+robot+studio+tutorial&amp;lr=101458&amp;clid=1836588">https://yandex.com/search/?text=ABB+robot+studio+tutorial&amp;lr=101458&amp;clid=1836588</a></p>



<p><a href="https://www.robots.com/articles/robot-programming-with-abbs-robotstudio-1">https://www.robots.com/articles/robot-programming-with-abbs-robotstudio-1</a></p>



<p><a href="https://yandex.com/video/preview/6973516100809102022">https://yandex.com/video/preview/6973516100809102022</a></p>



<p><a href="https://www.abb.com/global/en/areas/robotics/products/software/robotstudio-suite/robotstudio-tutorials">https://www.abb.com/global/en/areas/robotics/products/software/robotstudio-suite/robotstudio-tutorials</a></p>



<p><a href="https://library.e.abb.com/public/a43fc3b307384714a22edcd95a5a402b/9AKK107045A3920_ROBOTSTUDIO_revC.pdf?x-sign=ERl7D1VppAfxyFUnxTGcG4oEyCJ5v6q5MxtbjSjXgz3Dx2+ICqZDsz/JVUehdFMT">9AKK107045A3920_ROBOTSTUDIO_revC.indd</a></p>



<p><a href="https://github.com/msilaev/ABBRobotStudio?ysclid=mg7lepoymv478586184">GitHub &#8211; msilaev/ABBRobotStudio</a></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>! https://ochafik.com/openscad2
color("Green") cylinder(r=10, h=50, center=false);
translate(&#91;10, 0, 0&#93;) color("#88AACC") cube(20);
translate(&#91;10, 0,30&#93;) color("#88AACC") cube(20);</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #81A1C1">!</span><span style="color: #D8DEE9FF"> https</span><span style="color: #ECEFF4">:</span><span style="color: #616E88">//ochafik.com/openscad2</span></span>
<span class="line"><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Green</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">) </span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">10</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=false</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">10</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;) </span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#88AACC</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">) </span><span style="color: #88C0D0">cube</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">20</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">10</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">30</span><span style="color: #D8DEE9FF">&#93;) </span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#88AACC</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">) </span><span style="color: #88C0D0">cube</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">20</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span></code></pre></div>



<p>ABB RobotStudio Example Program</p>



<p><a href="https://computeraidedautomation.com/infusions/articles/articles.php?article_id=43">https://computeraidedautomation.com/infusions/articles/articles.php?article_id=43</a></p>


<nav class="is-responsive wp-block-navigation is-layout-flex wp-block-navigation-is-layout-flex" aria-label="Navigation" 
		 data-wp-interactive="core/navigation" data-wp-context='{"overlayOpenedBy":{"click":false,"hover":false,"focus":false},"type":"overlay","roleAttribute":"","ariaLabel":"Men\u00fc\u00fc"}'><button aria-haspopup="dialog" aria-label="Ava menüü" class="wp-block-navigation__responsive-container-open" 
				data-wp-on--click="actions.openMenuOnClick"
				data-wp-on--keydown="actions.handleMenuKeydown"
			><svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M4 7.5h16v1.5H4z"></path><path d="M4 15h16v1.5H4z"></path></svg></button>
				<div class="wp-block-navigation__responsive-container"  id="modal-1" 
				data-wp-class--has-modal-open="state.isMenuOpen"
				data-wp-class--is-menu-open="state.isMenuOpen"
				data-wp-watch="callbacks.initMenu"
				data-wp-on--keydown="actions.handleMenuKeydown"
				data-wp-on--focusout="actions.handleMenuFocusout"
				tabindex="-1"
			>
					<div class="wp-block-navigation__responsive-close" tabindex="-1">
						<div class="wp-block-navigation__responsive-dialog" 
				data-wp-bind--aria-modal="state.ariaModal"
				data-wp-bind--aria-label="state.ariaLabel"
				data-wp-bind--role="state.roleAttribute"
			>
							<button aria-label="Sulge menüü" class="wp-block-navigation__responsive-container-close" 
				data-wp-on--click="actions.closeMenuOnClick"
			><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" focusable="false"><path d="m13.06 12 6.47-6.47-1.06-1.06L12 10.94 5.53 4.47 4.47 5.53 10.94 12l-6.47 6.47 1.06 1.06L12 13.06l6.47 6.47 1.06-1.06L13.06 12Z"></path></svg></button>
							<div class="wp-block-navigation__responsive-container-content" 
				data-wp-watch="callbacks.focusFirstElement"
			 id="modal-1-content">
								<ul class="wp-block-navigation__container is-responsive wp-block-navigation"><li class=" wp-block-navigation-item wp-block-navigation-link"><a class="wp-block-navigation-item__content"  href="https://yandex.com/search/?text=ABB+robot+studio+moveJ&#038;from=os&#038;clid=1836588&#038;lr=104961"><span class="wp-block-navigation-item__label">yandex.com/search/?text=ABB+robot+studio+moveJ&amp;from=os&amp;clid=1836588&amp;lr=104961</span></a></li></ul>
							</div>
						</div>
					</div>
				</div></nav>


<p>/</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="ast-oembed-container " style="height: 100%;"><iframe title="KUKA SmartPad explained | The Robotics Channel" width="1200" height="675" src="https://www.youtube.com/embed/2TByTX19MPM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
</div></figure>



<p>/<a href="https://www.youtube.com/watch?v=UQrS6OWtc7Q">https://www.youtube.com/watch?v=UQrS6OWtc7Q</a></p>



<p></p>



<p><a href="https://docs.mech-mind.net/en/robot-integration/latest/standard-interface-robot/abb-example-program.html">https://docs.mech-mind.net/en/robot-integration/latest/standard-interface-robot/abb-example-program.html</a></p>



<p>/<a href="https://www.youtube.com/watch?v=2AANOqm8Kfg">https://www.youtube.com/watch?v=2AANOqm8Kfg</a></p>



<h2 class="wp-block-heading">Programm pendanti abil</h2>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="ast-oembed-container " style="height: 100%;"><iframe title="3. Creating a simple program using the pendant" width="1200" height="675" src="https://www.youtube.com/embed/UQrS6OWtc7Q?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
</div></figure>



<h2 class="wp-block-heading">Kahe avaga plokk</h2>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="ast-oembed-container " style="height: 100%;"><iframe loading="lazy" title="Industry Robot ABB 3 Lab" width="1200" height="675" src="https://www.youtube.com/embed/X87BEX6yp0s?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
</div></figure>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="ast-oembed-container " style="height: 100%;"><iframe loading="lazy" title="How to setup and initialize ABB industrial robot." width="1200" height="675" src="https://www.youtube.com/embed/JTAJoRyobAI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
</div></figure>



<h2 class="wp-block-heading">Liikumine</h2>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="ast-oembed-container " style="height: 100%;"><iframe loading="lazy" title="Robot Programming ABB Introducing a line of motion code IRC5 Flex Pendant Prog Basic #1" width="1200" height="675" src="https://www.youtube.com/embed/Gd7zhSPorbM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
</div></figure>



<p>Robot Programming ABB Introducing a line of motion code IRC5 Flex Pendant Prog Basic #1</p>



<p><a href="https://www.youtube.com/watch?v=oaA9w-KB9wk">Robot Programming ABB Introducing a line of motion code IRC5 Flex Pendant Prog Basic #1 &#8211; YouTube</a></p>



<p><a href="https://www.youtube.com/watch?v=oaA9w-KB9wk">https://www.youtube.com/watch?v=oaA9w-KB9wk</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="ast-oembed-container " style="height: 100%;"><iframe loading="lazy" title="Creating Trajectories in RobotStudio | Robotic Systems" width="1200" height="675" src="https://www.youtube.com/embed/aunAd9cpfSo?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
</div></figure>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="ast-oembed-container " style="height: 100%;"><iframe loading="lazy" title="Lab 3 - ABB Robot Studio - Curve Surface Simulation" width="1200" height="675" src="https://www.youtube.com/embed/u3KL4Bhh7d8?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
</div></figure>



<p><a href="https://yandex.com/video/preview/7340732474535180734">https://yandex.com/video/preview/7340732474535180734</a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="ast-oembed-container " style="height: 100%;"><iframe loading="lazy" title="Setting up Tool TCP" width="1200" height="675" src="https://www.youtube.com/embed/vsSfa-enwgw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
</div></figure>



<p><a href="https://yandex.com/video/preview/6973516100809102022">ABB Robot Studio Tutorial: Definition of Work-object Frames in ABB Robot Studio &#8211; watch online in Yandex video search</a></p>



<p><a href="https://www.youtube.com/watch?v=rjloXwAP2ig">How to Define Path and Move Robot Along a Path in ABB Robot Studio &#8211; YouTube</a></p>



<p><a href="https://quat2euler.com/">ABB Robot Quaternion Calculator</a></p>



<p><a href="https://www.youtube.com/watch?v=gLQQtWKNmyE&amp;t=37s">RobotStudio® Tutorial – Getting Started 1/5</a></p>



<p></p>



<p><a href="https://www.bing.com/videos/riverview/relatedvideo?q=rotation+with+quaternion+example&amp;mid=8DFD07995A6504290AC08DFD07995A6504290AC0&amp;mcid=8205D7E4B81E46EEB1870A00C9CDC1E2&amp;FORM=VIRE">Bing Videos</a></p>



<p></p>



<p><a href="https://www.bing.com/videos/riverview/relatedvideo?q=rotation%20with%20quaternion%20example&amp;mid=EB827E9977FF9F75ADC3EB827E9977FF9F75ADC3&amp;ajaxhist=0">https://www.bing.com/videos/riverview/relatedvideo?q=rotation%20with%20quaternion%20example&amp;mid=EB827E9977FF9F75ADC3EB827E9977FF9F75ADC3&amp;ajaxhist=0</a></p>



<p></p>



<p><a href="https://www.omnicalculator.com/math/quaternion">https://www.omnicalculator.com/math/quaternion</a></p>



<p></p>



<p><a href="https://quaternions.online">https://quaternions.online</a></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>// https://ochafik.com/openscad2

h1 = 4;
d1 = 2;

module axis(name){

    translate (&#91;0, 0, + (h1/2 + 3 * (4 + h1/2))&#93;){
        translate (&#91;2, -2, 0&#93;)
        rotate(&#91;90, 0, 0&#93;)
        linear_extrude(1)
        text(name, size = 4);

        cylinder(h=h1, r=0.5, center=true, $fn=50);
        }


    translate (&#91;0, 0, + (h1/2 + 2 * (4 + h1/2))&#93;)
    cylinder(h=h1, r=0.5, center=true, $fn=50);

    translate (&#91;0, 0, + (h1/2 + 4 + h1/2)&#93;)
    cylinder(h=h1, r=0.5, center=true, $fn=50);

    translate (&#91;0, 0, +h1/2&#93;)
    cylinder(h=h1, r=0.5, center=true, $fn=50);

    translate (&#91;0, 0, -h1/2&#93;)
    cylinder(h=h1, r=0.5, center=true, $fn=50);

    translate (&#91;0, 0, - (h1/2 + 4 + h1/2)&#93;)
    cylinder(h=h1, r=0.5, center=true, $fn=50);

    translate (&#91;0, 0, - (h1/2 + 2 * (4 + h1/2))&#93;)
    cylinder(h=h1, r=0.5, center=true, $fn=50);
    }


color("Blue"){
    axis("Z");
    }

color("Red"){ 
translate (&#91;0, 0, 0&#93;)
rotate(&#91;0, 90, 0&#93;)
    axis("X");
    }

color("Green"){ 
translate (&#91;0, 0, 0&#93;)
rotate(&#91;-90, 0, 0&#93;)
    axis("Y");
    }</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #616E88">// https://ochafik.com/openscad2</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9">h1</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9">d1</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #81A1C1">module</span><span style="color: #D8DEE9FF"> axis(name)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF"> (&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">h1</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">3</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">*</span><span style="color: #D8DEE9FF"> (</span><span style="color: #B48EAD">4</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">h1</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">))&#93;)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF"> (&#91;</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">linear_extrude</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">text</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">name</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">size</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9">h1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=true</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF"> (&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">h1</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">*</span><span style="color: #D8DEE9FF"> (</span><span style="color: #B48EAD">4</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">h1</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">))&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9">h1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=true</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF"> (&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">h1</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">h1</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9">h1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=true</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF"> (&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9">h1</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9">h1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=true</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF"> (&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9">h1</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9">h1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=true</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF"> (&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">h1</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">h1</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9">h1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=true</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF"> (&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">h1</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">*</span><span style="color: #D8DEE9FF"> (</span><span style="color: #B48EAD">4</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">h1</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">))&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9">h1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #81A1C1">=true</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Blue</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">axis</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Z</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Red</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">{</span><span style="color: #D8DEE9FF"> </span></span>
<span class="line"><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF"> (&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">axis</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">X</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Green</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">{</span><span style="color: #D8DEE9FF"> </span></span>
<span class="line"><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF"> (&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">axis</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Y</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">}</span></span></code></pre></div>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>


module hoop(){
translate(&#91;0, 0, 450&#93;)
rotate(&#91;0, 90, 0&#93;){
    color("#3333AA")
       rotate_extrude(angle = 180, convexity = 10)
          translate(&#91;250, 0, 0&#93;)
             circle(r = 4);

        color("lime")
            rotate(&#91;0, 0, 180&#93;)
                rotate_extrude(angle = 180, convexity = 10)
                    translate(&#91;250, 0, 0&#93;)
						circle(r = 4);
    }
}

module stave(){

	color("YellowGreen"){
		rotate(&#91;0, 90, 0&#93;)
		cylinder(800, 4, 4);
		}
}


color("tan") {
    translate(&#91;1000, 0, 200&#93;){
        sphere(20, $fn=50);
	translate(&#91;30, -30, 20&#93;)
	rotate(&#91;90, 0, 0&#93;)
	linear_extrude(2)
		text("P_10", size = 10);}

    translate(&#91;1000, 250, 450&#93;){
		translate(&#91;30, -30, 20&#93;)
			rotate(&#91;90, 0, 0&#93;)
				linear_extrude(2)
					text("P_20", size = 10);
		sphere(20, $fn=50);
		}

    translate(&#91;1000, 0, 700&#93;){
		translate(&#91;30, -30, 20&#93;)
			rotate(&#91;90, 0, 0&#93;)
				linear_extrude(2)
					text("P_30", size = 10);
        sphere(20, $fn=50);}

    translate(&#91;1000, -250, 450&#93;){
		translate(&#91;30, -30, 20&#93;)
			rotate(&#91;90, 0, 0&#93;)
				linear_extrude(2)
					text("P_40", size = 10);
        sphere(20, $fn=50);}
    }

color("green") {
    translate(&#91;1500, 0, 200&#93;)
        sphere(20, $fn=50);

    translate(&#91;1500, 250, 450&#93;)
        sphere(20, $fn=50);

    translate(&#91;1500, 0, 700&#93;)
        sphere(20, $fn=50);

    translate(&#91;1500, -250, 450&#93;)
        sphere(20, $fn=50);
    }

color("cyan") {
    translate(&#91;700, 0, 200&#93;)
        sphere(20, $fn=50);

    translate(&#91;700, 250, 450&#93;)
        sphere(20, $fn=50);

    translate(&#91;700, 0, 700&#93;)
        sphere(20, $fn=50);

    translate(&#91;700, -250, 450&#93;)
        sphere(20, $fn=50);
    }


translate(&#91;700, 0, 0&#93;)
	hoop();

translate(&#91;1000, 0, 0&#93;)
	hoop();

translate(&#91;1500, 0, 0&#93;)
	hoop();

translate(&#91;0, 250, 450&#93;)
	translate(&#91;700, 0, 0&#93;)
		stave();

translate(&#91;0, -250, 450&#93;)
	translate(&#91;700, 0, 0&#93;)
		stave();

translate(&#91;0, 0, 200&#93;)
	translate(&#91;700, 0, 0&#93;)
		stave();

translate(&#91;0, 0, 700&#93;)
	translate(&#91;700, 0, 0&#93;)
		stave();
</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #81A1C1">module</span><span style="color: #D8DEE9FF"> hoop()</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">450</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#3333AA</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">       </span><span style="color: #88C0D0">rotate_extrude</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">angle</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">180</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">convexity</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">10</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">          </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">250</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">             </span><span style="color: #88C0D0">circle</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">lime</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">180</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #88C0D0">rotate_extrude</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">angle</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">180</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">convexity</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">10</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">250</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">						</span><span style="color: #88C0D0">circle</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #81A1C1">module</span><span style="color: #D8DEE9FF"> stave()</span><span style="color: #ECEFF4">{</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">YellowGreen</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">800</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">tan</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">) </span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">1000</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">200</span><span style="color: #D8DEE9FF">&#93;)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">sphere</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">20</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">30</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">30</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">20</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">linear_extrude</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">text</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">P_10</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">size</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">10</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">1000</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">250</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">450</span><span style="color: #D8DEE9FF">&#93;)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">30</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">30</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">20</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #88C0D0">linear_extrude</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #88C0D0">text</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">P_20</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">size</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">10</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">sphere</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">20</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">1000</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">700</span><span style="color: #D8DEE9FF">&#93;)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">30</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">30</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">20</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #88C0D0">linear_extrude</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #88C0D0">text</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">P_30</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">size</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">10</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">sphere</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">20</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">1000</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">250</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">450</span><span style="color: #D8DEE9FF">&#93;)</span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">30</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">30</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">20</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #88C0D0">linear_extrude</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #88C0D0">text</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">P_40</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">size</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">10</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">sphere</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">20</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">green</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">) </span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">1500</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">200</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">sphere</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">20</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">1500</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">250</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">450</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">sphere</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">20</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">1500</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">700</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">sphere</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">20</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">1500</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">250</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">450</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">sphere</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">20</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">cyan</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">) </span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">700</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">200</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">sphere</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">20</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">700</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">250</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">450</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">sphere</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">20</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">700</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">700</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">sphere</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">20</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">700</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">250</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">450</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">sphere</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">20</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">}</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">700</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">hoop</span><span style="color: #D8DEE9FF">()</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">1000</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">hoop</span><span style="color: #D8DEE9FF">()</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">1500</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">hoop</span><span style="color: #D8DEE9FF">()</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">250</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">450</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">700</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">stave</span><span style="color: #D8DEE9FF">()</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">250</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">450</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">700</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">stave</span><span style="color: #D8DEE9FF">()</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">200</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">700</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">stave</span><span style="color: #D8DEE9FF">()</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">700</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">700</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">stave</span><span style="color: #D8DEE9FF">()</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span></code></pre></div>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>//	https://ochafik.com/openscad2
//	axes

h1	= 4;
d1	= 2;
n 	= 6;

module axis(k, name) {

	translate(&#91;0, 0, +(h1 / 2 + k * (d1 + h1))&#93;) {
		if (name != "0") {
		translate(&#91;2, -2, 0&#93;)
			rotate(&#91;90, 0, 0&#93;)
				linear_extrude(1)
					text(name, size = 4);
			}
		cylinder(h = h1, r = 0.5, center = true, $fn = 50);
		}
	}
module ax(name) {
	for (a = &#91;0 : 1 : n - 1&#93;) {
		axis(a, "0");
	}
	axis(n, name);
	for (a = &#91;0 : 1 : n - 1&#93;) {
		axis(a - n, "0");
	}}
color("#AA0000")
rotate(&#91;0, 90, 0&#93;)
	ax("X");

color("#00AA00")
rotate(&#91;-90, 0, 0&#93;)
	ax("Y");

color("#0000AA")
	ax("Z");
</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #616E88">//	https://ochafik.com/openscad2</span></span>
<span class="line"><span style="color: #616E88">//	axes</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9">h1</span><span style="color: #D8DEE9FF">	</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9">d1</span><span style="color: #D8DEE9FF">	</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9">n</span><span style="color: #D8DEE9FF"> 	</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">6</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #81A1C1">module</span><span style="color: #D8DEE9FF"> axis(k, name) </span><span style="color: #ECEFF4">{</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h1</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">/</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">k</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">*</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">d1</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">h1</span><span style="color: #D8DEE9FF">))&#93;) </span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #81A1C1">if</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">name</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">!=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">0</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">) </span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">translate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">				</span><span style="color: #88C0D0">linear_extrude</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">					</span><span style="color: #88C0D0">text</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">name</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">size</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">cylinder</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">h</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">h1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">center</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">true</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$fn</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">50</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #81A1C1">module</span><span style="color: #D8DEE9FF"> ax(name) </span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #81A1C1">for</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">a</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> : </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> : </span><span style="color: #D8DEE9">n</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">&#93;) </span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">axis</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">a</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">0</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #ECEFF4">}</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">axis</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">n</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">name</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #81A1C1">for</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">a</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> : </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> : </span><span style="color: #D8DEE9">n</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">&#93;) </span><span style="color: #ECEFF4">{</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">axis</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">a</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">n</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">0</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #ECEFF4">}}</span></span>
<span class="line"><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#AA0000</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">ax</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">X</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#00AA00</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">ax</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Y</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#0000AA</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">ax</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Z</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span></code></pre></div>



<p>/</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>rotate(&#91;0, 0, 45&#93;)
	rotate(&#91;0, 45, 0&#93;)
		color("#222288")
			ax("D1");

rotate(&#91;0, 0, 45&#93;)
	rotate(&#91;0, 60, 0&#93;)
		color("#222288")
			ax("D2");

rotate(&#91;0, 0, 45&#93;)
	rotate(&#91;0, 30, 0&#93;)
		color("#222288")
			ax("D3");
</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">45</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">45</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#222288</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #88C0D0">ax</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">D1</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">45</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">60</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#222288</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #88C0D0">ax</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">D2</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">45</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #88C0D0">rotate</span><span style="color: #D8DEE9FF">(&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">30</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;)</span></span>
<span class="line"><span style="color: #D8DEE9FF">		</span><span style="color: #88C0D0">color</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">#222288</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">			</span><span style="color: #88C0D0">ax</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">D3</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span><span style="color: #81A1C1">;</span></span>
<span class="line"></span></code></pre></div>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>liikumine 60->70->80->90->100
 p60 = &#91;      0,       1, 0, 0&#93; = &#91;cos(180/2), sin(180/2), 0, 0&#93; pööre ümber x- i x telje tipust vaadates päripäeva 180 (abs)
 p70 = &#91;0.25882, 0.96593, 0, 0&#93; = &#91;cos(150/2), sin(150/2), 0, 0&#93; pööre ümber x- i x telje tipust vaadates päripäeva 150 (abs) 
 p70 = p80 30 vastupäeva
 p80 = &#91;0.5    , 0.86603, 0, 0&#93; = &#91;cos(120/2), sin(120/2), 0, 0&#93; pööre ümber x- i x telje tipust vaadates päripäeva 120 (abs)
 p80 = p70 30 vastupäeva
 p90 = &#91;0.70711, 0.70711, 0, 0&#93; = &#91;cos( 90/2), sin( 90/2), 0, 0&#93; pööre ümber x- i x telje tipust vaadates päripäeva  90 (abs)
 p90 = p80 30 vastupäeva
p100 = &#91;0.76604, 0.64279, 0, 0&#93; = &#91;cos( 80/2), sin( 80/2), 0, 0&#93; pööre ümber x- i x telje tipust vaadates päripäeva  80 (abs)
p100 = p90 10 vastupäeva

pööre 40 ümber x- i = (+40) = &#91;cos( 40/2), sin( 40/2), 0, 0&#93; = &#91;0.93969, 0.34202, 0, 0&#93;

	p100 * (+40) = &#91;0.76604,0.64279,0,0&#93; * &#91;0.93969, 0.34202, 0, 0&#93; = &#91;0.5, 0.86603, 0, 0&#93; = p80
	( https://www.omnicalculator.com/math/quaternion )

MODULE Module1
	CONST robtarget p10:=[&#91;800,200,1100&#93;,&#91;0.5,0,0.86602544,0&#93;,&#91;0,0,0,0&#93;,&#91;9E+09,9E+09,9E+09,9E+09,9E+09,9E+09&#93;];
	CONST robtarget p20:=[&#91;800,200,1100&#93;,&#91;0.70712,0,0.70712,0&#93;,&#91;0,-1,0,0&#93;,&#91;9E+09,9E+09,9E+09,9E+09,9E+09,9E+09&#93;];
	CONST robtarget p30:=[&#91;800,200,1100&#93;,&#91;0.70712,0.70712,0,0&#93;,&#91;0,-1,0,0&#93;,&#91;9E+09,9E+09,9E+09,9E+09,9E+09,9E+09&#93;];
	CONST robtarget p40:=[&#91;800,200,1100&#93;,&#91;0.92388,0.38268,0,0&#93;,&#91;0,-2,1,0&#93;,&#91;9E+09,9E+09,9E+09,9E+09,9E+09,9E+09&#93;];
	CONST robtarget p50:=[&#91;800,200,1100&#93;,&#91;0.707107,7.47086E-10,0.707107,-1.85805E-09&#93;,&#91;0,-2,1,0&#93;,&#91;9E+09,9E+09,9E+09,9E+09,9E+09,9E+09&#93;];
	CONST robtarget p60:=[&#91;1000,176.78,626.78&#93;,&#91;0,1,0,0&#93;,&#91;0,-1,0,0&#93;,&#91;9E+09,9E+09,9E+09,9E+09,9E+09,9E+09&#93;];
	CONST robtarget p70:=[&#91;1000,176.78,626.78&#93;,&#91;0.25882,0.96593,0,0&#93;,&#91;0,0,2,0&#93;,&#91;9E+09,9E+09,9E+09,9E+09,9E+09,9E+09&#93;];
	CONST robtarget p80:=[&#91;1000,176.78,626.78&#93;,&#91;0.5,0.86603,0,0&#93;,&#91;0,0,2,0&#93;,&#91;9E+09,9E+09,9E+09,9E+09,9E+09,9E+09&#93;];
	CONST robtarget p90:=[&#91;1000,176.78,626.78&#93;,&#91;0.70711,0.70711,0,0&#93;,&#91;0,-1,2,0&#93;,&#91;9E+09,9E+09,9E+09,9E+09,9E+09,9E+09&#93;];
	CONST robtarget p100:=[&#91;1000,176.78,626.78&#93;,&#91;0.76604,0.64279,0,0&#93;,&#91;0,-1,2,0&#93;,&#91;9E+09,9E+09,9E+09,9E+09,9E+09,9E+09&#93;];
	CONST robtarget p110:=[&#91;821.52,197.50,1049.08&#93;,&#91;0.569344,0.0980948,0.816226,4.57284E-7&#93;,&#91;0,-1,0,0&#93;,&#91;9E+9,9E+9,9E+9,9E+9,9E+9,9E+9&#93;];
    !***********************************************************
    !
    ! Module:  Module1
    !
    ! Description:
    !   &lt;Insert description here>
    !
    ! Author: hav
    !
    ! Version: 1.0
    !
    !***********************************************************
    
    
    !***********************************************************
    !
    ! Procedure main
    !
    !   This is the entry point of your program
    !
    !***********************************************************
    PROC main()
        MoveL [&#91;806.29,0.00,1154.00&#93;,&#91;0.5,8.4755E-9,0.866025,4.89333E-9&#93;,&#91;0,0,0,0&#93;,&#91;9E+9,9E+9,9E+9,9E+9,9E+9,9E+9&#93;], v1000, z50, tool0;
        MoveL p60, v1000, z50, tool0;
        MoveL p70, v1000, z50, tool0;
        MoveL p80, v1000, z50, tool0;
        MoveL p90, v1000, z50, tool0;
        MoveL p100, v1000, z50, tool0;
        MoveL p10, v1000, z50, tool0;
        MoveL p20, v1000, z50, tool0;
        MoveL p30, v1000, z50, tool0;
        MoveL p40, v1000, z50, tool0;
    ENDPROC
ENDMODULE</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9">liikumine</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">60</span><span style="color: #81A1C1">-&gt;</span><span style="color: #B48EAD">70</span><span style="color: #81A1C1">-&gt;</span><span style="color: #B48EAD">80</span><span style="color: #81A1C1">-&gt;</span><span style="color: #B48EAD">90</span><span style="color: #81A1C1">-&gt;</span><span style="color: #B48EAD">100</span></span>
<span class="line"><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p60</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> &#91;      </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">       </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93; </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #88C0D0">cos</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">180</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">sin</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">180</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93; </span><span style="color: #D8DEE9">pööre</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ümber</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">x</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">x</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">telje</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tipust</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vaadates</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">päripäeva</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">180</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">abs</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p70</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0.25882</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.96593</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93; </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #88C0D0">cos</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">150</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">sin</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">150</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93; </span><span style="color: #D8DEE9">pööre</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ümber</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">x</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">x</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">telje</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tipust</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vaadates</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">päripäeva</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">150</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">abs</span><span style="color: #D8DEE9FF">) </span></span>
<span class="line"><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p70</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p80</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">30</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vastupäeva</span></span>
<span class="line"><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p80</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0.5</span><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.86603</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93; </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #88C0D0">cos</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">120</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">sin</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">120</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93; </span><span style="color: #D8DEE9">pööre</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ümber</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">x</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">x</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">telje</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tipust</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vaadates</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">päripäeva</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">120</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">abs</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p80</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p70</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">30</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vastupäeva</span></span>
<span class="line"><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p90</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0.70711</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.70711</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93; </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #88C0D0">cos</span><span style="color: #D8DEE9FF">( </span><span style="color: #B48EAD">90</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">sin</span><span style="color: #D8DEE9FF">( </span><span style="color: #B48EAD">90</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93; </span><span style="color: #D8DEE9">pööre</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ümber</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">x</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">x</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">telje</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tipust</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vaadates</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">päripäeva</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">90</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">abs</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p90</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p80</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">30</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vastupäeva</span></span>
<span class="line"><span style="color: #D8DEE9">p100</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0.76604</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.64279</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93; </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #88C0D0">cos</span><span style="color: #D8DEE9FF">( </span><span style="color: #B48EAD">80</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">sin</span><span style="color: #D8DEE9FF">( </span><span style="color: #B48EAD">80</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93; </span><span style="color: #D8DEE9">pööre</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ümber</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">x</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">x</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">telje</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tipust</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vaadates</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">päripäeva</span><span style="color: #D8DEE9FF">  </span><span style="color: #B48EAD">80</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">abs</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9">p100</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p90</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">10</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vastupäeva</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9">pööre</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">40</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ümber</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">x</span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> (</span><span style="color: #81A1C1">+</span><span style="color: #B48EAD">40</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #88C0D0">cos</span><span style="color: #D8DEE9FF">( </span><span style="color: #B48EAD">40</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">sin</span><span style="color: #D8DEE9FF">( </span><span style="color: #B48EAD">40</span><span style="color: #81A1C1">/</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93; </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0.93969</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.34202</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #D8DEE9">p100</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">*</span><span style="color: #D8DEE9FF"> (</span><span style="color: #81A1C1">+</span><span style="color: #B48EAD">40</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0.76604</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0.64279</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93; </span><span style="color: #81A1C1">*</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0.93969</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.34202</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93; </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0.86603</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93; </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p80</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #ECEFF4">(</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">https</span><span style="color: #81A1C1">:</span><span style="color: #616E88">//www.omnicalculator.com/math/quaternion )</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">MODULE Module1</span></span>
<span class="line"><span style="color: #D8DEE9FF">	CONST robtarget p10</span><span style="color: #81A1C1">:=</span><span style="color: #D8DEE9FF">[&#91;</span><span style="color: #B48EAD">800</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">1100</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0.86602544</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #D8DEE9FF">&#93;];</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #D8DEE9">CONST</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">robtarget</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p20</span><span style="color: #81A1C1">:=</span><span style="color: #D8DEE9FF">[&#91;</span><span style="color: #B48EAD">800</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">1100</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0.70712</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0.70712</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #D8DEE9FF">&#93;];</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #D8DEE9">CONST</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">robtarget</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p30</span><span style="color: #81A1C1">:=</span><span style="color: #D8DEE9FF">[&#91;</span><span style="color: #B48EAD">800</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">1100</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0.70712</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0.70712</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #D8DEE9FF">&#93;];</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #D8DEE9">CONST</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">robtarget</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p40</span><span style="color: #81A1C1">:=</span><span style="color: #D8DEE9FF">[&#91;</span><span style="color: #B48EAD">800</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">1100</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0.92388</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0.38268</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #D8DEE9FF">&#93;];</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #D8DEE9">CONST</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">robtarget</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p50</span><span style="color: #81A1C1">:=</span><span style="color: #D8DEE9FF">[&#91;</span><span style="color: #B48EAD">800</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">1100</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0.707107</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">7.47086E-10</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0.707107</span><span style="color: #ECEFF4">,</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">1.85805E-09</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #D8DEE9FF">&#93;];</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #D8DEE9">CONST</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">robtarget</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p60</span><span style="color: #81A1C1">:=</span><span style="color: #D8DEE9FF">[&#91;</span><span style="color: #B48EAD">1000</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">176.78</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">626.78</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #D8DEE9FF">&#93;];</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #D8DEE9">CONST</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">robtarget</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p70</span><span style="color: #81A1C1">:=</span><span style="color: #D8DEE9FF">[&#91;</span><span style="color: #B48EAD">1000</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">176.78</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">626.78</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0.25882</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0.96593</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #D8DEE9FF">&#93;];</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #D8DEE9">CONST</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">robtarget</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p80</span><span style="color: #81A1C1">:=</span><span style="color: #D8DEE9FF">[&#91;</span><span style="color: #B48EAD">1000</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">176.78</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">626.78</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0.86603</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #D8DEE9FF">&#93;];</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #D8DEE9">CONST</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">robtarget</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p90</span><span style="color: #81A1C1">:=</span><span style="color: #D8DEE9FF">[&#91;</span><span style="color: #B48EAD">1000</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">176.78</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">626.78</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0.70711</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0.70711</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #D8DEE9FF">&#93;];</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #D8DEE9">CONST</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">robtarget</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p100</span><span style="color: #81A1C1">:=</span><span style="color: #D8DEE9FF">[&#91;</span><span style="color: #B48EAD">1000</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">176.78</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">626.78</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0.76604</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0.64279</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+09</span><span style="color: #D8DEE9FF">&#93;];</span></span>
<span class="line"><span style="color: #D8DEE9FF">	</span><span style="color: #D8DEE9">CONST</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">robtarget</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p110</span><span style="color: #81A1C1">:=</span><span style="color: #D8DEE9FF">[&#91;</span><span style="color: #B48EAD">821.52</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">197.50</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">1049.08</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0.569344</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0.0980948</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0.816226</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">4.57284E-7</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">9E+9</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+9</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+9</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+9</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+9</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+9</span><span style="color: #D8DEE9FF">&#93;];</span></span>
<span class="line"><span style="color: #D8DEE9FF">    !***********************************************************</span></span>
<span class="line"><span style="color: #D8DEE9FF">    !</span></span>
<span class="line"><span style="color: #D8DEE9FF">    ! </span><span style="color: #D8DEE9">Module</span><span style="color: #81A1C1">:</span><span style="color: #D8DEE9FF">  Module1</span></span>
<span class="line"><span style="color: #D8DEE9FF">    !</span></span>
<span class="line"><span style="color: #D8DEE9FF">    ! Description</span><span style="color: #81A1C1">:</span></span>
<span class="line"><span style="color: #D8DEE9FF">    !   </span><span style="color: #ECEFF4">&lt;</span><span style="color: #D8DEE9FF">Insert description here</span><span style="color: #ECEFF4">&gt;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    !</span></span>
<span class="line"><span style="color: #D8DEE9FF">    ! Author</span><span style="color: #81A1C1">:</span><span style="color: #D8DEE9FF"> hav</span></span>
<span class="line"><span style="color: #D8DEE9FF">    !</span></span>
<span class="line"><span style="color: #D8DEE9FF">    ! Version</span><span style="color: #81A1C1">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1.0</span></span>
<span class="line"><span style="color: #D8DEE9FF">    !</span></span>
<span class="line"><span style="color: #D8DEE9FF">    !***********************************************************</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span></span>
<span class="line"><span style="color: #D8DEE9FF">    !***********************************************************</span></span>
<span class="line"><span style="color: #D8DEE9FF">    !</span></span>
<span class="line"><span style="color: #D8DEE9FF">    ! Procedure main</span></span>
<span class="line"><span style="color: #D8DEE9FF">    !</span></span>
<span class="line"><span style="color: #D8DEE9FF">    !   This is the entry point of your program</span></span>
<span class="line"><span style="color: #D8DEE9FF">    !</span></span>
<span class="line"><span style="color: #D8DEE9FF">    !***********************************************************</span></span>
<span class="line"><span style="color: #D8DEE9FF">    PROC main</span><span style="color: #ECEFF4">()</span></span>
<span class="line"><span style="color: #D8DEE9FF">        MoveL [&#91;</span><span style="color: #B48EAD">806.29</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0.00</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">1154.00</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0.5</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">8.4755E-9</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0.866025</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">4.89333E-9</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #B48EAD">9E+9</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+9</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+9</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+9</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+9</span><span style="color: #ECEFF4">,</span><span style="color: #B48EAD">9E+9</span><span style="color: #D8DEE9FF">&#93;]</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">v1000</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">z50</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tool0</span><span style="color: #D8DEE9FF">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MoveL</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p60</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">v1000</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">z50</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tool0</span><span style="color: #D8DEE9FF">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MoveL</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p70</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">v1000</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">z50</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tool0</span><span style="color: #D8DEE9FF">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MoveL</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p80</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">v1000</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">z50</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tool0</span><span style="color: #D8DEE9FF">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MoveL</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p90</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">v1000</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">z50</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tool0</span><span style="color: #D8DEE9FF">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MoveL</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p100</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">v1000</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">z50</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tool0</span><span style="color: #D8DEE9FF">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MoveL</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p10</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">v1000</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">z50</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tool0</span><span style="color: #D8DEE9FF">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MoveL</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p20</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">v1000</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">z50</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tool0</span><span style="color: #D8DEE9FF">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MoveL</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p30</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">v1000</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">z50</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tool0</span><span style="color: #D8DEE9FF">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MoveL</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p40</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">v1000</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">z50</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tool0</span><span style="color: #D8DEE9FF">;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">ENDPROC</span></span>
<span class="line"><span style="color: #D8DEE9">ENDMODULE</span></span></code></pre></div>



<p><a href="https://fixthephoto.com/online-gimp-editor.html" data-type="link" data-id="https://fixthephoto.com/online-gimp-editor.html">https://fixthephoto.com/online-gimp-editor.html</a>https://fixthephoto.com/online-gimp-editor.html</p>



<p>/<a href="https://paint.sumo.app/">https://paint.sumo.app/</a><a href="https://paint.sumo.app/" data-type="link" data-id="https://paint.sumo.app/">https://paint.sumo.app/</a></p>



<p></p>



<p>/<a href="https://yandex.com/search/?text=gimp+online&amp;lr=11481">https://yandex.com/search/?text=gimp+online&amp;lr=11481</a><a href="https://yandex.com/search/?text=gimp+online&amp;lr=11481" data-type="link" data-id="https://yandex.com/search/?text=gimp+online&amp;lr=11481">https://yandex.com/search/?text=gimp+online&amp;lr=11481</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://wp.heinar.pri.ee/hello-world/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
