Script: Blockly Example

Blockly Example picture
Type
Blockly logo indicatorblockly
Date Created
Feb 8, 2022, 11:24:04 PM
Last Edit Date
May 17, 2025, 5:40:02 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="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>
  <variable id="fir6cZF?*+beLW?a+S%(">count</variable>
  <variable id="a)@j/wuVX;Kjz`hUN@v3">step</variable>
  <variable id="HBlT.Z~-t4:47ci~V#GD">glassMesh</variable>
  <variable id="2.MO!J3aRXA8{A5!^f75">beamsMeshes</variable>
  <variable id="TMN61K8!psq(*A(b?Mu#">timeElapsedFromPreviousFrame</variable>
  <variable id="S_m6pRrH@54G;7KsF,/D">k</variable>
 </variables>
 <block type="bitbybit.babylon.scene.drawPointLightNoReturn" id="HVu*K~Ffu/PAK#$;}TpA" x="-3093" y="535">
  <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">100</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="bitbybit.babylon.scene.adjustActiveArcRotateCamera" id="*vD^sO37fRlmb,*lG%,`">
    <value name="Position">
     <block type="bitbybit.point.pointXYZ" id="2Y`QK~$YVh=r4eu#h(D)">
      <value name="X">
       <block type="math_number" id="A_7gG,lt0NCy`np)7E_R">
        <field name="NUM">0</field>
       </block>
      </value>
      <value name="Y">
       <block type="math_number" id="hD(C=nI_vas97zfdZn-?">
        <field name="NUM">100</field>
       </block>
      </value>
      <value name="Z">
       <block type="math_number" id="aD@n4D9iUr3lBJrd;qbg">
        <field name="NUM">180</field>
       </block>
      </value>
     </block>
    </value>
    <value name="LookAt">
     <block type="bitbybit.point.pointXYZ" id=")[vImdow!=,$Yh{,hf{C">
      <value name="X">
       <block type="math_number" id="~d;aiod6X%6[Pvd*^Tbi">
        <field name="NUM">0</field>
       </block>
      </value>
      <value name="Y">
       <block type="math_number" id="IQzzZ@D:,Xw]6%t{6nEg">
        <field name="NUM">0</field>
       </block>
      </value>
      <value name="Z">
       <block type="math_number" id="zD@4$wEN+9Ajtn;ph4Lo">
        <field name="NUM">0</field>
       </block>
      </value>
     </block>
    </value>
    <value name="MaxZ">
     <block type="math_number" id="Udut{|ED,_([76{uo[@~">
      <field name="NUM">10000</field>
     </block>
    </value>
    <value name="PanningSensibility">
     <block type="math_number" id="Zs.OMpVZvaCO;sAEZMsc">
      <field name="NUM">1000</field>
     </block>
    </value>
    <value name="WheelPrecision">
     <block type="math_number" id="8:b.OVuacx5_l6W7y60[">
      <field name="NUM">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="EPdq:=85jU0BF7!G0TBh">
                  <value name="Angle">
                   <block type="math_arithmetic" id="r6k/phG,9($hD=QDRnGy">
                    <field name="OP">MULTIPLY</field>
                    <value name="A">
                     <block type="math_number" id="{D;yst(=.B,;.)/n*h_Z">
                      <field name="NUM">30</field>
                     </block>
                    </value>
                    <value name="B">
                     <block type="variables_get" id="m+4]MjV-{c6C7~)9|wqH">
                      <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
                     </block>
                    </value>
                   </block>
                  </value>
                  <value name="Center">
                   <block type="bitbybit.point.pointXYZ" id="rG:!VC75}DnK:e,?Sbpw">
                    <value name="X">
                     <block type="math_number" id="tJ/jywhy3UG[~?#2|kaM">
                      <field name="NUM">0</field>
                     </block>
                    </value>
                    <value name="Y">
                     <block type="math_number" id="t*TBrA=EY_o%ZLBMH`U.">
                      <field name="NUM">0</field>
                     </block>
                    </value>
                    <value name="Z">
                     <block type="math_number" id="iKRUq3Lq_?/{=QZE=w/b">
                      <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=":ejHAafzC+`Owj%x*n|o">
                    <value name="Angle">
                     <block type="math_arithmetic" id="lJS^t~.{^=+kDE7$Y/;h">
                      <field name="OP">MULTIPLY</field>
                      <value name="A">
                       <block type="math_number" id="gR),I)(d|2md1l]R*DcD">
                        <field name="NUM">30</field>
                       </block>
                      </value>
                      <value name="B">
                       <block type="variables_get" id="b_bu)jMr+3x})z^2R-8c">
                        <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
                       </block>
                      </value>
                     </block>
                    </value>
                    <value name="Center">
                     <block type="bitbybit.point.pointXYZ" id="#0UflFbpxIEH.dB4y.A2">
                      <value name="X">
                       <block type="math_number" id="1?LY.nO=jh#gLQ4Xst1o">
                        <field name="NUM">0</field>
                       </block>
                      </value>
                      <value name="Y">
                       <block type="math_number" id="k|`[uE-okRoy9NHnJ9EB">
                        <field name="NUM">0</field>
                       </block>
                      </value>
                      <value name="Z">
                       <block type="math_number" id="EU_^ttgsEyy=})|4u1n9">
                        <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="-p`v]s7]hRYM]{}pDNX1">
                      <value name="Angle">
                       <block type="math_arithmetic" id="^R%bnCKyzP^rgs|(S`!^">
                        <field name="OP">MULTIPLY</field>
                        <value name="A">
                         <block type="math_number" id="lvAZLj?y5;XH[zo^$!=V">
                          <field name="NUM">30</field>
                         </block>
                        </value>
                        <value name="B">
                         <block type="variables_get" id="y7^0do[%Gen=^QV``{O2">
                          <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
                         </block>
                        </value>
                       </block>
                      </value>
                      <value name="Center">
                       <block type="bitbybit.point.pointXYZ" id="MD!Om.njM*|cSVtN.;,i">
                        <value name="X">
                         <block type="math_number" id=".T^Ijq|0Ccph0B@eS+6)">
                          <field name="NUM">0</field>
                         </block>
                        </value>
                        <value name="Y">
                         <block type="math_number" id="O}j4]w{D+ty-MGbbv6QQ">
                          <field name="NUM">0</field>
                         </block>
                        </value>
                        <value name="Z">
                         <block type="math_number" id="F6bjchgeeoDn;(gkGAZ1">
                          <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="c.tB[rZOL+zS(,4wzRJx">
                        <value name="Angle">
                         <block type="math_arithmetic" id="VF*FG3prp:RvcG3H?!IO">
                          <field name="OP">MULTIPLY</field>
                          <value name="A">
                           <block type="math_number" id="mOL})Hh}IFH1(rP0r_;*">
                            <field name="NUM">30</field>
                           </block>
                          </value>
                          <value name="B">
                           <block type="variables_get" id="{ph$.ggs9?1z]z8+1PxW">
                            <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field>
                           </block>
                          </value>
                         </block>
                        </value>
                        <value name="Center">
                         <block type="bitbybit.point.pointXYZ" id="5^([$rcetHv_n)A#.By!">
                          <value name="X">
                           <block type="math_number" id="-/_9kPwu,BGeia2[otXC">
                            <field name="NUM">0</field>
                           </block>
                          </value>
                          <value name="Y">
                           <block type="math_number" id="z7iMMKY%e7S^ZRu3CR-e">
                            <field name="NUM">0</field>
                           </block>
                          </value>
                          <value name="Z">
                           <block type="math_number" id="gCwA4qKbPtY2o(VtA5D=">
                            <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.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="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">0.4</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">20</field>
                             </block>
                            </value>
                            <value name="DrawEdges">
                             <block type="logic_boolean" id="[IN:W`b=60;Olnm0?#C!">
                              <field name="BOOL">TRUE</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.05</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.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>
                    <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">TRUE</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>
                      <next>
                       <block type="variables_set" id="`tNTXy)1)tbhhDF!%1sh">
                        <field name="VAR" id="fir6cZF?*+beLW?a+S%(">count</field>
                        <value name="VALUE">
                         <block type="math_number" id="nX]`Dy17i8:70@CdT2O{">
                          <field name="NUM">0</field>
                         </block>
                        </value>
                        <next>
                         <block type="variables_set" id="TMmsCH*IPTB5w^SJzzse">
                          <field name="VAR" id="a)@j/wuVX;Kjz`hUN@v3">step</field>
                          <value name="VALUE">
                           <block type="math_number" id=")wy4j}B3x/#Ud.$J:#`!">
                            <field name="NUM">0.001</field>
                           </block>
                          </value>
                          <next>
                           <block type="base_time_then" id="/RH(c~$l*HMAqJCSJ4eN">
                            <field name="Result" id="HBlT.Z~-t4:47ci~V#GD">glassMesh</field>
                            <value name="Promise">
                             <block type="variables_get" id="8B$Bb=^T`)V+|-xUAFy2">
                              <field name="VAR" id="[qryOMT@]MUgvKXHoX_[">glass</field>
                             </block>
                            </value>
                            <statement name="Then">
                             <block type="base_time_then" id="1pK2-bEdqy=~sq=]3)Wg">
                              <field name="Result" id="2.MO!J3aRXA8{A5!^f75">beamsMeshes</field>
                              <value name="Promise">
                               <block type="variables_get" id="4LlZGS%qdF+0Fxz{;M0F">
                                <field name="VAR" id=";26d.0Q%g#S0pX9J4qNA">beams</field>
                               </block>
                              </value>
                              <statement name="Then">
                               <block type="base_time_update" id="x:1(`G,%r)?-0+/n|{V+">
                                <field name="TimePassedMs" id="TMN61K8!psq(*A(b?Mu#">timeElapsedFromPreviousFrame</field>
                                <statement name="Update">
                                 <block type="math_change" id="1ORbnqVyK*DR+=j@K8Q]">
                                  <field name="VAR" id="fir6cZF?*+beLW?a+S%(">count</field>
                                  <value name="DELTA">
                                   <shadow type="math_number" id="JljGv;Gnm!KR.wUU|?:6">
                                    <field name="NUM">0.001</field>
                                   </shadow>
                                   <block type="variables_get" id="H[E1f/Nk={cA$+Phl,@_">
                                    <field name="VAR" id="a)@j/wuVX;Kjz`hUN@v3">step</field>
                                   </block>
                                  </value>
                                  <next>
                                   <block type="bitbybit.babylon.mesh.updateDrawn" id="zeWLnF%AV.%hB9ozpiD/">
                                    <value name="BabylonMesh">
                                     <block type="variables_get" id="qii7CRFe2C+*+s8kjATc">
                                      <field name="VAR" id="HBlT.Z~-t4:47ci~V#GD">glassMesh</field>
                                     </block>
                                    </value>
                                    <value name="Position">
                                     <block type="bitbybit.point.pointXYZ" id="j394BHdK|??}D~`RXDyP">
                                      <value name="X">
                                       <block type="math_number" id="9cGB0FvY2e}*A0;K(NaM">
                                        <field name="NUM">0</field>
                                       </block>
                                      </value>
                                      <value name="Y">
                                       <block type="math_number" id="Hvx]_jx#,+zlRiDm`.A2">
                                        <field name="NUM">0</field>
                                       </block>
                                      </value>
                                      <value name="Z">
                                       <block type="math_number" id="f#~v/,FSt#ydSWBh~,zM">
                                        <field name="NUM">0</field>
                                       </block>
                                      </value>
                                     </block>
                                    </value>
                                    <value name="Rotation">
                                     <block type="bitbybit.point.pointXYZ" id="MqH`QU6^uLdH$GeiM?=g">
                                      <value name="X">
                                       <block type="math_number" id=".R66wa2[[y1TA[zrW_*:">
                                        <field name="NUM">0</field>
                                       </block>
                                      </value>
                                      <value name="Y">
                                       <block type="variables_get" id="MFo-cOLicdImvp:rdR,J">
                                        <field name="VAR" id="fir6cZF?*+beLW?a+S%(">count</field>
                                       </block>
                                      </value>
                                      <value name="Z">
                                       <block type="math_number" id="sI_;e$W}ZO7Wk,y,~Ne_">
                                        <field name="NUM">0</field>
                                       </block>
                                      </value>
                                     </block>
                                    </value>
                                    <value name="Scaling">
                                     <block type="bitbybit.point.pointXYZ" id="aIFwTb6T%bNbTGG:w#Lx">
                                      <value name="X">
                                       <block type="math_number" id="xtS#5ahILifAPh5=N24:">
                                        <field name="NUM">1</field>
                                       </block>
                                      </value>
                                      <value name="Y">
                                       <block type="math_number" id="bW8Oh}!52S#@z-ITHPAo">
                                        <field name="NUM">1</field>
                                       </block>
                                      </value>
                                      <value name="Z">
                                       <block type="math_number" id="J:VWtQ_#85M$i1!%kov?">
                                        <field name="NUM">1</field>
                                       </block>
                                      </value>
                                     </block>
                                    </value>
                                    <value name="Colours">
                                     <block type="colour_picker" id="6+z6A%BJW6q)KvNKTy7w">
                                      <field name="COLOUR">#ff6600</field>
                                     </block>
                                    </value>
                                    <next>
                                     <block type="controls_forEach" id="@xf}X|^2Lt5{?.#usov3">
                                      <field name="VAR" id="S_m6pRrH@54G;7KsF,/D">k</field>
                                      <value name="LIST">
                                       <block type="variables_get" id="J_`R2J]{OSUHfT2tCE+2">
                                        <field name="VAR" id="2.MO!J3aRXA8{A5!^f75">beamsMeshes</field>
                                       </block>
                                      </value>
                                      <statement name="DO">
                                       <block type="bitbybit.babylon.mesh.updateDrawn" id="8Rn1+C8tJYisg4/H5GV_">
                                        <value name="BabylonMesh">
                                         <block type="variables_get" id=":Rq-5A5)HPdY/,w-$qE-">
                                          <field name="VAR" id="S_m6pRrH@54G;7KsF,/D">k</field>
                                         </block>
                                        </value>
                                        <value name="Position">
                                         <block type="bitbybit.point.pointXYZ" id="VTG*ktA,pO9VzvxY{,E=">
                                          <value name="X">
                                           <block type="math_number" id="E,lkj{EXHPU422phCqfp">
                                            <field name="NUM">0</field>
                                           </block>
                                          </value>
                                          <value name="Y">
                                           <block type="math_number" id="*7xXFYeQ5eI$Lw0TF5jG">
                                            <field name="NUM">0</field>
                                           </block>
                                          </value>
                                          <value name="Z">
                                           <block type="math_number" id="W-=1RI357C`=ZBcu+m/]">
                                            <field name="NUM">0</field>
                                           </block>
                                          </value>
                                         </block>
                                        </value>
                                        <value name="Rotation">
                                         <block type="bitbybit.point.pointXYZ" id="MYkU3C?}RybN)zwbX5Qz">
                                          <value name="X">
                                           <block type="math_number" id="Z%;ST,Tn-7#XF:+e:TiO">
                                            <field name="NUM">0</field>
                                           </block>
                                          </value>
                                          <value name="Y">
                                           <block type="variables_get" id="fn19?p/jL^MKh957rJM$">
                                            <field name="VAR" id="fir6cZF?*+beLW?a+S%(">count</field>
                                           </block>
                                          </value>
                                          <value name="Z">
                                           <block type="math_number" id="D)TX..4l`[gHe32EjU5o">
                                            <field name="NUM">0</field>
                                           </block>
                                          </value>
                                         </block>
                                        </value>
                                        <value name="Scaling">
                                         <block type="bitbybit.point.pointXYZ" id="gExzo?famA=q[#[!eTOE">
                                          <value name="X">
                                           <block type="math_number" id="mc)r@z|fWN38lR5Myfee">
                                            <field name="NUM">1</field>
                                           </block>
                                          </value>
                                          <value name="Y">
                                           <block type="math_number" id="j9*x5YC{Td.;628q:QQU">
                                            <field name="NUM">1</field>
                                           </block>
                                          </value>
                                          <value name="Z">
                                           <block type="math_number" id="?$4R7`BVj7Aj80u6e*o_">
                                            <field name="NUM">1</field>
                                           </block>
                                          </value>
                                         </block>
                                        </value>
                                        <value name="Colours">
                                         <block type="colour_picker" id="C4;S=qefsh[p`*nO9y#!">
                                          <field name="COLOUR">#333333</field>
                                         </block>
                                        </value>
                                       </block>
                                      </statement>
                                     </block>
                                    </next>
                                   </block>
                                  </next>
                                 </block>
                                </statement>
                               </block>
                              </statement>
                             </block>
                            </statement>
                           </block>
                          </next>
                         </block>
                        </next>
                       </block>
                      </next>
                     </block>
                    </next>
                   </block>
                  </next>
                 </block>
                </next>
               </block>
              </statement>
             </block>
            </next>
           </block>
          </next>
         </block>
        </next>
       </block>
      </next>
     </block>
    </next>
   </block>
  </next>
 </block>
</xml>