Script: VR Example

VR Example picture
Type
Blockly logo indicatorblockly
Date Created
Oct 2, 2022, 5:04:49 PM
Last Edit Date
Oct 11, 2024, 3:41:15 PM

Project Information

This piece is made while experimenting with algorithms on our platform. I suppose we can call such process - sketching.

View Full Project

Script Code

<xml xmlns="https://developers.google.com/blockly/xml">
 <variables>
  <variable id="3E_7h9U^uyN|uwS$tsb4">grid</variable>
  <variable id="mNef4@Xk#WuSakC@{`ik">ground</variable>
  <variable id=".QW0#G8m,q]NP#,wN5(0">cam</variable>
  <variable id="QOI:`A*@R%@b[-|M3|~R">scale</variable>
  <variable id="M](yOm(feT@k9QK.n@v7">points</variable>
  <variable id="!^ry)Mtf2A_wQ[oM?wx.">bezierWires</variable>
  <variable id="QmQ@5]/bDkg`8DLLFwXD">bezierWires2</variable>
  <variable id="qHg`tK__]aWKK;Qu8uF{">i</variable>
  <variable id="I|K3`$`#LIcG(|Xc*T4p">pt1</variable>
  <variable id="kT0|~J1u{kj9Zu=Gf0LN">result</variable>
  <variable id="xb@=67OJK[buXgf0U`d*">pt2</variable>
  <variable id=";26d.0Q%g#S0pX9J4qNA">beams</variable>
  <variable id="yDIeg~YQ+T~)3(;rIl_R">pt3</variable>
  <variable id="6GMLk1j*Mfm1}|iEKA~]">j</variable>
  <variable id="fp|uM9i5SZ6xwdHztTQk">pt4</variable>
  <variable id="=`;k#@kQ/DRviI:CeHy!">moveUp</variable>
  <variable id="7x2%ou]1RFCN,HGY(zAl">loft</variable>
  <variable id="A5|v{1pYTjBamm;+8`zE">movedDown</variable>
  <variable id="[qryOMT@]MUgvKXHoX_[">glass</variable>
 </variables>
 <block type="variables_set" id="J@RI)KI#Ex9cEH4f+mMG" x="-2941" y="-195">
  <field name="VAR" id="3E_7h9U^uyN|uwS$tsb4">grid</field>
  <value name="VALUE">
   <block type="bitbybit.draw.drawGridMesh" id="[f6v%s9?I=6P#^9Bjtv=">
    <value name="Width">
     <block type="math_number" id="g}{^@_+M2[=kHsWt6pDJ">
      <field name="NUM">400</field>
     </block>
    </value>
    <value name="Height">
     <block type="math_number" id="dpN,?xhl7v]aFzD,Empx">
      <field name="NUM">400</field>
     </block>
    </value>
    <value name="Subdivisions">
     <block type="math_number" id="DJ%D6!8TD/3w`lfA$6yZ">
      <field name="NUM">10</field>
     </block>
    </value>
    <value name="MajorUnitFrequency">
     <block type="math_number" id="0kdZbe.yp+bayzT)^[sS">
      <field name="NUM">10</field>
     </block>
    </value>
    <value name="MinorUnitVisibility">
     <block type="math_number" id="3Aq}{TD`4;b6T_RAbL8b">
      <field name="NUM">0.45</field>
     </block>
    </value>
    <value name="GridRatio">
     <block type="math_number" id="xixlB|R-Bz7$v0xtNtG[">
      <field name="NUM">0.5</field>
     </block>
    </value>
    <value name="Opacity">
     <block type="math_number" id="T$MFy1Sg;*wH!:]H9k#N">
      <field name="NUM">0.5</field>
     </block>
    </value>
    <value name="BackFaceCulling">
     <block type="logic_boolean" id="J~8m5|B/Q$kGT.57-:0V">
      <field name="BOOL">TRUE</field>
     </block>
    </value>
    <value name="MainColor">
     <block type="colour_picker" id="MF|Mi%ABk~iHr6elVm|G">
      <field name="COLOUR">#ffffff</field>
     </block>
    </value>
    <value name="SecondaryColor">
     <block type="colour_picker" id="RV;^y.g[09aJQ;Zs6B?5">
      <field name="COLOUR">#ffffff</field>
     </block>
    </value>
   </block>
  </value>
  <next>
   <block type="variables_set" id="1^6aQ:`)2e6*v2dKi%Hb">
    <field name="VAR" id="mNef4@Xk#WuSakC@{`ik">ground</field>
    <value name="VALUE">
     <block type="bitbybit.draw.drawAnyAsync" id="Rg7re1o|KtIAh,l~FD=?">
      <value name="Entity">
       <block type="bitbybit.jscad.shapes.cuboid" id="ecaE-gKT:.u2u$h(dpZM">
        <value name="Center">
         <block type="bitbybit.point.pointXYZ" id="2Em3_!0gWNF}({M6=gzu">
          <value name="X">
           <block type="math_number" id="?/02E*p`-X7[,|/}[#3B">
            <field name="NUM">0</field>
           </block>
          </value>
          <value name="Y">
           <block type="math_number" id="-0/_Osz3}NAMGpYHld^I">
            <field name="NUM">0</field>
           </block>
          </value>
          <value name="Z">
           <block type="math_number" id="-CK)**_7$$0}Z$S;?S@7">
            <field name="NUM">0</field>
           </block>
          </value>
         </block>
        </value>
        <value name="Width">
         <block type="math_number" id="Po1HNuKbmo+Ugsxyh.,I">
          <field name="NUM">100</field>
         </block>
        </value>
        <value name="Length">
         <block type="math_number" id="?AtPQ86x5WrXd+zga9-,">
          <field name="NUM">100</field>
         </block>
        </value>
        <value name="Height">
         <block type="math_number" id="bO,.LH5VFDll?6!MzB~D">
          <field name="NUM">0.1</field>
         </block>
        </value>
       </block>
      </value>
      <value name="Options">
       <block type="bitbybit.draw.optionsSimple" id="2bVqr=|TK-GV;(0!z.6`">
        <value name="Colours">
         <block type="colour_picker" id="eFNKWENgfXvyk|7z5155">
          <field name="COLOUR">#666666</field>
         </block>
        </value>
        <value name="Size">
         <block type="math_number" id="sVI4}SdirZqFKx9FP4ml">
          <field name="NUM">3</field>
         </block>
        </value>
        <value name="Opacity">
         <block type="math_number" id="AJsLBYg#r*CWh-@:o(J4">
          <field name="NUM">1</field>
         </block>
        </value>
        <value name="Updatable">
         <block type="logic_boolean" id="qtq+v%84IVnFM8q3zhdZ">
          <field name="BOOL">FALSE</field>
         </block>
        </value>
       </block>
      </value>
     </block>
    </value>
    <next>
     <block type="variables_set" id="cONSNTjT68$7q:xGWT~2">
      <field name="VAR" id=".QW0#G8m,q]NP#,wN5(0">cam</field>
      <value name="VALUE">
       <block type="bitbybit.babylon.camera.free.create" id="2wMJHMtRhwa,W7GMt[ww">
        <value name="Position">
         <block type="bitbybit.point.pointXYZ" id="?R}Xt~HSM#OWfm!TWe%H">
          <value name="X">
           <block type="math_number" id="5]uheZhY(vOjv/[S0^.(">
            <field name="NUM">30</field>
           </block>
          </value>
          <value name="Y">
           <block type="math_number" id="-_H[{:n^{gADVU^bkV16">
            <field name="NUM">1.8</field>
           </block>
          </value>
          <value name="Z">
           <block type="math_number" id="5bdboo]GS)z7q7w|5l8x">
            <field name="NUM">0</field>
           </block>
          </value>
         </block>
        </value>
        <value name="Target">
         <block type="bitbybit.point.pointXYZ" id="O[)eo7eEV8PR1~]wPBRY">
          <value name="X">
           <block type="math_number" id="[H[4jsDK/j;M-UT9ho]I">
            <field name="NUM">0</field>
           </block>
          </value>
          <value name="Y">
           <block type="math_number" id="tuOUXw8N*dGJc;j,d@L|">
            <field name="NUM">0</field>
           </block>
          </value>
          <value name="Z">
           <block type="math_number" id=")+8tT++{^dIzLO){m,j:">
            <field name="NUM">0</field>
           </block>
          </value>
         </block>
        </value>
       </block>
      </value>
      <next>
       <block type="bitbybit.babylon.scene.activateCamera" id="c7In5]sa@%ndv$cm@pwa">
        <value name="Camera">
         <block type="variables_get" id="QX8fjd!d^Ha/A3e!xc4{">
          <field name="VAR" id=".QW0#G8m,q]NP#,wN5(0">cam</field>
         </block>
        </value>
        <next>
         <block type="bitbybit.babylon.webXr.simple.createDefaultXRExperienceWithTeleportation" id="#ir~)YnmK}HJ8I_a~Aw7">
          <value name="GroundMeshes">
           <block type="lists_create_with" id="wH](?;;8MAtsT@-2dQc`">
            <mutation items="1">
            </mutation>
            <value name="ADD0">
             <block type="variables_get" id="m_Fwy),zs4h8m@hgq?Q(">
              <field name="VAR" id="3E_7h9U^uyN|uwS$tsb4">grid</field>
             </block>
            </value>
           </block>
          </value>
          <next>
           <block type="bitbybit.babylon.scene.drawPointLightNoReturn" id="HVu*K~Ffu/PAK#$;}TpA">
            <value name="Position">
             <block type="bitbybit.point.pointXYZ" id="=nf/@Rk7QhF%klM{AeAW">
              <value name="X">
               <block type="math_number" id="AvSo[h^VmOXGf7Yl-qfZ">
                <field name="NUM">5</field>
               </block>
              </value>
              <value name="Y">
               <block type="math_number" id=",e3wX7:H4upY@KxL(hy@">
                <field name="NUM">30</field>
               </block>
              </value>
              <value name="Z">
               <block type="math_number" id="9X}rt5EHw-A2om(XYP`1">
                <field name="NUM">5</field>
               </block>
              </value>
             </block>
            </value>
            <value name="Intensity">
             <block type="math_number" id=";6:D?o!:R#lzsk;nC}Go">
              <field name="NUM">4000</field>
             </block>
            </value>
            <value name="Diffuse">
             <block type="colour_picker" id="y]S]26WI?^69cFv*[%+/">
              <field name="COLOUR">#ffffff</field>
             </block>
            </value>
            <value name="Specular">
             <block type="colour_picker" id="OMe]mG?6g3bxwj0eK;BX">
              <field name="COLOUR">#ffffff</field>
             </block>
            </value>
            <value name="Radius">
             <block type="math_number" id="[[S%4hDxP|Rx6v0l_cLw">
              <field name="NUM">0.05</field>
             </block>
            </value>
            <value name="ShadowGeneratorMapSize">
             <block type="math_number" id="V.@rJnehc3P5YT~m)=1f">
              <field name="NUM">512</field>
             </block>
            </value>
            <value name="EnableShadows">
             <block type="logic_boolean" id="3k|q+5n@0Z6EH(DZFhJ6">
              <field name="BOOL">TRUE</field>
             </block>
            </value>
            <value name="ShadowDarkness">
             <block type="math_number" id="]uW6|`B0U?}Kb.mO_Rgu">
              <field name="NUM">0</field>
             </block>
            </value>
            <next>
             <block type="variables_set" id="m[g}[DY__S|VgY`b8[rt">
              <field name="VAR" id="QOI:`A*@R%@b[-|M3|~R">scale</field>
              <value name="VALUE">
               <block type="math_number" id="a;@d%Jr2QBcqYYm,Zi_0">
                <field name="NUM">0.3</field>
               </block>
              </value>
              <next>
               <block type="variables_set" id="T*JraYz/.Bqub2sCz5*?">
                <field name="VAR" id="M](yOm(feT@k9QK.n@v7">points</field>
                <value name="VALUE">
                 <block type="lists_create_with" id="wKU8==iV,S7cT,dBc{Mp">
                  <mutation items="0">
                  </mutation>
                 </block>
                </value>
                <next>
                 <block type="variables_set" id="liyma2[sZJL3n+=(zi+:">
                  <field name="VAR" id="!^ry)Mtf2A_wQ[oM?wx.">bezierWires</field>
                  <value name="VALUE">
                   <block type="lists_create_with" id="Wx1U]1-=l_;k$jRdnnD}">
                    <mutation items="0">
                    </mutation>
                   </block>
                  </value>
                  <next>
                   <block type="variables_set" id="DuMG;XlhMX;]fQ+B!~Cr">
                    <field name="VAR" id="QmQ@5]/bDkg`8DLLFwXD">bezierWires2</field>
                    <value name="VALUE">
                     <block type="lists_create_with" id="dhbZALa*o}F$?=xMmz@]">
                      <mutation items="0">
                      </mutation>
                     </block>
                    </value>
                    <next>
                     <block type="controls_for" id="b673GnoR,x~)tGeST[5X">
                      <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
                      <value name="FROM">
                       <block type="math_number" id="/n-?=XWo%YVs1]v?x?$D">
                        <field name="NUM">10</field>
                       </block>
                      </value>
                      <value name="TO">
                       <block type="math_number" id="y(dHY(WqsO.b.@Ai0jH5">
                        <field name="NUM">40</field>
                       </block>
                      </value>
                      <value name="BY">
                       <block type="math_number" id="?H/O[2AX?:2(r(uA#m_6">
                        <field name="NUM">1</field>
                       </block>
                      </value>
                      <statement name="DO">
                       <block type="variables_set" id="Q8ffY3Q@,mFW-:_YtrZ4">
                        <field name="VAR" id="I|K3`$`#LIcG(|Xc*T4p">pt1</field>
                        <value name="VALUE">
                         <block type="bitbybit.point.transformPoint" id="qefaorTmP=i8SUg)J4(~">
                          <value name="Point">
                           <block type="bitbybit.point.pointXYZ" id="QnKZ`)UIjw||f~{%@%kM">
                            <value name="X">
                             <block type="math_arithmetic" id="]eR_qJJp9]Ha8vm;~S-x">
                              <field name="OP">MULTIPLY</field>
                              <value name="A">
                               <block type="variables_get" id=":rmv`ML@JISKJmZy:bMf">
                                <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
                               </block>
                              </value>
                              <value name="B">
                               <block type="math_number" id="IHlG[E3+i5gAstFC2Dem">
                                <field name="NUM">0.3</field>
                               </block>
                              </value>
                             </block>
                            </value>
                            <value name="Y">
                             <block type="math_arithmetic" id="!:UO4l$^BX5aQXCBb@|~">
                              <field name="OP">MULTIPLY</field>
                              <value name="A">
                               <block type="variables_get" id="A7;B/G6EFh:vLSPR,C:a">
                                <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
                               </block>
                              </value>
                              <value name="B">
                               <block type="math_arithmetic" id="qKSe`AF7qhTP15dvlem:">
                                <field name="OP">DIVIDE</field>
                                <value name="A">
                                 <block type="variables_get" id="0x;2A3u.lCOwgRKA2F,5">
                                  <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
                                 </block>
                                </value>
                                <value name="B">
                                 <block type="math_number" id="PNRH3L?q0~;e;d58]tZ*">
                                  <field name="NUM">20</field>
                                 </block>
                                </value>
                               </block>
                              </value>
                             </block>
                            </value>
                            <value name="Z">
                             <block type="math_arithmetic" id="D,)rpZ}+NdDO2AKKLisU">
                              <field name="OP">MULTIPLY</field>
                              <value name="A">
                               <block type="variables_get" id="CA*G`HS@_epP,)%^zM8b">
                                <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
                               </block>
                              </value>
                              <value name="B">
                               <block type="math_number" id="9p?yCg#3_5[Seajg+OpA">
                                <field name="NUM">0.1</field>
                               </block>
                              </value>
                             </block>
                            </value>
                           </block>
                          </value>
                          <value name="Transformation">
                           <block type="bitbybit.babylon.transforms.rotationCenterY" id="#-+yQWCjjU*:|/a2veK8">
                            <value name="Angle">
                             <block type="math_arithmetic" id="1iVo%CK11U)*}Dc_=c$I">
                              <field name="OP">MULTIPLY</field>
                              <value name="A">
                               <block type="variables_get" id="n[f4AS4f;4GrF[M4ltR;">
                                <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
                               </block>
                              </value>
                              <value name="B">
                               <block type="math_number" id="QX-TUb)ISH!*e8Qv)s%?">
                                <field name="NUM">30</field>
                               </block>
                              </value>
                             </block>
                            </value>
                            <value name="Center">
                             <block type="bitbybit.point.pointXYZ" id="Gv~M(#+-1@zLGhp/~zFN">
                              <value name="X">
                               <block type="math_number" id="`XiI*8:;8JdT8F:3f[Ph">
                                <field name="NUM">0</field>
                               </block>
                              </value>
                              <value name="Y">
                               <block type="math_number" id="5((tJj?=X$mu|f:|k4nv">
                                <field name="NUM">0</field>
                               </block>
                              </value>
                              <value name="Z">
                               <block type="math_number" id="PmN61x(@vb;,jvpa)rX=">
                                <field name="NUM">0</field>
                               </block>
                              </value>
                             </block>
                            </value>
                           </block>
                          </value>
                         </block>
                        </value>
                        <next>
                         <block type="variables_set" id="1M~Eo#Sc6@DE4WvoixBJ">
                          <field name="VAR" id="xb@=67OJK[buXgf0U`d*">pt2</field>
                          <value name="VALUE">
                           <block type="bitbybit.point.transformPoint" id=".@cinGt;U84JIt@Q3$.U">
                            <value name="Point">
                             <block type="bitbybit.point.pointXYZ" id="P#9Z)u8_nY(Ka]H*Els|">
                              <value name="X">
                               <block type="math_arithmetic" id="3q7(64NOR;Yc63K1mzB1">
                                <field name="OP">DIVIDE</field>
                                <value name="A">
                                 <block type="variables_get" id="WQ*oMj^K/KXZg/X}zfo3">
                                  <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
                                 </block>
                                </value>
                                <value name="B">
                                 <block type="math_number" id="cRw4-`j8#__1zb3$eyaK">
                                  <field name="NUM">2</field>
                                 </block>
                                </value>
                               </block>
                              </value>
                              <value name="Y">
                               <block type="math_arithmetic" id=".$(NwytGr2%tzzzj5f$`">
                                <field name="OP">MULTIPLY</field>
                                <value name="A">
                                 <block type="variables_get" id="LTHnIvpP%W.^OxG;ZP1(">
                                  <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
                                 </block>
                                </value>
                                <value name="B">
                                 <block type="math_arithmetic" id="0wPDAkGImv9w1tJ]}fGi">
                                  <field name="OP">DIVIDE</field>
                                  <value name="A">
                                   <block type="variables_get" id="b#O|wEa6K3%tS2N93)g|">
                                    <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
                                   </block>
                                  </value>
                                  <value name="B">
                                   <block type="math_number" id="1q6,FSm+N7r3umK+$5@I">
                                    <field name="NUM">70</field>
                                   </block>
                                  </value>
                                 </block>
                                </value>
                               </block>
                              </value>
                              <value name="Z">
                               <block type="math_arithmetic" id="k3/zW7?02]U%(PeR[LwY">
                                <field name="OP">MULTIPLY</field>
                                <value name="A">
                                 <block type="variables_get" id="Wo.o1yUj1lB{8a?-AV!I">
                                  <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
                                 </block>
                                </value>
                                <value name="B">
                                 <block type="math_number" id="N22]QJe^dFtYKn-%SdRR">
                                  <field name="NUM">1</field>
                                 </block>
                                </value>
                               </block>
                              </value>
                             </block>
                            </value>
                            <value name="Transformation">
                             <block type="bitbybit.babylon.transforms.rotationCenterY" id="^SbqqI@P|HJ=JM]CI~5C">
                              <value name="Angle">
                               <block type="math_arithmetic" id="q1!ODV,?9E#yP^#k;7Cb">
                                <field name="OP">MULTIPLY</field>
                                <value name="A">
                                 <block type="variables_get" id="=6f=g8;nTZOzm}8z6csJ">
                                  <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
                                 </block>
                                </value>
                                <value name="B">
                                 <block type="math_number" id="jtxWpZ+tyPiPQTfStLXk">
                                  <field name="NUM">30</field>
                                 </block>
                                </value>
                               </block>
                              </value>
                              <value name="Center">
                               <block type="bitbybit.point.pointXYZ" id="M:,xgEg@$9*SB/#-J4Db">
                                <value name="X">
                                 <block type="math_number" id="#TS0{Y*pNI2|(Z?]ic2q">
                                  <field name="NUM">0</field>
                                 </block>
                                </value>
                                <value name="Y">
                                 <block type="math_number" id="h*(zS+.dAJ)IrS;91XEC">
                                  <field name="NUM">0</field>
                                 </block>
                                </value>
                                <value name="Z">
                                 <block type="math_number" id="b+Kf^`wX8Rmbp9e@Ut8N">
                                  <field name="NUM">0</field>
                                 </block>
                                </value>
                               </block>
                              </value>
                             </block>
                            </value>
                           </block>
                          </value>
                          <next>
                           <block type="variables_set" id="dEmH/e=[-Zq}r:n9=k[W">
                            <field name="VAR" id="yDIeg~YQ+T~)3(;rIl_R">pt3</field>
                            <value name="VALUE">
                             <block type="bitbybit.point.transformPoint" id="S5DcYA7#~8O3[6X/_p{z">
                              <value name="Point">
                               <block type="bitbybit.point.pointXYZ" id="2){?Npo2_/2IlcfDo`+J">
                                <value name="X">
                                 <block type="math_arithmetic" id="Z;wLdFNG*j9)DflpBf3V">
                                  <field name="OP">MULTIPLY</field>
                                  <value name="A">
                                   <block type="variables_get" id="M*nNMb{twTG-u79%4[Fk">
                                    <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
                                   </block>
                                  </value>
                                  <value name="B">
                                   <block type="math_number" id="6z%22/CmNBKXJ6==rRKM">
                                    <field name="NUM">2</field>
                                   </block>
                                  </value>
                                 </block>
                                </value>
                                <value name="Y">
                                 <block type="math_arithmetic" id="eO;lAwt:(q{sRbHa(`}q">
                                  <field name="OP">MULTIPLY</field>
                                  <value name="A">
                                   <block type="variables_get" id="rgt]LPGd[%qB-C|,a8`P">
                                    <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
                                   </block>
                                  </value>
                                  <value name="B">
                                   <block type="math_arithmetic" id="..;1SSq)3jzxLH=_aGJD">
                                    <field name="OP">DIVIDE</field>
                                    <value name="A">
                                     <block type="variables_get" id="o.Iga9b:Frohy$@6#~TU">
                                      <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
                                     </block>
                                    </value>
                                    <value name="B">
                                     <block type="math_number" id=".-+-jm@|{3(6$Pkio;*W">
                                      <field name="NUM">50</field>
                                     </block>
                                    </value>
                                   </block>
                                  </value>
                                 </block>
                                </value>
                                <value name="Z">
                                 <block type="math_arithmetic" id="-eIDu[)}t?#Zf7X?B!DL">
                                  <field name="OP">MULTIPLY</field>
                                  <value name="A">
                                   <block type="variables_get" id="K;{@Q*-$K5W`4+1D/B(5">
                                    <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
                                   </block>
                                  </value>
                                  <value name="B">
                                   <block type="math_number" id="cpl|O;-(5J~VqSyCt_w3">
                                    <field name="NUM">1</field>
                                   </block>
                                  </value>
                                 </block>
                                </value>
                               </block>
                              </value>
                              <value name="Transformation">
                               <block type="bitbybit.babylon.transforms.rotationCenterY" id="Jq?sn*cAXk%+]%|eP7CD">
                                <value name="Angle">
                                 <block type="math_arithmetic" id="jr}F{Pc;6iANgl5XOH*X">
                                  <field name="OP">MULTIPLY</field>
                                  <value name="A">
                                   <block type="variables_get" id="+id/[v4._5jg]vXev0X]">
                                    <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
                                   </block>
                                  </value>
                                  <value name="B">
                                   <block type="math_number" id="vX?RI`t%R+_nu:v.uH,?">
                                    <field name="NUM">30</field>
                                   </block>
                                  </value>
                                 </block>
                                </value>
                                <value name="Center">
                                 <block type="bitbybit.point.pointXYZ" id="N|d5l;KMFWvJI9jKFqsX">
                                  <value name="X">
                                   <block type="math_number" id="c/[AYZ8IT`8VwDT?,ox8">
                                    <field name="NUM">0</field>
                                   </block>
                                  </value>
                                  <value name="Y">
                                   <block type="math_number" id="l|Jz15(y1kvV!E,DA0!%">
                                    <field name="NUM">0</field>
                                   </block>
                                  </value>
                                  <value name="Z">
                                   <block type="math_number" id="H}-/uTOZFt3Ke_qNv.il">
                                    <field name="NUM">0</field>
                                   </block>
                                  </value>
                                 </block>
                                </value>
                               </block>
                              </value>
                             </block>
                            </value>
                            <next>
                             <block type="variables_set" id="}Di*fB%y/^Gf)ePCD(79">
                              <field name="VAR" id="fp|uM9i5SZ6xwdHztTQk">pt4</field>
                              <value name="VALUE">
                               <block type="bitbybit.point.transformPoint" id="CuD2cN(-|%hMCK^}I}J-">
                                <value name="Point">
                                 <block type="bitbybit.point.pointXYZ" id="av)@HCu@Czd|WA}`hcWr">
                                  <value name="X">
                                   <block type="math_arithmetic" id="b,u|pvVbhl!F_CI4$GTb">
                                    <field name="OP">MULTIPLY</field>
                                    <value name="A">
                                     <block type="variables_get" id="D(C_BPVfO!FeB~{%b|ya">
                                      <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
                                     </block>
                                    </value>
                                    <value name="B">
                                     <block type="math_number" id="aE$xdEK1,Vqj-Mr0PB;j">
                                      <field name="NUM">2</field>
                                     </block>
                                    </value>
                                   </block>
                                  </value>
                                  <value name="Y">
                                   <block type="math_number" id="BaYquK7zj2DQ,LU?:!e$">
                                    <field name="NUM">0</field>
                                   </block>
                                  </value>
                                  <value name="Z">
                                   <block type="math_arithmetic" id="PeueAl#ou~R4({}%6AOf">
                                    <field name="OP">MULTIPLY</field>
                                    <value name="A">
                                     <block type="variables_get" id=":=wZ~GWyw2hKyTXv]xus">
                                      <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
                                     </block>
                                    </value>
                                    <value name="B">
                                     <block type="math_number" id="H(C|J/l]ul[Zmvb!KVPY">
                                      <field name="NUM">1.5</field>
                                     </block>
                                    </value>
                                   </block>
                                  </value>
                                 </block>
                                </value>
                                <value name="Transformation">
                                 <block type="bitbybit.babylon.transforms.rotationCenterY" id="+gnXvx_hjAi;xySGps3N">
                                  <value name="Angle">
                                   <block type="math_arithmetic" id="99AU9{he$tC3(^/}PDm?">
                                    <field name="OP">MULTIPLY</field>
                                    <value name="A">
                                     <block type="variables_get" id="o8^YX(rzKnk7,2*XMgS~">
                                      <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
                                     </block>
                                    </value>
                                    <value name="B">
                                     <block type="math_number" id="j*S26Qu+^CJ%mBt=6RB#">
                                      <field name="NUM">30</field>
                                     </block>
                                    </value>
                                   </block>
                                  </value>
                                  <value name="Center">
                                   <block type="bitbybit.point.pointXYZ" id="FgtV[tF4*lLQMUcId1fD">
                                    <value name="X">
                                     <block type="math_number" id="T*HH/hJg%[v^Sd_qyY~e">
                                      <field name="NUM">0</field>
                                     </block>
                                    </value>
                                    <value name="Y">
                                     <block type="math_number" id="(`vvR%,nW$46%c6gu/P=">
                                      <field name="NUM">0</field>
                                     </block>
                                    </value>
                                    <value name="Z">
                                     <block type="math_number" id="xBWq$yppXl-5FZT=~WTI">
                                      <field name="NUM">0</field>
                                     </block>
                                    </value>
                                   </block>
                                  </value>
                                 </block>
                                </value>
                               </block>
                              </value>
                              <next>
                               <block type="lists_setIndex" id=")md!QzM)p+qr~T}C^fWO">
                                <mutation at="false">
                                </mutation>
                                <field name="MODE">INSERT</field>
                                <field name="WHERE">LAST</field>
                                <value name="LIST">
                                 <block type="variables_get" id="=]J*0B3V[~Ufq8[NwN2/">
                                  <field name="VAR" id="!^ry)Mtf2A_wQ[oM?wx.">bezierWires</field>
                                 </block>
                                </value>
                                <value name="TO">
                                 <block type="bitbybit.occt.shapes.wire.createBSpline" id="jdsm#W2oGUEwo4]P$:vQ">
                                  <value name="Points">
                                   <block type="lists_create_with" id="WrO/f[qz1{-[8DNV4!6K">
                                    <mutation items="4">
                                    </mutation>
                                    <value name="ADD0">
                                     <block type="variables_get" id="34~j4^-d:YhGxxlEZ/.5">
                                      <field name="VAR" id="I|K3`$`#LIcG(|Xc*T4p">pt1</field>
                                     </block>
                                    </value>
                                    <value name="ADD1">
                                     <block type="variables_get" id="w?X#+O`_l2qppp3ot14;">
                                      <field name="VAR" id="xb@=67OJK[buXgf0U`d*">pt2</field>
                                     </block>
                                    </value>
                                    <value name="ADD2">
                                     <block type="variables_get" id="vN|jjByue?uzGWw?=8^;">
                                      <field name="VAR" id="yDIeg~YQ+T~)3(;rIl_R">pt3</field>
                                     </block>
                                    </value>
                                    <value name="ADD3">
                                     <block type="variables_get" id="y=DGK36xkx.lP!w*n)3y">
                                      <field name="VAR" id="fp|uM9i5SZ6xwdHztTQk">pt4</field>
                                     </block>
                                    </value>
                                   </block>
                                  </value>
                                  <value name="Closed">
                                   <block type="logic_boolean" id="d_pUyEX1`W$nl~QOXiRf">
                                    <field name="BOOL">FALSE</field>
                                   </block>
                                  </value>
                                 </block>
                                </value>
                               </block>
                              </next>
                             </block>
                            </next>
                           </block>
                          </next>
                         </block>
                        </next>
                       </block>
                      </statement>
                      <next>
                       <block type="base_time_then" id="R=hIp`qKHdS`Y$jcF9o2">
                        <field name="Result" id="kT0|~J1u{kj9Zu=Gf0LN">result</field>
                        <value name="Promise">
                         <block type="variables_get" id="Vv@s-vb*UQO!-V#nQ83B">
                          <field name="VAR" id="!^ry)Mtf2A_wQ[oM?wx.">bezierWires</field>
                         </block>
                        </value>
                        <statement name="Then">
                         <block type="variables_set" id="^R^g(MKz3}++$th0zXDe">
                          <field name="VAR" id=";26d.0Q%g#S0pX9J4qNA">beams</field>
                          <value name="VALUE">
                           <block type="lists_create_with" id="J45/_]mn(ZL)D,9`ZN#I">
                            <mutation items="0">
                            </mutation>
                           </block>
                          </value>
                          <next>
                           <block type="controls_forEach" id="HtvbPy.n8b2[4Xalti=C">
                            <field name="VAR" id="6GMLk1j*Mfm1}|iEKA~]">j</field>
                            <value name="LIST">
                             <block type="variables_get" id="]Em0?2ZCCYNxj!laYdsa">
                              <field name="VAR" id="kT0|~J1u{kj9Zu=Gf0LN">result</field>
                             </block>
                            </value>
                            <statement name="DO">
                             <block type="variables_set" id="z(5/KqsR$TojwiEH^#Yx">
                              <field name="VAR" id="=`;k#@kQ/DRviI:CeHy!">moveUp</field>
                              <value name="VALUE">
                               <block type="bitbybit.occt.transforms.translate" id="va@w(W)8.~{rGU`(WGwK">
                                <value name="Shape">
                                 <block type="variables_get" id="QCNKq)k%X3ahvrRr$MHd">
                                  <field name="VAR" id="6GMLk1j*Mfm1}|iEKA~]">j</field>
                                 </block>
                                </value>
                                <value name="Translation">
                                 <block type="bitbybit.point.pointXYZ" id="G/4ViOG8OeoG-3u%3;2B">
                                  <value name="X">
                                   <block type="math_number" id="g;CF840yCu)hRoCCDy;!">
                                    <field name="NUM">0</field>
                                   </block>
                                  </value>
                                  <value name="Y">
                                   <block type="math_number" id="nng}iBcCn9i-e5*|.pL*">
                                    <field name="NUM">2</field>
                                   </block>
                                  </value>
                                  <value name="Z">
                                   <block type="math_number" id="swQF]W~O2)=Q!i-~Y_oJ">
                                    <field name="NUM">0</field>
                                   </block>
                                  </value>
                                 </block>
                                </value>
                               </block>
                              </value>
                              <next>
                               <block type="variables_set" id="o~(RIJlwL);9NZe!U`C^">
                                <field name="VAR" id="A5|v{1pYTjBamm;+8`zE">movedDown</field>
                                <value name="VALUE">
                                 <block type="bitbybit.occt.transforms.translate" id="mitG]7_M?mGR,~3RtMK}">
                                  <value name="Shape">
                                   <block type="variables_get" id="2+CpSI-PVAeU~wP8HrLs">
                                    <field name="VAR" id="6GMLk1j*Mfm1}|iEKA~]">j</field>
                                   </block>
                                  </value>
                                  <value name="Translation">
                                   <block type="bitbybit.point.pointXYZ" id="#,of(~WcHJ-@c/bo)_4C">
                                    <value name="X">
                                     <block type="math_number" id="FiKUME=?NQb#(gS,0qNr">
                                      <field name="NUM">0</field>
                                     </block>
                                    </value>
                                    <value name="Y">
                                     <block type="math_number" id="7{(d#EO_!LQ7`PWWRyUH">
                                      <field name="NUM">-2</field>
                                     </block>
                                    </value>
                                    <value name="Z">
                                     <block type="math_number" id=".J0itX(fpD+lWVs~B|5@">
                                      <field name="NUM">0</field>
                                     </block>
                                    </value>
                                   </block>
                                  </value>
                                 </block>
                                </value>
                                <next>
                                 <block type="lists_setIndex" id="Pcq.zNOy[#9m[/DAzZ7)">
                                  <mutation at="false">
                                  </mutation>
                                  <field name="MODE">INSERT</field>
                                  <field name="WHERE">LAST</field>
                                  <value name="LIST">
                                   <block type="variables_get" id="4fbj:sVPz]Eip9{GXSm6">
                                    <field name="VAR" id=";26d.0Q%g#S0pX9J4qNA">beams</field>
                                   </block>
                                  </value>
                                  <value name="TO">
                                   <block type="bitbybit.draw.drawAnyAsync" id="!*(?Z|Bc@}kXazz:ay3$">
                                    <value name="Entity">
                                     <block type="bitbybit.occt.transforms.scale" id="Xj;KWKx;BJg%%%7)$A[}">
                                      <value name="Shape">
                                       <block type="bitbybit.occt.operations.makeThickSolidSimple" id="q|QadBCYsq]bE=`h16lQ">
                                        <value name="Shape">
                                         <block type="bitbybit.occt.operations.loft" id="{Cg}MEa=qoGjZ.tw6V!;">
                                          <value name="Shapes">
                                           <block type="lists_create_with" id="pO(`PQaeLa_oP__L,?9x">
                                            <mutation items="2">
                                            </mutation>
                                            <value name="ADD0">
                                             <block type="variables_get" id="uHT;pe#8hrDfi8{|J:LR">
                                              <field name="VAR" id="A5|v{1pYTjBamm;+8`zE">movedDown</field>
                                             </block>
                                            </value>
                                            <value name="ADD1">
                                             <block type="variables_get" id="P$1;C#2tnn?qO:^Z6HUa">
                                              <field name="VAR" id="=`;k#@kQ/DRviI:CeHy!">moveUp</field>
                                             </block>
                                            </value>
                                           </block>
                                          </value>
                                          <value name="MakeSolid">
                                           <block type="logic_boolean" id="U6F%C_+8?6_wV2JAzi?F">
                                            <field name="BOOL">FALSE</field>
                                           </block>
                                          </value>
                                         </block>
                                        </value>
                                        <value name="Offset">
                                         <block type="math_number" id=")X,6qS1W1V*d[azgtQ=!">
                                          <field name="NUM">-1.5</field>
                                         </block>
                                        </value>
                                       </block>
                                      </value>
                                      <value name="Factor">
                                       <block type="variables_get" id="/2{uKSy^cb]RBafj{!6y">
                                        <field name="VAR" id="QOI:`A*@R%@b[-|M3|~R">scale</field>
                                       </block>
                                      </value>
                                     </block>
                                    </value>
                                    <value name="Options">
                                     <block type="bitbybit.draw.optionsOcctShape" id=",W0`~^Grj?EAowLV~mEc">
                                      <value name="FaceOpacity">
                                       <block type="math_number" id="ip$%a!p8am?KyA%*D=JP">
                                        <field name="NUM">1</field>
                                       </block>
                                      </value>
                                      <value name="EdgeOpacity">
                                       <block type="math_number" id="(4s:/0OhI_w,S([$LHa:">
                                        <field name="NUM">1</field>
                                       </block>
                                      </value>
                                      <value name="EdgeColour">
                                       <block type="colour_picker" id="vJze1g#n+iy5JgCyeyPR">
                                        <field name="COLOUR">#ffffff</field>
                                       </block>
                                      </value>
                                      <value name="FaceColour">
                                       <block type="colour_picker" id="3$tzYoRr0[#Q(InVJ6YG">
                                        <field name="COLOUR">#333333</field>
                                       </block>
                                      </value>
                                      <value name="EdgeWidth">
                                       <block type="math_number" id="*u8vs]2H@bO4FJeNwisW">
                                        <field name="NUM">2</field>
                                       </block>
                                      </value>
                                      <value name="DrawEdges">
                                       <block type="logic_boolean" id="[IN:W`b=60;Olnm0?#C!">
                                        <field name="BOOL">FALSE</field>
                                       </block>
                                      </value>
                                      <value name="DrawFaces">
                                       <block type="logic_boolean" id="Firc?/DXoq,5I#F|H_,x">
                                        <field name="BOOL">TRUE</field>
                                       </block>
                                      </value>
                                      <value name="Precision">
                                       <block type="math_number" id="5ih+TC9hI(0F6p,|c}o+">
                                        <field name="NUM">0.2</field>
                                       </block>
                                      </value>
                                      <value name="DrawEdgeIndexes">
                                       <block type="logic_boolean" id=".{Dh6.Dp6l#vfgluOH~x">
                                        <field name="BOOL">FALSE</field>
                                       </block>
                                      </value>
                                      <value name="EdgeIndexHeight">
                                       <block type="math_number" id=":vrZ;D01OPVN5MZ*3%1-">
                                        <field name="NUM">0.06</field>
                                       </block>
                                      </value>
                                      <value name="EdgeIndexColour">
                                       <block type="colour_picker" id="/s=l`svOZMV((@RT0yA_">
                                        <field name="COLOUR">#bbbbff</field>
                                       </block>
                                      </value>
                                      <value name="DrawFaceIndexes">
                                       <block type="logic_boolean" id="4F.:MXtgV]M+Ed9kjac,">
                                        <field name="BOOL">FALSE</field>
                                       </block>
                                      </value>
                                      <value name="FaceIndexHeight">
                                       <block type="math_number" id="/=D^*V,2;(y7;p;VV{@6">
                                        <field name="NUM">0.06</field>
                                       </block>
                                      </value>
                                      <value name="FaceIndexColour">
                                       <block type="colour_picker" id="c?WZUzueF5A;jE(Qrv2x">
                                        <field name="COLOUR">#0000ff</field>
                                       </block>
                                      </value>
                                     </block>
                                    </value>
                                   </block>
                                  </value>
                                 </block>
                                </next>
                               </block>
                              </next>
                             </block>
                            </statement>
                            <next>
                             <block type="variables_set" id="=IV~coT-T!*;3j{$#^Mj">
                              <field name="VAR" id="7x2%ou]1RFCN,HGY(zAl">loft</field>
                              <value name="VALUE">
                               <block type="bitbybit.occt.transforms.scale" id="pJx0?axAtE$t;hR(D~ZX">
                                <value name="Shape">
                                 <block type="bitbybit.occt.operations.makeThickSolidSimple" id="%+AhK`AwE}.5Iqp5w2X=">
                                  <value name="Shape">
                                   <block type="bitbybit.occt.operations.loft" id="bTf[oRG^VnGO9Qrsf%Dx">
                                    <value name="Shapes">
                                     <block type="variables_get" id="~EB3XJ8vNa5#6|VkR35?">
                                      <field name="VAR" id="kT0|~J1u{kj9Zu=Gf0LN">result</field>
                                     </block>
                                    </value>
                                    <value name="MakeSolid">
                                     <block type="logic_boolean" id="v|+$l/x9C![xtN.`zR1v">
                                      <field name="BOOL">FALSE</field>
                                     </block>
                                    </value>
                                   </block>
                                  </value>
                                  <value name="Offset">
                                   <block type="math_number" id="eB4Ds.pyqq`dDL+mfR0a">
                                    <field name="NUM">0.3</field>
                                   </block>
                                  </value>
                                 </block>
                                </value>
                                <value name="Factor">
                                 <block type="variables_get" id="/]V^*-9}jLP)#DAD_!CW">
                                  <field name="VAR" id="QOI:`A*@R%@b[-|M3|~R">scale</field>
                                 </block>
                                </value>
                               </block>
                              </value>
                              <next>
                               <block type="variables_set" id="oOy65)s)vE`G7_7Fr,.K">
                                <field name="VAR" id="[qryOMT@]MUgvKXHoX_[">glass</field>
                                <value name="VALUE">
                                 <block type="bitbybit.draw.drawAnyAsync" id="9/^ic6kxX#YRuMfC{p=s">
                                  <value name="Entity">
                                   <block type="variables_get" id="E_u!o.;a_z|T)D2(A8W-">
                                    <field name="VAR" id="7x2%ou]1RFCN,HGY(zAl">loft</field>
                                   </block>
                                  </value>
                                  <value name="Options">
                                   <block type="bitbybit.draw.optionsOcctShape" id="oW%g.XWMvaGY7`v;6Th*">
                                    <value name="FaceOpacity">
                                     <block type="math_number" id="!t6n]ml{+rc[%:o8A2h8">
                                      <field name="NUM">0.9</field>
                                     </block>
                                    </value>
                                    <value name="EdgeOpacity">
                                     <block type="math_number" id="~%;c*C`H5]XKWNp9YIv*">
                                      <field name="NUM">1</field>
                                     </block>
                                    </value>
                                    <value name="EdgeColour">
                                     <block type="colour_picker" id="3H~!*;%MgBwP]b06M)`j">
                                      <field name="COLOUR">#000000</field>
                                     </block>
                                    </value>
                                    <value name="FaceColour">
                                     <block type="colour_picker" id="2lhR*bhzZ{hrmF7,$x7s">
                                      <field name="COLOUR">#ff6600</field>
                                     </block>
                                    </value>
                                    <value name="EdgeWidth">
                                     <block type="math_number" id="K~b=Adz3UGLywwL`]lKu">
                                      <field name="NUM">10</field>
                                     </block>
                                    </value>
                                    <value name="DrawEdges">
                                     <block type="logic_boolean" id="{.@g!*E_O[km-]WGx?5I">
                                      <field name="BOOL">FALSE</field>
                                     </block>
                                    </value>
                                    <value name="DrawFaces">
                                     <block type="logic_boolean" id="TC4O$6^R?AwogwJ{0m;r">
                                      <field name="BOOL">TRUE</field>
                                     </block>
                                    </value>
                                    <value name="Precision">
                                     <block type="math_number" id="`_`uuZle|]Tb_Y@%)Ahv">
                                      <field name="NUM">0.1</field>
                                     </block>
                                    </value>
                                    <value name="DrawEdgeIndexes">
                                     <block type="logic_boolean" id="+oTRx90vVBvCkdx7$vh2">
                                      <field name="BOOL">FALSE</field>
                                     </block>
                                    </value>
                                    <value name="EdgeIndexHeight">
                                     <block type="math_number" id="F0).M:z{*)UsC^7wSt5(">
                                      <field name="NUM">0.06</field>
                                     </block>
                                    </value>
                                    <value name="EdgeIndexColour">
                                     <block type="colour_picker" id="TlN*7J8,FplFp1{UZo%S">
                                      <field name="COLOUR">#bbbbff</field>
                                     </block>
                                    </value>
                                    <value name="DrawFaceIndexes">
                                     <block type="logic_boolean" id="`+gPMI%%vPbjpvwvs;!G">
                                      <field name="BOOL">FALSE</field>
                                     </block>
                                    </value>
                                    <value name="FaceIndexHeight">
                                     <block type="math_number" id="YNYxU5nUd%a3wnykL?Qj">
                                      <field name="NUM">0.06</field>
                                     </block>
                                    </value>
                                    <value name="FaceIndexColour">
                                     <block type="colour_picker" id="r$V{9]|]aR#uwDNxtZ#z">
                                      <field name="COLOUR">#0000ff</field>
                                     </block>
                                    </value>
                                   </block>
                                  </value>
                                 </block>
                                </value>
                               </block>
                              </next>
                             </block>
                            </next>
                           </block>
                          </next>
                         </block>
                        </statement>
                       </block>
                      </next>
                     </block>
                    </next>
                   </block>
                  </next>
                 </block>
                </next>
               </block>
              </next>
             </block>
            </next>
           </block>
          </next>
         </block>
        </next>
       </block>
      </next>
     </block>
    </next>
   </block>
  </next>
 </block>
</xml>