Script: Example in Blockly

Example in Blockly picture
Type
Blockly logo indicatorblockly
Date Created
Mar 19, 2021, 1:27:50 PM
Last Edit Date
Oct 29, 2024, 1:48:19 PM

Project Information

Example demonstrates the real time simulation of structures. It introduces the concept of rendering loop and shows how updatable drawing can be used to simulate various geometric transformations.

View Full Project

Script Code

<xml xmlns="https://developers.google.com/blockly/xml">
 <variables>
  <variable id="KVQal`J%p,A[p_[oL}!k">cornerPoint</variable>
  <variable id="G?2$EXAOAWtq9NoUlA]H">width</variable>
  <variable id="Pub!ljx/(K@7Kwz1hW:n">textTagResult</variable>
  <variable id="8yxhZ,@b{{(baoab$CPl">height</variable>
  <variable id="Y,Xzg|k)y95aHM2X(Z`/">cornerLine1</variable>
  <variable id="^~TOuj}kN65Fz]8hkL^w">cornerLine2</variable>
  <variable id="+)4(lIF}[.}xF$IU)z~[">cornerLine3</variable>
  <variable id="@|$Lt(+2uqV2zjr=fi8_">cornerLine4</variable>
  <variable id="922fPr,3-.!946optnMd">linePointAt</variable>
  <variable id="x)7JnYp?HZ`$$r{%8+;S">linePointAt2</variable>
  <variable id="fNlVQ+Ut|xI$Jl{jqfm~">step</variable>
  <variable id="{;zjPcz%~r8NTIKDg@In">step2</variable>
  <variable id="D_,?nG3kJe6PAX.,]Nsv">timeElapsedFromPreviousFrame</variable>
  <variable id="l)|rh:|=pRY-3#`pCVrL">cornerPoint1</variable>
  <variable id="v?91x7TFl%xM)/5WNyV$">cornerPoint2</variable>
  <variable id="jdgX+xdqFASE%#L:8Z)G">cornerPoint3</variable>
  <variable id="l1ur7N@V34$^qj;ybVVG">cornerPoint4</variable>
  <variable id="Y)D9B`bwT2W6[JA_t~[G">tags</variable>
  <variable id="CuA/|lA`e!t!I~spt~RQ">pointsMesh</variable>
  <variable id="u4=8dJM%(-^uW4Zk{xf9">isoCurves</variable>
  <variable id="ytspPEwU7Lu6#san)iw8">i</variable>
  <variable id="m|inyB7xMO#r.J;L9m*]">surfaceValue</variable>
  <variable id="UJS(M,c?:=O*Z98[H9O$">isoCurvesMoved</variable>
  <variable id="r}6M}R9ssh|pw!Io!8_y">linesMesh</variable>
  <variable id="dZ2^44dt}:[}nz9egtn$">linesMesh2</variable>
  <variable id="X]yI,|%Y*1%8{}}~qrW.">curvesMesh</variable>
  <variable id="frwjDtsLBiYNudla]5UW">curvesMesh2</variable>
 </variables>
 <block type="bitbybit.draw.drawGridMeshNoReturn" id="iK5w(6GrFLvmH]|Yy?/z" x="4612" y="151">
  <value name="Width">
   <block type="math_number" id=")a(+Z:Bl#2GO3)ug(Uj2">
    <field name="NUM">400</field>
   </block>
  </value>
  <value name="Height">
   <block type="math_number" id="9:kLr:mmhcN]E7[6eN]q">
    <field name="NUM">400</field>
   </block>
  </value>
  <value name="Subdivisions">
   <block type="math_number" id="*_nsaH)4;N-qGyJu+R4a">
    <field name="NUM">10</field>
   </block>
  </value>
  <value name="MajorUnitFrequency">
   <block type="math_number" id="4Qq#[w;(7_,|zea]E5JM">
    <field name="NUM">10</field>
   </block>
  </value>
  <value name="MinorUnitVisibility">
   <block type="math_number" id="(p69GLGxqlGfOmWeYDRD">
    <field name="NUM">0.45</field>
   </block>
  </value>
  <value name="GridRatio">
   <block type="math_number" id="Qar.X#ft%B#MHB[UURcT">
    <field name="NUM">0.5</field>
   </block>
  </value>
  <value name="Opacity">
   <block type="math_number" id="S|*I=C6]|1`AIO^~w+Jc">
    <field name="NUM">0.5</field>
   </block>
  </value>
  <value name="BackFaceCulling">
   <block type="logic_boolean" id="8|5`8y;tF+1V!]4eMPS1">
    <field name="BOOL">FALSE</field>
   </block>
  </value>
  <value name="MainColor">
   <block type="colour_picker" id="P:Pzg7_v3WL5WoUe+Lu;">
    <field name="COLOUR">#ffffff</field>
   </block>
  </value>
  <next>
   <block type="variables_set" id="}6XR3UBk-bGz)B-u4t[I">
    <field name="VAR" id="G?2$EXAOAWtq9NoUlA]H">width</field>
    <value name="VALUE">
     <block type="math_number" id="5@$JxOmR~ZK2G^46_6XU">
      <field name="NUM">15</field>
     </block>
    </value>
    <next>
     <block type="variables_set" id="!AuEoXs{?K`h/+INJ~dM">
      <field name="VAR" id="8yxhZ,@b{{(baoab$CPl">height</field>
      <value name="VALUE">
       <block type="math_number" id="KgNMF#0dw`7htVIaKr,F">
        <field name="NUM">8</field>
       </block>
      </value>
      <next>
       <block type="variables_set" id="9i=Jpu/BW~sdhYjP2kt:">
        <field name="VAR" id="Y,Xzg|k)y95aHM2X(Z`/">cornerLine1</field>
        <value name="VALUE">
         <block type="bitbybit.line.convertToNurbsCurve" id="B;N`og9XDELV4:^?v3E.">
          <value name="Line">
           <block type="bitbybit.line.create" id="QD$%Uz$7vyO+H_N9%k7]">
            <value name="Start">
             <block type="bitbybit.point.pointXYZ" id="U`F``~Iikm_TQ0s{;!h9">
              <value name="X">
               <block type="math_arithmetic" id="0X%lt(6/$.ECVo*$j5,C">
                <field name="OP">DIVIDE</field>
                <value name="A">
                 <block type="math_single" id="_@u99TeQMaCL7P]g(CbQ">
                  <field name="OP">NEG</field>
                  <value name="NUM">
                   <block type="variables_get" id="=t]Bb~;j5fq{ZY;(?]g,">
                    <field name="VAR" id="G?2$EXAOAWtq9NoUlA]H">width</field>
                   </block>
                  </value>
                 </block>
                </value>
                <value name="B">
                 <block type="math_number" id="5AKOL)t,yERiTv[u?2QT">
                  <field name="NUM">2</field>
                 </block>
                </value>
               </block>
              </value>
              <value name="Y">
               <block type="math_number" id="pQCa!SCKjSU@lbXx0IrI">
                <field name="NUM">0</field>
               </block>
              </value>
              <value name="Z">
               <block type="math_arithmetic" id="Q?ERLXBXI:X%!B`bl*g~">
                <field name="OP">DIVIDE</field>
                <value name="A">
                 <block type="math_single" id="%+u`2X%EE.I?ESB#QFY3">
                  <field name="OP">NEG</field>
                  <value name="NUM">
                   <block type="variables_get" id="q#0dze+pB0B-q+-=^HFs">
                    <field name="VAR" id="G?2$EXAOAWtq9NoUlA]H">width</field>
                   </block>
                  </value>
                 </block>
                </value>
                <value name="B">
                 <block type="math_number" id="LIu@.s.Pl]r$+=%pl!N!">
                  <field name="NUM">2</field>
                 </block>
                </value>
               </block>
              </value>
             </block>
            </value>
            <value name="End">
             <block type="bitbybit.point.pointXYZ" id="|jEd@/kYvM_rAAU6VrIt">
              <value name="X">
               <block type="math_arithmetic" id=".3!Uq#{a!]~oe6XZ0Mmv">
                <field name="OP">DIVIDE</field>
                <value name="A">
                 <block type="math_single" id="6}mzaHJuOU,!0FGL/)Ou">
                  <field name="OP">NEG</field>
                  <value name="NUM">
                   <block type="variables_get" id=":KOAW,;Ce2MPR#l[5%59">
                    <field name="VAR" id="G?2$EXAOAWtq9NoUlA]H">width</field>
                   </block>
                  </value>
                 </block>
                </value>
                <value name="B">
                 <block type="math_number" id="$^!a!8@81dDbF5FP|8?a">
                  <field name="NUM">2</field>
                 </block>
                </value>
               </block>
              </value>
              <value name="Y">
               <block type="math_arithmetic" id="[)MCI}h9xG(O|aYf;S|$">
                <field name="OP">ADD</field>
                <value name="A">
                 <block type="variables_get" id="sgQA*cS1kVR8;Kw3:T^6">
                  <field name="VAR" id="8yxhZ,@b{{(baoab$CPl">height</field>
                 </block>
                </value>
                <value name="B">
                 <block type="math_number" id="@pI-=/@sMq{NHc6AV%SU">
                  <field name="NUM">4</field>
                 </block>
                </value>
               </block>
              </value>
              <value name="Z">
               <block type="math_arithmetic" id="@Y3X%NJlOSE~HXj9@lFD">
                <field name="OP">DIVIDE</field>
                <value name="A">
                 <block type="math_single" id="}}mcjAxtXG#{IU-OS|c)">
                  <field name="OP">NEG</field>
                  <value name="NUM">
                   <block type="variables_get" id="D?_^/I+d8zwbkrdJH]Ne">
                    <field name="VAR" id="G?2$EXAOAWtq9NoUlA]H">width</field>
                   </block>
                  </value>
                 </block>
                </value>
                <value name="B">
                 <block type="math_number" id="0THMv_~4`0z#HGNB{z[~">
                  <field name="NUM">2</field>
                 </block>
                </value>
               </block>
              </value>
             </block>
            </value>
           </block>
          </value>
         </block>
        </value>
        <next>
         <block type="variables_set" id="2;r-7J+G{qJMD(La}TOB">
          <field name="VAR" id="^~TOuj}kN65Fz]8hkL^w">cornerLine2</field>
          <value name="VALUE">
           <block type="bitbybit.line.convertToNurbsCurve" id="hW)f8^;gc~#cN7hsvfp(">
            <value name="Line">
             <block type="bitbybit.line.create" id="7KS$8p5I+/LcMFuEck@Z">
              <value name="Start">
               <block type="bitbybit.point.pointXYZ" id="9/q)N%KF]}G?rm%q7+,v">
                <value name="X">
                 <block type="math_arithmetic" id="-Y$d]-ej:HT*Q+!Qrf0(">
                  <field name="OP">DIVIDE</field>
                  <value name="A">
                   <block type="math_single" id=")B7iV{qSZ:NPNAh!0]:2">
                    <field name="OP">NEG</field>
                    <value name="NUM">
                     <block type="variables_get" id="UAL4Cemn}KgbTV_E}^F,">
                      <field name="VAR" id="G?2$EXAOAWtq9NoUlA]H">width</field>
                     </block>
                    </value>
                   </block>
                  </value>
                  <value name="B">
                   <block type="math_number" id="8JWZ0-ifxC[eJ1mV[Yh#">
                    <field name="NUM">2</field>
                   </block>
                  </value>
                 </block>
                </value>
                <value name="Y">
                 <block type="math_number" id="^TfD}r,Vvf*B.eP;7:/*">
                  <field name="NUM">0</field>
                 </block>
                </value>
                <value name="Z">
                 <block type="math_arithmetic" id="+*BGik?[=4)xFcCh(FL?">
                  <field name="OP">DIVIDE</field>
                  <value name="A">
                   <block type="variables_get" id="TTHktC^x`cflM:;;3.1W">
                    <field name="VAR" id="G?2$EXAOAWtq9NoUlA]H">width</field>
                   </block>
                  </value>
                  <value name="B">
                   <block type="math_number" id="-3C^B-nGO?kT6WtQd;A3">
                    <field name="NUM">2</field>
                   </block>
                  </value>
                 </block>
                </value>
               </block>
              </value>
              <value name="End">
               <block type="bitbybit.point.pointXYZ" id="O0{LgJTv]Xf`o%M7E0nq">
                <value name="X">
                 <block type="math_arithmetic" id="d$8==kKOBvSFj11TSLvI">
                  <field name="OP">DIVIDE</field>
                  <value name="A">
                   <block type="math_single" id="zmL){9}ZqH?Qz~z/sP/$">
                    <field name="OP">NEG</field>
                    <value name="NUM">
                     <block type="variables_get" id="Rah)huGD:(,QZ{wj3aM)">
                      <field name="VAR" id="G?2$EXAOAWtq9NoUlA]H">width</field>
                     </block>
                    </value>
                   </block>
                  </value>
                  <value name="B">
                   <block type="math_number" id="{EAq!;_DTX)@F)Fayb%!">
                    <field name="NUM">2</field>
                   </block>
                  </value>
                 </block>
                </value>
                <value name="Y">
                 <block type="math_arithmetic" id="WVu5Ep0c%8S[a,)5u^!:">
                  <field name="OP">ADD</field>
                  <value name="A">
                   <block type="variables_get" id="?ul}UA]rqDBIu*J{~but">
                    <field name="VAR" id="8yxhZ,@b{{(baoab$CPl">height</field>
                   </block>
                  </value>
                  <value name="B">
                   <block type="math_number" id="sHC,;_lo^a]((Pp$VKy1">
                    <field name="NUM">2</field>
                   </block>
                  </value>
                 </block>
                </value>
                <value name="Z">
                 <block type="math_arithmetic" id="S$z=t;#w2M[$G9xj|{Cc">
                  <field name="OP">DIVIDE</field>
                  <value name="A">
                   <block type="variables_get" id="48$G,{.YbEG_7lv8p?[d">
                    <field name="VAR" id="G?2$EXAOAWtq9NoUlA]H">width</field>
                   </block>
                  </value>
                  <value name="B">
                   <block type="math_number" id="GGofg[_P^+E3oRbl!g7D">
                    <field name="NUM">2</field>
                   </block>
                  </value>
                 </block>
                </value>
               </block>
              </value>
             </block>
            </value>
           </block>
          </value>
          <next>
           <block type="variables_set" id="L[WK`J!ev]oveN9mFS.l">
            <field name="VAR" id="+)4(lIF}[.}xF$IU)z~[">cornerLine3</field>
            <value name="VALUE">
             <block type="bitbybit.line.convertToNurbsCurve" id="oy7dZw~`KNaOvaq3L+S9">
              <value name="Line">
               <block type="bitbybit.line.create" id=";w(jwN-?yVYP,tM.Z@;B">
                <value name="Start">
                 <block type="bitbybit.point.pointXYZ" id="QSwL=hfdesuX}lj}qDlk">
                  <value name="X">
                   <block type="math_arithmetic" id="^QF*HxmyM!DQtWytx.vE">
                    <field name="OP">DIVIDE</field>
                    <value name="A">
                     <block type="variables_get" id="4L#Bk@{^?~GF=Shy.o8w">
                      <field name="VAR" id="G?2$EXAOAWtq9NoUlA]H">width</field>
                     </block>
                    </value>
                    <value name="B">
                     <block type="math_number" id="h*X+9;@]t$]_-|ciTuDc">
                      <field name="NUM">2</field>
                     </block>
                    </value>
                   </block>
                  </value>
                  <value name="Y">
                   <block type="math_number" id="n@4%#m5MqhJ^WCc3.P1q">
                    <field name="NUM">0</field>
                   </block>
                  </value>
                  <value name="Z">
                   <block type="math_arithmetic" id="(~_hRurS*7K0|4X3v1wr">
                    <field name="OP">DIVIDE</field>
                    <value name="A">
                     <block type="math_single" id="I2{i~Blfwa?1*#YYvabW">
                      <field name="OP">NEG</field>
                      <value name="NUM">
                       <block type="variables_get" id="RF/UN)JoYG.L@rpoA[^/">
                        <field name="VAR" id="G?2$EXAOAWtq9NoUlA]H">width</field>
                       </block>
                      </value>
                     </block>
                    </value>
                    <value name="B">
                     <block type="math_number" id="rXul9eH83!O?kmiS)TXC">
                      <field name="NUM">2</field>
                     </block>
                    </value>
                   </block>
                  </value>
                 </block>
                </value>
                <value name="End">
                 <block type="bitbybit.point.pointXYZ" id=";64-s`L8$-cyKA4GuM~F">
                  <value name="X">
                   <block type="math_arithmetic" id="ft3]YugZB1E:!+@+^x(o">
                    <field name="OP">DIVIDE</field>
                    <value name="A">
                     <block type="variables_get" id="yN7luWa~xA^v*Soq_oYi">
                      <field name="VAR" id="G?2$EXAOAWtq9NoUlA]H">width</field>
                     </block>
                    </value>
                    <value name="B">
                     <block type="math_number" id="cc-=2::yZ5[kU)X~CqD`">
                      <field name="NUM">2</field>
                     </block>
                    </value>
                   </block>
                  </value>
                  <value name="Y">
                   <block type="math_arithmetic" id="n-KUA@z=ffwcuXA)go(s">
                    <field name="OP">ADD</field>
                    <value name="A">
                     <block type="variables_get" id="#Cm$ssC7R5DCPNAyil7|">
                      <field name="VAR" id="8yxhZ,@b{{(baoab$CPl">height</field>
                     </block>
                    </value>
                    <value name="B">
                     <block type="math_number" id="icC]V[*7CJJl=!=|[82E">
                      <field name="NUM">0</field>
                     </block>
                    </value>
                   </block>
                  </value>
                  <value name="Z">
                   <block type="math_arithmetic" id=",R_y2C%(.k^Mpp39Vh~{">
                    <field name="OP">DIVIDE</field>
                    <value name="A">
                     <block type="math_single" id="9Bx9SVg~3Zo7]3a,u#ZT">
                      <field name="OP">NEG</field>
                      <value name="NUM">
                       <block type="variables_get" id="@kcER5pKwYSB[OH=~#@P">
                        <field name="VAR" id="G?2$EXAOAWtq9NoUlA]H">width</field>
                       </block>
                      </value>
                     </block>
                    </value>
                    <value name="B">
                     <block type="math_number" id="Ej#IJ3hSB9Q`({GPwO4l">
                      <field name="NUM">2</field>
                     </block>
                    </value>
                   </block>
                  </value>
                 </block>
                </value>
               </block>
              </value>
             </block>
            </value>
            <next>
             <block type="variables_set" id="RP4kEu{ylmT~WB*2U[fy">
              <field name="VAR" id="@|$Lt(+2uqV2zjr=fi8_">cornerLine4</field>
              <value name="VALUE">
               <block type="bitbybit.line.convertToNurbsCurve" id="mWZ{|e2N1BVjS$;a7qM%">
                <value name="Line">
                 <block type="bitbybit.line.create" id="Wa6@.@1~N=g(Mb#ydsc0">
                  <value name="Start">
                   <block type="bitbybit.point.pointXYZ" id="k(]]bRGBxB|6,J~^Mo$R">
                    <value name="X">
                     <block type="math_arithmetic" id="K~y-`,v-b4/Gx!brji^b">
                      <field name="OP">DIVIDE</field>
                      <value name="A">
                       <block type="variables_get" id="??Aya2!}ghg,Ir?}g][Y">
                        <field name="VAR" id="G?2$EXAOAWtq9NoUlA]H">width</field>
                       </block>
                      </value>
                      <value name="B">
                       <block type="math_number" id="Y$6(Z.y`-Nobwu}.uBQY">
                        <field name="NUM">2</field>
                       </block>
                      </value>
                     </block>
                    </value>
                    <value name="Y">
                     <block type="math_number" id="mmhkQ5)*.0tq2O$6^U.R">
                      <field name="NUM">0</field>
                     </block>
                    </value>
                    <value name="Z">
                     <block type="math_arithmetic" id="~P?nu:rK-D$P.r?N7pG2">
                      <field name="OP">DIVIDE</field>
                      <value name="A">
                       <block type="variables_get" id="G^ggk^[363s%-ah:3gUc">
                        <field name="VAR" id="G?2$EXAOAWtq9NoUlA]H">width</field>
                       </block>
                      </value>
                      <value name="B">
                       <block type="math_number" id="f`xN!S@6KAnYjESHHIYV">
                        <field name="NUM">2</field>
                       </block>
                      </value>
                     </block>
                    </value>
                   </block>
                  </value>
                  <value name="End">
                   <block type="bitbybit.point.pointXYZ" id="DQ9.NMD]xx0VI6{~ITF1">
                    <value name="X">
                     <block type="math_arithmetic" id="4L=M0HKvXM[r)BPhORGE">
                      <field name="OP">DIVIDE</field>
                      <value name="A">
                       <block type="variables_get" id="bV5O0Q0WEy)=jfZg%sy~">
                        <field name="VAR" id="G?2$EXAOAWtq9NoUlA]H">width</field>
                       </block>
                      </value>
                      <value name="B">
                       <block type="math_number" id="Aq:=@,:-2N)vwYXh_8YA">
                        <field name="NUM">2</field>
                       </block>
                      </value>
                     </block>
                    </value>
                    <value name="Y">
                     <block type="math_arithmetic" id="`RZy$g:Bqsc[6L`w{@bZ">
                      <field name="OP">ADD</field>
                      <value name="A">
                       <block type="variables_get" id="XC=*#}xcQ1#!dus;a%zI">
                        <field name="VAR" id="8yxhZ,@b{{(baoab$CPl">height</field>
                       </block>
                      </value>
                      <value name="B">
                       <block type="math_number" id="3`9~=W%rrH`Y=fFzlMb%">
                        <field name="NUM">6</field>
                       </block>
                      </value>
                     </block>
                    </value>
                    <value name="Z">
                     <block type="math_arithmetic" id="mD178**3x~dSPH9R2{yM">
                      <field name="OP">DIVIDE</field>
                      <value name="A">
                       <block type="variables_get" id="^fj]YynHs)I77[PQF;Cu">
                        <field name="VAR" id="G?2$EXAOAWtq9NoUlA]H">width</field>
                       </block>
                      </value>
                      <value name="B">
                       <block type="math_number" id="/OCFOZIiM??Tm|{1QVq[">
                        <field name="NUM">2</field>
                       </block>
                      </value>
                     </block>
                    </value>
                   </block>
                  </value>
                 </block>
                </value>
               </block>
              </value>
              <next>
               <block type="variables_set" id=";!k#YBoebjhL]Re63O*@">
                <field name="VAR" id="922fPr,3-.!946optnMd">linePointAt</field>
                <value name="VALUE">
                 <block type="math_number" id="w`)0qZsXH%9Y|La]n%ry">
                  <field name="NUM">0</field>
                 </block>
                </value>
                <next>
                 <block type="variables_set" id="[.-6bqD4*RZva4T0E*[L">
                  <field name="VAR" id="x)7JnYp?HZ`$$r{%8+;S">linePointAt2</field>
                  <value name="VALUE">
                   <block type="math_number" id="SzYmR2n}=qL~C0zKZOlr">
                    <field name="NUM">0</field>
                   </block>
                  </value>
                  <next>
                   <block type="variables_set" id="vGQLqg0K9j_W7BX;GM!Z">
                    <field name="VAR" id="fNlVQ+Ut|xI$Jl{jqfm~">step</field>
                    <value name="VALUE">
                     <block type="math_number" id="l$$`ftNPt55e}YSFI_lO">
                      <field name="NUM">0.0005</field>
                     </block>
                    </value>
                    <next>
                     <block type="variables_set" id="}_|$vzszBAd-9xgqMGFE">
                      <field name="VAR" id="{;zjPcz%~r8NTIKDg@In">step2</field>
                      <value name="VALUE">
                       <block type="math_number" id="$#yM)kMo/8MU`d+Sb!,9">
                        <field name="NUM">0.006</field>
                       </block>
                      </value>
                      <next>
                       <block type="base_time_update" id="R%CFTR$|DuoG(FzDyx1v">
                        <field name="TimePassedMs" id="D_,?nG3kJe6PAX.,]Nsv">timeElapsedFromPreviousFrame</field>
                        <statement name="Update">
                         <block type="controls_if" id="~0z/nY!O9=#G55)h_94(">
                          <value name="IF0">
                           <block type="logic_boolean" id="Xeq*D1(yZq{x8DPO(2(Z">
                            <field name="BOOL">TRUE</field>
                           </block>
                          </value>
                          <statement name="DO0">
                           <block type="controls_if" id="dR*1#9vgbUMrJvY`gt9J">
                            <mutation elseif="1">
                            </mutation>
                            <value name="IF0">
                             <block type="logic_compare" id="L1W_v5^M,Em.99P)o3CE">
                              <field name="OP">GT</field>
                              <value name="A">
                               <block type="variables_get" id="#W/jbiv_Qp.7E4o7*?PT">
                                <field name="VAR" id="922fPr,3-.!946optnMd">linePointAt</field>
                               </block>
                              </value>
                              <value name="B">
                               <block type="math_number" id="@l_=mMcFo=22U{33FtfA">
                                <field name="NUM">1</field>
                               </block>
                              </value>
                             </block>
                            </value>
                            <statement name="DO0">
                             <block type="variables_set" id=")mx!3F:#nVa`3a).X25V">
                              <field name="VAR" id="fNlVQ+Ut|xI$Jl{jqfm~">step</field>
                              <value name="VALUE">
                               <block type="math_arithmetic" id="yW3MYpYO!-Uub`B]KRv,">
                                <field name="OP">MULTIPLY</field>
                                <value name="A">
                                 <block type="variables_get" id="%/vgVq[?h*7**8@2%BE{">
                                  <field name="VAR" id="fNlVQ+Ut|xI$Jl{jqfm~">step</field>
                                 </block>
                                </value>
                                <value name="B">
                                 <block type="math_number" id="3pn(%HVke5Yw^UF`WG}?">
                                  <field name="NUM">-1</field>
                                 </block>
                                </value>
                               </block>
                              </value>
                             </block>
                            </statement>
                            <value name="IF1">
                             <block type="logic_compare" id="Wg}s,M2cy}DZa}#:aik}">
                              <field name="OP">LT</field>
                              <value name="A">
                               <block type="variables_get" id="FN-33qaCYPuMOPf=h$Py">
                                <field name="VAR" id="922fPr,3-.!946optnMd">linePointAt</field>
                               </block>
                              </value>
                              <value name="B">
                               <block type="math_number" id="rYO%MeTdp=d;[1/C^=Pn">
                                <field name="NUM">0</field>
                               </block>
                              </value>
                             </block>
                            </value>
                            <statement name="DO1">
                             <block type="variables_set" id="~C5{@g4w7bx-x5R*wQ%D">
                              <field name="VAR" id="fNlVQ+Ut|xI$Jl{jqfm~">step</field>
                              <value name="VALUE">
                               <block type="math_arithmetic" id=",hd?#(my;*Y-}PZ{oi$q">
                                <field name="OP">MULTIPLY</field>
                                <value name="A">
                                 <block type="variables_get" id="6bVGTx)$YT@w/jyqc|bg">
                                  <field name="VAR" id="fNlVQ+Ut|xI$Jl{jqfm~">step</field>
                                 </block>
                                </value>
                                <value name="B">
                                 <block type="math_number" id="!lS8r;8pX]5}?1?b=R9n">
                                  <field name="NUM">-1</field>
                                 </block>
                                </value>
                               </block>
                              </value>
                             </block>
                            </statement>
                            <next>
                             <block type="controls_if" id="5h,x!C050zl[Y?C{x[ps">
                              <mutation elseif="1">
                              </mutation>
                              <value name="IF0">
                               <block type="logic_compare" id=")0w2{`gVJ`FVb;!R%Me%">
                                <field name="OP">GT</field>
                                <value name="A">
                                 <block type="variables_get" id="sUM-TDPR??BD,u[N[@D2">
                                  <field name="VAR" id="x)7JnYp?HZ`$$r{%8+;S">linePointAt2</field>
                                 </block>
                                </value>
                                <value name="B">
                                 <block type="math_number" id="jD$SwcgQbAG|.[.U0jx?">
                                  <field name="NUM">1</field>
                                 </block>
                                </value>
                               </block>
                              </value>
                              <statement name="DO0">
                               <block type="variables_set" id="([]zh)/Vx5-mkg%~:+RQ">
                                <field name="VAR" id="{;zjPcz%~r8NTIKDg@In">step2</field>
                                <value name="VALUE">
                                 <block type="math_arithmetic" id="B?-M1j*l@9n=CXODP8o@">
                                  <field name="OP">MULTIPLY</field>
                                  <value name="A">
                                   <block type="variables_get" id="ez4u;|Eki9fA+5:Ux=`n">
                                    <field name="VAR" id="{;zjPcz%~r8NTIKDg@In">step2</field>
                                   </block>
                                  </value>
                                  <value name="B">
                                   <block type="math_number" id="~HCf0jV0Y)8I16PVl{Ip">
                                    <field name="NUM">-1</field>
                                   </block>
                                  </value>
                                 </block>
                                </value>
                               </block>
                              </statement>
                              <value name="IF1">
                               <block type="logic_compare" id="PeoY{ye]08koWl@=z+5V">
                                <field name="OP">LT</field>
                                <value name="A">
                                 <block type="variables_get" id="a-2#:N3`3FB,EXmZ0*MQ">
                                  <field name="VAR" id="x)7JnYp?HZ`$$r{%8+;S">linePointAt2</field>
                                 </block>
                                </value>
                                <value name="B">
                                 <block type="math_number" id="?A7=5WuG#sp{Qb0[ilmy">
                                  <field name="NUM">0</field>
                                 </block>
                                </value>
                               </block>
                              </value>
                              <statement name="DO1">
                               <block type="variables_set" id="gkLAnN=v!:F7sKR/WVn}">
                                <field name="VAR" id="{;zjPcz%~r8NTIKDg@In">step2</field>
                                <value name="VALUE">
                                 <block type="math_arithmetic" id="kP)HI?O]M65avV{:1p1Z">
                                  <field name="OP">MULTIPLY</field>
                                  <value name="A">
                                   <block type="variables_get" id="auHz=0w;G_U{/dr(hBnV">
                                    <field name="VAR" id="{;zjPcz%~r8NTIKDg@In">step2</field>
                                   </block>
                                  </value>
                                  <value name="B">
                                   <block type="math_number" id="Fy/]mA$`CjUxjpBVwP?B">
                                    <field name="NUM">-1</field>
                                   </block>
                                  </value>
                                 </block>
                                </value>
                               </block>
                              </statement>
                              <next>
                               <block type="math_change" id="L]H)m2ZN+J]OPi!c}RX=">
                                <field name="VAR" id="922fPr,3-.!946optnMd">linePointAt</field>
                                <value name="DELTA">
                                 <block type="variables_get" id="EC`wfYCj=cy~r{mUGhv(">
                                  <field name="VAR" id="fNlVQ+Ut|xI$Jl{jqfm~">step</field>
                                 </block>
                                </value>
                                <next>
                                 <block type="math_change" id="-WuI_%!.,8mJk|kd,2yq">
                                  <field name="VAR" id="x)7JnYp?HZ`$$r{%8+;S">linePointAt2</field>
                                  <value name="DELTA">
                                   <block type="variables_get" id=",atscsp^$}.F|%xbW(:2">
                                    <field name="VAR" id="{;zjPcz%~r8NTIKDg@In">step2</field>
                                   </block>
                                  </value>
                                  <next>
                                   <block type="variables_set" id="^+vc/JpSQ(1ZVZ8!H3Q)">
                                    <field name="VAR" id="l)|rh:|=pRY-3#`pCVrL">cornerPoint1</field>
                                    <value name="VALUE">
                                     <block type="bitbybit.verb.curve.pointAtParam" id="2(E1|T;#wsT[~TX!|P;[">
                                      <value name="Curve">
                                       <block type="variables_get" id="]*U#XAZ^;w5n$%eK9Z~N">
                                        <field name="VAR" id="Y,Xzg|k)y95aHM2X(Z`/">cornerLine1</field>
                                       </block>
                                      </value>
                                      <value name="Parameter">
                                       <block type="variables_get" id="`n{.pI,mMS}m}vOqyru?">
                                        <field name="VAR" id="922fPr,3-.!946optnMd">linePointAt</field>
                                       </block>
                                      </value>
                                     </block>
                                    </value>
                                    <next>
                                     <block type="variables_set" id="yd6qOsQ8aeDSm!B+]dJY">
                                      <field name="VAR" id="v?91x7TFl%xM)/5WNyV$">cornerPoint2</field>
                                      <value name="VALUE">
                                       <block type="bitbybit.verb.curve.pointAtParam" id=")RJ*N:z;(JlZ)_N#4V8E">
                                        <value name="Curve">
                                         <block type="variables_get" id="7}oMjIgyEHum8(#0j0J0">
                                          <field name="VAR" id="^~TOuj}kN65Fz]8hkL^w">cornerLine2</field>
                                         </block>
                                        </value>
                                        <value name="Parameter">
                                         <block type="variables_get" id="7v:*DI[iL^o;+MHrdU]@">
                                          <field name="VAR" id="x)7JnYp?HZ`$$r{%8+;S">linePointAt2</field>
                                         </block>
                                        </value>
                                       </block>
                                      </value>
                                      <next>
                                       <block type="variables_set" id="8]Pod#hbv`^,M}uPq@Fw">
                                        <field name="VAR" id="jdgX+xdqFASE%#L:8Z)G">cornerPoint3</field>
                                        <value name="VALUE">
                                         <block type="bitbybit.verb.curve.pointAtParam" id="jrzV%K,dfYSj[;BL3jCQ">
                                          <value name="Curve">
                                           <block type="variables_get" id="[Jo-5Tj_anO(@}dR$N0q">
                                            <field name="VAR" id="+)4(lIF}[.}xF$IU)z~[">cornerLine3</field>
                                           </block>
                                          </value>
                                          <value name="Parameter">
                                           <block type="variables_get" id="#^U:3jo4wTbY=2?}h=0Y">
                                            <field name="VAR" id="x)7JnYp?HZ`$$r{%8+;S">linePointAt2</field>
                                           </block>
                                          </value>
                                         </block>
                                        </value>
                                        <next>
                                         <block type="variables_set" id="bCyqA$I]zbjGS!s_Zp`]">
                                          <field name="VAR" id="l1ur7N@V34$^qj;ybVVG">cornerPoint4</field>
                                          <value name="VALUE">
                                           <block type="bitbybit.verb.curve.pointAtParam" id="u2fHV6/4V*JMD}.uDern">
                                            <value name="Curve">
                                             <block type="variables_get" id="MscpM@P%kg,r]1*t^]Co">
                                              <field name="VAR" id="@|$Lt(+2uqV2zjr=fi8_">cornerLine4</field>
                                             </block>
                                            </value>
                                            <value name="Parameter">
                                             <block type="variables_get" id="Q34wz2;TIg-hW$3qNM=s">
                                              <field name="VAR" id="922fPr,3-.!946optnMd">linePointAt</field>
                                             </block>
                                            </value>
                                           </block>
                                          </value>
                                          <next>
                                           <block type="variables_set" id="zMdB]dkV)Jbh-EK(0?TK">
                                            <field name="VAR" id="l)|rh:|=pRY-3#`pCVrL">cornerPoint1</field>
                                            <value name="VALUE">
                                             <block type="bitbybit.point.transformPoint" id="|?K]J%:?h_st})Hn:u7^">
                                              <value name="Point">
                                               <block type="variables_get" id="bh{vctbfP0AiQlbREjUH">
                                                <field name="VAR" id="l)|rh:|=pRY-3#`pCVrL">cornerPoint1</field>
                                               </block>
                                              </value>
                                              <value name="Transformation">
                                               <block type="bitbybit.babylon.transforms.rotationCenterAxis" id="+=}p$A?pZ%P88;P%l.-m">
                                                <value name="Angle">
                                                 <block type="math_arithmetic" id="lUskhp=$1b*eB^LSaUER">
                                                  <field name="OP">MULTIPLY</field>
                                                  <value name="A">
                                                   <block type="math_number" id="ku~sa-rZ2RJ+DBx?sg48">
                                                    <field name="NUM">360</field>
                                                   </block>
                                                  </value>
                                                  <value name="B">
                                                   <block type="variables_get" id="ID`qyaST%M-z-(VgIFw|">
                                                    <field name="VAR" id="922fPr,3-.!946optnMd">linePointAt</field>
                                                   </block>
                                                  </value>
                                                 </block>
                                                </value>
                                                <value name="Axis">
                                                 <block type="bitbybit.vector.vectorXYZ" id="JBAtpT9#Qu1kw%j=3NRO">
                                                  <value name="X">
                                                   <block type="math_number" id="]D=p3;(Oly_pHd[vKgcY">
                                                    <field name="NUM">0</field>
                                                   </block>
                                                  </value>
                                                  <value name="Y">
                                                   <block type="math_number" id="w6zR!S`xDRtN_cO$9B5k">
                                                    <field name="NUM">1</field>
                                                   </block>
                                                  </value>
                                                  <value name="Z">
                                                   <block type="math_number" id="}wbd-=w!p.}HbFe/tNe!">
                                                    <field name="NUM">0</field>
                                                   </block>
                                                  </value>
                                                 </block>
                                                </value>
                                                <value name="Center">
                                                 <block type="bitbybit.vector.vectorXYZ" id="rL.Z#2}MX6//^v7![1]9">
                                                  <value name="X">
                                                   <block type="math_number" id="A1Z+pkg2[uoSNT!!Z,BQ">
                                                    <field name="NUM">0</field>
                                                   </block>
                                                  </value>
                                                  <value name="Y">
                                                   <block type="math_number" id="C?:w]7wE,f{U(:U9d+%_">
                                                    <field name="NUM">0</field>
                                                   </block>
                                                  </value>
                                                  <value name="Z">
                                                   <block type="math_number" id="ABRWgmPJO?b8B7.D82;d">
                                                    <field name="NUM">0</field>
                                                   </block>
                                                  </value>
                                                 </block>
                                                </value>
                                               </block>
                                              </value>
                                             </block>
                                            </value>
                                            <next>
                                             <block type="variables_set" id="6o,J%dm,P0^o)+c_f}|E">
                                              <field name="VAR" id="v?91x7TFl%xM)/5WNyV$">cornerPoint2</field>
                                              <value name="VALUE">
                                               <block type="bitbybit.point.transformPoint" id="#CKKLwMP*vI5T^1U=et,">
                                                <value name="Point">
                                                 <block type="variables_get" id="YZO[T:V]*~IThdP0n8a;">
                                                  <field name="VAR" id="v?91x7TFl%xM)/5WNyV$">cornerPoint2</field>
                                                 </block>
                                                </value>
                                                <value name="Transformation">
                                                 <block type="bitbybit.babylon.transforms.rotationCenterAxis" id="=RQ#,e7MV2[?}!-`m*zj">
                                                  <value name="Angle">
                                                   <block type="math_arithmetic" id="AwNIjT}[qm*9{qVB}(-h">
                                                    <field name="OP">MULTIPLY</field>
                                                    <value name="A">
                                                     <block type="math_number" id="W$C6~564#[)qrZ,l.LOJ">
                                                      <field name="NUM">360</field>
                                                     </block>
                                                    </value>
                                                    <value name="B">
                                                     <block type="variables_get" id="Sc2ZS`1C*-0~.7Ey$mVu">
                                                      <field name="VAR" id="922fPr,3-.!946optnMd">linePointAt</field>
                                                     </block>
                                                    </value>
                                                   </block>
                                                  </value>
                                                  <value name="Axis">
                                                   <block type="bitbybit.vector.vectorXYZ" id="o8OUjB8%(*aV#hy7F{_1">
                                                    <value name="X">
                                                     <block type="math_number" id="b.nAc;gA_FsrRf^#iWF[">
                                                      <field name="NUM">0</field>
                                                     </block>
                                                    </value>
                                                    <value name="Y">
                                                     <block type="math_number" id="F.@gq4o~dgWiqhhEDHF!">
                                                      <field name="NUM">1</field>
                                                     </block>
                                                    </value>
                                                    <value name="Z">
                                                     <block type="math_number" id="4#Gy1{7bOuLgyY=LGjS?">
                                                      <field name="NUM">0</field>
                                                     </block>
                                                    </value>
                                                   </block>
                                                  </value>
                                                  <value name="Center">
                                                   <block type="bitbybit.vector.vectorXYZ" id="WhW(o+x.tD2)6RVmMeXD">
                                                    <value name="X">
                                                     <block type="math_number" id="z16:.}m~]T770,JDuH$d">
                                                      <field name="NUM">0</field>
                                                     </block>
                                                    </value>
                                                    <value name="Y">
                                                     <block type="math_number" id="vA;!$ulu3x@YG7EN7a8T">
                                                      <field name="NUM">0</field>
                                                     </block>
                                                    </value>
                                                    <value name="Z">
                                                     <block type="math_number" id="EQ,lvVb~Jz0WuMB1:|3M">
                                                      <field name="NUM">0</field>
                                                     </block>
                                                    </value>
                                                   </block>
                                                  </value>
                                                 </block>
                                                </value>
                                               </block>
                                              </value>
                                              <next>
                                               <block type="variables_set" id="1L485fQ=)}q/CvTMLX86">
                                                <field name="VAR" id="jdgX+xdqFASE%#L:8Z)G">cornerPoint3</field>
                                                <value name="VALUE">
                                                 <block type="bitbybit.point.transformPoint" id="qX;O2T*Qbfyw@bV.L!*.">
                                                  <value name="Point">
                                                   <block type="variables_get" id="zA^///RN4:/F:C?c*aEZ">
                                                    <field name="VAR" id="jdgX+xdqFASE%#L:8Z)G">cornerPoint3</field>
                                                   </block>
                                                  </value>
                                                  <value name="Transformation">
                                                   <block type="bitbybit.babylon.transforms.rotationCenterAxis" id="Th9nz)cR^74,3:I%4jVA">
                                                    <value name="Angle">
                                                     <block type="math_arithmetic" id="`[$fXBD}K(se:1~5D;l{">
                                                      <field name="OP">MULTIPLY</field>
                                                      <value name="A">
                                                       <block type="math_number" id="AT*Gsfj+TeQ^G,Q!1erk">
                                                        <field name="NUM">360</field>
                                                       </block>
                                                      </value>
                                                      <value name="B">
                                                       <block type="variables_get" id="|B,Zw2:os4hWypWk^C`J">
                                                        <field name="VAR" id="922fPr,3-.!946optnMd">linePointAt</field>
                                                       </block>
                                                      </value>
                                                     </block>
                                                    </value>
                                                    <value name="Axis">
                                                     <block type="bitbybit.vector.vectorXYZ" id="71|ywG{RxRBl9DBMN_3E">
                                                      <value name="X">
                                                       <block type="math_number" id="lmc6TT6!RuN7PY@98Win">
                                                        <field name="NUM">0</field>
                                                       </block>
                                                      </value>
                                                      <value name="Y">
                                                       <block type="math_number" id="cKHB`|H[fe%SZ(0]T7a=">
                                                        <field name="NUM">1</field>
                                                       </block>
                                                      </value>
                                                      <value name="Z">
                                                       <block type="math_number" id="dzsKY`DJR!xTUwUFvLxs">
                                                        <field name="NUM">0</field>
                                                       </block>
                                                      </value>
                                                     </block>
                                                    </value>
                                                    <value name="Center">
                                                     <block type="bitbybit.vector.vectorXYZ" id="lsvCWscFkX#I2xfA_9`[">
                                                      <value name="X">
                                                       <block type="math_number" id="{y,+zo:ECffaGD1[v_+$">
                                                        <field name="NUM">0</field>
                                                       </block>
                                                      </value>
                                                      <value name="Y">
                                                       <block type="math_number" id="7PQH.O$z1b#aPZ9deo6P">
                                                        <field name="NUM">0</field>
                                                       </block>
                                                      </value>
                                                      <value name="Z">
                                                       <block type="math_number" id="MD^79|k6T[3w/l!ajcxF">
                                                        <field name="NUM">0</field>
                                                       </block>
                                                      </value>
                                                     </block>
                                                    </value>
                                                   </block>
                                                  </value>
                                                 </block>
                                                </value>
                                                <next>
                                                 <block type="variables_set" id="H6W,K~;34L92n}w1v])*">
                                                  <field name="VAR" id="l1ur7N@V34$^qj;ybVVG">cornerPoint4</field>
                                                  <value name="VALUE">
                                                   <block type="bitbybit.point.transformPoint" id="(ZQw@p:aA4PFDJ*ushCb">
                                                    <value name="Point">
                                                     <block type="variables_get" id="jI|meIwr~Gd:6L1Ec4xq">
                                                      <field name="VAR" id="l1ur7N@V34$^qj;ybVVG">cornerPoint4</field>
                                                     </block>
                                                    </value>
                                                    <value name="Transformation">
                                                     <block type="bitbybit.babylon.transforms.rotationCenterAxis" id=")}Qj#x?zVLI_E1r=eA*D">
                                                      <value name="Angle">
                                                       <block type="math_arithmetic" id="C[otXi$;^Nf+L^QApC6l">
                                                        <field name="OP">MULTIPLY</field>
                                                        <value name="A">
                                                         <block type="math_number" id="v=!s2p@00]iKBS5t`BjO">
                                                          <field name="NUM">360</field>
                                                         </block>
                                                        </value>
                                                        <value name="B">
                                                         <block type="variables_get" id="ej.w{5Fzdy/0FR+#_Jc}">
                                                          <field name="VAR" id="922fPr,3-.!946optnMd">linePointAt</field>
                                                         </block>
                                                        </value>
                                                       </block>
                                                      </value>
                                                      <value name="Axis">
                                                       <block type="bitbybit.vector.vectorXYZ" id="*@^_6*M^p*;)KdZSRUs)">
                                                        <value name="X">
                                                         <block type="math_number" id="P:lU!2vy`331aifE~(G_">
                                                          <field name="NUM">0</field>
                                                         </block>
                                                        </value>
                                                        <value name="Y">
                                                         <block type="math_number" id="*$%%YCaU+q(Cs0Pk]k~M">
                                                          <field name="NUM">1</field>
                                                         </block>
                                                        </value>
                                                        <value name="Z">
                                                         <block type="math_number" id="?K#J2Tp_=z^?8EJ651=.">
                                                          <field name="NUM">0</field>
                                                         </block>
                                                        </value>
                                                       </block>
                                                      </value>
                                                      <value name="Center">
                                                       <block type="bitbybit.vector.vectorXYZ" id="-h/%@~JB+(.PG.`s(^vL">
                                                        <value name="X">
                                                         <block type="math_number" id="Am$ZA:vp,,8iV)mBDma!">
                                                          <field name="NUM">0</field>
                                                         </block>
                                                        </value>
                                                        <value name="Y">
                                                         <block type="math_number" id="ur*QUB:pmNX-hV*XlU_,">
                                                          <field name="NUM">0</field>
                                                         </block>
                                                        </value>
                                                        <value name="Z">
                                                         <block type="math_number" id="[0NQKhX5^XQrMp8%*ZeB">
                                                          <field name="NUM">0</field>
                                                         </block>
                                                        </value>
                                                       </block>
                                                      </value>
                                                     </block>
                                                    </value>
                                                   </block>
                                                  </value>
                                                  <next>
                                                   <block type="variables_set" id="tv+E6]fsEOpu_,Q{iJ$e">
                                                    <field name="VAR" id="Y)D9B`bwT2W6[JA_t~[G">tags</field>
                                                    <value name="VALUE">
                                                     <block type="bitbybit.draw.drawAny" id="T@pg:e=EW1BzU;jf^:p6">
                                                      <value name="Entity">
                                                       <block type="lists_create_with" id="Upwq4flb1g#P@EARr-8q">
                                                        <mutation items="4">
                                                        </mutation>
                                                        <value name="ADD0">
                                                         <block type="procedures_callreturn" id="YA?%XVQUDI%FM2EN$k,K">
                                                          <mutation name="createTag">
                                                           <arg name="cornerPoint">
                                                           </arg>
                                                          </mutation>
                                                          <value name="ARG0">
                                                           <block type="variables_get" id="{(l3.7][[e`+omqRJUWq">
                                                            <field name="VAR" id="l)|rh:|=pRY-3#`pCVrL">cornerPoint1</field>
                                                           </block>
                                                          </value>
                                                         </block>
                                                        </value>
                                                        <value name="ADD1">
                                                         <block type="procedures_callreturn" id="S5P7_yP{#l*B^}+Tu+f+">
                                                          <mutation name="createTag">
                                                           <arg name="cornerPoint">
                                                           </arg>
                                                          </mutation>
                                                          <value name="ARG0">
                                                           <block type="variables_get" id="dA@ys#hFRg8dSC?~e@aR">
                                                            <field name="VAR" id="v?91x7TFl%xM)/5WNyV$">cornerPoint2</field>
                                                           </block>
                                                          </value>
                                                         </block>
                                                        </value>
                                                        <value name="ADD2">
                                                         <block type="procedures_callreturn" id="KeFH}!y4(,l_^=H.D~4z">
                                                          <mutation name="createTag">
                                                           <arg name="cornerPoint">
                                                           </arg>
                                                          </mutation>
                                                          <value name="ARG0">
                                                           <block type="variables_get" id="AP(rto`g+po4ui*/27*x">
                                                            <field name="VAR" id="jdgX+xdqFASE%#L:8Z)G">cornerPoint3</field>
                                                           </block>
                                                          </value>
                                                         </block>
                                                        </value>
                                                        <value name="ADD3">
                                                         <block type="procedures_callreturn" id="_@e3`9sdAXYkNX}^q)##">
                                                          <mutation name="createTag">
                                                           <arg name="cornerPoint">
                                                           </arg>
                                                          </mutation>
                                                          <value name="ARG0">
                                                           <block type="variables_get" id="LxS;mT9O59{503`#KE(+">
                                                            <field name="VAR" id="l1ur7N@V34$^qj;ybVVG">cornerPoint4</field>
                                                           </block>
                                                          </value>
                                                         </block>
                                                        </value>
                                                       </block>
                                                      </value>
                                                      <value name="Options">
                                                       <block type="bitbybit.draw.optionsSimple" id="}ESvG*VO}Mqc_5$tv1%`">
                                                        <value name="Colours">
                                                         <block type="colour_picker" id="tDioy?i@^%bD;XK}Bn@5">
                                                          <field name="COLOUR">#0000ff</field>
                                                         </block>
                                                        </value>
                                                        <value name="Size">
                                                         <block type="math_number" id="X?Tgw{i?A?,Mmwn%Rc#E">
                                                          <field name="NUM">3</field>
                                                         </block>
                                                        </value>
                                                        <value name="Opacity">
                                                         <block type="math_number" id="Bn;i]TZ)D}}*c0vss[TY">
                                                          <field name="NUM">1</field>
                                                         </block>
                                                        </value>
                                                        <value name="Updatable">
                                                         <block type="logic_boolean" id="wfU1s?5lYK.7[_FTBb1:">
                                                          <field name="BOOL">TRUE</field>
                                                         </block>
                                                        </value>
                                                       </block>
                                                      </value>
                                                      <value name="BabylonMesh">
                                                       <block type="variables_get" id="5Vx3HA)l`dsTJw1i2puN">
                                                        <field name="VAR" id="Y)D9B`bwT2W6[JA_t~[G">tags</field>
                                                       </block>
                                                      </value>
                                                     </block>
                                                    </value>
                                                    <next>
                                                     <block type="variables_set" id="dd1!BajK/:(f!Gn%y){[">
                                                      <field name="VAR" id="CuA/|lA`e!t!I~spt~RQ">pointsMesh</field>
                                                      <value name="VALUE">
                                                       <block type="bitbybit.draw.drawAny" id="hAmL|6;i?grHFUoPx4mw">
                                                        <value name="Entity">
                                                         <block type="lists_create_with" id="_M[.B[[lGEF],D}EVXHe">
                                                          <mutation items="4">
                                                          </mutation>
                                                          <value name="ADD0">
                                                           <block type="variables_get" id="qKqm5Wry|Q+99hQeBZGW">
                                                            <field name="VAR" id="l)|rh:|=pRY-3#`pCVrL">cornerPoint1</field>
                                                           </block>
                                                          </value>
                                                          <value name="ADD1">
                                                           <block type="variables_get" id="OX%Q*VNBh2-1J#p1cv8@">
                                                            <field name="VAR" id="v?91x7TFl%xM)/5WNyV$">cornerPoint2</field>
                                                           </block>
                                                          </value>
                                                          <value name="ADD2">
                                                           <block type="variables_get" id="V{!R_)2_3K?:%7Kk;vj(">
                                                            <field name="VAR" id="jdgX+xdqFASE%#L:8Z)G">cornerPoint3</field>
                                                           </block>
                                                          </value>
                                                          <value name="ADD3">
                                                           <block type="variables_get" id="6yy~x$6zJk;ygvTNkdqM">
                                                            <field name="VAR" id="l1ur7N@V34$^qj;ybVVG">cornerPoint4</field>
                                                           </block>
                                                          </value>
                                                         </block>
                                                        </value>
                                                        <value name="Options">
                                                         <block type="bitbybit.draw.optionsSimple" id="!AvBgnWp8#^zItlt_9Et">
                                                          <value name="Colours">
                                                           <block type="colour_picker" id="-pP?!jzxA?A_kQ2)s;pG">
                                                            <field name="COLOUR">#ff0000</field>
                                                           </block>
                                                          </value>
                                                          <value name="Size">
                                                           <block type="math_number" id="%-/7$)XKMYSXy!/gyJ:U">
                                                            <field name="NUM">0.3</field>
                                                           </block>
                                                          </value>
                                                          <value name="Opacity">
                                                           <block type="math_number" id="+#zPTwfz3d|k)[l3`.+E">
                                                            <field name="NUM">1</field>
                                                           </block>
                                                          </value>
                                                          <value name="Updatable">
                                                           <block type="logic_boolean" id="Fv%=7o!KndAs)bvG%Hf9">
                                                            <field name="BOOL">TRUE</field>
                                                           </block>
                                                          </value>
                                                         </block>
                                                        </value>
                                                        <value name="BabylonMesh">
                                                         <block type="variables_get" id="qpopxH?hw):aF.2tF`$n">
                                                          <field name="VAR" id="CuA/|lA`e!t!I~spt~RQ">pointsMesh</field>
                                                         </block>
                                                        </value>
                                                       </block>
                                                      </value>
                                                      <next>
                                                       <block type="variables_set" id="%.D^~s[`YhSPW~QyVF!H">
                                                        <field name="VAR" id="u4=8dJM%(-^uW4Zk{xf9">isoCurves</field>
                                                        <value name="VALUE">
                                                         <block type="lists_create_with" id="@3el*@5+1WU=Q2M4:$k0">
                                                          <mutation items="0">
                                                          </mutation>
                                                         </block>
                                                        </value>
                                                        <next>
                                                         <block type="controls_forEach" id="zu/$+QWU!A*DDa!ed7#_">
                                                          <field name="VAR" id="ytspPEwU7Lu6#san)iw8">i</field>
                                                          <value name="LIST">
                                                           <block type="bitbybit.vector.span" id=",TXvC,Yfy=yFn2,u4Apl">
                                                            <value name="Step">
                                                             <block type="math_number" id="udLsziI6v5H]o0_v2Ma8">
                                                              <field name="NUM">0.1</field>
                                                             </block>
                                                            </value>
                                                            <value name="Min">
                                                             <block type="math_number" id="m`5b0Ft#je@!09-8BKri">
                                                              <field name="NUM">0</field>
                                                             </block>
                                                            </value>
                                                            <value name="Max">
                                                             <block type="math_number" id="R7!l8OlU2W6d+!5y;p20">
                                                              <field name="NUM">1</field>
                                                             </block>
                                                            </value>
                                                           </block>
                                                          </value>
                                                          <statement name="DO">
                                                           <block type="variables_set" id="|ho[2Jc!ENf.c#2D*xOf">
                                                            <field name="VAR" id="m|inyB7xMO#r.J;L9m*]">surfaceValue</field>
                                                            <value name="VALUE">
                                                             <block type="bitbybit.verb.surface.createSurfaceByCorners" id="HYfi$0q~Ja$P%1e-)s3b">
                                                              <value name="Point1">
                                                               <block type="variables_get" id="-3.zQY4hIx{}l^kC7N^g">
                                                                <field name="VAR" id="l)|rh:|=pRY-3#`pCVrL">cornerPoint1</field>
                                                               </block>
                                                              </value>
                                                              <value name="Point2">
                                                               <block type="variables_get" id="m}w)#S=EX}#qc+I?%.55">
                                                                <field name="VAR" id="v?91x7TFl%xM)/5WNyV$">cornerPoint2</field>
                                                               </block>
                                                              </value>
                                                              <value name="Point3">
                                                               <block type="variables_get" id=";X-f@TTx,Z2f2RhOSFe5">
                                                                <field name="VAR" id="l1ur7N@V34$^qj;ybVVG">cornerPoint4</field>
                                                               </block>
                                                              </value>
                                                              <value name="Point4">
                                                               <block type="variables_get" id="#Rj2JR}v=sIo+C@~[lxe">
                                                                <field name="VAR" id="jdgX+xdqFASE%#L:8Z)G">cornerPoint3</field>
                                                               </block>
                                                              </value>
                                                             </block>
                                                            </value>
                                                            <next>
                                                             <block type="lists_setIndex" id="p~~:LP*MvQXw24QxF6]H">
                                                              <mutation at="false">
                                                              </mutation>
                                                              <field name="MODE">INSERT</field>
                                                              <field name="WHERE">LAST</field>
                                                              <value name="LIST">
                                                               <block type="variables_get" id="yJVWqOX=g5q9lWNO=P@f">
                                                                <field name="VAR" id="u4=8dJM%(-^uW4Zk{xf9">isoCurves</field>
                                                               </block>
                                                              </value>
                                                              <value name="TO">
                                                               <block type="bitbybit.verb.surface.isocurve" id="y@bOQ^}_t^3*?CUYrzmO">
                                                                <value name="Surface">
                                                                 <block type="variables_get" id="?Ev%e$kaYJJFN?V:DnVG">
                                                                  <field name="VAR" id="m|inyB7xMO#r.J;L9m*]">surfaceValue</field>
                                                                 </block>
                                                                </value>
                                                                <value name="Parameter">
                                                                 <block type="variables_get" id="bxbYmJ0g6.eS^CM@l?/n">
                                                                  <field name="VAR" id="ytspPEwU7Lu6#san)iw8">i</field>
                                                                 </block>
                                                                </value>
                                                                <value name="UseV">
                                                                 <block type="logic_boolean" id="c3w%3Ev~O_aCUTKi-TJK">
                                                                  <field name="BOOL">FALSE</field>
                                                                 </block>
                                                                </value>
                                                               </block>
                                                              </value>
                                                              <next>
                                                               <block type="lists_setIndex" id="kXtc+7NaYR*j)+3Ct3v`">
                                                                <mutation at="false">
                                                                </mutation>
                                                                <field name="MODE">INSERT</field>
                                                                <field name="WHERE">LAST</field>
                                                                <value name="LIST">
                                                                 <block type="variables_get" id="_4},Eq:`uG|Sv6iQrDvL">
                                                                  <field name="VAR" id="u4=8dJM%(-^uW4Zk{xf9">isoCurves</field>
                                                                 </block>
                                                                </value>
                                                                <value name="TO">
                                                                 <block type="bitbybit.verb.surface.isocurve" id="{?FTfm/W(*-/i1w;+C.(">
                                                                  <value name="Surface">
                                                                   <block type="variables_get" id="i^5f/V{aV_pwx40_R3rK">
                                                                    <field name="VAR" id="m|inyB7xMO#r.J;L9m*]">surfaceValue</field>
                                                                   </block>
                                                                  </value>
                                                                  <value name="Parameter">
                                                                   <block type="variables_get" id="OZ6*|}$|@E}t]ujTS:iM">
                                                                    <field name="VAR" id="ytspPEwU7Lu6#san)iw8">i</field>
                                                                   </block>
                                                                  </value>
                                                                  <value name="UseV">
                                                                   <block type="logic_boolean" id="P~3L=QDLf?*Tn;%X@w[4">
                                                                    <field name="BOOL">TRUE</field>
                                                                   </block>
                                                                  </value>
                                                                 </block>
                                                                </value>
                                                               </block>
                                                              </next>
                                                             </block>
                                                            </next>
                                                           </block>
                                                          </statement>
                                                          <next>
                                                           <block type="variables_set" id=")]!8,=6?8q{;AwEaH-sf">
                                                            <field name="VAR" id="UJS(M,c?:=O*Z98[H9O$">isoCurvesMoved</field>
                                                            <value name="VALUE">
                                                             <block type="bitbybit.verb.curve.transformCurves" id="Yhi;?.~ZG[TB6uPg,%F`">
                                                              <value name="Curves">
                                                               <block type="bitbybit.verb.curve.transformCurves" id="Gf5r-m^-:eOcN~$goW!f">
                                                                <value name="Curves">
                                                                 <block type="variables_get" id="W7v=j@P@#UI}_L=2kKWh">
                                                                  <field name="VAR" id="u4=8dJM%(-^uW4Zk{xf9">isoCurves</field>
                                                                 </block>
                                                                </value>
                                                                <value name="Transformation">
                                                                 <block type="bitbybit.babylon.transforms.translationXYZ" id="ef{y|~Or*6bMK3/[Y%!S">
                                                                  <value name="Translation">
                                                                   <block type="bitbybit.vector.vectorXYZ" id="6tJF,a5M5TlfOT2v(ReT">
                                                                    <value name="X">
                                                                     <block type="math_number" id="4=E+J0%g9cN]e_MX)-@r">
                                                                      <field name="NUM">0</field>
                                                                     </block>
                                                                    </value>
                                                                    <value name="Y">
                                                                     <block type="math_number" id="2f],MLVk!+Pm16f-golq">
                                                                      <field name="NUM">4</field>
                                                                     </block>
                                                                    </value>
                                                                    <value name="Z">
                                                                     <block type="math_number" id="G2exY]K]kYF%ujaP$-(l">
                                                                      <field name="NUM">0</field>
                                                                     </block>
                                                                    </value>
                                                                   </block>
                                                                  </value>
                                                                 </block>
                                                                </value>
                                                               </block>
                                                              </value>
                                                              <value name="Transformation">
                                                               <block type="bitbybit.babylon.transforms.rotationCenterAxis" id="mt-tdmctKu!N)I(#]9}9">
                                                                <value name="Angle">
                                                                 <block type="math_number" id="NuoC,_p^ad!89b8%A?!+">
                                                                  <field name="NUM">15</field>
                                                                 </block>
                                                                </value>
                                                                <value name="Axis">
                                                                 <block type="bitbybit.vector.vectorXYZ" id="VI+]r#M]WTLA.h#hosvm">
                                                                  <value name="X">
                                                                   <block type="math_number" id="iO-Nis~W7HHfpmxNuX6[">
                                                                    <field name="NUM">0</field>
                                                                   </block>
                                                                  </value>
                                                                  <value name="Y">
                                                                   <block type="math_number" id="askt+CX##D2V}/(0vIGm">
                                                                    <field name="NUM">1</field>
                                                                   </block>
                                                                  </value>
                                                                  <value name="Z">
                                                                   <block type="math_number" id="ltcg5%KySZLNc2R!2MXb">
                                                                    <field name="NUM">0</field>
                                                                   </block>
                                                                  </value>
                                                                 </block>
                                                                </value>
                                                                <value name="Center">
                                                                 <block type="bitbybit.vector.vectorXYZ" id="XT,U8og`A5|06p$Q$Q;j">
                                                                  <value name="X">
                                                                   <block type="math_number" id="wbd|+q7Lg95:?N!xVL)[">
                                                                    <field name="NUM">0</field>
                                                                   </block>
                                                                  </value>
                                                                  <value name="Y">
                                                                   <block type="math_number" id=".=juh~tXUf}6wZpEQlBB">
                                                                    <field name="NUM">0</field>
                                                                   </block>
                                                                  </value>
                                                                  <value name="Z">
                                                                   <block type="math_number" id="dxk8A9%,1#38}IW`%i]~">
                                                                    <field name="NUM">0</field>
                                                                   </block>
                                                                  </value>
                                                                 </block>
                                                                </value>
                                                               </block>
                                                              </value>
                                                             </block>
                                                            </value>
                                                            <next>
                                                             <block type="variables_set" id="ub4PCdrw8cwCdSi_9FDa">
                                                              <field name="VAR" id="r}6M}R9ssh|pw!Io!8_y">linesMesh</field>
                                                              <value name="VALUE">
                                                               <block type="bitbybit.draw.drawAny" id="sC$O4orT%j2Jrr-/(z6?">
                                                                <value name="Entity">
                                                                 <block type="bitbybit.line.linesBetweenStartAndEndPoints" id="-J%8pz381MUPxPx4ycrj">
                                                                  <value name="StartPoints">
                                                                   <block type="bitbybit.verb.curve.startPoints" id="dMfbarzd!4~sud%6lQ1F">
                                                                    <value name="Curves">
                                                                     <block type="variables_get" id="z,zwh~WWfu4QoFlD)a%l">
                                                                      <field name="VAR" id="u4=8dJM%(-^uW4Zk{xf9">isoCurves</field>
                                                                     </block>
                                                                    </value>
                                                                   </block>
                                                                  </value>
                                                                  <value name="EndPoints">
                                                                   <block type="bitbybit.verb.curve.startPoints" id="j$lIblu(;Y6%a5z%U/j@">
                                                                    <value name="Curves">
                                                                     <block type="variables_get" id="JI9b(-Ici2bw53aA0/~1">
                                                                      <field name="VAR" id="UJS(M,c?:=O*Z98[H9O$">isoCurvesMoved</field>
                                                                     </block>
                                                                    </value>
                                                                   </block>
                                                                  </value>
                                                                 </block>
                                                                </value>
                                                                <value name="Options">
                                                                 <block type="bitbybit.draw.optionsSimple" id="Ngd*5+)QM0@vR?RRF=vk">
                                                                  <value name="Colours">
                                                                   <block type="colour_picker" id="9o3$JezC.[P?}j2_T-~H">
                                                                    <field name="COLOUR">#ffffff</field>
                                                                   </block>
                                                                  </value>
                                                                  <value name="Size">
                                                                   <block type="math_number" id="z*s=0)Pi`VrUj93Ls_tn">
                                                                    <field name="NUM">6</field>
                                                                   </block>
                                                                  </value>
                                                                  <value name="Opacity">
                                                                   <block type="math_number" id="LToyXQpFQT%A}pibAQrI">
                                                                    <field name="NUM">1</field>
                                                                   </block>
                                                                  </value>
                                                                  <value name="Updatable">
                                                                   <block type="logic_boolean" id="ZFo)9b[hXUoc^jkS6H_x">
                                                                    <field name="BOOL">TRUE</field>
                                                                   </block>
                                                                  </value>
                                                                 </block>
                                                                </value>
                                                                <value name="BabylonMesh">
                                                                 <block type="variables_get" id="!Ib|^?_hbRfx$bgNdT?I">
                                                                  <field name="VAR" id="r}6M}R9ssh|pw!Io!8_y">linesMesh</field>
                                                                 </block>
                                                                </value>
                                                               </block>
                                                              </value>
                                                              <next>
                                                               <block type="variables_set" id="E^$+;@+-AtD({L@!0W?)">
                                                                <field name="VAR" id="dZ2^44dt}:[}nz9egtn$">linesMesh2</field>
                                                                <value name="VALUE">
                                                                 <block type="bitbybit.draw.drawAny" id="=*|U7s9U#A2sDZ1Q#Elk">
                                                                  <value name="Entity">
                                                                   <block type="bitbybit.line.linesBetweenStartAndEndPoints" id="DoM_jF?3b9$NS:{cl-Dg">
                                                                    <value name="StartPoints">
                                                                     <block type="bitbybit.verb.curve.endPoints" id="v9{+G=Ii|z*Q_4Q%f|-x">
                                                                      <value name="Curves">
                                                                       <block type="variables_get" id="}UUy7m|[gtSlMHQr*S)O">
                                                                        <field name="VAR" id="u4=8dJM%(-^uW4Zk{xf9">isoCurves</field>
                                                                       </block>
                                                                      </value>
                                                                     </block>
                                                                    </value>
                                                                    <value name="EndPoints">
                                                                     <block type="bitbybit.verb.curve.endPoints" id="S+Y8,oeNu9k{*8}p`B9E">
                                                                      <value name="Curves">
                                                                       <block type="variables_get" id="P#GG~JxK;b~`~*x-znGg">
                                                                        <field name="VAR" id="UJS(M,c?:=O*Z98[H9O$">isoCurvesMoved</field>
                                                                       </block>
                                                                      </value>
                                                                     </block>
                                                                    </value>
                                                                   </block>
                                                                  </value>
                                                                  <value name="Options">
                                                                   <block type="bitbybit.draw.optionsSimple" id="(_3*xnDN^^;IH}^dig0=">
                                                                    <value name="Colours">
                                                                     <block type="colour_picker" id="FyIsj,H[5|2_{w?[sBa-">
                                                                      <field name="COLOUR">#ffffff</field>
                                                                     </block>
                                                                    </value>
                                                                    <value name="Size">
                                                                     <block type="math_number" id="c)Q=|^Ee${_5B9RVSfbP">
                                                                      <field name="NUM">6</field>
                                                                     </block>
                                                                    </value>
                                                                    <value name="Opacity">
                                                                     <block type="math_number" id="p%XMYFCw+)c~BRG1**jS">
                                                                      <field name="NUM">1</field>
                                                                     </block>
                                                                    </value>
                                                                    <value name="Updatable">
                                                                     <block type="logic_boolean" id="/o;$^E+pJbVuHX{CkT8v">
                                                                      <field name="BOOL">TRUE</field>
                                                                     </block>
                                                                    </value>
                                                                   </block>
                                                                  </value>
                                                                  <value name="BabylonMesh">
                                                                   <block type="variables_get" id="fYths84]N!6v@V]5ldOd">
                                                                    <field name="VAR" id="dZ2^44dt}:[}nz9egtn$">linesMesh2</field>
                                                                   </block>
                                                                  </value>
                                                                 </block>
                                                                </value>
                                                                <next>
                                                                 <block type="variables_set" id="A%H2Z-MoF5h^n$hX@T;l">
                                                                  <field name="VAR" id="X]yI,|%Y*1%8{}}~qrW.">curvesMesh</field>
                                                                  <value name="VALUE">
                                                                   <block type="bitbybit.draw.drawAny" id="L3E.OsB6PgCGnOM*F%p$">
                                                                    <value name="Entity">
                                                                     <block type="variables_get" id="F`xqj?.RQ/{oF{qB)`|.">
                                                                      <field name="VAR" id="u4=8dJM%(-^uW4Zk{xf9">isoCurves</field>
                                                                     </block>
                                                                    </value>
                                                                    <value name="Options">
                                                                     <block type="bitbybit.draw.optionsSimple" id="e;JtQ_Xg`I=M$l0L~!{~">
                                                                      <value name="Colours">
                                                                       <block type="colour_picker" id="ymFH$MqrI@Kcyr(mO~_%">
                                                                        <field name="COLOUR">#ff6600</field>
                                                                       </block>
                                                                      </value>
                                                                      <value name="Size">
                                                                       <block type="math_number" id="MH{bbijf}~ums5Hcd#3|">
                                                                        <field name="NUM">10</field>
                                                                       </block>
                                                                      </value>
                                                                      <value name="Opacity">
                                                                       <block type="math_number" id="iO$hquT)MP.g287H%zYj">
                                                                        <field name="NUM">1</field>
                                                                       </block>
                                                                      </value>
                                                                      <value name="Updatable">
                                                                       <block type="logic_boolean" id="+xfQ*pukySUEQ~/}Un{?">
                                                                        <field name="BOOL">TRUE</field>
                                                                       </block>
                                                                      </value>
                                                                     </block>
                                                                    </value>
                                                                    <value name="BabylonMesh">
                                                                     <block type="variables_get" id="yrJ^)OB[f3N%oNI@DULW">
                                                                      <field name="VAR" id="X]yI,|%Y*1%8{}}~qrW.">curvesMesh</field>
                                                                     </block>
                                                                    </value>
                                                                   </block>
                                                                  </value>
                                                                  <next>
                                                                   <block type="variables_set" id="li4vk#0c=Z(56k^!:*pL">
                                                                    <field name="VAR" id="frwjDtsLBiYNudla]5UW">curvesMesh2</field>
                                                                    <value name="VALUE">
                                                                     <block type="bitbybit.draw.drawAny" id="XI~Yr#Y~.T.|A^ku[Au,">
                                                                      <value name="Entity">
                                                                       <block type="variables_get" id="Vu05:qiO7:C!WrL!jNom">
                                                                        <field name="VAR" id="UJS(M,c?:=O*Z98[H9O$">isoCurvesMoved</field>
                                                                       </block>
                                                                      </value>
                                                                      <value name="Options">
                                                                       <block type="bitbybit.draw.optionsSimple" id="P)0e6P8FM`rKa=T6=9.v">
                                                                        <value name="Colours">
                                                                         <block type="colour_picker" id="j^_g)9otYl|vhl#R5;D/">
                                                                          <field name="COLOUR">#3366ff</field>
                                                                         </block>
                                                                        </value>
                                                                        <value name="Size">
                                                                         <block type="math_number" id="8{u!|_D/~Ah:?4quXS_y">
                                                                          <field name="NUM">10</field>
                                                                         </block>
                                                                        </value>
                                                                        <value name="Opacity">
                                                                         <block type="math_number" id="r^(xKFcM~Uj$M9x)+9q)">
                                                                          <field name="NUM">1</field>
                                                                         </block>
                                                                        </value>
                                                                        <value name="Updatable">
                                                                         <block type="logic_boolean" id="e7zaa0nOFrN--apH*rxO">
                                                                          <field name="BOOL">TRUE</field>
                                                                         </block>
                                                                        </value>
                                                                       </block>
                                                                      </value>
                                                                      <value name="BabylonMesh">
                                                                       <block type="variables_get" id="X-o:}=ucY[WkOC=`W4`)">
                                                                        <field name="VAR" id="frwjDtsLBiYNudla]5UW">curvesMesh2</field>
                                                                       </block>
                                                                      </value>
                                                                     </block>
                                                                    </value>
                                                                   </block>
                                                                  </next>
                                                                 </block>
                                                                </next>
                                                               </block>
                                                              </next>
                                                             </block>
                                                            </next>
                                                           </block>
                                                          </next>
                                                         </block>
                                                        </next>
                                                       </block>
                                                      </next>
                                                     </block>
                                                    </next>
                                                   </block>
                                                  </next>
                                                 </block>
                                                </next>
                                               </block>
                                              </next>
                                             </block>
                                            </next>
                                           </block>
                                          </next>
                                         </block>
                                        </next>
                                       </block>
                                      </next>
                                     </block>
                                    </next>
                                   </block>
                                  </next>
                                 </block>
                                </next>
                               </block>
                              </next>
                             </block>
                            </next>
                           </block>
                          </statement>
                         </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>
 <block type="procedures_defreturn" id="(.nIgFzRIL@ktCCJCgFa" x="3595" y="3328">
  <mutation>
   <arg name="cornerPoint" varid="KVQal`J%p,A[p_[oL}!k">
   </arg>
  </mutation>
  <field name="NAME">createTag</field>
  <comment pinned="false" h="80" w="160">Describe this function...</comment>
  <statement name="STACK">
   <block type="variables_set" id="IgpTQd32*fe{;ng!%i}n">
    <field name="VAR" id="Pub!ljx/(K@7Kwz1hW:n">textTagResult</field>
    <value name="VALUE">
     <block type="bitbybit.tag.create" id="Dj4rXMPq{Ea/[_`c_1l0">
      <value name="Text">
       <block type="text_join" id="qpo.5ZdLfyzZ8OvyRFx4">
        <mutation items="6">
        </mutation>
        <value name="ADD0">
         <block type="text" id="t`2z9|7np[{`:gO=J1@?">
          <field name="TEXT">Corner at: X  </field>
         </block>
        </value>
        <value name="ADD1">
         <block type="bitbybit.math.roundToDecimals" id="LMoS5jJF=Sq}ZDUMPRmP">
          <value name="Number">
           <block type="bitbybit.point.getX" id="5.^|(a{=W8G$s#!P3|Mj">
            <value name="Point">
             <block type="variables_get" id="{sTO*%vw]G1P]=pq=ia?">
              <field name="VAR" id="KVQal`J%p,A[p_[oL}!k">cornerPoint</field>
             </block>
            </value>
           </block>
          </value>
          <value name="DecimalPlaces">
           <block type="math_number" id=";/|~DH3V!AA!w.arpL*{">
            <field name="NUM">2</field>
           </block>
          </value>
         </block>
        </value>
        <value name="ADD2">
         <block type="text" id="n~8db%CTZflk5|AN3pL{">
          <field name="TEXT">, Y</field>
         </block>
        </value>
        <value name="ADD3">
         <block type="bitbybit.math.roundToDecimals" id="Y:w^V4igZrRq?Q{F[P^b">
          <value name="Number">
           <block type="bitbybit.point.getY" id="#C#.78~gO:Ygca]=p_,L">
            <value name="Point">
             <block type="variables_get" id="*1Tg+1Pv@]C5#$QY,3P4">
              <field name="VAR" id="KVQal`J%p,A[p_[oL}!k">cornerPoint</field>
             </block>
            </value>
           </block>
          </value>
          <value name="DecimalPlaces">
           <block type="math_number" id="w?yM-sSei1ez7lqq`8-y">
            <field name="NUM">2</field>
           </block>
          </value>
         </block>
        </value>
        <value name="ADD4">
         <block type="text" id="$zwu9sN6(1UX!!.Yg}z6">
          <field name="TEXT">, Z</field>
         </block>
        </value>
        <value name="ADD5">
         <block type="bitbybit.math.roundToDecimals" id="^l`ys1xdblm]E7v-KMmG">
          <value name="Number">
           <block type="bitbybit.point.getZ" id="Frro8XeA+1@[X:7:*(R3">
            <value name="Point">
             <block type="variables_get" id="gvSKUvAYy*GMH~|ndy_%">
              <field name="VAR" id="KVQal`J%p,A[p_[oL}!k">cornerPoint</field>
             </block>
            </value>
           </block>
          </value>
          <value name="DecimalPlaces">
           <block type="math_number" id="T$)eG*5sg=|,8g;K61h1">
            <field name="NUM">2</field>
           </block>
          </value>
         </block>
        </value>
       </block>
      </value>
      <value name="Position">
       <block type="variables_get" id="Jpvhi6:J7zdla}yR#rJA">
        <field name="VAR" id="KVQal`J%p,A[p_[oL}!k">cornerPoint</field>
       </block>
      </value>
      <value name="Size">
       <block type="math_number" id="u@y?b2+d{Aj2Q-.+{,2V">
        <field name="NUM">12</field>
       </block>
      </value>
      <value name="AdaptDepth">
       <block type="logic_boolean" id="|}[lweecKbw=L]ytgG/H">
        <field name="BOOL">FALSE</field>
       </block>
      </value>
     </block>
    </value>
   </block>
  </statement>
  <value name="RETURN">
   <block type="variables_get" id=":?Q?YQQIvl[{Z,@r}ant">
    <field name="VAR" id="Pub!ljx/(K@7Kwz1hW:n">textTagResult</field>
   </block>
  </value>
 </block>
</xml>
Plans & Pricing

Choose Your Plan

Editor plans for 3D development, API keys for server-side CAD algorithms

B2B

ENTERPRISE

Custom pricing

Custom software development, dedicated servers & CAD automation at scale.

CAD Automation & Software
  • Custom software development
  • Cloud CAD automation pipelines
  • 3D configurators (STEP & GLTF)
  • Batch export jobs
  • Custom algorithms & deployment
Infrastructure & Support
  • Custom compute allocation
  • Dedicated / VPS server tenants
  • Long-running computation jobs
  • Custom upload limits & overage
  • SLA & premium support