Script: Jingle Bells 3D Model for your Christmas Tree

Jingle Bells 3D Model for your Christmas Tree picture
Type
Blockly logo indicatorblockly
Date Created
Dec 21, 2022, 1:54:47 PM
Last Edit Date
Dec 28, 2023, 5:31:24 PM

Project Information

This blockly script produces a 3D model of a bell decoration for your Christmas tree. We used new capability of bitbybit.dev to place 2D wires on 3D faces in order to be able to model this parametric shape. You can save this file to STL format and 3D print it. Feel free to modify the script to change the appearance of the bell. 3D print few of those and listen to some jingle bells hits!

View Full Project

Script Code

<xml xmlns="https://developers.google.com/blockly/xml">
 <variables>
  <variable id="_G7Yxl-_GtqM`JWZ{9_R">saveStl</variable>
  <variable id="/1%!K4D,j#vU,V:Ng8e$">saveStep</variable>
  <variable id="|OC#VJm$P.|+,DA4fTz9">saveGlb</variable>
  <variable id="vJ|+dx6pDnDUP7%?$kSe">surface</variable>
  <variable id=".Ds#k)qhoT2hzPm:Fwgq">filletBody</variable>
  <variable id="(-aYbpD19ERj]mcUD,dL">surface2</variable>
  <variable id="k,H~gD}v8j0Y~?fU*F({">points</variable>
  <variable id="W#[Iu?l@~/Sb}]zDGpYK">wirePromises</variable>
  <variable id="QIzAHQ$%tL-/cAcRAVlv">wirePromises2</variable>
  <variable id="8tdW(W1OCfSsXeKN:Lx5">sphereFace</variable>
  <variable id=":fbtRCSr^j]Kc[Q!!_k2">sphereFace2</variable>
  <variable id="}jje2))]`Qw7-d-zodM|">j</variable>
  <variable id="Zh0GEzVKxr2Jo5G$}~r(">wire2d</variable>
  <variable id="$*|qeRH~a+z~GOqL,Q3N">wires</variable>
  <variable id="-y]2mZ-;t6C^$@R{=X=/">wire2d2</variable>
  <variable id="2]CNr_6|[vr^)Lo=jx/`">wires2</variable>
  <variable id="q[fdOm6I+b5D{Bc|,/qo">loftPromises</variable>
  <variable id="?lI5a=+:3(eA.gtEz*f[">m</variable>
  <variable id="!18kK3r?GXQSOK,3sR;5">splitResult</variable>
  <variable id="AwR*39Y!a-{Nn2?IJWqG">splitResult2</variable>
  <variable id="oxnex0S-)iWJ2iOIlFfs">splitFace</variable>
  <variable id="eUFMHr[Pw^Tz.[9~I{[V">k</variable>
  <variable id="qLPm%[4]:2|$_=Cmi!Ko">bellModel</variable>
  <variable id="CSa,R3C[s;;6;gI$o/o^">drawnMesh</variable>
 </variables>
 <block type="variables_set" id="K.G||#S/,wMCR^|;F5/[" x="-26" y="-1669">
  <field name="VAR" id="_G7Yxl-_GtqM`JWZ{9_R">saveStl</field>
  <value name="VALUE">
   <block type="logic_boolean" id="?i/k1`]6s?n)#0U%ZR-u">
    <field name="BOOL">FALSE</field>
   </block>
  </value>
  <next>
   <block type="variables_set" id="5~0vH[o:TUf@iCMK@(:4">
    <field name="VAR" id="/1%!K4D,j#vU,V:Ng8e$">saveStep</field>
    <value name="VALUE">
     <block type="logic_boolean" id="mekbE%:/db6E$]qW3DQj">
      <field name="BOOL">FALSE</field>
     </block>
    </value>
    <next>
     <block type="variables_set" id="uX@g)FGX+tiCr!i,{mD{">
      <field name="VAR" id="|OC#VJm$P.|+,DA4fTz9">saveGlb</field>
      <value name="VALUE">
       <block type="logic_boolean" id="dIi0|DXf7z}JpIA2OVTm">
        <field name="BOOL">FALSE</field>
       </block>
      </value>
      <next>
       <block type="variables_set" id="RA!84=d(cJorOL}h^]Y)">
        <field name="VAR" id="vJ|+dx6pDnDUP7%?$kSe">surface</field>
        <value name="VALUE">
         <block type="bitbybit.occt.operations.revolve" id="u3s%9R)]`Yn_qOf-p8+0">
          <value name="Shape">
           <block type="bitbybit.occt.shapes.wire.createBSpline" id="qcR[a`+zMc*J#3|y!V`y">
            <value name="Points">
             <block type="lists_create_with" id="iQNEO|nvh![rq_oB-Qj2">
              <mutation items="6">
              </mutation>
              <value name="ADD0">
               <block type="bitbybit.point.pointXYZ" id="K_8h={6XTgu1nyN06g3c">
                <value name="X">
                 <block type="math_number" id="0Vo/_d}wc;FrvjC}mfIu">
                  <field name="NUM">0</field>
                 </block>
                </value>
                <value name="Y">
                 <block type="math_number" id="~dVT|7ZdrUY`R`.+Hs?-">
                  <field name="NUM">6.5</field>
                 </block>
                </value>
                <value name="Z">
                 <block type="math_number" id="~qgzJh-Qd|~Hy@9i9uot">
                  <field name="NUM">0.5</field>
                 </block>
                </value>
               </block>
              </value>
              <value name="ADD1">
               <block type="bitbybit.point.pointXYZ" id="QZlwbN/x^9bkNA`sl:s7">
                <value name="X">
                 <block type="math_number" id="@wI%VM/]l3cyruc2l.1m">
                  <field name="NUM">0</field>
                 </block>
                </value>
                <value name="Y">
                 <block type="math_number" id="z?(oIrCIek$i#JlA=jDv">
                  <field name="NUM">5.5</field>
                 </block>
                </value>
                <value name="Z">
                 <block type="math_number" id="1LRh$CPVJ8U=V6dwyw{_">
                  <field name="NUM">0.7</field>
                 </block>
                </value>
               </block>
              </value>
              <value name="ADD2">
               <block type="bitbybit.point.pointXYZ" id="s~L:TXu6ynM(+ndQe?@S">
                <value name="X">
                 <block type="math_number" id="(%[|M@zj_h{Mnvg8~Tp^">
                  <field name="NUM">0</field>
                 </block>
                </value>
                <value name="Y">
                 <block type="math_number" id="dJS{7ysF54~ER2}D~VCz">
                  <field name="NUM">4</field>
                 </block>
                </value>
                <value name="Z">
                 <block type="math_number" id="V{u*rAt1X%h,%BLS==#C">
                  <field name="NUM">1.8</field>
                 </block>
                </value>
               </block>
              </value>
              <value name="ADD3">
               <block type="bitbybit.point.pointXYZ" id="i,]CWA1my+;d-tfRecaf">
                <value name="X">
                 <block type="math_number" id="^6Vb`%O=lkcUtdbt]SQh">
                  <field name="NUM">0</field>
                 </block>
                </value>
                <value name="Y">
                 <block type="math_number" id="f[VwBqOO!$tt]%=P$2?5">
                  <field name="NUM">0.5</field>
                 </block>
                </value>
                <value name="Z">
                 <block type="math_number" id="jxxFS@epvOh=77)KCt}M">
                  <field name="NUM">2.3</field>
                 </block>
                </value>
               </block>
              </value>
              <value name="ADD4">
               <block type="bitbybit.point.pointXYZ" id="}.,b5t|4D-L57*o8]F-K">
                <value name="X">
                 <block type="math_number" id="(:cXoszmW:.8ccNPd@Oc">
                  <field name="NUM">0</field>
                 </block>
                </value>
                <value name="Y">
                 <block type="math_number" id=")^B#`_)#p8MpbTUKa[gB">
                  <field name="NUM">0</field>
                 </block>
                </value>
                <value name="Z">
                 <block type="math_number" id="6iU795PZ^PdvJaazYI$x">
                  <field name="NUM">2.8</field>
                 </block>
                </value>
               </block>
              </value>
              <value name="ADD5">
               <block type="bitbybit.point.pointXYZ" id="l2M$);P~3E}kT!Y#9sPm">
                <value name="X">
                 <block type="math_number" id="zNb2%($qt;SCRgXB:yp0">
                  <field name="NUM">0</field>
                 </block>
                </value>
                <value name="Y">
                 <block type="math_number" id="DsbM-:5SesX.HYB$2`C!">
                  <field name="NUM">-0.5</field>
                 </block>
                </value>
                <value name="Z">
                 <block type="math_number" id="Dsq7SX9AbyPC)=Q8c4Uw">
                  <field name="NUM">2.75</field>
                 </block>
                </value>
               </block>
              </value>
             </block>
            </value>
            <value name="Closed">
             <block type="logic_boolean" id="Ajm_q^_0:R]sgm+E|2^d">
              <field name="BOOL">FALSE</field>
             </block>
            </value>
           </block>
          </value>
          <value name="Angle">
           <block type="math_number" id="X%z76]k_oqmHj3*%S!W}">
            <field name="NUM">360</field>
           </block>
          </value>
          <value name="Direction">
           <block type="bitbybit.point.pointXYZ" id="$q3}bU!BJts8,Sp|7lgP">
            <value name="X">
             <block type="math_number" id="(e}x3dWN]B6s#m}EC#*h">
              <field name="NUM">0</field>
             </block>
            </value>
            <value name="Y">
             <block type="math_number" id="=vJ1%/`SXr$FUZ:S|6J]">
              <field name="NUM">-1</field>
             </block>
            </value>
            <value name="Z">
             <block type="math_number" id="520);?*pBsmxhzR6-/Dn">
              <field name="NUM">0</field>
             </block>
            </value>
           </block>
          </value>
          <value name="Copy">
           <block type="logic_boolean" id="=jenIu,z~IixQOv8mXSm">
            <field name="BOOL">FALSE</field>
           </block>
          </value>
         </block>
        </value>
        <next>
         <block type="variables_set" id="tJRZm%8=l,;mJm#f:.-z">
          <field name="VAR" id=".Ds#k)qhoT2hzPm:Fwgq">filletBody</field>
          <value name="VALUE">
           <block type="bitbybit.occt.fillets.filletEdges" id="Cb{^Q;ku%DmSSB@kIyw5">
            <value name="Shape">
             <block type="bitbybit.occt.operations.makeThickSolidSimple" id="W7Z#~AT.-;r[s`s?u7UH">
              <value name="Shape">
               <block type="variables_get" id="*!:|[tv^`GLlKI|81!q)">
                <field name="VAR" id="vJ|+dx6pDnDUP7%?$kSe">surface</field>
               </block>
              </value>
              <value name="Offset">
               <block type="math_number" id="DmRcrlkUSL%z9HceDryx">
                <field name="NUM">-0.3</field>
               </block>
              </value>
             </block>
            </value>
            <value name="Radius">
             <block type="math_number" id="8k$z{Vvqv}7DO#E,OiLD">
              <field name="NUM">0.05</field>
             </block>
            </value>
           </block>
          </value>
          <next>
           <block type="variables_set" id="$pWouO!MvQeS(dAUm9C2">
            <field name="VAR" id="vJ|+dx6pDnDUP7%?$kSe">surface</field>
            <value name="VALUE">
             <block type="bitbybit.occt.shapes.face.getFace" id="[i!LEf,5Nw=$B-#,Hq$=">
              <value name="Shape">
               <block type="variables_get" id="5y)N,!we}Jcsgl~o_Qi@">
                <field name="VAR" id=".Ds#k)qhoT2hzPm:Fwgq">filletBody</field>
               </block>
              </value>
              <value name="Index">
               <block type="math_number" id="K7uf,a|Yf!i7]hXK.w-r">
                <field name="NUM">0</field>
               </block>
              </value>
             </block>
            </value>
            <next>
             <block type="variables_set" id="g0=D2j2X_[3Xe1LQ@ce0">
              <field name="VAR" id="(-aYbpD19ERj]mcUD,dL">surface2</field>
              <value name="VALUE">
               <block type="bitbybit.occt.shapes.face.getFace" id="]u=rA~TRl8WEnNjmR:iH">
                <value name="Shape">
                 <block type="variables_get" id="/uI#j2HaXR}zkmlC?ncT">
                  <field name="VAR" id=".Ds#k)qhoT2hzPm:Fwgq">filletBody</field>
                 </block>
                </value>
                <value name="Index">
                 <block type="math_number" id="=d5I@)/30%%#nYHt~:1P">
                  <field name="NUM">7</field>
                 </block>
                </value>
               </block>
              </value>
              <next>
               <block type="bitbybit.babylon.scene.enableSkybox" id="PqJ1*{KzE$d;f{Pj_+^/">
                <value name="Skybox">
                 <block type="bitbybit.babylon.enums.skyboxEnum" id=".8tu?||c3a$nmoXO6tVy">
                  <field name="bitbybit.babylon.enums.skyboxEnum">'city'</field>
                 </block>
                </value>
                <value name="Size">
                 <block type="math_number" id="p1hj!+?8i,A2mo;@3O|l">
                  <field name="NUM">1000</field>
                 </block>
                </value>
                <value name="Blur">
                 <block type="math_number" id="pmb:Hu#+{9feHZ4c)m)]">
                  <field name="NUM">0.4</field>
                 </block>
                </value>
                <value name="EnvironmentIntensity">
                 <block type="math_number" id="=6/Gs`V%x#10{$WmpAet">
                  <field name="NUM">0.8</field>
                 </block>
                </value>
                <next>
                 <block type="base_time_async_context" id=":b%{f~i72I4(!_i(Yv1v">
                  <statement name="Then">
                   <block type="variables_set" id="Zmdq*e{TX08W@Z:=3L%i">
                    <field name="VAR" id="k,H~gD}v8j0Y~?fU*F({">points</field>
                    <value name="VALUE">
                     <block type="base_time_await_return" id="r0^n!Jkf/PE:5BHY;2C/">
                      <value name="Promise">
                       <block type="bitbybit.occt.shapes.face.subdivideToUV" id="S86C-g*l2=+/GnhJ:JSq">
                        <value name="Shape">
                         <block type="variables_get" id="M~JVKR4TPQtzfp:bKRX7">
                          <field name="VAR" id="vJ|+dx6pDnDUP7%?$kSe">surface</field>
                         </block>
                        </value>
                        <value name="NrDivisionsU">
                         <block type="math_number" id="2,mE#.;!Mz49/Z_)dLTi">
                          <field name="NUM">7</field>
                         </block>
                        </value>
                        <value name="NrDivisionsV">
                         <block type="math_number" id="#?!XU?,=x@|ll5pfqXW$">
                          <field name="NUM">7</field>
                         </block>
                        </value>
                        <value name="ShiftHalfStepU">
                         <block type="logic_boolean" id="GyNlQ##|M;9J}%gQN6KS">
                          <field name="BOOL">TRUE</field>
                         </block>
                        </value>
                        <value name="RemoveStartEdgeU">
                         <block type="logic_boolean" id="A{9AIg{M]4qfA;,`%:y[">
                          <field name="BOOL">FALSE</field>
                         </block>
                        </value>
                        <value name="RemoveEndEdgeU">
                         <block type="logic_boolean" id="IgA5N[~Ym7d1E,8ORWvD">
                          <field name="BOOL">TRUE</field>
                         </block>
                        </value>
                        <value name="ShiftHalfStepV">
                         <block type="logic_boolean" id="l1ncdA/88_K,1?=[S5h:">
                          <field name="BOOL">FALSE</field>
                         </block>
                        </value>
                        <value name="RemoveStartEdgeV">
                         <block type="logic_boolean" id="-vt{hK#b(xj?^-Zkmj^8">
                          <field name="BOOL">TRUE</field>
                         </block>
                        </value>
                        <value name="RemoveEndEdgeV">
                         <block type="logic_boolean" id="yevu3vIThbUc9%0B^4#I">
                          <field name="BOOL">TRUE</field>
                         </block>
                        </value>
                       </block>
                      </value>
                     </block>
                    </value>
                    <next>
                     <block type="variables_set" id="kh2OI@4eCLWr*Ho:zgVq">
                      <field name="VAR" id="W#[Iu?l@~/Sb}]zDGpYK">wirePromises</field>
                      <value name="VALUE">
                       <block type="lists_create_with" id="-wv0y9$bbf#d|dd:J%u@">
                        <mutation items="0">
                        </mutation>
                       </block>
                      </value>
                      <next>
                       <block type="variables_set" id="gI{+y{1s-1dFYxn^VDtW">
                        <field name="VAR" id="QIzAHQ$%tL-/cAcRAVlv">wirePromises2</field>
                        <value name="VALUE">
                         <block type="lists_create_with" id=";MW7)iT+EyXm0~2lYrhC">
                          <mutation items="0">
                          </mutation>
                         </block>
                        </value>
                        <next>
                         <block type="variables_set" id="9jHstGr%o-6:JcE-N*^p">
                          <field name="VAR" id="8tdW(W1OCfSsXeKN:Lx5">sphereFace</field>
                          <value name="VALUE">
                           <block type="variables_get" id="NMd2|[a_6Lfmz]v`lD96">
                            <field name="VAR" id="vJ|+dx6pDnDUP7%?$kSe">surface</field>
                           </block>
                          </value>
                          <next>
                           <block type="variables_set" id="~AznF9~axDDIs83XlL=a">
                            <field name="VAR" id=":fbtRCSr^j]Kc[Q!!_k2">sphereFace2</field>
                            <value name="VALUE">
                             <block type="variables_get" id="b3C4hWwj~(eUqc(rXjnB">
                              <field name="VAR" id="(-aYbpD19ERj]mcUD,dL">surface2</field>
                             </block>
                            </value>
                            <next>
                             <block type="controls_forEach" id="lNkLAO^$L63^nJ466;vH">
                              <field name="VAR" id="}jje2))]`Qw7-d-zodM|">j</field>
                              <value name="LIST">
                               <block type="variables_get" id="hBK2[#x)SwQD^G,``qz%">
                                <field name="VAR" id="k,H~gD}v8j0Y~?fU*F({">points</field>
                               </block>
                              </value>
                              <statement name="DO">
                               <block type="variables_set" id="i!c~%8-4FZ?@T?UsH[4{">
                                <field name="VAR" id="Zh0GEzVKxr2Jo5G$}~r(">wire2d</field>
                                <value name="VALUE">
                                 <block type="bitbybit.occt.transforms.translate" id="O@E7cluLJ?#-NrW,|1,z">
                                  <value name="Shape">
                                   <block type="bitbybit.occt.transforms.scale3d" id="3j7x~JmNlG52L}n{p@cX">
                                    <value name="Shape">
                                     <block type="bitbybit.occt.fillets.fillet2d" id="H$^~PJGK~Shq-I13RW8e">
                                      <value name="Shape">
                                       <block type="bitbybit.occt.shapes.wire.createStarWire" id="FhHYA1fv_+UCj8Mn!i)/">
                                        <value name="Center">
                                         <block type="bitbybit.point.pointXYZ" id="G$YT@]XjrayqJ]eZk3d{">
                                          <value name="X">
                                           <block type="math_number" id="p@LT-DSB0P}K]wI@~0[Z">
                                            <field name="NUM">0</field>
                                           </block>
                                          </value>
                                          <value name="Y">
                                           <block type="math_number" id="UkpSCgdRori8OgqC^B07">
                                            <field name="NUM">0</field>
                                           </block>
                                          </value>
                                          <value name="Z">
                                           <block type="math_number" id="+-P46pL5W%s;2H4Q$g!W">
                                            <field name="NUM">0</field>
                                           </block>
                                          </value>
                                         </block>
                                        </value>
                                        <value name="Direction">
                                         <block type="bitbybit.point.pointXYZ" id="0o}totJ]rW^_oEUK-FW]">
                                          <value name="X">
                                           <block type="math_number" id="fhP)YcT?cChei;X(]H18">
                                            <field name="NUM">0</field>
                                           </block>
                                          </value>
                                          <value name="Y">
                                           <block type="math_number" id=":@o;K1d_zbg9hJE[KMwh">
                                            <field name="NUM">1</field>
                                           </block>
                                          </value>
                                          <value name="Z">
                                           <block type="math_number" id="Yv~R};Jcjm9+~WbJaEBD">
                                            <field name="NUM">0</field>
                                           </block>
                                          </value>
                                         </block>
                                        </value>
                                        <value name="NumRays">
                                         <block type="math_number" id="4.D?^ki*Z|J5_o~%oH[S">
                                          <field name="NUM">7</field>
                                         </block>
                                        </value>
                                        <value name="OuterRadius">
                                         <block type="math_number" id="SV.t0R;[_4%Lm^~#pPe/">
                                          <field name="NUM">0.6</field>
                                         </block>
                                        </value>
                                        <value name="InnerRadius">
                                         <block type="math_number" id="LBFQ%d^xc}?e*%4P-9Yy">
                                          <field name="NUM">0.2</field>
                                         </block>
                                        </value>
                                        <value name="Half">
                                         <block type="logic_boolean" id="L7wBubiJJ`5+N7;3[888">
                                          <field name="BOOL">FALSE</field>
                                         </block>
                                        </value>
                                       </block>
                                      </value>
                                      <value name="Radius">
                                       <block type="math_number" id="0|N@IN-*6]?AK+`zj(#n">
                                        <field name="NUM">0.03</field>
                                       </block>
                                      </value>
                                     </block>
                                    </value>
                                    <value name="Scale">
                                     <block type="bitbybit.point.pointXYZ" id="5FDt9LoiYH6OKTeE?cS~">
                                      <value name="X">
                                       <block type="math_number" id="a5;gOI?c5UKHLc_WG.P2">
                                        <field name="NUM">0.2</field>
                                       </block>
                                      </value>
                                      <value name="Y">
                                       <block type="math_number" id="z7sm(!Hjz^X)P#07lHdX">
                                        <field name="NUM">1</field>
                                       </block>
                                      </value>
                                      <value name="Z">
                                       <block type="math_number" id="{g~1pOAZxW?,e^,luvJ%">
                                        <field name="NUM">1</field>
                                       </block>
                                      </value>
                                     </block>
                                    </value>
                                    <value name="Center">
                                     <block type="bitbybit.point.pointXYZ" id="!{T-7INq6ibpZf?PA7Le">
                                      <value name="X">
                                       <block type="math_number" id="v6@.*4eT}enMVu#KI4:L">
                                        <field name="NUM">0</field>
                                       </block>
                                      </value>
                                      <value name="Y">
                                       <block type="math_number" id="%xKz%1EM-LE,^OQ_bwNM">
                                        <field name="NUM">0</field>
                                       </block>
                                      </value>
                                      <value name="Z">
                                       <block type="math_number" id="e*z`gCd_ddRBwvb^3{)#">
                                        <field name="NUM">0</field>
                                       </block>
                                      </value>
                                     </block>
                                    </value>
                                   </block>
                                  </value>
                                  <value name="Translation">
                                   <block type="bitbybit.point.pointXYZ" id="+!{81*KuYTvC8eTkkx@S">
                                    <value name="X">
                                     <block type="lists_getIndex" id="korU/.,g;L;W~rRD%38I">
                                      <mutation statement="false" at="false">
                                      </mutation>
                                      <field name="MODE">GET</field>
                                      <field name="WHERE">LAST</field>
                                      <value name="VALUE">
                                       <block type="variables_get" id="S2g:qBs8iMS{$C*u^5Y7">
                                        <field name="VAR" id="}jje2))]`Qw7-d-zodM|">j</field>
                                       </block>
                                      </value>
                                     </block>
                                    </value>
                                    <value name="Y">
                                     <block type="math_number" id="$@geFm)J!^hF[P-uR*H?">
                                      <field name="NUM">0</field>
                                     </block>
                                    </value>
                                    <value name="Z">
                                     <block type="lists_getIndex" id="/vyxii_]gWpHrD-dqbzc">
                                      <mutation statement="false" at="false">
                                      </mutation>
                                      <field name="MODE">GET</field>
                                      <field name="WHERE">FIRST</field>
                                      <value name="VALUE">
                                       <block type="variables_get" id="uN+M5pYqsOP_mxYSOc@%">
                                        <field name="VAR" id="}jje2))]`Qw7-d-zodM|">j</field>
                                       </block>
                                      </value>
                                     </block>
                                    </value>
                                   </block>
                                  </value>
                                 </block>
                                </value>
                                <next>
                                 <block type="variables_set" id="u@-*i1q4~W!2HOx4_}/~">
                                  <field name="VAR" id="-y]2mZ-;t6C^$@R{=X=/">wire2d2</field>
                                  <value name="VALUE">
                                   <block type="bitbybit.occt.transforms.translate" id="ORV^7DL?;5imGvvjV%K.">
                                    <value name="Shape">
                                     <block type="bitbybit.occt.transforms.scale3d" id="6hXbF!-JYtmzV+=OH0}`">
                                      <value name="Shape">
                                       <block type="bitbybit.occt.fillets.fillet2d" id="Tz.SzzQ$gBO(Tw4Ohwz%">
                                        <value name="Shape">
                                         <block type="bitbybit.occt.shapes.wire.createStarWire" id="dB2:D#S5uVS~S{T%ii7q">
                                          <value name="Center">
                                           <block type="bitbybit.point.pointXYZ" id="NBV=nO}jI=xjZ?7F2}uS">
                                            <value name="X">
                                             <block type="math_number" id="lZ99^y/%l:U~kSno^tX@">
                                              <field name="NUM">0</field>
                                             </block>
                                            </value>
                                            <value name="Y">
                                             <block type="math_number" id="U):_X~5J$/IwkZfC6E`v">
                                              <field name="NUM">0</field>
                                             </block>
                                            </value>
                                            <value name="Z">
                                             <block type="math_number" id="v70268;#c1PRj{~XKp/N">
                                              <field name="NUM">0</field>
                                             </block>
                                            </value>
                                           </block>
                                          </value>
                                          <value name="Direction">
                                           <block type="bitbybit.point.pointXYZ" id="=dluh;kgu{?@=9ymU=O/">
                                            <value name="X">
                                             <block type="math_number" id="/Cv5I^ZX]W$dePi94K2h">
                                              <field name="NUM">0</field>
                                             </block>
                                            </value>
                                            <value name="Y">
                                             <block type="math_number" id=".dSr(UfRha4QVJ9C~e-2">
                                              <field name="NUM">1</field>
                                             </block>
                                            </value>
                                            <value name="Z">
                                             <block type="math_number" id="-EqmF@X~gbd`m(CrD]w8">
                                              <field name="NUM">0</field>
                                             </block>
                                            </value>
                                           </block>
                                          </value>
                                          <value name="NumRays">
                                           <block type="math_number" id="{W7umg_V;J0z!{COPSE~">
                                            <field name="NUM">7</field>
                                           </block>
                                          </value>
                                          <value name="OuterRadius">
                                           <block type="math_number" id="vY$%B0|4BU$_/Ed6%47H">
                                            <field name="NUM">0.35</field>
                                           </block>
                                          </value>
                                          <value name="InnerRadius">
                                           <block type="math_number" id="Kx/xLBv#^9CZ#f.4LKWs">
                                            <field name="NUM">0.1</field>
                                           </block>
                                          </value>
                                          <value name="Half">
                                           <block type="logic_boolean" id="As?tC-Wp?(KT/o%kch/D">
                                            <field name="BOOL">FALSE</field>
                                           </block>
                                          </value>
                                         </block>
                                        </value>
                                        <value name="Radius">
                                         <block type="math_number" id="4FC]{|BkzwBH2TnHqsTt">
                                          <field name="NUM">0.02</field>
                                         </block>
                                        </value>
                                       </block>
                                      </value>
                                      <value name="Scale">
                                       <block type="bitbybit.point.pointXYZ" id="I-+FTZE4r/{2Cp0:s}U2">
                                        <value name="X">
                                         <block type="math_number" id="e6~0^F}Gi:3H,vIcI7#V">
                                          <field name="NUM">0.2</field>
                                         </block>
                                        </value>
                                        <value name="Y">
                                         <block type="math_number" id="EKKVoC*=,tK{3%dc}*J_">
                                          <field name="NUM">1</field>
                                         </block>
                                        </value>
                                        <value name="Z">
                                         <block type="math_number" id="=e%0#|rVQR(0ulXja`ha">
                                          <field name="NUM">1</field>
                                         </block>
                                        </value>
                                       </block>
                                      </value>
                                      <value name="Center">
                                       <block type="bitbybit.point.pointXYZ" id="f$8F]DD+mui$Um~LCx9%">
                                        <value name="X">
                                         <block type="math_number" id="U2;Rw.ff{{zFUlAsTBen">
                                          <field name="NUM">0</field>
                                         </block>
                                        </value>
                                        <value name="Y">
                                         <block type="math_number" id="7[]kr%av%_vSrT3+n|*N">
                                          <field name="NUM">0</field>
                                         </block>
                                        </value>
                                        <value name="Z">
                                         <block type="math_number" id="TY)%(rT~Y|oLQOHN1Z2k">
                                          <field name="NUM">0</field>
                                         </block>
                                        </value>
                                       </block>
                                      </value>
                                     </block>
                                    </value>
                                    <value name="Translation">
                                     <block type="bitbybit.point.pointXYZ" id="r{VzCCb$]P88{vSvFLDB">
                                      <value name="X">
                                       <block type="lists_getIndex" id="U(ODWmVP92876UV/ee_U">
                                        <mutation statement="false" at="false">
                                        </mutation>
                                        <field name="MODE">GET</field>
                                        <field name="WHERE">LAST</field>
                                        <value name="VALUE">
                                         <block type="variables_get" id="kx5{Y/Fsa*@{O6y#I]79">
                                          <field name="VAR" id="}jje2))]`Qw7-d-zodM|">j</field>
                                         </block>
                                        </value>
                                       </block>
                                      </value>
                                      <value name="Y">
                                       <block type="math_number" id="~7c$(^r94yzH;UWPts%9">
                                        <field name="NUM">0</field>
                                       </block>
                                      </value>
                                      <value name="Z">
                                       <block type="lists_getIndex" id="kv5z$VXF-@A@[{:S-Ll;">
                                        <mutation statement="false" at="false">
                                        </mutation>
                                        <field name="MODE">GET</field>
                                        <field name="WHERE">FIRST</field>
                                        <value name="VALUE">
                                         <block type="variables_get" id="*kx0nRjf66b)gI~Shh}u">
                                          <field name="VAR" id="}jje2))]`Qw7-d-zodM|">j</field>
                                         </block>
                                        </value>
                                       </block>
                                      </value>
                                     </block>
                                    </value>
                                   </block>
                                  </value>
                                  <next>
                                   <block type="lists_setIndex" id="oU}3}:Jxp^SU?5t,x#{~">
                                    <mutation at="false">
                                    </mutation>
                                    <field name="MODE">INSERT</field>
                                    <field name="WHERE">LAST</field>
                                    <value name="LIST">
                                     <block type="variables_get" id="%77iR39HV{xX_7yXI9UP">
                                      <field name="VAR" id="W#[Iu?l@~/Sb}]zDGpYK">wirePromises</field>
                                     </block>
                                    </value>
                                    <value name="TO">
                                     <block type="variables_get" id="e%{p-gDYg!=?AY./UMbe">
                                      <field name="VAR" id="Zh0GEzVKxr2Jo5G$}~r(">wire2d</field>
                                     </block>
                                    </value>
                                    <next>
                                     <block type="lists_setIndex" id="BP+CQWqohl9GjK%{-0*s">
                                      <mutation at="false">
                                      </mutation>
                                      <field name="MODE">INSERT</field>
                                      <field name="WHERE">LAST</field>
                                      <value name="LIST">
                                       <block type="variables_get" id="za_t0zCzc(k4ZwI;_h(%">
                                        <field name="VAR" id="QIzAHQ$%tL-/cAcRAVlv">wirePromises2</field>
                                       </block>
                                      </value>
                                      <value name="TO">
                                       <block type="variables_get" id=",QMI;oyhKogLf(]4IQWv">
                                        <field name="VAR" id="-y]2mZ-;t6C^$@R{=X=/">wire2d2</field>
                                       </block>
                                      </value>
                                     </block>
                                    </next>
                                   </block>
                                  </next>
                                 </block>
                                </next>
                               </block>
                              </statement>
                              <next>
                               <block type="variables_set" id="*X}OybEA#/,,F1Iq5R^:">
                                <field name="VAR" id="$*|qeRH~a+z~GOqL,Q3N">wires</field>
                                <value name="VALUE">
                                 <block type="base_time_await_return" id="lH_:fcdSUD6k.aioH]!Y">
                                  <value name="Promise">
                                   <block type="bitbybit.occt.shapes.wire.placeWiresOnFace" id="pB?s@a7}Bdf(i;4K}NBu">
                                    <value name="Wires">
                                     <block type="variables_get" id="iSRXIY=m4tF8Z;,0G4m:">
                                      <field name="VAR" id="W#[Iu?l@~/Sb}]zDGpYK">wirePromises</field>
                                     </block>
                                    </value>
                                    <value name="Face">
                                     <block type="variables_get" id="p^T5LL5$.;2zg+,^m4!!">
                                      <field name="VAR" id="vJ|+dx6pDnDUP7%?$kSe">surface</field>
                                     </block>
                                    </value>
                                   </block>
                                  </value>
                                 </block>
                                </value>
                                <next>
                                 <block type="variables_set" id="V;}m+|=|#}SY-ejYg%Jc">
                                  <field name="VAR" id="2]CNr_6|[vr^)Lo=jx/`">wires2</field>
                                  <value name="VALUE">
                                   <block type="base_time_await_return" id="#0Z?pcLkV`,xuaun=Uo1">
                                    <value name="Promise">
                                     <block type="bitbybit.occt.shapes.wire.placeWiresOnFace" id="b?9#J1xhacUD_w$k6ud,">
                                      <value name="Wires">
                                       <block type="variables_get" id=".=G5BgJktllKB4_ioK^S">
                                        <field name="VAR" id="QIzAHQ$%tL-/cAcRAVlv">wirePromises2</field>
                                       </block>
                                      </value>
                                      <value name="Face">
                                       <block type="variables_get" id="kUENzrsO**@z?/zfgFox">
                                        <field name="VAR" id="(-aYbpD19ERj]mcUD,dL">surface2</field>
                                       </block>
                                      </value>
                                     </block>
                                    </value>
                                   </block>
                                  </value>
                                  <next>
                                   <block type="variables_set" id="pI4vMp=Ckm.5Jz#{J-i3">
                                    <field name="VAR" id="q[fdOm6I+b5D{Bc|,/qo">loftPromises</field>
                                    <value name="VALUE">
                                     <block type="lists_create_with" id="G682!Sfm[s)79u_mU-0Q">
                                      <mutation items="0">
                                      </mutation>
                                     </block>
                                    </value>
                                    <next>
                                     <block type="controls_for" id="_E#J-9fgVzuOBh%Eo%u,">
                                      <field name="VAR" id="?lI5a=+:3(eA.gtEz*f[">m</field>
                                      <value name="FROM">
                                       <block type="math_number" id="(2+:KV;BOfo_oOV|t,B%">
                                        <field name="NUM">1</field>
                                       </block>
                                      </value>
                                      <value name="TO">
                                       <block type="lists_length" id="%KO,hr7N$-|Z=]Kgv8f8">
                                        <value name="VALUE">
                                         <block type="variables_get" id="{~Dc5YMl~}^P*![|ik?6">
                                          <field name="VAR" id="$*|qeRH~a+z~GOqL,Q3N">wires</field>
                                         </block>
                                        </value>
                                       </block>
                                      </value>
                                      <value name="BY">
                                       <block type="math_number" id="}04w+ZgbF;LqkCq7R#_o">
                                        <field name="NUM">1</field>
                                       </block>
                                      </value>
                                      <statement name="DO">
                                       <block type="lists_setIndex" id="H~y?8B~8uJobaiVpapgx">
                                        <mutation at="false">
                                        </mutation>
                                        <field name="MODE">INSERT</field>
                                        <field name="WHERE">LAST</field>
                                        <value name="LIST">
                                         <block type="variables_get" id="WY@+}RbV(;;S(JmN|3?I">
                                          <field name="VAR" id="q[fdOm6I+b5D{Bc|,/qo">loftPromises</field>
                                         </block>
                                        </value>
                                        <value name="TO">
                                         <block type="bitbybit.occt.operations.loft" id="Q[Y|r$#Nrsw=P2OOZBP8">
                                          <value name="Shapes">
                                           <block type="lists_create_with" id="FT0;B[K}$]vPIw9TdLPA">
                                            <mutation items="2">
                                            </mutation>
                                            <value name="ADD0">
                                             <block type="lists_getIndex" id="}{l@WIQY]d.NWZke1|08">
                                              <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="u/F]^M}P)(FfpHw[3AFk">
                                                <field name="VAR" id="$*|qeRH~a+z~GOqL,Q3N">wires</field>
                                               </block>
                                              </value>
                                              <value name="AT">
                                               <block type="variables_get" id="$):9GyI!jB@G|W7OBs/i">
                                                <field name="VAR" id="?lI5a=+:3(eA.gtEz*f[">m</field>
                                               </block>
                                              </value>
                                             </block>
                                            </value>
                                            <value name="ADD1">
                                             <block type="lists_getIndex" id="zkEYSfI[}z7{i1IyyOko">
                                              <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="B2;n?$|]R3$R!{gEL36i">
                                                <field name="VAR" id="2]CNr_6|[vr^)Lo=jx/`">wires2</field>
                                               </block>
                                              </value>
                                              <value name="AT">
                                               <block type="variables_get" id="t56cG]sy00/|*_Bj9jv0">
                                                <field name="VAR" id="?lI5a=+:3(eA.gtEz*f[">m</field>
                                               </block>
                                              </value>
                                             </block>
                                            </value>
                                           </block>
                                          </value>
                                          <value name="MakeSolid">
                                           <block type="logic_boolean" id=",qRP^c_vOYoP3SGTxW/^">
                                            <field name="BOOL">FALSE</field>
                                           </block>
                                          </value>
                                         </block>
                                        </value>
                                       </block>
                                      </statement>
                                      <next>
                                       <block type="variables_set" id="jk2SE5;JaWDI*IY4uqTa">
                                        <field name="VAR" id="!18kK3r?GXQSOK,3sR;5">splitResult</field>
                                        <value name="VALUE">
                                         <block type="base_time_await_return" id="J}$(bMU*k}c:pe#g,3GI">
                                          <value name="Promise">
                                           <block type="bitbybit.occt.shapes.face.getFaces" id="#GBadx~I|yCSEMl(S9#*">
                                            <value name="Shape">
                                             <block type="bitbybit.occt.operations.splitShapeWithShapes" id="FSl/:r4*^#`ESu=2DWV6">
                                              <value name="Shape">
                                               <block type="variables_get" id="lzY8R}m;[(fK2=Wgo^3f">
                                                <field name="VAR" id="vJ|+dx6pDnDUP7%?$kSe">surface</field>
                                               </block>
                                              </value>
                                              <value name="Shapes">
                                               <block type="variables_get" id="0olT3|EYJNZaQ9ij#Foa">
                                                <field name="VAR" id="$*|qeRH~a+z~GOqL,Q3N">wires</field>
                                               </block>
                                              </value>
                                             </block>
                                            </value>
                                           </block>
                                          </value>
                                         </block>
                                        </value>
                                        <next>
                                         <block type="variables_set" id="g$!%kObqPuW[6_D@u`Xy">
                                          <field name="VAR" id="AwR*39Y!a-{Nn2?IJWqG">splitResult2</field>
                                          <value name="VALUE">
                                           <block type="base_time_await_return" id="6}Rf,AZ(#=ox3uN-L{Ds">
                                            <value name="Promise">
                                             <block type="bitbybit.occt.shapes.face.getFaces" id="Y[H~uGKt]QMKki.gA[1C">
                                              <value name="Shape">
                                               <block type="bitbybit.occt.operations.splitShapeWithShapes" id="5HaW9Q|23p/i8z|U/]V`">
                                                <value name="Shape">
                                                 <block type="variables_get" id=":@guz|56oyk?IMl{Qz7?">
                                                  <field name="VAR" id="(-aYbpD19ERj]mcUD,dL">surface2</field>
                                                 </block>
                                                </value>
                                                <value name="Shapes">
                                                 <block type="variables_get" id="_kw.NFz1Ko7N,ga;_4mj">
                                                  <field name="VAR" id="2]CNr_6|[vr^)Lo=jx/`">wires2</field>
                                                 </block>
                                                </value>
                                               </block>
                                              </value>
                                             </block>
                                            </value>
                                           </block>
                                          </value>
                                          <next>
                                           <block type="variables_set" id="qTum`AdW#av8Wb^vur$!">
                                            <field name="VAR" id="oxnex0S-)iWJ2iOIlFfs">splitFace</field>
                                            <value name="VALUE">
                                             <block type="lists_getIndex" id="`vH~ps%oP6+sM*}?uM42">
                                              <mutation statement="false" at="true">
                                              </mutation>
                                              <field name="MODE">GET_REMOVE</field>
                                              <field name="WHERE">FROM_START</field>
                                              <value name="VALUE">
                                               <block type="variables_get" id="4cqFLSd/$u#${eO{g:=b">
                                                <field name="VAR" id="!18kK3r?GXQSOK,3sR;5">splitResult</field>
                                               </block>
                                              </value>
                                              <value name="AT">
                                               <block type="math_arithmetic" id="):7;K;)TY5[FevO[!Zjb">
                                                <field name="OP">MINUS</field>
                                                <value name="A">
                                                 <block type="lists_length" id="Mj#%Fz}Z=FK}R;jcu%n;">
                                                  <value name="VALUE">
                                                   <block type="variables_get" id="YP{(%n_#hs{RwZW+l]HE">
                                                    <field name="VAR" id="!18kK3r?GXQSOK,3sR;5">splitResult</field>
                                                   </block>
                                                  </value>
                                                 </block>
                                                </value>
                                                <value name="B">
                                                 <block type="math_number" id="%r1}I,tQ]v[e8zqd7}m1">
                                                  <field name="NUM">1</field>
                                                 </block>
                                                </value>
                                               </block>
                                              </value>
                                             </block>
                                            </value>
                                            <next>
                                             <block type="lists_setIndex" id="6+A$PqGY`p5Mv]4oSFx*">
                                              <mutation at="false">
                                              </mutation>
                                              <field name="MODE">INSERT</field>
                                              <field name="WHERE">LAST</field>
                                              <value name="LIST">
                                               <block type="variables_get" id="!RK/54]90H.(Zdf,T/fe">
                                                <field name="VAR" id="q[fdOm6I+b5D{Bc|,/qo">loftPromises</field>
                                               </block>
                                              </value>
                                              <value name="TO">
                                               <block type="bitbybit.occt.shapes.face.reversedFace" id="O6ij|A%xQEX}4.qD[WSn">
                                                <value name="Shape">
                                                 <block type="variables_get" id="#Jrq@M$Q^+0Slchm8$p+">
                                                  <field name="VAR" id="oxnex0S-)iWJ2iOIlFfs">splitFace</field>
                                                 </block>
                                                </value>
                                               </block>
                                              </value>
                                              <next>
                                               <block type="lists_setIndex" id="[#KWr8}Jm6}ONDb@xtl,">
                                                <mutation at="false">
                                                </mutation>
                                                <field name="MODE">INSERT</field>
                                                <field name="WHERE">LAST</field>
                                                <value name="LIST">
                                                 <block type="variables_get" id="*,qm|V_b}(OCqU1lPZI{">
                                                  <field name="VAR" id="q[fdOm6I+b5D{Bc|,/qo">loftPromises</field>
                                                 </block>
                                                </value>
                                                <value name="TO">
                                                 <block type="lists_getIndex" id="TQOk!8OQ2f2ck3W;@Tmz">
                                                  <mutation statement="false" at="true">
                                                  </mutation>
                                                  <field name="MODE">GET_REMOVE</field>
                                                  <field name="WHERE">FROM_START</field>
                                                  <value name="VALUE">
                                                   <block type="variables_get" id="MG@Dpt_-36G=-Znxq;C}">
                                                    <field name="VAR" id="AwR*39Y!a-{Nn2?IJWqG">splitResult2</field>
                                                   </block>
                                                  </value>
                                                  <value name="AT">
                                                   <block type="math_arithmetic" id="4,a?IzL^x1|;Rv`19jN#">
                                                    <field name="OP">MINUS</field>
                                                    <value name="A">
                                                     <block type="lists_length" id="n(6@/?._^wcH7e5*[8Q3">
                                                      <value name="VALUE">
                                                       <block type="variables_get" id="-TVv|II_n.p^m/eY]s9g">
                                                        <field name="VAR" id="AwR*39Y!a-{Nn2?IJWqG">splitResult2</field>
                                                       </block>
                                                      </value>
                                                     </block>
                                                    </value>
                                                    <value name="B">
                                                     <block type="math_number" id="=fD5j^7K|u77f4,:~`EP">
                                                      <field name="NUM">1</field>
                                                     </block>
                                                    </value>
                                                   </block>
                                                  </value>
                                                 </block>
                                                </value>
                                                <next>
                                                 <block type="controls_for" id="fYZY0cFNi||Chi#J8qkh">
                                                  <field name="VAR" id="eUFMHr[Pw^Tz.[9~I{[V">k</field>
                                                  <value name="FROM">
                                                   <block type="math_number" id="aH@;43B$0xwat1`;bIDN">
                                                    <field name="NUM">1</field>
                                                   </block>
                                                  </value>
                                                  <value name="TO">
                                                   <block type="math_number" id=";/b`URK$|Rci{Z~V^{~1">
                                                    <field name="NUM">6</field>
                                                   </block>
                                                  </value>
                                                  <value name="BY">
                                                   <block type="math_number" id=".gS6Ym9Vdrr{Y,,z1s1?">
                                                    <field name="NUM">1</field>
                                                   </block>
                                                  </value>
                                                  <statement name="DO">
                                                   <block type="lists_setIndex" id="]h?oE}X5!$4xFH03Qo*M">
                                                    <mutation at="false">
                                                    </mutation>
                                                    <field name="MODE">INSERT</field>
                                                    <field name="WHERE">LAST</field>
                                                    <value name="LIST">
                                                     <block type="variables_get" id="ChQu^Smva@*~I2T92/rF">
                                                      <field name="VAR" id="q[fdOm6I+b5D{Bc|,/qo">loftPromises</field>
                                                     </block>
                                                    </value>
                                                    <value name="TO">
                                                     <block type="bitbybit.occt.shapes.face.getFace" id="54E{8J#+v_/A5Gkp.WeV">
                                                      <value name="Shape">
                                                       <block type="variables_get" id="pZiaE.p|NPJYfs!C+Awy">
                                                        <field name="VAR" id=".Ds#k)qhoT2hzPm:Fwgq">filletBody</field>
                                                       </block>
                                                      </value>
                                                      <value name="Index">
                                                       <block type="variables_get" id="2~P5Gt`(sE_SAC$px|FL">
                                                        <field name="VAR" id="eUFMHr[Pw^Tz.[9~I{[V">k</field>
                                                       </block>
                                                      </value>
                                                     </block>
                                                    </value>
                                                   </block>
                                                  </statement>
                                                  <next>
                                                   <block type="variables_set" id="kru8o#*W2eg-jaZ)JKk7">
                                                    <field name="VAR" id="qLPm%[4]:2|$_=Cmi!Ko">bellModel</field>
                                                    <value name="VALUE">
                                                     <block type="bitbybit.occt.shapes.solid.fromClosedShell" id="s*[8i4ZF$Rryk|5Im37p">
                                                      <value name="Shape">
                                                       <block type="bitbybit.occt.shapes.face.reversedFace" id="bb0~db1I*/PIl68g`|XU">
                                                        <value name="Shape">
                                                         <block type="bitbybit.occt.shapes.shell.sewFaces" id=".?-/{6FB=[=82lbV*LL4">
                                                          <value name="Shapes">
                                                           <block type="variables_get" id="p)@TBG)DR(|Axe1`NyDT">
                                                            <field name="VAR" id="q[fdOm6I+b5D{Bc|,/qo">loftPromises</field>
                                                           </block>
                                                          </value>
                                                          <value name="Tolerance">
                                                           <block type="math_number" id="I#Xz}G1)rh{6=bJ/sAY}">
                                                            <field name="NUM">1e-7</field>
                                                           </block>
                                                          </value>
                                                         </block>
                                                        </value>
                                                       </block>
                                                      </value>
                                                     </block>
                                                    </value>
                                                    <next>
                                                     <block type="variables_set" id="(,*+~%@*fEdZdzX4Xptn">
                                                      <field name="VAR" id="CSa,R3C[s;;6;gI$o/o^">drawnMesh</field>
                                                      <value name="VALUE">
                                                       <block type="bitbybit.draw.drawAnyAsync" id="4LCpdev3)Kmg963[z%Zb">
                                                        <value name="Entity">
                                                         <block type="variables_get" id="j~CYV+@~~!]r,=6xFTJz">
                                                          <field name="VAR" id="qLPm%[4]:2|$_=Cmi!Ko">bellModel</field>
                                                         </block>
                                                        </value>
                                                        <value name="Options">
                                                         <block type="bitbybit.draw.optionsOcctShapeMaterial" id="0iT=4!c0r=*N{/huR:_5">
                                                          <value name="Precision">
                                                           <block type="math_number" id="Pko#CSu.TU6|Z3!dfkWe">
                                                            <field name="NUM">0.005</field>
                                                           </block>
                                                          </value>
                                                          <value name="FaceMaterial">
                                                           <block type="bitbybit.babylon.material.pbrMetallicRoughness.create" id="jn+Bw1c|Lw)}]RW!t?Ic">
                                                            <value name="Name">
                                                             <block type="text" id="7a;{;,VPloqBy34lFx;x">
                                                              <field name="TEXT">Custom Name</field>
                                                             </block>
                                                            </value>
                                                            <value name="BaseColor">
                                                             <block type="colour_picker" id="J1OnDti?%c$J,|~1L3$8">
                                                              <field name="COLOUR">#6600cc</field>
                                                             </block>
                                                            </value>
                                                            <value name="Metallic">
                                                             <block type="math_number" id="M;/eUUeMN|w^c:wmrKTx">
                                                              <field name="NUM">1</field>
                                                             </block>
                                                            </value>
                                                            <value name="Roughness">
                                                             <block type="math_number" id="*~9+D{K:Td^`PJdL=E2L">
                                                              <field name="NUM">0.2</field>
                                                             </block>
                                                            </value>
                                                            <value name="Alpha">
                                                             <block type="math_number" id="3+A}pwBu1dw/(^MLiJ/d">
                                                              <field name="NUM">1</field>
                                                             </block>
                                                            </value>
                                                            <value name="BackFaceCulling">
                                                             <block type="logic_boolean" id="eWJPZM)N*/~`Lrp?%Tn3">
                                                              <field name="BOOL">TRUE</field>
                                                             </block>
                                                            </value>
                                                            <value name="ZOffset">
                                                             <block type="math_number" id="BF.,,S?aFRE7zh3C!ATO">
                                                              <field name="NUM">2</field>
                                                             </block>
                                                            </value>
                                                           </block>
                                                          </value>
                                                          <value name="DrawEdges">
                                                           <block type="logic_boolean" id="l$$[$Z/[/2la`AX7{qd7">
                                                            <field name="BOOL">TRUE</field>
                                                           </block>
                                                          </value>
                                                          <value name="EdgeColour">
                                                           <block type="colour_picker" id="9lORC_qs|-clbWf$~Sue">
                                                            <field name="COLOUR">#ffffff</field>
                                                           </block>
                                                          </value>
                                                          <value name="EdgeWidth">
                                                           <block type="math_number" id="Z:Ay9:dsODU.M0KKf]6Y">
                                                            <field name="NUM">2</field>
                                                           </block>
                                                          </value>
                                                         </block>
                                                        </value>
                                                       </block>
                                                      </value>
                                                      <next>
                                                       <block type="base_time_await" id="R$COgUHSu5C1c]j}DA(b">
                                                        <value name="Promise">
                                                         <block type="variables_get" id="Xj*jz/Te(_,@l7S11x_m">
                                                          <field name="VAR" id="CSa,R3C[s;;6;gI$o/o^">drawnMesh</field>
                                                         </block>
                                                        </value>
                                                        <next>
                                                         <block type="controls_if" id="%1f=!fXN_3=wRlk5vXWq">
                                                          <value name="IF0">
                                                           <block type="variables_get" id="OBQ[;%[e5ei/*5PzgeVz">
                                                            <field name="VAR" id="_G7Yxl-_GtqM`JWZ{9_R">saveStl</field>
                                                           </block>
                                                          </value>
                                                          <statement name="DO0">
                                                           <block type="bitbybit.occt.io.saveShapeStl" id="f+CyW{udSy5PKl#dhWk.">
                                                            <value name="Shape">
                                                             <block type="variables_get" id="#mAC13]ZW|YS(${YD42(">
                                                              <field name="VAR" id="qLPm%[4]:2|$_=Cmi!Ko">bellModel</field>
                                                             </block>
                                                            </value>
                                                            <value name="FileName">
                                                             <block type="text" id="bhsj2dcJ:hzM!H[,LLvG">
                                                              <field name="TEXT">bitbybit-bell</field>
                                                             </block>
                                                            </value>
                                                            <value name="Precision">
                                                             <block type="math_number" id="kBLTnF^nXESXm8skxd}v">
                                                              <field name="NUM">0.005</field>
                                                             </block>
                                                            </value>
                                                            <value name="AdjustYtoZ">
                                                             <block type="logic_boolean" id="SLM`4;mw.KS}[+uHreOn">
                                                              <field name="BOOL">TRUE</field>
                                                             </block>
                                                            </value>
                                                           </block>
                                                          </statement>
                                                          <next>
                                                           <block type="controls_if" id="J4e)#YHP(SC2fPUIB5jQ">
                                                            <value name="IF0">
                                                             <block type="variables_get" id="?Wo*j-@34k7.rn18%f%]">
                                                              <field name="VAR" id="/1%!K4D,j#vU,V:Ng8e$">saveStep</field>
                                                             </block>
                                                            </value>
                                                            <statement name="DO0">
                                                             <block type="bitbybit.occt.io.saveShapeSTEP" id="/+36!Q%PsBJ1g|8U-{@w">
                                                              <value name="Shape">
                                                               <block type="variables_get" id="8Tua$*Lt*@pxEm`z6UKm">
                                                                <field name="VAR" id="qLPm%[4]:2|$_=Cmi!Ko">bellModel</field>
                                                               </block>
                                                              </value>
                                                              <value name="FileName">
                                                               <block type="text" id="(,K+PK5(y=!]@zq%2UjE">
                                                                <field name="TEXT">bitbybit-bell.step</field>
                                                               </block>
                                                              </value>
                                                              <value name="AdjustYtoZ">
                                                               <block type="logic_boolean" id="*i5K_amWO7h`{HIH0SOZ">
                                                                <field name="BOOL">TRUE</field>
                                                               </block>
                                                              </value>
                                                             </block>
                                                            </statement>
                                                            <next>
                                                             <block type="controls_if" id="VZrkrWPn;OWZ[`K^P^8-">
                                                              <value name="IF0">
                                                               <block type="variables_get" id="$4/{pnK:ep7J%],-a0VV">
                                                                <field name="VAR" id="|OC#VJm$P.|+,DA4fTz9">saveGlb</field>
                                                               </block>
                                                              </value>
                                                              <statement name="DO0">
                                                               <block type="bitbybit.babylon.io.exportGLB" id="SPX9V.3bI]q8k=c@Ad=E">
                                                                <value name="FileName">
                                                                 <block type="text" id="s|,.m47[8_4q{L(h!xw1">
                                                                  <field name="TEXT">bell.glb</field>
                                                                 </block>
                                                                </value>
                                                               </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>
                                      </next>
                                     </block>
                                    </next>
                                   </block>
                                  </next>
                                 </block>
                                </next>
                               </block>
                              </next>
                             </block>
                            </next>
                           </block>
                          </next>
                         </block>
                        </next>
                       </block>
                      </next>
                     </block>
                    </next>
                   </block>
                  </statement>
                 </block>
                </next>
               </block>
              </next>
             </block>
            </next>
           </block>
          </next>
         </block>
        </next>
       </block>
      </next>
     </block>
    </next>
   </block>
  </next>
 </block>
</xml>