Jingle Bells 3D Model for your Christmas Tree

Jingle Bells 3D Model for your Christmas Tree script details
Type
Blockly logo image
blockly
App Version
0.13.2
Visibility
public
Date Created
Dec 21, 2022, 11:54:47 AM
Last Edit Date
Dec 28, 2023, 3:31:24 PM

Script Details

The 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>