Script: Example in Blockly

Example in Blockly picture
Type
Blockly logo indicatorblockly
Date Created
Mar 19, 2021, 3:10:48 PM
Last Edit Date
Dec 5, 2023, 8:07:13 PM

Project Information

This example demonstrates the parametric carbon inspired structure. Play with variables and see how structure adapts density and angles.

View Full Project

Script Code

<xml xmlns="https://developers.google.com/blockly/xml">
 <variables>
  <variable id="-~3e:rHeD.E^/`~5NQl^">firstLevelHeight</variable>
  <variable id="8m8=RSb/)Z!fTQF[q_cM">secondLayerHeight</variable>
  <variable id="3czM?n3GtwbchQ[L1*xW">nrOfVerticalSubdivisions</variable>
  <variable id="EJs|BDIX`j/e1zgxqCW#">nrOfPoints</variable>
  <variable id="xf9p]3r#8iMXpX(29ezO">middleRadius</variable>
  <variable id="1cp{/K_Q%Jy(WX%OgjF?">edgeRadius</variable>
  <variable id="#h4SlOr(B9Jl~r!]!,];">midParameter</variable>
  <variable id="%Pk:N/*q~RZTZU`gz:xO">surfaceLofted</variable>
  <variable id="uDB^3pilQ)*V%.~fBPbQ">surfaceRotated</variable>
  <variable id="i|28j8~zA:2L]=%@dwX2">isoCurvesFirst</variable>
  <variable id="T,xof;Si}bYur-5X+$i*">isoCurvesSecond</variable>
  <variable id="Zz;AxFxh2-%;TVRMZ.F:">allHulls</variable>
  <variable id="eo9jywI/rN9Ch4V@M.p,">i</variable>
  <variable id="dJl0j^G+tB06_YP9$n]e">pointsFirstIsoCurve</variable>
  <variable id="70`op`v;}PBD~]BhIp+l">pointsSecondIsoCurve</variable>
  <variable id="jQdSpV4QX9+X?955;6rN">allMidpoints</variable>
  <variable id="[jNR5^xhnc7GF2[@lr-*">j</variable>
  <variable id="hkwJu-:`ZzBPH4^h|^p3">firstPoint</variable>
  <variable id="R*@5S]@X(v~ib}_%mp(e">secondPoint</variable>
  <variable id="(/isNHCv1@[pbcbsiU}d">joiningCurve</variable>
  <variable id="#9TPzvFXmz#^mxSbr^2;">midPoint</variable>
 </variables>
 <block type="variables_set" id=".n0.k@T13MefV|RKkY~@" x="227" y="-360">
  <field name="VAR" id="-~3e:rHeD.E^/`~5NQl^">firstLevelHeight</field>
  <value name="VALUE">
   <block type="math_number" id="^*x$7BOfs60NF$Y1QWV=">
    <field name="NUM">6</field>
   </block>
  </value>
  <next>
   <block type="variables_set" id="Cqd0Y[UvSQO~y0h31J*_">
    <field name="VAR" id="8m8=RSb/)Z!fTQF[q_cM">secondLayerHeight</field>
    <value name="VALUE">
     <block type="math_number" id="Dqb+Ph*69GR9BL*n8XG#">
      <field name="NUM">15</field>
     </block>
    </value>
    <next>
     <block type="variables_set" id="vRQj*AZOB]`Bp6b4@P`d">
      <field name="VAR" id="3czM?n3GtwbchQ[L1*xW">nrOfVerticalSubdivisions</field>
      <value name="VALUE">
       <block type="math_number" id="Q9q~fPo)J!e_d_5.DALC">
        <field name="NUM">35</field>
       </block>
      </value>
      <next>
       <block type="variables_set" id="%1N.t=+pK*#b8[(mjM~^">
        <field name="VAR" id="EJs|BDIX`j/e1zgxqCW#">nrOfPoints</field>
        <value name="VALUE">
         <block type="math_number" id="Xq`7uo4kM18~2e(GkKiq">
          <field name="NUM">40</field>
         </block>
        </value>
        <next>
         <block type="variables_set" id="x_9cSNRV-Ub-ZC}:y;QH">
          <field name="VAR" id="xf9p]3r#8iMXpX(29ezO">middleRadius</field>
          <value name="VALUE">
           <block type="math_number" id="|K6B2_tZ{e`FxmGC@NrW">
            <field name="NUM">0.3</field>
           </block>
          </value>
          <next>
           <block type="variables_set" id="fK~C.Nt{JaA9lg6KeAdI">
            <field name="VAR" id="1cp{/K_Q%Jy(WX%OgjF?">edgeRadius</field>
            <value name="VALUE">
             <block type="math_number" id="k}W?eAxeV7t;*mUTRI#C">
              <field name="NUM">0.02</field>
             </block>
            </value>
            <next>
             <block type="variables_set" id="zXOt=T92Ja@4[!:uZV5q">
              <field name="VAR" id="#h4SlOr(B9Jl~r!]!,];">midParameter</field>
              <value name="VALUE">
               <block type="math_number" id="[/QGLkx$3-iK1:TG;D_=">
                <field name="NUM">0.3</field>
               </block>
              </value>
              <next>
               <block type="variables_set" id="z6ja_~SY5?@C}`NK?Xu4">
                <field name="VAR" id="%Pk:N/*q~RZTZU`gz:xO">surfaceLofted</field>
                <value name="VALUE">
                 <block type="bitbybit.verb.surface.createSurfaceByLoftingCurves" id="P|dWSoHW$_0)[t-gMyS!">
                  <value name="DegreeV">
                   <block type="math_number" id="_=QAQ:ZB!k%CF)^h`HML">
                    <field name="NUM">3</field>
                   </block>
                  </value>
                  <value name="Curves">
                   <block type="lists_create_with" id="4[)S2Oh$ciBnooP/edEJ">
                    <mutation items="3">
                    </mutation>
                    <value name="ADD0">
                     <block type="bitbybit.verb.curve.createCurveByPoints" id="`{F-5$bTPfy9Z$[s8M?x">
                      <value name="Degree">
                       <block type="math_number" id="SU}w((lQ0*ao:-R_htxv">
                        <field name="NUM">3</field>
                       </block>
                      </value>
                      <value name="Points">
                       <block type="lists_create_with" id="{k=qmL._DbPy|QcZdvHB">
                        <mutation items="4">
                        </mutation>
                        <value name="ADD0">
                         <block type="bitbybit.point.pointXYZ" id="skDsK9!dB#q7`*S:|I}(">
                          <value name="X">
                           <block type="math_number" id="qdzglmZ[H(Q|U+?KLJzN">
                            <field name="NUM">-2</field>
                           </block>
                          </value>
                          <value name="Y">
                           <block type="math_number" id="IEwRfk`~4J[D+U4H.*?_">
                            <field name="NUM">0</field>
                           </block>
                          </value>
                          <value name="Z">
                           <block type="math_number" id="1IMD,`mt*%naRtc553^r">
                            <field name="NUM">-10</field>
                           </block>
                          </value>
                         </block>
                        </value>
                        <value name="ADD1">
                         <block type="bitbybit.point.pointXYZ" id="~{)bIAP)3N26#}]2[R0{">
                          <value name="X">
                           <block type="math_number" id="eD}{nSlr6Bke2(;J?$dn">
                            <field name="NUM">0</field>
                           </block>
                          </value>
                          <value name="Y">
                           <block type="math_number" id="q_kNW{=H#pe6eC:H-`0A">
                            <field name="NUM">1</field>
                           </block>
                          </value>
                          <value name="Z">
                           <block type="math_number" id="zHz;[7tclLPfu}2/QtC4">
                            <field name="NUM">0</field>
                           </block>
                          </value>
                         </block>
                        </value>
                        <value name="ADD2">
                         <block type="bitbybit.point.pointXYZ" id=":CbCWX@;{CAnP+/sG%Ta">
                          <value name="X">
                           <block type="math_number" id="tu.nn}rL,3spl87c#}O^">
                            <field name="NUM">0</field>
                           </block>
                          </value>
                          <value name="Y">
                           <block type="math_number" id="je_S2C?Z(nD8ry{E+tNA">
                            <field name="NUM">1</field>
                           </block>
                          </value>
                          <value name="Z">
                           <block type="math_number" id=",Ja*v!T(pa}Qu7=LWxAu">
                            <field name="NUM">1</field>
                           </block>
                          </value>
                         </block>
                        </value>
                        <value name="ADD3">
                         <block type="bitbybit.point.pointXYZ" id="uYm4o*vA_RrM/D7B4k8S">
                          <value name="X">
                           <block type="math_number" id="[%5F8hu1)u,sih!0)CKK">
                            <field name="NUM">1</field>
                           </block>
                          </value>
                          <value name="Y">
                           <block type="math_number" id="rn!=@[_;:3B$b=o?r*xk">
                            <field name="NUM">0</field>
                           </block>
                          </value>
                          <value name="Z">
                           <block type="math_number" id="2?(p*k{Z[p1{`6`ZACfm">
                            <field name="NUM">10</field>
                           </block>
                          </value>
                         </block>
                        </value>
                       </block>
                      </value>
                     </block>
                    </value>
                    <value name="ADD1">
                     <block type="bitbybit.verb.curve.createCurveByPoints" id="iD-]c%}QUCe%PCUu`j=;">
                      <value name="Degree">
                       <block type="math_number" id="Mk:+,9XjAl!}a0awd5tO">
                        <field name="NUM">3</field>
                       </block>
                      </value>
                      <value name="Points">
                       <block type="lists_create_with" id="d#3^lY)tXj-J8}U^1jMc">
                        <mutation items="4">
                        </mutation>
                        <value name="ADD0">
                         <block type="bitbybit.point.pointXYZ" id="MOJLYl^u$RU=0bf,Muwf">
                          <value name="X">
                           <block type="math_number" id="rr/UCMxK6$`_*Z-D[to[">
                            <field name="NUM">1</field>
                           </block>
                          </value>
                          <value name="Y">
                           <block type="variables_get" id="=E3Cr#7.s*(]gIO*oV3Q">
                            <field name="VAR" id="-~3e:rHeD.E^/`~5NQl^">firstLevelHeight</field>
                           </block>
                          </value>
                          <value name="Z">
                           <block type="math_number" id="C^|T7`:6SB1gOJF/I!-z">
                            <field name="NUM">-2</field>
                           </block>
                          </value>
                         </block>
                        </value>
                        <value name="ADD1">
                         <block type="bitbybit.point.pointXYZ" id="Mn]vay^0Y2$l:KgEIKL$">
                          <value name="X">
                           <block type="math_number" id="noxgpD+f~-X:-Hu8ewM|">
                            <field name="NUM">1</field>
                           </block>
                          </value>
                          <value name="Y">
                           <block type="math_arithmetic" id="dMFVMQzRxRcbP.fLc+b5">
                            <field name="OP">ADD</field>
                            <value name="A">
                             <block type="variables_get" id="f7Qpb#C-Zavzh]%{=i1Q">
                              <field name="VAR" id="-~3e:rHeD.E^/`~5NQl^">firstLevelHeight</field>
                             </block>
                            </value>
                            <value name="B">
                             <block type="math_number" id="2xE2D|p]#F{Zk7u/V}Mp">
                              <field name="NUM">0.5</field>
                             </block>
                            </value>
                           </block>
                          </value>
                          <value name="Z">
                           <block type="math_number" id="2iT50ZfeoOTV~5Acb-mg">
                            <field name="NUM">0</field>
                           </block>
                          </value>
                         </block>
                        </value>
                        <value name="ADD2">
                         <block type="bitbybit.point.pointXYZ" id="3Aq~oleou`9TF*YR0zO*">
                          <value name="X">
                           <block type="math_number" id=")iakH3BHMu@|kRF8SXwg">
                            <field name="NUM">2</field>
                           </block>
                          </value>
                          <value name="Y">
                           <block type="variables_get" id="rX6;S6ZtPT0T|Njd|)%(">
                            <field name="VAR" id="-~3e:rHeD.E^/`~5NQl^">firstLevelHeight</field>
                           </block>
                          </value>
                          <value name="Z">
                           <block type="math_number" id="(sdC4glaP=kbMqBNk;xo">
                            <field name="NUM">1</field>
                           </block>
                          </value>
                         </block>
                        </value>
                        <value name="ADD3">
                         <block type="bitbybit.point.pointXYZ" id="qx[Av`x@=eHRE:ImQ_tM">
                          <value name="X">
                           <block type="math_number" id="nXhf)~YUJOi;P.XIe*)N">
                            <field name="NUM">2</field>
                           </block>
                          </value>
                          <value name="Y">
                           <block type="variables_get" id="3An6t5Zh2%UFPiC;Y2:`">
                            <field name="VAR" id="-~3e:rHeD.E^/`~5NQl^">firstLevelHeight</field>
                           </block>
                          </value>
                          <value name="Z">
                           <block type="math_number" id="ZCKGD@W?1oUi1mV,*96I">
                            <field name="NUM">4</field>
                           </block>
                          </value>
                         </block>
                        </value>
                       </block>
                      </value>
                     </block>
                    </value>
                    <value name="ADD2">
                     <block type="bitbybit.verb.curve.createCurveByPoints" id="E@R]AEQ/MJ.GmW%ZveDS">
                      <value name="Degree">
                       <block type="math_number" id="BaS65r?eZw#6^8KblzV%">
                        <field name="NUM">3</field>
                       </block>
                      </value>
                      <value name="Points">
                       <block type="lists_create_with" id="O|JE(Lq)+j2_vS[GM7U;">
                        <mutation items="4">
                        </mutation>
                        <value name="ADD0">
                         <block type="bitbybit.point.pointXYZ" id="+zht$]uK5./IU-h(%p0W">
                          <value name="X">
                           <block type="math_number" id="_.p-ZZI01BQHOP-@w=iP">
                            <field name="NUM">-3</field>
                           </block>
                          </value>
                          <value name="Y">
                           <block type="variables_get" id="zVS`EON`BA*Wy7]zdv:h">
                            <field name="VAR" id="8m8=RSb/)Z!fTQF[q_cM">secondLayerHeight</field>
                           </block>
                          </value>
                          <value name="Z">
                           <block type="math_number" id="Zji^SJ{3;s7Cc1NDv|g2">
                            <field name="NUM">-5</field>
                           </block>
                          </value>
                         </block>
                        </value>
                        <value name="ADD1">
                         <block type="bitbybit.point.pointXYZ" id="RO-t7X|DO_-$V`Sl8:_8">
                          <value name="X">
                           <block type="math_number" id="C^:Ab5~smQ_OTvo!f}nf">
                            <field name="NUM">-2</field>
                           </block>
                          </value>
                          <value name="Y">
                           <block type="variables_get" id="Pasb[tK}Nnv2CfcSE/Le">
                            <field name="VAR" id="8m8=RSb/)Z!fTQF[q_cM">secondLayerHeight</field>
                           </block>
                          </value>
                          <value name="Z">
                           <block type="math_number" id="H{GEM+(F_B}q]p]~//7V">
                            <field name="NUM">0</field>
                           </block>
                          </value>
                         </block>
                        </value>
                        <value name="ADD2">
                         <block type="bitbybit.point.pointXYZ" id="Nf=-cG~`0{z/aY1DF+FG">
                          <value name="X">
                           <block type="math_number" id="_n8|h6f.{rkmBFWnZG(Y">
                            <field name="NUM">0</field>
                           </block>
                          </value>
                          <value name="Y">
                           <block type="math_arithmetic" id="DpK2y;yRk*BC[l`A![`;">
                            <field name="OP">ADD</field>
                            <value name="A">
                             <block type="variables_get" id="Y(x.m;5/ktUc@-QV?QXL">
                              <field name="VAR" id="8m8=RSb/)Z!fTQF[q_cM">secondLayerHeight</field>
                             </block>
                            </value>
                            <value name="B">
                             <block type="math_number" id="Gf-=5)B!RUi`Zn^BlWU}">
                              <field name="NUM">1</field>
                             </block>
                            </value>
                           </block>
                          </value>
                          <value name="Z">
                           <block type="math_number" id="Z}gX3M=*FUNdO,A|G}Q7">
                            <field name="NUM">1</field>
                           </block>
                          </value>
                         </block>
                        </value>
                        <value name="ADD3">
                         <block type="bitbybit.point.pointXYZ" id="}8)%JgUjq*RMcov0tZsO">
                          <value name="X">
                           <block type="math_number" id="OqL$NBL1~crp0jL{|A8o">
                            <field name="NUM">0</field>
                           </block>
                          </value>
                          <value name="Y">
                           <block type="variables_get" id="x)S=VDr;p)xol$~)#@`^">
                            <field name="VAR" id="8m8=RSb/)Z!fTQF[q_cM">secondLayerHeight</field>
                           </block>
                          </value>
                          <value name="Z">
                           <block type="math_number" id="m%7sw;?hH:O!-O(+%(fM">
                            <field name="NUM">7</field>
                           </block>
                          </value>
                         </block>
                        </value>
                       </block>
                      </value>
                     </block>
                    </value>
                   </block>
                  </value>
                 </block>
                </value>
                <next>
                 <block type="variables_set" id="9]x1)#BH~78S`y{UX7*A">
                  <field name="VAR" id="uDB^3pilQ)*V%.~fBPbQ">surfaceRotated</field>
                  <value name="VALUE">
                   <block type="bitbybit.verb.surface.transformSurface" id="m,$*mJ`=+tV$(I9Qdi^`">
                    <value name="Surface">
                     <block type="bitbybit.verb.surface.transformSurface" id="!Vh73f4W!_z]6j]+BI~r">
                      <value name="Surface">
                       <block type="variables_get" id="BBnO_]YK3{(^p:pHv.#f">
                        <field name="VAR" id="%Pk:N/*q~RZTZU`gz:xO">surfaceLofted</field>
                       </block>
                      </value>
                      <value name="Transformation">
                       <block type="bitbybit.babylon.transforms.rotationCenterY" id="4SZL9N=:Tl]SjS@8*#qz">
                        <value name="Angle">
                         <block type="math_number" id="+uI==QEP0%GmEF07Ie}4">
                          <field name="NUM">180</field>
                         </block>
                        </value>
                        <value name="Center">
                         <block type="bitbybit.vector.vectorXYZ" id="DsnstMkmcneA7{]@Sb+p">
                          <value name="X">
                           <block type="math_number" id="$eFz{Pmb=T.Fv:*}]0{m">
                            <field name="NUM">0</field>
                           </block>
                          </value>
                          <value name="Y">
                           <block type="math_number" id="I5l#N22EuE*)zSzlm%^K">
                            <field name="NUM">0</field>
                           </block>
                          </value>
                          <value name="Z">
                           <block type="math_number" id="Rr12UNLQ(.]kC2~YuOS-">
                            <field name="NUM">0</field>
                           </block>
                          </value>
                         </block>
                        </value>
                       </block>
                      </value>
                     </block>
                    </value>
                    <value name="Transformation">
                     <block type="bitbybit.babylon.transforms.translationXYZ" id="TgPiV{rV2-+T3)X+)hVm">
                      <value name="Translation">
                       <block type="bitbybit.vector.vectorXYZ" id="UJr3+nF:e)qjzFWAT^?p">
                        <value name="X">
                         <block type="math_number" id="nFSH6?8/UM41,yyP|FJ!">
                          <field name="NUM">5</field>
                         </block>
                        </value>
                        <value name="Y">
                         <block type="math_number" id="4,@%@9g?YWMy!CbK{m~Z">
                          <field name="NUM">0</field>
                         </block>
                        </value>
                        <value name="Z">
                         <block type="math_number" id=")DR#!u#7A!iDpDXuMZat">
                          <field name="NUM">1</field>
                         </block>
                        </value>
                       </block>
                      </value>
                     </block>
                    </value>
                   </block>
                  </value>
                  <next>
                   <block type="variables_set" id="#97xW9%FtTosviQRU_Lc">
                    <field name="VAR" id="i|28j8~zA:2L]=%@dwX2">isoCurvesFirst</field>
                    <value name="VALUE">
                     <block type="bitbybit.verb.surface.isocurvesSubdivision" id="9H~=JBy`Zckd#e;|!Qd?">
                      <value name="Surface">
                       <block type="variables_get" id="TRf$|Yr;Xu`3rTY/arYM">
                        <field name="VAR" id="%Pk:N/*q~RZTZU`gz:xO">surfaceLofted</field>
                       </block>
                      </value>
                      <value name="UseV">
                       <block type="logic_boolean" id="xZVa9A%kk`jI)1hi;XQd">
                        <field name="BOOL">FALSE</field>
                       </block>
                      </value>
                      <value name="IncludeLast">
                       <block type="logic_boolean" id="mXJ]MzeR#3,.c2y1*-Db">
                        <field name="BOOL">TRUE</field>
                       </block>
                      </value>
                      <value name="IncludeFirst">
                       <block type="logic_boolean" id="Xo^RTPMsX`O69RRa?kC{">
                        <field name="BOOL">TRUE</field>
                       </block>
                      </value>
                      <value name="IsocurveSegments">
                       <block type="variables_get" id="%ezL)DM~p0X3*0D0qVJ6">
                        <field name="VAR" id="3czM?n3GtwbchQ[L1*xW">nrOfVerticalSubdivisions</field>
                       </block>
                      </value>
                     </block>
                    </value>
                    <next>
                     <block type="variables_set" id="V=bV}pMA`JFIuDkO_Qu.">
                      <field name="VAR" id="T,xof;Si}bYur-5X+$i*">isoCurvesSecond</field>
                      <value name="VALUE">
                       <block type="bitbybit.verb.surface.isocurvesSubdivision" id="qjfvTn`Z,^ue[]sp94R$">
                        <value name="Surface">
                         <block type="variables_get" id="VPisC@BDLTDAH;U(UygW">
                          <field name="VAR" id="uDB^3pilQ)*V%.~fBPbQ">surfaceRotated</field>
                         </block>
                        </value>
                        <value name="UseV">
                         <block type="logic_boolean" id="szjp:Rr$(d4`w(13%7I}">
                          <field name="BOOL">FALSE</field>
                         </block>
                        </value>
                        <value name="IncludeLast">
                         <block type="logic_boolean" id="6n]0;6$Vv%Y}Glk;FQr7">
                          <field name="BOOL">TRUE</field>
                         </block>
                        </value>
                        <value name="IncludeFirst">
                         <block type="logic_boolean" id="T:O{OkT;giJ$OO{xhm,f">
                          <field name="BOOL">TRUE</field>
                         </block>
                        </value>
                        <value name="IsocurveSegments">
                         <block type="variables_get" id="haw@url$ZIsKxBzaYH~*">
                          <field name="VAR" id="3czM?n3GtwbchQ[L1*xW">nrOfVerticalSubdivisions</field>
                         </block>
                        </value>
                       </block>
                      </value>
                      <next>
                       <block type="variables_set" id="S:w-4!`pcOqqK_`!XoX:">
                        <field name="VAR" id="Zz;AxFxh2-%;TVRMZ.F:">allHulls</field>
                        <value name="VALUE">
                         <block type="lists_create_with" id="AJ/#Pnv-sv3eg,5.u^rE">
                          <mutation items="0">
                          </mutation>
                         </block>
                        </value>
                        <next>
                         <block type="controls_for" id=")}Y]Xat7l3?`B6CEL(NH">
                          <field name="VAR" id="eo9jywI/rN9Ch4V@M.p,">i</field>
                          <value name="FROM">
                           <block type="math_number" id="mR4GBN6NT#;E86|Z5|:Y">
                            <field name="NUM">1</field>
                           </block>
                          </value>
                          <value name="TO">
                           <block type="variables_get" id="*ptwio8~@65R_IPuBiCC">
                            <field name="VAR" id="3czM?n3GtwbchQ[L1*xW">nrOfVerticalSubdivisions</field>
                           </block>
                          </value>
                          <value name="BY">
                           <block type="math_number" id="-??}5-q^Jvw8a}mUXd-1">
                            <field name="NUM">1</field>
                           </block>
                          </value>
                          <statement name="DO">
                           <block type="variables_set" id="Icb!o,t#5G+~RABY]_y2">
                            <field name="VAR" id="dJl0j^G+tB06_YP9$n]e">pointsFirstIsoCurve</field>
                            <value name="VALUE">
                             <block type="bitbybit.verb.curve.divideByEqualArcLengthToPoints" id="rF2^o!AY9-Y-uOD|wjLc">
                              <value name="Curve">
                               <block type="lists_getIndex" id="Kv%uR.sQ.aW|f$OBnv0M">
                                <mutation statement="false" at="true">
                                </mutation>
                                <field name="MODE">GET</field>
                                <field name="WHERE">FROM_START</field>
                                <value name="VALUE">
                                 <block type="variables_get" id="JqA0C0S:wWtZ`k._@KL9">
                                  <field name="VAR" id="i|28j8~zA:2L]=%@dwX2">isoCurvesFirst</field>
                                 </block>
                                </value>
                                <value name="AT">
                                 <block type="variables_get" id="ePIIkMpEv2:EI@uG-?u3">
                                  <field name="VAR" id="eo9jywI/rN9Ch4V@M.p,">i</field>
                                 </block>
                                </value>
                               </block>
                              </value>
                              <value name="Subdivision">
                               <block type="variables_get" id="qHyKpT7RZHMT1.aHQxl!">
                                <field name="VAR" id="EJs|BDIX`j/e1zgxqCW#">nrOfPoints</field>
                               </block>
                              </value>
                             </block>
                            </value>
                            <next>
                             <block type="variables_set" id="dCf:Vus`tOxv.~rJx)wF">
                              <field name="VAR" id="70`op`v;}PBD~]BhIp+l">pointsSecondIsoCurve</field>
                              <value name="VALUE">
                               <block type="bitbybit.verb.curve.divideByEqualArcLengthToPoints" id="w(1p_e88A2Xowz1zD%.{">
                                <value name="Curve">
                                 <block type="lists_getIndex" id="/Rjau~$a4fR/B0)u0c(H">
                                  <mutation statement="false" at="true">
                                  </mutation>
                                  <field name="MODE">GET</field>
                                  <field name="WHERE">FROM_END</field>
                                  <value name="VALUE">
                                   <block type="variables_get" id="RSjm{w_.=5w8k[nDHzE-">
                                    <field name="VAR" id="T,xof;Si}bYur-5X+$i*">isoCurvesSecond</field>
                                   </block>
                                  </value>
                                  <value name="AT">
                                   <block type="variables_get" id="rg}*:2fMrZ.YX-V*3VE8">
                                    <field name="VAR" id="eo9jywI/rN9Ch4V@M.p,">i</field>
                                   </block>
                                  </value>
                                 </block>
                                </value>
                                <value name="Subdivision">
                                 <block type="variables_get" id="L?*r.OpTdxLa+57?lsz9">
                                  <field name="VAR" id="EJs|BDIX`j/e1zgxqCW#">nrOfPoints</field>
                                 </block>
                                </value>
                               </block>
                              </value>
                              <next>
                               <block type="variables_set" id="Ko,CYU:,@[B2DKW9tiSC">
                                <field name="VAR" id="jQdSpV4QX9+X?955;6rN">allMidpoints</field>
                                <value name="VALUE">
                                 <block type="lists_create_with" id="?MRk$S,1F/72iWBAEYEA">
                                  <mutation items="0">
                                  </mutation>
                                 </block>
                                </value>
                                <next>
                                 <block type="controls_for" id="5,l+|2Kia/Qj9EhuC!OA">
                                  <field name="VAR" id="[jNR5^xhnc7GF2[@lr-*">j</field>
                                  <value name="FROM">
                                   <block type="math_number" id="k2zfGEI@/@#zTuUO1pfX">
                                    <field name="NUM">1</field>
                                   </block>
                                  </value>
                                  <value name="TO">
                                   <block type="variables_get" id="a[/o-knO`=VoEO(u!Oq3">
                                    <field name="VAR" id="EJs|BDIX`j/e1zgxqCW#">nrOfPoints</field>
                                   </block>
                                  </value>
                                  <value name="BY">
                                   <block type="math_number" id="_/S=O,JE;cs+/#ZMs=:}">
                                    <field name="NUM">1</field>
                                   </block>
                                  </value>
                                  <statement name="DO">
                                   <block type="variables_set" id="#Rb!b]dqeaZ#X$oLmoQ}">
                                    <field name="VAR" id="hkwJu-:`ZzBPH4^h|^p3">firstPoint</field>
                                    <value name="VALUE">
                                     <block type="lists_getIndex" id="rWgzoY~!Ra;D.pNyS]/;">
                                      <mutation statement="false" at="true">
                                      </mutation>
                                      <field name="MODE">GET</field>
                                      <field name="WHERE">FROM_START</field>
                                      <value name="VALUE">
                                       <block type="variables_get" id="#|WQz#CPPs2V%Qu1Y`u/">
                                        <field name="VAR" id="dJl0j^G+tB06_YP9$n]e">pointsFirstIsoCurve</field>
                                       </block>
                                      </value>
                                      <value name="AT">
                                       <block type="variables_get" id="4z(r!eQ@v=q0[0ad/KA#">
                                        <field name="VAR" id="[jNR5^xhnc7GF2[@lr-*">j</field>
                                       </block>
                                      </value>
                                     </block>
                                    </value>
                                    <next>
                                     <block type="variables_set" id="D3o#zj5c?gG@|}-mv7G!">
                                      <field name="VAR" id="R*@5S]@X(v~ib}_%mp(e">secondPoint</field>
                                      <value name="VALUE">
                                       <block type="lists_getIndex" id="AK#4^Y-EBAoq30hV681?">
                                        <mutation statement="false" at="true">
                                        </mutation>
                                        <field name="MODE">GET</field>
                                        <field name="WHERE">FROM_START</field>
                                        <value name="VALUE">
                                         <block type="variables_get" id="|B]R8XvAU8y+!{k]NzIo">
                                          <field name="VAR" id="70`op`v;}PBD~]BhIp+l">pointsSecondIsoCurve</field>
                                         </block>
                                        </value>
                                        <value name="AT">
                                         <block type="variables_get" id="WLUo,b;g;r7m7n@u#BYR">
                                          <field name="VAR" id="[jNR5^xhnc7GF2[@lr-*">j</field>
                                         </block>
                                        </value>
                                       </block>
                                      </value>
                                      <next>
                                       <block type="variables_set" id="gTe]od$sB;Y$0mV]mJlW">
                                        <field name="VAR" id="(/isNHCv1@[pbcbsiU}d">joiningCurve</field>
                                        <value name="VALUE">
                                         <block type="bitbybit.line.convertToNurbsCurve" id="ptyBVK/}gMvm8M4Z8Tjw">
                                          <value name="Line">
                                           <block type="bitbybit.line.create" id="bIS2vGTpV#7unxI_gTH5">
                                            <value name="Start">
                                             <block type="variables_get" id="f!S.Hw]J%J$|#5BiFe6f">
                                              <field name="VAR" id="hkwJu-:`ZzBPH4^h|^p3">firstPoint</field>
                                             </block>
                                            </value>
                                            <value name="End">
                                             <block type="variables_get" id="[$N^!Z]_$bt`htZxh`h{">
                                              <field name="VAR" id="R*@5S]@X(v~ib}_%mp(e">secondPoint</field>
                                             </block>
                                            </value>
                                           </block>
                                          </value>
                                         </block>
                                        </value>
                                        <next>
                                         <block type="variables_set" id="u-6eZ59Cl]ts{gns?{1K">
                                          <field name="VAR" id="#9TPzvFXmz#^mxSbr^2;">midPoint</field>
                                          <value name="VALUE">
                                           <block type="bitbybit.verb.curve.pointAtParam" id="!{*);KOi/4sO[su31M))">
                                            <value name="Curve">
                                             <block type="variables_get" id="@?/sO%=09px9L_SeIAen">
                                              <field name="VAR" id="(/isNHCv1@[pbcbsiU}d">joiningCurve</field>
                                             </block>
                                            </value>
                                            <value name="Parameter">
                                             <block type="variables_get" id="tN*p_?N=[kQP%.%0_o{!">
                                              <field name="VAR" id="#h4SlOr(B9Jl~r!]!,];">midParameter</field>
                                             </block>
                                            </value>
                                           </block>
                                          </value>
                                          <next>
                                           <block type="lists_setIndex" id="ll#=:k];[4NpCP17IPqf">
                                            <mutation at="false">
                                            </mutation>
                                            <field name="MODE">INSERT</field>
                                            <field name="WHERE">LAST</field>
                                            <value name="LIST">
                                             <block type="variables_get" id="jG6:]8L,R^l175-yj#Q8">
                                              <field name="VAR" id="jQdSpV4QX9+X?955;6rN">allMidpoints</field>
                                             </block>
                                            </value>
                                            <value name="TO">
                                             <block type="variables_get" id="L)+rKZ1]($(QA4Ip$bV/">
                                              <field name="VAR" id="#9TPzvFXmz#^mxSbr^2;">midPoint</field>
                                             </block>
                                            </value>
                                            <next>
                                             <block type="lists_setIndex" id="e(`!!j0W1wxcB9b1#RI{">
                                              <mutation at="false">
                                              </mutation>
                                              <field name="MODE">INSERT</field>
                                              <field name="WHERE">LAST</field>
                                              <value name="LIST">
                                               <block type="variables_get" id="l+Sf8y:Rt(+TFCxIG@,,">
                                                <field name="VAR" id="Zz;AxFxh2-%;TVRMZ.F:">allHulls</field>
                                               </block>
                                              </value>
                                              <value name="TO">
                                               <block type="bitbybit.jscad.hulls.hullChain" id="]rqSRymxqo_SmklX3{pu">
                                                <value name="Meshes">
                                                 <block type="lists_create_with" id="d{)xRjLj)P=-{0zE`tgd">
                                                  <mutation items="3">
                                                  </mutation>
                                                  <value name="ADD0">
                                                   <block type="bitbybit.jscad.shapes.geodesicSphere" id="ij?bFXWk7-$*fn.G4f_/">
                                                    <value name="Center">
                                                     <block type="variables_get" id=";0rd]3@w:Oy=)(VPrN}i">
                                                      <field name="VAR" id="hkwJu-:`ZzBPH4^h|^p3">firstPoint</field>
                                                     </block>
                                                    </value>
                                                    <value name="Radius">
                                                     <block type="variables_get" id="ep(C:]AUT@r[ulS6I]Q8">
                                                      <field name="VAR" id="1cp{/K_Q%Jy(WX%OgjF?">edgeRadius</field>
                                                     </block>
                                                    </value>
                                                    <value name="Frequency">
                                                     <block type="math_number" id="*t_2tTy|z]HXK#s%.dj{">
                                                      <field name="NUM">6</field>
                                                     </block>
                                                    </value>
                                                   </block>
                                                  </value>
                                                  <value name="ADD1">
                                                   <block type="bitbybit.jscad.shapes.geodesicSphere" id="wBuFzVxXkVLSw6P^C1[P">
                                                    <value name="Center">
                                                     <block type="variables_get" id="PLWPS3=NHZ#N]6V-a.3W">
                                                      <field name="VAR" id="#9TPzvFXmz#^mxSbr^2;">midPoint</field>
                                                     </block>
                                                    </value>
                                                    <value name="Radius">
                                                     <block type="variables_get" id="Fj~?;(Cbnz_H(q+fUc@`">
                                                      <field name="VAR" id="xf9p]3r#8iMXpX(29ezO">middleRadius</field>
                                                     </block>
                                                    </value>
                                                    <value name="Frequency">
                                                     <block type="math_number" id="Q[k5q?x]}/S9#w8NPNEx">
                                                      <field name="NUM">6</field>
                                                     </block>
                                                    </value>
                                                   </block>
                                                  </value>
                                                  <value name="ADD2">
                                                   <block type="bitbybit.jscad.shapes.geodesicSphere" id="2z;pW/NLK8Ej-zW]5fOl">
                                                    <value name="Center">
                                                     <block type="variables_get" id="zpdUIxLSj4E88QpYlEkU">
                                                      <field name="VAR" id="R*@5S]@X(v~ib}_%mp(e">secondPoint</field>
                                                     </block>
                                                    </value>
                                                    <value name="Radius">
                                                     <block type="variables_get" id="3LT}Gi{s+wYC=Ouex)~8">
                                                      <field name="VAR" id="1cp{/K_Q%Jy(WX%OgjF?">edgeRadius</field>
                                                     </block>
                                                    </value>
                                                    <value name="Frequency">
                                                     <block type="math_number" id="CN3)=N(VOfwvsZ6kUnWv">
                                                      <field name="NUM">6</field>
                                                     </block>
                                                    </value>
                                                   </block>
                                                  </value>
                                                 </block>
                                                </value>
                                               </block>
                                              </value>
                                             </block>
                                            </next>
                                           </block>
                                          </next>
                                         </block>
                                        </next>
                                       </block>
                                      </next>
                                     </block>
                                    </next>
                                   </block>
                                  </statement>
                                 </block>
                                </next>
                               </block>
                              </next>
                             </block>
                            </next>
                           </block>
                          </statement>
                          <next>
                           <block type="bitbybit.draw.drawAnyAsyncNoReturn" id="{=mz1Nau.6Z=Gk7gB$2d">
                            <value name="Entity">
                             <block type="variables_get" id="M##~lKs+0YS,$OBGbocP">
                              <field name="VAR" id="Zz;AxFxh2-%;TVRMZ.F:">allHulls</field>
                             </block>
                            </value>
                            <value name="Options">
                             <block type="bitbybit.draw.optionsSimple" id="8pnq5/:TFdRrC/6jKV8m">
                              <value name="Colours">
                               <block type="colour_picker" id="xfwQbgB2.M5Jw0_y-}Jh">
                                <field name="COLOUR">#3366ff</field>
                               </block>
                              </value>
                              <value name="Size">
                               <block type="math_number" id="ZK.yptm2m;1g.%v$l4A3">
                                <field name="NUM">3</field>
                               </block>
                              </value>
                              <value name="Opacity">
                               <block type="math_number" id="7[%{,NC8F-p8XHxyw|U|">
                                <field name="NUM">1</field>
                               </block>
                              </value>
                              <value name="Updatable">
                               <block type="logic_boolean" id="Zlv+w^Rvkt[RTO|7(Olw">
                                <field name="BOOL">FALSE</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>
 <block type="math_number" id="p~(=)/$J{^+aQuPv|wca" x="608" y="1188">
  <field name="NUM">0.5</field>
 </block>
</xml>