<?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>RS</title>
	<atom:link href="https://wp.heinar.pri.ee/feed/" rel="self" type="application/rss+xml" />
	<link>https://wp.heinar.pri.ee</link>
	<description></description>
	<lastBuildDate>Tue, 09 Jun 2026 07:57:14 +0000</lastBuildDate>
	<language>et</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.1</generator>
	<item>
		<title>Tööriist &#8216;tool_01&#8217;</title>
		<link>https://wp.heinar.pri.ee/t1/</link>
		
		<dc:creator><![CDATA[wphv]]></dc:creator>
		<pubDate>Mon, 08 Jun 2026 05:30:06 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://wp.heinar.pri.ee/?p=735</guid>

					<description><![CDATA[Koonusekujuline tööriist pikkusega 150mm luuakse järgneva skripti abil kasutades CAD-i lehel https://ochafik.com/openscad2 . OpenScad &#8211; i kasutamise näide . Nupu [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Koonusekujuline tööriist pikkusega 150mm luuakse järgneva skripti abil kasutades CAD-i lehel 
<a href="https://ochafik.com/openscad2" target="_blank"> https://ochafik.com/openscad2</a>
.</p>

<div class="wp-block-kevinbatdorf-code-block-pro" 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);" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono">
<pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" readonly="readonly" aria-hidden="true">//ochafik.com/openscad2
//T1 koonus 15o mm
union(){
    cylinder(h=15, r1=50, r2=50, center=false);
    translate([0, 0, 15])
    cylinder(h=30, r1=25, r2=25, center=false);
    translate([0, 0, 45])
    cylinder(h=105, r1=10, r2=1, center=false);
    }</textarea></pre>
<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;">//T1 koonus 15o mm</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: #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: #d8dee9;">r1</span><span style="color: #81a1c1;">=</span><span style="color: #b48ead;">50</span><span style="color: #eceff4;">,</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: #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;">([</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;">15</span><span style="color: #d8dee9ff;">])</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;">30</span><span style="color: #eceff4;">,</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: #d8dee9;">r2</span><span style="color: #81a1c1;">=</span><span style="color: #b48ead;">25</span><span style="color: #eceff4;">,</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;">([</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;">45</span><span style="color: #d8dee9ff;">])</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;">105</span><span style="color: #eceff4;">,</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: #d8dee9;">r2</span><span style="color: #81a1c1;">=</span><span style="color: #b48ead;">1</span><span style="color: #eceff4;">,</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: #eceff4;">}</span></span></code></pre>
</div>



<p class="wp-block-paragraph">OpenScad &#8211; i 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/05/tool_01.png&quot;)" href="javascript:void(0)">
kasutamise näide
</a>.
</p><p>
 Nupu &#8216;Render&#8217; abil luuakse ja laaditakse alla tööriista mudel  &#8216;tool_01.stl&#8217;. Kui see ei õnnestu, siis võib tööriista mudeli alla laadida aadressilt</br>
<a href="https://wp.heinar.pri.ee/hv/img/05/tool_01.stl"> wp.heinar.pri.ee/hv/img/05/tool_01.stl</a>
</p>
<p>Tööriista mudel &#8216;tool_01.stl&#8217; paigutatakse
<a onclick="javascript:hvShowPicture(&quot;/hv/img/05/dir.png&quot;)" href="javascript:void(0)"> 
sobivasse kataloogi
</a>
.</p>
Avatakse RobotStudio tab &#8216;Modeling&#8217;, valitakse &#8216;
<a onclick="javascript:hvShowPicture(&quot;/hv/img/05/ImportGeoMetry.png&quot;)" href="javascript:void(0)"> 
Import Geometry
</a>
&#8216; valitakse mudel &#8216;tool_01.stl&#8217;, valitakse &#8216;Open&#8217;.</br>
Tööriist &#8216;tool_01&#8217; ilmub vasakpoolse riba
<a onclick="javascript:hvShowPicture(&quot;/hv/img/05/imported_1.png&quot;)" href="javascript:void(0)"> 
tabile &#8216;Layout&#8217;
</a>
ja tööriista kontuur ilmub koordinaatide alguspunkti [0, 0, 0]. Tööriist liigutatakse 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/05/setPos_1.png&quot;)" href="javascript:void(0)">
setPosition 
</a>
abil punkti 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/05/newPos_1.png&quot;)" href="javascript:void(0)">
[500, 0, 200]
</a>
. Liigutamine 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/05/posDone_1.png&quot;)" href="javascript:void(0)">
tehtud
</a>.
</br>
Tööriist &#8216;tool_01.stl&#8217; ühendatakse robotiga
<a onclick="javascript:hvShowPicture(&quot;/hv/img/05/tool_1_connect_1.png&quot;)" href="javascript:void(0)"> 
järgneval viisil:</a> hiirega lohistatakse objekt &#8216;tool_01&#8217; objektile &#8216;IRB1600_6_145_03&#8217; kollase noolega näidatud suunas.
<a onclick="javascript:hvShowPicture(&quot;/hv/img/05/t_1_connected.png&quot;)" href="javascript:void(0)"> 
Resultaat.
</a>
Nüüd määratakse tööriista lokaalne koordinaatide alguspunkt local origin
 
 
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Barrel</title>
		<link>https://wp.heinar.pri.ee/barrel/</link>
		
		<dc:creator><![CDATA[wphv]]></dc:creator>
		<pubDate>Tue, 19 May 2026 18:25:48 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://wp.heinar.pri.ee/?p=519</guid>

					<description><![CDATA[ghgh bnnbbn]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">ghgh bnnbbn</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

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 style="color: #616E88">//ochafik.com/openscad2</span></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: #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">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>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Pliiats</title>
		<link>https://wp.heinar.pri.ee/pliiats/</link>
		
		<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 Barrel]]></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 class="wp-block-paragraph"></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 class="wp-block-paragraph"></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 class="wp-block-paragraph"></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 class="wp-block-paragraph"></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 class="wp-block-paragraph"></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 class="wp-block-paragraph"></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 class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">/</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 class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">/</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 class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></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 class="wp-block-paragraph"></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 class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



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



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Barrel</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

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 style="color: #616E88">//ochafik.com/openscad2</span></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: #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">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>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Moodul ja protseduur</title>
		<link>https://wp.heinar.pri.ee/moodul-ja-protseduur/</link>
		
		<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[Mooduli &#8216;hv_mod_2&#8217; koostamine Vajutatakse nuppu &#8216;File&#8217; . Valitakse New Module , Uuele moodulile antakse nimi hv_mod_2 , vajutatakse OK . [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><span id="more-401"></span></p>


<b>Mooduli</b> <i>&#8216;hv_mod_2&#8217;</i><b> koostamine</b><br>
Vajutatakse nuppu
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_01_01.png&quot;)" href="javascript:void(0)">
&#8216;File&#8217;
</a>
. Valitakse  
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_02.png&quot;)" href="javascript:void(0)">
New Module
</a>
, Uuele moodulile antakse nimi 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_03.png&quot;)" href="javascript:void(0)">
hv_mod_2
</a>
, vajutatakse  
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_03_01.png&quot;)" href="javascript:void(0)">
OK
</a>
. Uus moodul 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_04.png&quot;)" href="javascript:void(0)">
&#8216;hv_mod_2&#8217;
</a>
 on valmis. Moodulile &#8216;hv_mod_2&#8217; lisatakse protseduur ehk routine &#8216;hvProc_2&#8217;.

Valitakse 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_04.png&quot;)" href="javascript:void(0)">
Show module 
</a>
. Avaneb 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_05.png&quot;)" href="javascript:void(0)">
mooduli &#8216;hv_mod_2&#8217; sisu
</a>

. Valitakse 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_05_1.png&quot;)" href="javascript:void(0)">
Routines
</a>
. Vastus on 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_06.png&quot;)" href="javascript:void(0)">
no routines 
</a>
. Valitakse  
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_07.png&quot;)" href="javascript:void(0)">
file New Routine&#8230;
</a>
. Uuele protseduurile antakse nimi 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_08.png&quot;)" href="javascript:void(0)">
&#8216;hvProc_2&#8217;
</a>
. Vajutatakse 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_08.png&quot;)" href="javascript:void(0)">
OK
</a>
. Uus protseduur 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_09.png&quot;)" href="javascript:void(0)">
&#8216;hvProc_2&#8217; 
</a>
  on valmis.
Vajutatakse 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_09.png&quot;)" href="javascript:void(0)">
Show Routine
</a>
Avaneb
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_10.png&quot;)" href="javascript:void(0)"> 
 protseduuri sisu
</a>
 Protseduurile hvProc_2 lisatakse käsk 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_11.png&quot;)" href="javascript:void(0)">
&#8216;Stop&#8217;
</a>. 
Käsu &#8216;Stop&#8217; leidmiseks kasutatakse nuppe 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_11.png&quot;)" href="javascript:void(0)">
&#8216;Previous&#8217; ja &#8216;Next&#8217;
</a>
. Käsk &#8216;Stop&#8217; 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_12.png&quot;)" href="javascript:void(0)">
lisatud
</a>
. Vajutatakse &#8216;File&#8217;, valitakse 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_13.png&quot;)" href="javascript:void(0)">
&#8216;Save Program As&#8217; 
</a>
. Vajutatakse nuppu 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_14.png&quot;)" href="javascript:void(0)">
 OK 
</a>
. Vajutatakse nuppu 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_15.png&quot;)" href="javascript:void(0)">
OK
</a>
. Mooduli &#8216;hv_mod_2&#8217; 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_16.png&quot;)" href="javascript:void(0)">
koht failisüsteemis 
</a>
. Avatakse main moodul, lisatakse käsk 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_17.png&quot;)" href="javascript:void(0)">
ProcCall
</a>
. Valitakse 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_18.png&quot;)" href="javascript:void(0)">
&#8216;hvProc2&#8217; 
</a>
. Vajutatakse 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_19.png&quot;)" href="javascript:void(0)">
OK
</a>
. Protseduuri poole pöördumine lisatud: 
<a onclick="javascript:hvShowPicture(&quot;/hv/img/03/_20.png&quot;)" href="javascript:void(0)">
resultaat 
</a>
. Debug abil kontrollitakse üle.</p>



<p class="wp-block-paragraph">                                                                                           </p>


]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>RS algus</title>
		<link>https://wp.heinar.pri.ee/rs-algus/</link>
		
		<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 class="wp-block-paragraph"></p>



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



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Teljed</title>
		<link>https://wp.heinar.pri.ee/teljed/</link>
		
		<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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</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 class="wp-block-paragraph">Welcome to WordPress.&nbsp;</p>



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



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



<p class="wp-block-paragraph"><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="Gk51OwInoX"><a href="https://aleksandarhaber.com/abb-robotstudio-tutorials/">ABB Robot Tutorials</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="“ABB Robot Tutorials” — Fusion of Engineering, Control, Coding, Machine Learning, and Science" src="https://aleksandarhaber.com/abb-robotstudio-tutorials/embed/#?secret=4HJ1rxjeY7#?secret=Gk51OwInoX" data-secret="Gk51OwInoX" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><a href="https://yandex.com/video/preview/6973516100809102022">https://yandex.com/video/preview/6973516100809102022</a></p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph">ABB RobotStudio Example Program</p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph">/</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="1400" height="788" 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 class="wp-block-paragraph">/<a href="https://www.youtube.com/watch?v=UQrS6OWtc7Q">https://www.youtube.com/watch?v=UQrS6OWtc7Q</a></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph">/<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="1400" height="788" 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="1400" height="788" 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="1400" height="788" 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="1400" height="788" 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 class="wp-block-paragraph">Robot Programming ABB Introducing a line of motion code IRC5 Flex Pendant Prog Basic #1</p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph"><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="1400" height="788" 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="1400" height="788" 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 class="wp-block-paragraph"><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="1400" height="788" 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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><a href="https://quat2euler.com/">ABB Robot Quaternion Calculator</a></p>



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



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><a href="https://www.omnicalculator.com/math/quaternion">https://www.omnicalculator.com/math/quaternion</a></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph">/</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 class="wp-block-paragraph"><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 class="wp-block-paragraph">/<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 class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">/<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>
