Skip to main content

Build a drone: payload and sizes

The last parts hang under the frame: a camera on its gimbal and the battery in its straps. Then one number shows what the functions were made for.

  1. The payload hangs under the frame: a camera on its gimbal at the front, its lens in glass, and the battery in two straps.

    • Make the function gimbal:
      • set bracket to extrude(shape face from wire(shape fillet 2d(shape polygon wire([point xyz(-4, 19, -4), point xyz(19.5, 19, -4), point xyz(19.5, -7, -4), point xyz(14.5, -7, -4), point xyz(14.5, 15, -4), point xyz(-4, 15, -4)]), radius 1.5), planar true), direction vector xyz(0, 0, 8))
      • return translate(shape union(shapes [cylinder(radius 9, height 8, center point xyz(0, 18, 0), direction vector xyz(0, 1, 0)), bracket, cylinder(radius 6, height 5, center point xyz(14.5, 0, 0), direction vector xyz(-1, 0, 0))], keep edges false), translation vector xyz(0, -26, 55))
    • Make the function camera:
      • return union(shapes [fillet edges(shape box(width 24, length 20, height 18, center point xyz(0, -26, 55)), radius 3), cylinder(radius 6.5, height 9, center point xyz(0, -26, 63), direction vector xyz(0, 0, 1))], keep edges false)
    • Make the function lens:
      • return cylinder(radius 5.2, height 1.5, center point xyz(0, -26, 71.5), direction vector xyz(0, 0, 1))
    • Make the function battery:
      • return fillet edges(shape box(width 36, length 72, height 26, center point xyz(0, -16, -20)), radius 3)
    • Make the function straps:
      • set strap to difference(shape box(width 40, length 10, height 30, center point xyz(0, 0, 0)), shapes [box(width 36.5, length 12, height 26.5, center point xyz(0, 0, 0))], keep edges false)
      • return make compound([translate(shape strap, translation vector xyz(0, -16, -42)), translate(shape strap, translation vector xyz(0, -16, 2))])
    • Add a stack under the others:
      • draw any async no return(entity gimbal(), options aluminium)
      • set polymer to look("polymer", #2a2d31, 0.05, 0.4, #000000, #f2f2f2, 6)
      • draw any async no return(entity [camera(), battery()], options polymer)
      • draw any async no return(entity lens(), options look("glass", #0c1522, 0.1, 0.05, #000000, #f2f2f2, 4))
      • draw any async no return(entity straps(), options accent)
    • Run it with Run The Code.
    Build a drone in the Blockly editor, payload and sizes: The payload hangs under the frame: a camera on its gimbal at the front, its lens in glass, and the battery in two straps.
  2. Change one number: with six arms the drone rebuilds, everything around repeats follows, and the propeller shrinks to fit between its neighbours.

    • In set arms to 4, change 4 to 6.
    • Run it with Run The Code.
    Build a drone in the Blockly editor, payload and sizes: Change one number: with six arms the drone rebuilds, everything around repeats follows, and the propeller shrinks to fit between its neighbours.

The finished drone​

The script the chapters build, to run here:

Bitbybit Platform

Build a drone

blockly logoBlockly
Script Source (blockly)
<xml xmlns="https://developers.google.com/blockly/xml"><variables><variable id="arms">arms</variable><variable id="length">length</variable><variable id="diameter">diameter</variable><variable id="name">name</variable><variable id="colour">colour</variable><variable id="metallic">metallic</variable><variable id="roughness">roughness</variable><variable id="glow">glow</variable><variable id="edge colour">edge colour</variable><variable id="edge width">edge width</variable><variable id="plate">plate</variable><variable id="shape">shape</variable><variable id="count">count</variable><variable id="legs">legs</variable><variable id="half back">half back</variable><variable id="one arm">one arm</variable><variable id="profile">profile</variable><variable id="propellers">propellers</variable><variable id="lights">lights</variable><variable id="front">front</variable><variable id="shell">shell</variable><variable id="placed logo">placed logo</variable><variable id="neighbours">neighbours</variable><variable id="arm length">arm length</variable><variable id="outline">outline</variable><variable id="angles">angles</variable><variable id="post">post</variable><variable id="tip">tip</variable><variable id="cuts">cuts</variable><variable id="span">span</variable><variable id="first blade">first blade</variable><variable id="clamp">clamp</variable><variable id="spun">spun</variable><variable id="chosen">chosen</variable><variable id="wires">wires</variable><variable id="paint">paint</variable><variable id="middle">middle</variable><variable id="logo">logo</variable><variable id="antenna">antenna</variable><variable id="rubber">rubber</variable><variable id="bent">bent</variable><variable id="carbon">carbon</variable><variable id="rings">rings</variable><variable id="bolt">bolt</variable><variable id="bracket">bracket</variable><variable id="strap">strap</variable><variable id="aluminium">aluminium</variable><variable id="polymer">polymer</variable><variable id="canopy room">canopy room</variable><variable id="largest">largest</variable><variable id="propeller size">propeller size</variable><variable id="slab">slab</variable><variable id="top plate">top plate</variable><variable id="i">i</variable><variable id="body">body</variable><variable id="holes">holes</variable><variable id="sections">sections</variable><variable id="hub">hub</variable><variable id="motor bolt">motor bolt</variable><variable id="placed">placed</variable><variable id="section">section</variable><variable id="faces">faces</variable><variable id="cells">cells</variable><variable id="box">box</variable><variable id="scaled">scaled</variable><variable id="tube">tube</variable><variable id="ring">ring</variable><variable id="hexagons">hexagons</variable><variable id="socket">socket</variable><variable id="bolt pair">bolt pair</variable><variable id="copper">copper</variable><variable id="housing">housing</variable><variable id="station">station</variable><variable id="lamp">lamp</variable><variable id="canopy cells">canopy cells</variable><variable id="areas">areas</variable><variable id="steel">steel</variable><variable id="vents">vents</variable><variable id="accent">accent</variable><variable id="pad">pad</variable><variable id="one motor">one motor</variable><variable id="nut">nut</variable><variable id="r">r</variable><variable id="x">x</variable><variable id="centre">centre</variable><variable id="largest side">largest side</variable><variable id="ellipse">ellipse</variable><variable id="angle">angle</variable><variable id="turned">turned</variable><variable id="one stator">one stator</variable><variable id="half">half</variable><variable id="normal">normal</variable><variable id="hexagon">hexagon</variable><variable id="one propeller">one propeller</variable><variable id="new cells">new cells</variable><variable id="arm fixings">arm fixings</variable><variable id="green">green</variable><variable id="one light">one light</variable><variable id="front lights">front lights</variable><variable id="back lights">back lights</variable></variables><block type="procedures_defreturn" id="fitPropeller" collapsed="true" x="0" y="0"><mutation><arg name="arms" varid="arms"></arg><arg name="length" varid="length"></arg><arg name="diameter" varid="diameter"></arg></mutation><field name="NAME">fit propeller</field><comment pinned="false" h="80" w="160">Describe this function...</comment><statement name="STACK"><block type="variables_set" id=":VsBrsvN$H{!|fac|187"><field name="VAR" id="neighbours">neighbours</field><value name="VALUE"><block type="math_arithmetic" id="!eSuolDd$@6y@_cuCznJ"><field name="OP">MINUS</field><value name="A"><block type="math_arithmetic" id="Tb38k,IB_d6kFo9`*d;_"><field name="OP">MULTIPLY</field><value name="A"><block type="math_arithmetic" id="~^I{Gzllh2(hcLFk1$*p"><field name="OP">MULTIPLY</field><value name="A"><block type="math_number" id="[QFR`~,$+8[VcKpVa.d%"><field name="NUM">2</field></block></value><value name="B"><block type="variables_get" id="b]-XQ%KZK9W_4wgUgRYq"><field name="VAR" id="length">length</field></block></value></block></value><value name="B"><block type="bitbybit.math.sin" id="O^KlMdUfh0~gPeHcYpp8"><value name="Number"><block type="math_arithmetic" id="7TP*,J0yiG=Cw[pvl!j?"><field name="OP">DIVIDE</field><value name="A"><block type="bitbybit.math.pi" id="Ff7rn1lk/h-D23lex/U("></block></value><value name="B"><block type="variables_get" id="9MqZ0l*j]?#/=%KgLEcz"><field name="VAR" id="arms">arms</field></block></value></block></value></block></value></block></value><value name="B"><block type="math_number" id="99?=6*e^ybE6B~Y`Z%JI"><field name="NUM">10</field></block></value></block></value><next><block type="variables_set" id="b@Q2J[L%r4i(VrTD^^cl"><field name="VAR" id="canopy room">canopy room</field><value name="VALUE"><block type="math_arithmetic" id="J6MQ^td8G_s=I.O:/=0Z"><field name="OP">MULTIPLY</field><value name="A"><block type="math_number" id="q}[v@T2cogjV%Jh0uFD["><field name="NUM">2</field></block></value><value name="B"><block type="math_arithmetic" id="J^M%gKl3`qh_4$h)2[h1"><field name="OP">MINUS</field><value name="A"><block type="variables_get" id="1,6hG|QDs)43(3p-+rkF"><field name="VAR" id="length">length</field></block></value><value name="B"><block type="math_number" id="q=/=$EvPUw,~LT0|^uat"><field name="NUM">68</field></block></value></block></value></block></value><next><block type="variables_set" id="6~Zz,=3NGjQk|:|?W,*{"><field name="VAR" id="largest">largest</field><value name="VALUE"><block type="math_arithmetic" id="72sD={0oQ0,@~~n.BXa3"><field name="OP">MULTIPLY</field><value name="A"><block type="math_round" id="PwsYPLg:h#Bw%Me*c5A:"><field name="OP">ROUNDDOWN</field><value name="NUM"><block type="math_arithmetic" id="+Q4((WiTxhI*2U)C^11|"><field name="OP">DIVIDE</field><value name="A"><block type="logic_ternary" id="ZUX#[PYuZEOOo~X_A=1q"><value name="IF"><block type="logic_compare" id="+0j3{/V:eO7LxjxC~E4b"><field name="OP">LT</field><value name="A"><block type="variables_get" id="g*L3jKDC[egI3wE{e?Eg"><field name="VAR" id="neighbours">neighbours</field></block></value><value name="B"><block type="variables_get" id="vi{A=^pn~Zmh|C}Q!SBY"><field name="VAR" id="canopy room">canopy room</field></block></value></block></value><value name="THEN"><block type="variables_get" id="{~XO~hq,E-hh^^.38Q2V"><field name="VAR" id="neighbours">neighbours</field></block></value><value name="ELSE"><block type="variables_get" id="zkM^oWg@7!ms8f~d]Ec+"><field name="VAR" id="canopy room">canopy room</field></block></value></block></value><value name="B"><block type="math_number" id="(MXtgq@v1(LJw#1?N)Iy"><field name="NUM">5</field></block></value></block></value></block></value><value name="B"><block type="math_number" id="Ri8tf[MtUcxh;*P@zh$@"><field name="NUM">5</field></block></value></block></value></block></next></block></next></block></statement><value name="RETURN"><block type="logic_ternary" id="hbu/ceE}l?pJ*(ZY)q!H"><value name="IF"><block type="logic_compare" id="D+gO_j%|S$cuNhS[tZ=3"><field name="OP">LT</field><value name="A"><block type="variables_get" id="+.GrkZdK*.VF0;vlRnt^"><field name="VAR" id="diameter">diameter</field></block></value><value name="B"><block type="variables_get" id="1IpsU:un,aJn0!Ita44u"><field name="VAR" id="largest">largest</field></block></value></block></value><value name="THEN"><block type="variables_get" id="ZIY]Aw}%Qp*d;%R[WsEK"><field name="VAR" id="diameter">diameter</field></block></value><value name="ELSE"><block type="variables_get" id="T@!3DPy^%nhI@Q~jjH,8"><field name="VAR" id="largest">largest</field></block></value></block></value></block><block type="variables_set" id="sizes" x="0" y="96"><field name="VAR" id="arms">arms</field><value name="VALUE"><block type="math_number" id="armsValue"><field name="NUM">4</field></block></value><next><block type="variables_set" id="xB4BQK=|W?@F~75e-T=C"><field name="VAR" id="arm length">arm length</field><value name="VALUE"><block type="math_number" id="djP/ODgFm~DdrizAK8cM"><field name="NUM">185</field></block></value><next><block type="variables_set" id="#ugc)}V0B_}g@nygJJ.@"><field name="VAR" id="propeller size">propeller size</field><value name="VALUE"><block type="math_number" id=";pRki@8`;mQ![QK,[GE!"><field name="NUM">230</field></block></value><next><block type="variables_set" id="Mj.YJAuiulu!NR%#j^k6"><field name="VAR" id="legs">legs</field><value name="VALUE"><block type="math_number" id="+ha?Ukg!P9W_3Ev!yBg5"><field name="NUM">4</field></block></value><next><block type="variables_set" id="ByIL.`fkKMVA[B6#_a(t"><field name="VAR" id="diameter">diameter</field><value name="VALUE"><block type="procedures_callreturn" id="g:!=R19)[`QDgkFqaDjn"><mutation name="fit propeller"><arg name="arms"></arg><arg name="length"></arg><arg name="diameter"></arg></mutation><value name="ARG0"><block type="variables_get" id="*4E)hk7:KTdxatGkqLWt"><field name="VAR" id="arms">arms</field></block></value><value name="ARG1"><block type="variables_get" id="L^A}3`i`-eC0wm5)3*}S"><field name="VAR" id="arm length">arm length</field></block></value><value name="ARG2"><block type="variables_get" id="ke,N~C)N3E1eRwq.t!A/"><field name="VAR" id="propeller size">propeller size</field></block></value></block></value></block></next></block></next></block></next></block></next></block><block type="procedures_defreturn" id="look" collapsed="true" x="0" y="536"><mutation><arg name="name" varid="name"></arg><arg name="colour" varid="colour"></arg><arg name="metallic" varid="metallic"></arg><arg name="roughness" varid="roughness"></arg><arg name="glow" varid="glow"></arg><arg name="edge colour" varid="edge colour"></arg><arg name="edge width" varid="edge width"></arg></mutation><field name="NAME">look</field><comment pinned="false" h="80" w="160">Describe this function...</comment><value name="RETURN"><block type="bitbybit.draw.optionsOcctShape" id="X:$iuT=Rx4nkN62ZiB$K"><value name="FaceOpacity"><block type="math_number" id="ZF8A@G#INZcwya0@G/S2"><field name="NUM">1</field></block></value><value name="EdgeOpacity"><block type="math_number" id="?BJ7Z5CwcNILyXxQ]d_c"><field name="NUM">1</field></block></value><value name="EdgeColour"><block type="variables_get" id="Bp!WH-R}1(RAG25#q*,x"><field name="VAR" id="edge colour">edge colour</field></block></value><value name="FaceColour"><block type="colour_picker" id="6/xL}JT~FKdHzPz)Vs`g"><field name="COLOUR">#ff0000</field></block></value><value name="VertexColour"><block type="colour_picker" id="AZDC?fiy?U8m_jR{M!kE"><field name="COLOUR">#ff00ff</field></block></value><value name="FaceMaterial"><block type="bitbybit.babylon.material.pbrMetallicRoughness.create" id="+O4WcZNm50qh.1ZQf9=R"><value name="Name"><block type="variables_get" id="C}B@E+|sh`tea9ju(*]C"><field name="VAR" id="name">name</field></block></value><value name="BaseColor"><block type="variables_get" id="]UIaFuprj*Oe:?gO8ntZ"><field name="VAR" id="colour">colour</field></block></value><value name="EmissiveColor"><block type="variables_get" id="yR-p`dB_k,~(@/NK{P!!"><field name="VAR" id="glow">glow</field></block></value><value name="Metallic"><block type="variables_get" id=",K1|xUrH-`9Qdkj~$z)s"><field name="VAR" id="metallic">metallic</field></block></value><value name="Roughness"><block type="variables_get" id="n,0MB*VD^^vKC~gQl7iY"><field name="VAR" id="roughness">roughness</field></block></value><value name="Alpha"><block type="math_number" id="t=f?nd8=0u+Ty^y8U6CY"><field name="NUM">1</field></block></value><value name="BackFaceCulling"><block type="logic_boolean" id="KCXR.wfF4Ft~(.e$c.@U"><field name="BOOL">FALSE</field></block></value><value name="ZOffset"><block type="math_number" id="v[OF+3CqKI^plX5T6p.h"><field name="NUM">2</field></block></value></block></value><value name="EdgeWidth"><block type="variables_get" id="G1ONVQEI-S_Ef5X!;!ba"><field name="VAR" id="edge width">edge width</field></block></value><value name="VertexSize"><block type="math_number" id="c.13{b1SO$1!-F1;;97n"><field name="NUM">0.03</field></block></value><value name="DrawEdges"><block type="logic_compare" id="4L#n.qDX-Q_wn~b*VVHt"><field name="OP">GT</field><value name="A"><block type="variables_get" id="s}QsbX^bN#-RkUFcmJ[Q"><field name="VAR" id="edge width">edge width</field></block></value><value name="B"><block type="math_number" id="C)T}RT|xV:!O4TXZ~[[^"><field name="NUM">0</field></block></value></block></value><value name="DrawFaces"><block type="logic_boolean" id="k=V%Sjc-g?2Wo,Yp^IMj"><field name="BOOL">TRUE</field></block></value><value name="DrawVertices"><block type="logic_boolean" id="h}V^rC0rP[^GJl(Sh,QT"><field name="BOOL">FALSE</field></block></value><value name="Precision"><block type="math_number" id="14PD-tUuNxxJm@-50{*G"><field name="NUM">0.05</field></block></value><value name="AngularDeflection"><block type="math_number" id="fG;xX*,+e(=}PW:;p]/K"><field name="NUM">0.5</field></block></value><value name="RelativeDeflection"><block type="logic_boolean" id="{Qy]r7CohV[CP6cy#HbN"><field name="BOOL">FALSE</field></block></value><value name="DrawEdgeIndexes"><block type="logic_boolean" id="}aVt/GRgy9WWTR)`I?]-"><field name="BOOL">FALSE</field></block></value><value name="EdgeIndexHeight"><block type="math_number" id="y*J=rD1/zwaaiL?X5):["><field name="NUM">0.06</field></block></value><value name="EdgeIndexColour"><block type="colour_picker" id="Ip.N%OJS+|kTt7zw(s0d"><field name="COLOUR">#ff00ff</field></block></value><value name="DrawFaceIndexes"><block type="logic_boolean" id="5.lZ_j]j+Ex@4[7|NaPn"><field name="BOOL">FALSE</field></block></value><value name="FaceIndexHeight"><block type="math_number" id="yGjL?d2N|if7OIvU5BSe"><field name="NUM">0.06</field></block></value><value name="FaceIndexColour"><block type="colour_picker" id="$.s_`O7|W)m0,6n1(-[^"><field name="COLOUR">#0000ff</field></block></value><value name="DrawTwoSided"><block type="logic_boolean" id="_3G9Y0%M1sK.czd:Yjr7"><field name="BOOL">FALSE</field></block></value><value name="BackFaceColour"><block type="colour_picker" id="d5;Xv+j!1_^uKAFK|+.B"><field name="COLOUR">#0000ff</field></block></value><value name="BackFaceOpacity"><block type="math_number" id="iG+IWT/w*@:VoO3RBzAg"><field name="NUM">1</field></block></value><value name="EdgeArrowSize"><block type="math_number" id=",pucz7B1GE:IgT=#GSul"><field name="NUM">0</field></block></value><value name="EdgeArrowAngle"><block type="math_number" id="rQY;Ai,[m2H!L^;K](Q4"><field name="NUM">15</field></block></value><value name="KeepMeshData"><block type="logic_boolean" id="}hgOa?1{O!^|%dzrGI?j"><field name="BOOL">FALSE</field></block></value><value name="AllowQualityDecrease"><block type="logic_boolean" id=",p5Z;RKLN++0Ttt]j=c|"><field name="BOOL">TRUE</field></block></value><value name="ForceFaceDeflection"><block type="logic_boolean" id=":kH!=_]{pg0fKyCC7uA."><field name="BOOL">FALSE</field></block></value><value name="DrawIsoCurves"><block type="logic_boolean" id="A3^Raug4qD{kVMXlWYCM"><field name="BOOL">FALSE</field></block></value><value name="IsoCurvesU"><block type="math_number" id="6G%(cm-oqlyPqMWj|3]o"><field name="NUM">5</field></block></value><value name="IsoCurvesV"><block type="math_number" id="`8og2w(_0y6TvOB4sSnV"><field name="NUM">5</field></block></value><value name="IsoCurvesColour"><block type="colour_picker" id="uv?#=Xy5Hl$bJEJba]x."><field name="COLOUR">#808080</field></block></value><value name="SurfaceAnalysis"><block type="bitbybit.occt.enums.surfaceAnalysisEnum" id="~xJLR[I{m!cgyS{f|#0m"><field name="bitbybit.occt.enums.surfaceAnalysisEnum">'none'</field></block></value><value name="DraftDirection"><block type="bitbybit.vector.vectorXYZ" id="CO+Z##]lwqRT?!@XD!,P"><value name="X"><block type="math_number" id="vQa#bJ3K%iEF*DMRoCIY"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="/V,=60Y5K[[*!!L5VVUm"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="R;]TZ`VU`$m|H{QcSIDV"><field name="NUM">0</field></block></value></block></value></block></value></block><block type="bitbybit.babylon.scene.backgroundColour" id="stage" x="0" y="632"><value name="Colour"><block type="colour_picker" id="0ITl`rhUCxwD2$q]Q}}v"><field name="COLOUR">#15171a</field></block></value><next><block type="bitbybit.babylon.scene.enableSkybox" id="B8OlWoHGXox7LHf#FTNF"><value name="Skybox"><block type="bitbybit.babylon.enums.skyboxEnum" id=":GdNZ@VD8^2~O=4FPYs?"><field name="bitbybit.babylon.enums.skyboxEnum">'city'</field></block></value><value name="Size"><block type="math_number" id="e9VvX5y/:,*}IKy6_Whv"><field name="NUM">1000</field></block></value><value name="Blur"><block type="math_number" id="~,!@E@qZuFL8{pjfABPo"><field name="NUM">0.1</field></block></value><value name="EnvironmentIntensity"><block type="math_number" id="~{g5m7GcJ6ZvdO$wH^#P"><field name="NUM">0.4</field></block></value><value name="HideSkybox"><block type="logic_boolean" id=",%@w5iI=$jJu(6]9T7.+"><field name="BOOL">TRUE</field></block></value><value name="EnableGroundProjection"><block type="logic_boolean" id="X(dFxGpo+ZWoMCDzjm]4"><field name="BOOL">FALSE</field></block></value><value name="ProjectedGroundRadius"><block type="math_number" id="$nFzX1-8$hqS8B!J~2Cj"><field name="NUM">20</field></block></value><value name="ProjectedGroundHeight"><block type="math_number" id="1?JZk0n.S.UvW#%Uw)DQ"><field name="NUM">3</field></block></value><next><block type="bitbybit.babylon.scene.drawDirectionalLightNoReturn" id="{^xZ6}MdwtRs={d^h?Ps"><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="5X(,9Byxoa5wAY7|$)4%"><value name="X"><block type="math_number" id="r#0RV;-__iiYChXK1oo7"><field name="NUM">-0.45</field></block></value><value name="Y"><block type="math_number" id="upiTEQT#{r{;_+TW;7[a"><field name="NUM">-1</field></block></value><value name="Z"><block type="math_number" id="~6Oe*0~;@Xk5glL_r)@|"><field name="NUM">-0.3</field></block></value></block></value><value name="Intensity"><block type="math_number" id="zE=~y:?hc[?y+/Dt[,9v"><field name="NUM">2</field></block></value><value name="Diffuse"><block type="colour_picker" id="/jcK!sZ0/_Tqg%@HZyfw"><field name="COLOUR">#ffffff</field></block></value><value name="Specular"><block type="colour_picker" id="GGdf*ydkD86iZ7p[)n|A"><field name="COLOUR">#ffffff</field></block></value><value name="ShadowGeneratorMapSize"><block type="math_number" id="_dA|2)#I3N*qlC}wkbPl"><field name="NUM">4096</field></block></value><value name="EnableShadows"><block type="logic_boolean" id="EsX)X=E%Pt=nOj@k%7t8"><field name="BOOL">TRUE</field></block></value><value name="ShadowDarkness"><block type="math_number" id="$21Wnu_N[j|AI]ZJW#zC"><field name="NUM">0</field></block></value><value name="ShadowUsePercentageCloserFiltering"><block type="logic_boolean" id="+63YnY*T}3.Gj;,lW1%|"><field name="BOOL">TRUE</field></block></value><value name="TransparencyShadow"><block type="logic_boolean" id="-9~F11CL|eEj*2Th?k2X"><field name="BOOL">FALSE</field></block></value><value name="ShadowContactHardeningLightSizeUVRatio"><block type="math_number" id="@uQiR%M[Lc43fPP{SQ+:"><field name="NUM">0.2</field></block></value><value name="ShadowBias"><block type="math_number" id="f,BToUE*5TELBrjvkdDl"><field name="NUM">0.0003</field></block></value><value name="ShadowNormalBias"><block type="math_number" id=",^^qcm-nEcy9{}@saR$c"><field name="NUM">1</field></block></value><value name="ShadowMaxZ"><block type="math_number" id="JSof6]bog!.[1^mD:==X"><field name="NUM">1000</field></block></value><value name="ShadowMinZ"><block type="math_number" id="lBJm!A$n[yyc;20e[Y|+"><field name="NUM">-1000</field></block></value><value name="ShadowRefreshRate"><block type="math_number" id="/,#[[email protected]]{_A"><field name="NUM">1</field></block></value><next><block type="bitbybit.babylon.scene.adjustActiveArcRotateCamera" id="u)+$Y}Vn|aT#V4-/T0i%"><value name="Position"><block type="bitbybit.point.pointXYZ" id="-wo7R3:9#e|pN-a|S9[H"><value name="X"><block type="math_number" id="+!TYU`j:bgbG7a!@oKuJ"><field name="NUM">620</field></block></value><value name="Y"><block type="math_number" id="Rdh=v?oAnTX)j?C%^/GM"><field name="NUM">380</field></block></value><value name="Z"><block type="math_number" id="S,5ZCW-}Offc!,B];+Yo"><field name="NUM">760</field></block></value></block></value><value name="LookAt"><block type="bitbybit.point.pointXYZ" id="iP:4{MgyACQqnyKf-)G7"><value name="X"><block type="math_number" id="Y9O37(U4Y.*${v`;I%.!"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="iJ[bRT?R~/K2qpF(2*o/"><field name="NUM">-20</field></block></value><value name="Z"><block type="math_number" id="b8)KzM6pP];HrTL}w%pr"><field name="NUM">0</field></block></value></block></value><value name="LowerBetaLimit"><block type="math_number" id="OQJP*lS(rMgVO#,(L$?h"><field name="NUM">1</field></block></value><value name="UpperBetaLimit"><block type="math_number" id="qPSHrCz;L+%y%h+1z(R8"><field name="NUM">179</field></block></value><value name="AngularSensibilityX"><block type="math_number" id="%T=`Yn/YyL8pXVQs1o1."><field name="NUM">1000</field></block></value><value name="AngularSensibilityY"><block type="math_number" id="=/E-TMh{w^.]qDY:0:jZ"><field name="NUM">1000</field></block></value><value name="MaxZ"><block type="math_number" id="}=xA~dEB_R-Ogjt.fr:f"><field name="NUM">20000</field></block></value><value name="PanningSensibility"><block type="math_number" id=",LJ5d@{HlC,FuVNvnDil"><field name="NUM">2</field></block></value><value name="WheelPrecision"><block type="math_number" id="~@y^hI|%Kvaxs](4y%a2"><field name="NUM">3</field></block></value></block></next></block></next></block></next></block><block type="procedures_defreturn" id="framePlate" collapsed="true" x="0" y="2687"><field name="NAME">frame plate</field><comment pinned="false" h="80" w="160">Describe this function...</comment><statement name="STACK"><block type="variables_set" id="p8EXq$y(#rxR=9T|YJ(_"><field name="VAR" id="outline">outline</field><value name="VALUE"><block type="bitbybit.occt.fillets.fillet2d" id=";v/F/:G,RAR*$pQBqvP~"><value name="Shape"><block type="bitbybit.occt.shapes.wire.createRectangleWire" id="c.^8HDXv+ck^HvR1mo85"><value name="Width"><block type="math_number" id="LYkEN%#B#iHd,k;Z0h_n"><field name="NUM">96</field></block></value><value name="Length"><block type="math_number" id=":*;h]y114|cdGe*p!3`t"><field name="NUM">150</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="/2#j2hC)N90Sbhxsn)7P"><value name="X"><block type="math_number" id="I1Q[?_^]+ZEYdyHq%Qhl"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="~Pr,KG]%~E^u%y{j{b3C"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="F%0uy!Q}T@jJAy^XS4bW"><field name="NUM">0</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id=")^+k`._3p~w$:{R1q-YA"><value name="X"><block type="math_number" id="Df0,;5~!ZAREwdT[XaRz"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id=":%`LZ#q`)f^(W*+5qxs7"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="94+W}c;/Xg{Y`1fYpG9o"><field name="NUM">0</field></block></value></block></value></block></value><value name="Radius"><block type="math_number" id="eo+E`(tlyWo54b{+boM4"><field name="NUM">26</field></block></value></block></value><next><block type="variables_set" id="brZ[1wt!ClBqS_eObKI3"><field name="VAR" id="slab">slab</field><value name="VALUE"><block type="bitbybit.occt.operations.extrude" id="(:gX[N3::!.#Qd?pIu]m"><value name="Shape"><block type="bitbybit.occt.shapes.face.createFaceFromWire" id="4$aAaM~/kl{Yut!zE(@k"><value name="Shape"><block type="variables_get" id="vX@q|f~p{x)Mg9t_D9|q"><field name="VAR" id="outline">outline</field></block></value><value name="Planar"><block type="logic_boolean" id="beG}lS@jZv[[5OE:JG:M"><field name="BOOL">TRUE</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="z;[JK|^DEU:?^LUHiU@-"><value name="X"><block type="math_number" id="Nj6xE)(`1War4YVlRjWs"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id=",i[{gmx:JH|ki!IKw0.V"><field name="NUM">3</field></block></value><value name="Z"><block type="math_number" id="nWx1dzT?=iL~MAhX.X^d"><field name="NUM">0</field></block></value></block></value></block></value><next><block type="variables_set" id="o:}#{O3/K6R%cx@oY?zk"><field name="VAR" id="hexagons">hexagons</field><value name="VALUE"><block type="bitbybit.occt.shapes.wire.hexagonsInGrid" id="~3EAfNXJz99b9[?gj:{n"><value name="Width"><block type="math_number" id="QuHA#?e$}{nSl;8mT=RC"><field name="NUM">56</field></block></value><value name="Height"><block type="math_number" id="(C7gYsRo1!1_/-=|(k7b"><field name="NUM">20</field></block></value><value name="NrHexagonsInWidth"><block type="math_number" id="f4i@iY$bvK=p=]qPh)B!"><field name="NUM">5</field></block></value><value name="NrHexagonsInHeight"><block type="math_number" id="~GFnu1a%$|7a=l1@#d_X"><field name="NUM">2</field></block></value><value name="FlatTop"><block type="logic_boolean" id="QFk=+QIVq1ouocy.z!LP"><field name="BOOL">TRUE</field></block></value><value name="ExtendTop"><block type="logic_boolean" id="ZaU(vJW7#}tF}H-4,uVD"><field name="BOOL">FALSE</field></block></value><value name="ExtendBottom"><block type="logic_boolean" id="HxFGLmCAwn1kmpMj02;J"><field name="BOOL">FALSE</field></block></value><value name="ExtendLeft"><block type="logic_boolean" id="o^dLJB?*E!Plz#aWVLxj"><field name="BOOL">FALSE</field></block></value><value name="ExtendRight"><block type="logic_boolean" id="OOV3Z*~o],UF?Z4z@07X"><field name="BOOL">FALSE</field></block></value><value name="ScalePatternWidth"><block type="lists_create_with" id="2e~k|3lq@D3TcemDr{6:"><mutation items="1"></mutation><value name="ADD0"><block type="math_number" id="3x*,F;`C/a)j!JxS[v[d"><field name="NUM">0.8</field></block></value></block></value><value name="ScalePatternHeight"><block type="lists_create_with" id=",5*}ip4x;Md45c$I,hKU"><mutation items="1"></mutation><value name="ADD0"><block type="math_number" id="dI]}F5(j]mol.i6J#D!s"><field name="NUM">0.8</field></block></value></block></value></block></value><next><block type="variables_set" id="7xW/v^Fgw/M*#7A-OoS("><field name="VAR" id="vents">vents</field><value name="VALUE"><block type="bitbybit.occt.shapes.compound.makeCompound" id="U]KSIZ]MbBc0GGTGl?T7"><value name="Shapes"><block type="bitbybit.occt.operations.extrudeShapes" id="1M0zUsZ[p~/x`Qjr9jG`"><value name="Shapes"><block type="bitbybit.occt.shapes.face.createFacesFromWires" id="K!PvgUWm?X,Va-c!0Jwb"><value name="Shapes"><block type="variables_get" id="cc!{!g4w!6q%3[4ud/4B"><field name="VAR" id="hexagons">hexagons</field></block></value><value name="Planar"><block type="logic_boolean" id="*6}?,xE2{H[@3Wzvet`8"><field name="BOOL">TRUE</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="MAK4K.WO)_^YOW)P){18"><value name="X"><block type="math_number" id="[P%HOR3$e3ClU81PND5l"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="v*R?Uo{6%m-w@(1%.Q%/"><field name="NUM">3</field></block></value><value name="Z"><block type="math_number" id="YaVsuXvC6D4Q4z$7^kgs"><field name="NUM">0</field></block></value></block></value></block></value></block></value></block></next></block></next></block></next></block></statement><value name="RETURN"><block type="bitbybit.occt.booleans.difference" id="[kWj$yMMpeZC~n5J?C3]"><value name="Shape"><block type="variables_get" id="RtI_s-K6C~E5LA{i9V=6"><field name="VAR" id="slab">slab</field></block></value><value name="Shapes"><block type="lists_create_with" id="R/ShZ4G0E14;h,*wj7Ad"><mutation items="2"></mutation><value name="ADD0"><block type="bitbybit.occt.transforms.translate" id="{hk.#:H*}L7:P(vC5K#F"><value name="Shape"><block type="variables_get" id="sRS==LS~VhK+]9PycvB("><field name="VAR" id="vents">vents</field></block></value><value name="Translation"><block type="bitbybit.vector.vectorXYZ" id="[rvhW[Mm.I^~A6-1n^n*"><value name="X"><block type="math_number" id="hE!8F4*}ZL`5?zjk_BZ8"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="ay)kiuZ$~q!B3#P33ev8"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="dp6L#(gjbF`xg;hsNOZP"><field name="NUM">60</field></block></value></block></value></block></value><value name="ADD1"><block type="bitbybit.occt.transforms.translate" id="ce{VWVLeS(pNTHf5Ic^{"><value name="Shape"><block type="variables_get" id="jx!,+=3#XuO0OamVQY?."><field name="VAR" id="vents">vents</field></block></value><value name="Translation"><block type="bitbybit.vector.vectorXYZ" id="iMP[m]O[9UpmPNCMo/,N"><value name="X"><block type="math_number" id="2`K9Yk!41DvsDHa/v%F_"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="/i9/Ig?th1N*);.j];!/"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="-Hz%iehO%ypqYcpfNHIT"><field name="NUM">-60</field></block></value></block></value></block></value></block></value><value name="KeepEdges"><block type="logic_boolean" id="JMXxw6z;?;de?i`nMLKP"><field name="BOOL">FALSE</field></block></value><value name="Strategy"><block type="bitbybit.occt.enums.booleanStrategyEnum" id="kKYU{F9~a_jOX01LD69n"><field name="bitbybit.occt.enums.booleanStrategyEnum">'oneAfterAnother'</field></block></value></block></value></block><block type="procedures_defreturn" id="around" collapsed="true" x="0" y="2783"><mutation><arg name="shape" varid="shape"></arg><arg name="count" varid="count"></arg></mutation><field name="NAME">around</field><comment pinned="false" h="80" w="160">Describe this function...</comment><statement name="STACK"><block type="variables_set" id="|qfrkW_1MEu@!{Eq(;S/"><field name="VAR" id="angles">angles</field><value name="VALUE"><block type="bitbybit.lists.createEmptyList" id="]s[?NjgqK9Fx5gOAXo5!"></block></value><next><block type="controls_for" id="F-Q-RU%QhCyD@{A6l|N1"><field name="VAR" id="i">i</field><value name="FROM"><block type="math_number" id="*[M2YssE:qgKD;#L;=.p"><field name="NUM">0</field></block></value><value name="TO"><block type="math_arithmetic" id="XGFi!rHYoyGaN**_mhi5"><field name="OP">MINUS</field><value name="A"><block type="variables_get" id="FgCS5E5Jp9bUAu;:h+$f"><field name="VAR" id="count">count</field></block></value><value name="B"><block type="math_number" id="/.t;CnA;8}3eKmJ-b/l_"><field name="NUM">1</field></block></value></block></value><value name="BY"><block type="math_number" id="Dn*ab48*MT[#wIQ%L0Tr"><field name="NUM">1</field></block></value><statement name="DO"><block type="variables_set" id="44,9uzzyn{{bPmP3F;FJ"><field name="VAR" id="angles">angles</field><value name="VALUE"><block type="bitbybit.lists.addItem" id="JIp?A7F9,bB]D3k[clg="><value name="List"><block type="variables_get" id="NH}z~VT`{sUZWhC6Dr9K"><field name="VAR" id="angles">angles</field></block></value><value name="Item"><block type="math_arithmetic" id="(4D=Sz6%CV{w$r#q76}M"><field name="OP">DIVIDE</field><value name="A"><block type="math_arithmetic" id="~j`7{PzYVARA}h/+b]TE"><field name="OP">MULTIPLY</field><value name="A"><block type="math_arithmetic" id="x/|n`)!^%5|wUg2!(E+~"><field name="OP">ADD</field><value name="A"><block type="variables_get" id="Jf;1xeAZSp^ehr/#c=6b"><field name="VAR" id="i">i</field></block></value><value name="B"><block type="math_number" id="sZ+9/9)Bx~B}{V7E3)gc"><field name="NUM">0.5</field></block></value></block></value><value name="B"><block type="math_number" id="GC~9y#v(n_CZTn`=Ox[q"><field name="NUM">360</field></block></value></block></value><value name="B"><block type="variables_get" id="Busu!Qr+nf]WJ$AKqvsK"><field name="VAR" id="count">count</field></block></value></block></value><value name="Clone"><block type="logic_boolean" id="J{3:0cuVO80%FlkCTq;T"><field name="BOOL">FALSE</field></block></value></block></value></block></statement></block></next></block></statement><value name="RETURN"><block type="bitbybit.occt.transforms.rotateShapes" id="d~pH#[y{qr}HLkk.Ff8M"><value name="Shapes"><block type="bitbybit.lists.repeat" id="g,[YAzeBEj.F:0p39E)R"><value name="Item"><block type="variables_get" id="Z!l,hEpn~J5WQ*KN-:^]"><field name="VAR" id="shape">shape</field></block></value><value name="Times"><block type="variables_get" id="V8euQemxni+ZH25(Fkr6"><field name="VAR" id="count">count</field></block></value></block></value><value name="Axes"><block type="bitbybit.lists.repeat" id="RAdjZx;Uxoj]#k0jYK`f"><value name="Item"><block type="bitbybit.vector.vectorXYZ" id="8Ew@ra+9B%YO@O6kr+3%"><value name="X"><block type="math_number" id="`Fj#U}XZM|pj33wJNC.t"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="/!^B#-a.GKQGv{wiJMQ+"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="L#9,_POY[hoD+?SY_m7w"><field name="NUM">0</field></block></value></block></value><value name="Times"><block type="variables_get" id="kiJ5!ObIYU!YB^sPmUXy"><field name="VAR" id="count">count</field></block></value></block></value><value name="Angles"><block type="variables_get" id="|URS@S5J*Kz3N$%,2/$5"><field name="VAR" id="angles">angles</field></block></value></block></value></block><block type="variables_set" id="plateSet" x="0" y="2879"><field name="VAR" id="plate">plate</field><value name="VALUE"><block type="procedures_callreturn" id="(bZ@}2s/m:%Ppabn_(c6"><mutation name="frame plate"></mutation></block></value><next><block type="variables_set" id="plateOpenings"><field name="VAR" id="plate">plate</field><value name="VALUE"><block type="bitbybit.occt.booleans.difference" id="Isd8=m_jsL^bPWaAHnbR"><value name="Shape"><block type="variables_get" id="4fr,5UulB0RLt8X9[B`F"><field name="VAR" id="plate">plate</field></block></value><value name="Shapes"><block type="lists_create_with" id=")5dR5,$D5^4[,/F%a*aQ"><mutation items="1"></mutation><value name="ADD0"><block type="procedures_callreturn" id="+]6AzaH4?c;`RnQ-2#Z@"><mutation name="leg openings"><arg name="legs"></arg></mutation><value name="ARG0"><block type="variables_get" id="Vs8D@2-y:Lc_T4YiK[M~"><field name="VAR" id="legs">legs</field></block></value></block></value></block></value><value name="KeepEdges"><block type="logic_boolean" id="4.#{`}6/VJGAW|)a-erb"><field name="BOOL">FALSE</field></block></value><value name="Strategy"><block type="bitbybit.occt.enums.booleanStrategyEnum" id="3_)P,A}.KMM9DU+Grv|2"><field name="bitbybit.occt.enums.booleanStrategyEnum">'oneAfterAnother'</field></block></value></block></value><next><block type="variables_set" id="3_gfG(fE]i(9VEbyfiX-"><field name="VAR" id="top plate">top plate</field><value name="VALUE"><block type="bitbybit.occt.transforms.translate" id="[/)/DwBg[BMv:bI4e,Uj"><value name="Shape"><block type="variables_get" id=":XYe=%E~eu(_Yd5S_0X0"><field name="VAR" id="plate">plate</field></block></value><value name="Translation"><block type="bitbybit.vector.vectorXYZ" id="-?{/(I]cUQJ?*:QB9yB*"><value name="X"><block type="math_number" id="/IT5|pGMnDufA,$ARgGc"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id=",FE9rdv,f,0tFTIPj8zP"><field name="NUM">13</field></block></value><value name="Z"><block type="math_number" id="`=U=`kw;Z7}Ma_EutM%2"><field name="NUM">0</field></block></value></block></value></block></value><next><block type="variables_set" id="jLvL3JhJc27{|mNhy/yi"><field name="VAR" id="carbon">carbon</field><value name="VALUE"><block type="procedures_callreturn" id="80W:$CFO0iwhk*`f6zLo"><mutation name="look"><arg name="name"></arg><arg name="colour"></arg><arg name="metallic"></arg><arg name="roughness"></arg><arg name="glow"></arg><arg name="edge colour"></arg><arg name="edge width"></arg></mutation><value name="ARG0"><block type="text" id=".{cSs7hG|^tBrVymSA9Z"><field name="TEXT">carbon</field></block></value><value name="ARG1"><block type="colour_picker" id="wjx=7*-$;vmLK6qlL$OD"><field name="COLOUR">#23262b</field></block></value><value name="ARG2"><block type="math_number" id="2VX5qJ)pzLARufCQyS8T"><field name="NUM">0.35</field></block></value><value name="ARG3"><block type="math_number" id="o8)2:KB/+UH]3Qu!T/6R"><field name="NUM">0.45</field></block></value><value name="ARG4"><block type="colour_picker" id="Rg/,,=*Q+CC8tyC^=q2d"><field name="COLOUR">#000000</field></block></value><value name="ARG5"><block type="colour_picker" id="#7r%}?F3*mwQ1cX1c,ok"><field name="COLOUR">#f2f2f2</field></block></value><value name="ARG6"><block type="math_number" id="laer|_x7UtYxQO?e6s]H"><field name="NUM">6</field></block></value></block></value><next><block type="bitbybit.draw.drawAnyAsyncNoReturn" id="!(;50Ub:=p!i}L%Ci:[$"><value name="Entity"><block type="lists_create_with" id="_W6l3L#Chjy1yI/x,W.%"><mutation items="2"></mutation><value name="ADD0"><block type="variables_get" id="fZ6i2I=tsFCC8Oc^ioi`"><field name="VAR" id="plate">plate</field></block></value><value name="ADD1"><block type="variables_get" id="w~GtgqaU4Vxm5Qh12`.U"><field name="VAR" id="top plate">top plate</field></block></value></block></value><value name="Options"><block type="variables_get" id="$.lR[u{@r@{1d4#-oX6p"><field name="VAR" id="carbon">carbon</field></block></value></block></next></block></next></block></next></block></next></block><block type="procedures_defreturn" id="legOpenings" collapsed="true" x="0" y="4083"><mutation><arg name="legs" varid="legs"></arg></mutation><field name="NAME">leg openings</field><comment pinned="false" h="80" w="160">Describe this function...</comment><value name="RETURN"><block type="bitbybit.occt.shapes.compound.makeCompound" id="Jz-M1)l,0ixQOsXG025T"><value name="Shapes"><block type="procedures_callreturn" id="bCIfmcRf*c_}I=vqRt5a"><mutation name="around"><arg name="shape"></arg><arg name="count"></arg></mutation><value name="ARG0"><block type="bitbybit.occt.shapes.solid.createCylinder" id="/)CKaOQO(92u477e4n4Q"><value name="Radius"><block type="math_number" id="$yshrNs:sXHVSE!kh9tB"><field name="NUM">6</field></block></value><value name="Height"><block type="math_number" id="1a[@GI-pk1a8+r9m/BCb"><field name="NUM">3</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="^Y%-!(sm{A3R[D.a|Rsr"><value name="X"><block type="math_number" id="Z~M|dvrfGZ8#Oh4xBoPd"><field name="NUM">52</field></block></value><value name="Y"><block type="math_number" id="1|7USzokbE#*EC#mk3Oc"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="Mk^}190o,Zscc)nAU5wx"><field name="NUM">0</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="`!sJ)w`{%eQE|7tYT6O5"><value name="X"><block type="math_number" id="RCQknx8Jpx?@]Ro5c`!-"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="z:+SW#wCrSP0k,h!,Oj("><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="(9^8w!Xk#I{Znc.;`zn2"><field name="NUM">0</field></block></value></block></value><value name="Angle"><block type="math_number" id="?-63be?wVx#,7ZDvg$UG"><field name="NUM">360</field></block></value><value name="OriginOnCenter"><block type="logic_boolean" id="^#tvhmqSY_9Y|v7**n#o"><field name="BOOL">FALSE</field></block></value></block></value><value name="ARG1"><block type="variables_get" id="!20:Gv_o`fL_SO;|)JDG"><field name="VAR" id="legs">legs</field></block></value></block></value></block></value></block><block type="procedures_defreturn" id="m3Bolt" collapsed="true" x="0" y="4179"><mutation><arg name="length" varid="length"></arg></mutation><field name="NAME">m3 bolt</field><comment pinned="false" h="80" w="160">Describe this function...</comment><statement name="STACK"><block type="variables_set" id=")J-[t:nklkpia7l4r4}L"><field name="VAR" id="profile">profile</field><value name="VALUE"><block type="lists_create_with" id="=r%r$*@(5@5Dl47=Z*=U"><mutation items="8"></mutation><value name="ADD0"><block type="bitbybit.point.pointXYZ" id="oLk=JJ:/N)gcbyO4+`Y`"><value name="X"><block type="math_number" id="2d^uov}K84T}):Q,kSlJ"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="dr$jWe57I)LeT_cZ$),P"><field name="NUM">-3</field></block></value><value name="Z"><block type="math_number" id="z$B3b_AM#w.6T~e|Q`3l"><field name="NUM">0</field></block></value></block></value><value name="ADD1"><block type="bitbybit.point.pointXYZ" id="[/Iy;A1#.=MTGH#L{(*$"><value name="X"><block type="math_number" id="n-/ulbm#FU94;!qj=cbI"><field name="NUM">2.35</field></block></value><value name="Y"><block type="math_number" id="E/v$Jc?p5AF!C%el#H_E"><field name="NUM">-3</field></block></value><value name="Z"><block type="math_number" id="iup#RX#6DZI}0mCVV#{b"><field name="NUM">0</field></block></value></block></value><value name="ADD2"><block type="bitbybit.point.pointXYZ" id="wF)Pi:v^BF5:FjH4?GZR"><value name="X"><block type="math_number" id="$c/bVwwLD=fdvB}JlpUL"><field name="NUM">2.75</field></block></value><value name="Y"><block type="math_number" id="}C6^i-fsUN4o!SM:nH2l"><field name="NUM">-2.6</field></block></value><value name="Z"><block type="math_number" id="Qq3SlXomdlXt+8X+YHkD"><field name="NUM">0</field></block></value></block></value><value name="ADD3"><block type="bitbybit.point.pointXYZ" id="0PI~Ci9f0f.~eP84`I*w"><value name="X"><block type="math_number" id="{:#!X,O=Zftq${9:u=y_"><field name="NUM">2.75</field></block></value><value name="Y"><block type="math_number" id="W;}po[q(=!i/,ooDsZ`u"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="fNRBgBJsP`Ekn6hWQH9v"><field name="NUM">0</field></block></value></block></value><value name="ADD4"><block type="bitbybit.point.pointXYZ" id="$mfE!dnf9k(TPON[]BHV"><value name="X"><block type="math_number" id="8aef|bEs(#rmZ!nQ5.-%"><field name="NUM">1.5</field></block></value><value name="Y"><block type="math_number" id="q]eH0b?Mj{uQ{h{,rnK#"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="k6xD8Ud-aa(gE_`=RHg^"><field name="NUM">0</field></block></value></block></value><value name="ADD5"><block type="bitbybit.point.pointXYZ" id="AgWwU}gBk!?$#^RbXLE!"><value name="X"><block type="math_number" id="s*]}[cU]U5(g/1%0V9Tn"><field name="NUM">1.5</field></block></value><value name="Y"><block type="math_arithmetic" id="3/r~V$vir4}siQ~hzEIh"><field name="OP">MINUS</field><value name="A"><block type="variables_get" id="Y47pMBu{cOpC3,4!zrU^"><field name="VAR" id="length">length</field></block></value><value name="B"><block type="math_number" id=":{`[Ytk2FZzi{amE)Ivp"><field name="NUM">0.4</field></block></value></block></value><value name="Z"><block type="math_number" id="7KPaZ:rGBC9Bp^n?|+i9"><field name="NUM">0</field></block></value></block></value><value name="ADD6"><block type="bitbybit.point.pointXYZ" id="~:=+UIZpp`Kz{6g$K_ht"><value name="X"><block type="math_number" id=".U9]SvEcph~y*Cw*/tfz"><field name="NUM">1.1</field></block></value><value name="Y"><block type="variables_get" id="!D_J;kZj{11-SA,8SEtV"><field name="VAR" id="length">length</field></block></value><value name="Z"><block type="math_number" id="|BRY7H)/OdYW_]#Ob_tq"><field name="NUM">0</field></block></value></block></value><value name="ADD7"><block type="bitbybit.point.pointXYZ" id=".D`]tUA@mA$ql~r52GQ_"><value name="X"><block type="math_number" id="eZ{Zk^[1jS5UYs0t%}:F"><field name="NUM">0</field></block></value><value name="Y"><block type="variables_get" id="fbHZSA1*wNaND{q.IY]N"><field name="VAR" id="length">length</field></block></value><value name="Z"><block type="math_number" id="{(%L~7Y9OZuRW)NGpoey"><field name="NUM">0</field></block></value></block></value></block></value><next><block type="variables_set" id="#J3OYgho`jrc*BuCra!G"><field name="VAR" id="body">body</field><value name="VALUE"><block type="bitbybit.occt.operations.revolve" id="w%~a/$_=)vp/yTnhF.D."><value name="Shape"><block type="bitbybit.occt.shapes.face.createFaceFromWire" id=",WdL[OIX::Jq.pPERd7Q"><value name="Shape"><block type="bitbybit.occt.shapes.wire.createPolygonWire" id="}ET`h2GBG+J^Hlh)]!fv"><value name="Points"><block type="variables_get" id="9/?[l$`G/vXpZ|!pwtX5"><field name="VAR" id="profile">profile</field></block></value></block></value><value name="Planar"><block type="logic_boolean" id="r]V].]QIz?yx:J`Lu_a]"><field name="BOOL">TRUE</field></block></value></block></value><value name="Angle"><block type="math_number" id="WX6,wHN]?e^u8+K?q2tP"><field name="NUM">360</field></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="(:^Ty9gcYQJ:q`]3SBeP"><value name="X"><block type="math_number" id="[eAQFLk7eju#i1cI4.OM"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="uRD?XTwQGjTj[gc:;lm;"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="#k+)En%b0m)`+.*^[BQ5"><field name="NUM">0</field></block></value></block></value><value name="Copy"><block type="logic_boolean" id="!+TV*6lFGybUCHw$-w_!"><field name="BOOL">FALSE</field></block></value></block></value><next><block type="variables_set" id="B%%wi})CyI,FxeC)/UF;"><field name="VAR" id="socket">socket</field><value name="VALUE"><block type="bitbybit.occt.operations.extrude" id="]pdm%[}8lPUiB/g9_qp,"><value name="Shape"><block type="bitbybit.occt.shapes.face.createFaceFromWire" id="9UN;D_%s=:QdgHLb+c*,"><value name="Shape"><block type="bitbybit.occt.shapes.wire.createNGonWire" id=")L}JZ_JVg6;]SX3Jz8SU"><value name="Center"><block type="bitbybit.point.pointXYZ" id="kH1^kEqyd=6%0!]TQ~Yj"><value name="X"><block type="math_number" id="InBfNWZCJe#%(I*[b?!n"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="`J0crNWrX7u6s_S3EJ8V"><field name="NUM">-3.5</field></block></value><value name="Z"><block type="math_number" id="V;l.jN9M@,ejQ|mq+z4l"><field name="NUM">0</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="FaUH=wVk{{}H_MOVg2.#"><value name="X"><block type="math_number" id="RAtP}Yam;Np#p%8,Dv@1"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="XfmDss4.*Z3{Z0d2qLta"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="%gC2xe*x%kArT^Y}Un5b"><field name="NUM">0</field></block></value></block></value><value name="NrCorners"><block type="math_number" id="LtK$nm%Nqfu[:$h}![:s"><field name="NUM">6</field></block></value><value name="Radius"><block type="math_number" id="Yj!?cVTsCf(c.|!n4R*L"><field name="NUM">1.45</field></block></value></block></value><value name="Planar"><block type="logic_boolean" id="EkSJ*f3;:)g-~Q^)*x3f"><field name="BOOL">TRUE</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="QA1XfN|*_2Okmw]/Jxds"><value name="X"><block type="math_number" id="or]w|Cv%4H![Bg_1rPKS"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="c!3AL[?QF!1YM6Ix`XnQ"><field name="NUM">2.5</field></block></value><value name="Z"><block type="math_number" id="[email protected]!"><field name="NUM">0</field></block></value></block></value></block></value></block></next></block></next></block></statement><value name="RETURN"><block type="bitbybit.occt.booleans.difference" id="weOntUfD+R+K|Rk$Z;0i"><value name="Shape"><block type="variables_get" id="|mZz4.bmX/[/^2LYbd2b"><field name="VAR" id="body">body</field></block></value><value name="Shapes"><block type="lists_create_with" id=".rxnG4jWu1!l9Ok/*~df"><mutation items="1"></mutation><value name="ADD0"><block type="variables_get" id="04T#aoZ3CQZd(h^S!Mv+"><field name="VAR" id="socket">socket</field></block></value></block></value><value name="KeepEdges"><block type="logic_boolean" id="EkAg@VnIaFT[f70PK~kl"><field name="BOOL">FALSE</field></block></value><value name="Strategy"><block type="bitbybit.occt.enums.booleanStrategyEnum" id=")]UJ+Bo.4H)6J3mEF;,U"><field name="bitbybit.occt.enums.booleanStrategyEnum">'oneAfterAnother'</field></block></value></block></value></block><block type="variables_set" id="standoffs" x="0" y="4275"><field name="VAR" id="half back">half back</field><value name="VALUE"><block type="math_arithmetic" id="ZW4FiP@Ew_!Wl5:8vwOh"><field name="OP">DIVIDE</field><value name="A"><block type="math_number" id="k]HjWA}sdTL5I6~g66GZ"><field name="NUM">-180</field></block></value><value name="B"><block type="variables_get" id="3s=@=-:PMIb4FfqO=V@y"><field name="VAR" id="arms">arms</field></block></value></block></value><next><block type="variables_set" id="_?_|%_15s;udyA_90znr"><field name="VAR" id="post">post</field><value name="VALUE"><block type="bitbybit.occt.transforms.rotate" id="V${F3^rPyV.^zLS)LH4!"><value name="Shape"><block type="bitbybit.occt.shapes.solid.createCylinder" id="j)+K)f~OvM2r0YgKgH~O"><value name="Radius"><block type="math_number" id="i]gqS=_T*9{LG*ZnB~:C"><field name="NUM">3.2</field></block></value><value name="Height"><block type="math_number" id="i.6[06nRwNQ|(2Um;`_W"><field name="NUM">10</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="`:~?U_b`V^=!Q4ZhK)q:"><value name="X"><block type="math_number" id="+G)LUGxh=wVyj6=},U;e"><field name="NUM">40</field></block></value><value name="Y"><block type="math_number" id="nr,npHE6lHPY,2z|lKCL"><field name="NUM">3</field></block></value><value name="Z"><block type="math_number" id="FG8E^TiVFi$A7AfqMc_F"><field name="NUM">0</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="i@j*TB}CoHc(e05;!SVS"><value name="X"><block type="math_number" id="K|(nSc(WvbRF[yfRSA0="><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id=":R.#[vQkCm4`,503#ptx"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="*OYn{lo%Kyk|hF5hUzh-"><field name="NUM">0</field></block></value></block></value><value name="Angle"><block type="math_number" id="!yg.BQVhT9kwV87a.oe!"><field name="NUM">360</field></block></value><value name="OriginOnCenter"><block type="logic_boolean" id="::faq*(yPP+,M?vhi9xS"><field name="BOOL">FALSE</field></block></value></block></value><value name="Axis"><block type="bitbybit.vector.vectorXYZ" id="RBx}5i{Aq[D!Va-`C6Zr"><value name="X"><block type="math_number" id=".~C;--P?ebhkeGH}8Al7"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="px-26y;lpHdlwNs`i5:A"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="]!s-:][JBd/3}MO?FEDD"><field name="NUM">0</field></block></value></block></value><value name="Angle"><block type="variables_get" id="{=^(;s1;A@BTiJHzl~{J"><field name="VAR" id="half back">half back</field></block></value></block></value><next><block type="variables_set" id="!82,?=kCYNE25bAT,eyz"><field name="VAR" id="bolt">bolt</field><value name="VALUE"><block type="procedures_callreturn" id="[sAmHfRC?`5b%|If8LD."><mutation name="m3 bolt"><arg name="length"></arg></mutation><value name="ARG0"><block type="math_number" id=";[GUCD1[S$pnM;9=|DUu"><field name="NUM">8</field></block></value></block></value><next><block type="variables_set" id="~AM}0~:Cbg11p*xIM8/F"><field name="VAR" id="bolt pair">bolt pair</field><value name="VALUE"><block type="bitbybit.occt.transforms.rotate" id="FUef?21Ek%C[jWSPM=;`"><value name="Shape"><block type="bitbybit.occt.shapes.compound.makeCompound" id="-h`EM.@#o$f]K=Yb,aJh"><value name="Shapes"><block type="lists_create_with" id=";URyfOBTzdK,tRPQZ2^="><mutation items="2"></mutation><value name="ADD0"><block type="bitbybit.occt.transforms.translate" id="oi4uXZpYs)RI}7q!D{OJ"><value name="Shape"><block type="variables_get" id="(Tet^~aQxtbsd4iNqmz["><field name="VAR" id="bolt">bolt</field></block></value><value name="Translation"><block type="bitbybit.vector.vectorXYZ" id="Z]s?SHG#A:]3a;QBbGYr"><value name="X"><block type="math_number" id="g,wTp-)oxwkPJSph9auH"><field name="NUM">40</field></block></value><value name="Y"><block type="math_number" id="XwV7NZfkSa`}d:koX0xo"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="Pd0hTt+-}7x*R3i=#H/4"><field name="NUM">0</field></block></value></block></value></block></value><value name="ADD1"><block type="bitbybit.occt.transforms.translate" id="d~:0F=-~Fu?fWHx}JVkK"><value name="Shape"><block type="bitbybit.occt.transforms.rotate" id="Ij$QQQ)g-7d.9u*H;Fj?"><value name="Shape"><block type="variables_get" id="@sT0rJ7:U%M$+BX`)Y@4"><field name="VAR" id="bolt">bolt</field></block></value><value name="Axis"><block type="bitbybit.vector.vectorXYZ" id="p2bK-rPyiF7;mRvN7)+h"><value name="X"><block type="math_number" id=",38:SYn.=W0w9}b`GnT:"><field name="NUM">1</field></block></value><value name="Y"><block type="math_number" id="u]qb{Q~7)e#y(cv-V$5+"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="mPJJ_ial=qWI_:IvA`|V"><field name="NUM">0</field></block></value></block></value><value name="Angle"><block type="math_number" id="gpC}mGGy7cf{OG9vwz_="><field name="NUM">180</field></block></value></block></value><value name="Translation"><block type="bitbybit.vector.vectorXYZ" id="2J|$=+Bjctxx}h^8bmE#"><value name="X"><block type="math_number" id="EI)s}-47r3g)_(;9PpQT"><field name="NUM">40</field></block></value><value name="Y"><block type="math_number" id="^n7rY2,p*W@g^pxzND/i"><field name="NUM">16</field></block></value><value name="Z"><block type="math_number" id="YB*^ScO74thy|q7Rl8VX"><field name="NUM">0</field></block></value></block></value></block></value></block></value></block></value><value name="Axis"><block type="bitbybit.vector.vectorXYZ" id="~K|n+8xq^Q9x?o^p^lzU"><value name="X"><block type="math_number" id="H/q]$2egq3#WIkj~T*[$"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="#L,*^M!ci|XL}}o}L$xW"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="6erl0SGAWeVGC:yadYC*"><field name="NUM">0</field></block></value></block></value><value name="Angle"><block type="variables_get" id="~p~YI1K3$$0t4NDAk3!e"><field name="VAR" id="half back">half back</field></block></value></block></value><next><block type="variables_set" id="DQzWdk5HH|c87~5}TI)V"><field name="VAR" id="accent">accent</field><value name="VALUE"><block type="procedures_callreturn" id="3PTw5!v?_aUHnT*td~jY"><mutation name="look"><arg name="name"></arg><arg name="colour"></arg><arg name="metallic"></arg><arg name="roughness"></arg><arg name="glow"></arg><arg name="edge colour"></arg><arg name="edge width"></arg></mutation><value name="ARG0"><block type="text" id="NuzUD$6Fh}^Ld1uE:zHU"><field name="TEXT">accent</field></block></value><value name="ARG1"><block type="colour_picker" id="N;PGf.xM^/RXo7l0FvLR"><field name="COLOUR">#f0cebb</field></block></value><value name="ARG2"><block type="math_number" id="KSD56g]205L@]-BcsH@8"><field name="NUM">0.85</field></block></value><value name="ARG3"><block type="math_number" id="(=vlFm|biF=ezJO*9t/c"><field name="NUM">0.35</field></block></value><value name="ARG4"><block type="colour_picker" id="}b1$,_=Q]z^(lnRh^zQs"><field name="COLOUR">#000000</field></block></value><value name="ARG5"><block type="colour_picker" id="8%5ZL(mxs?,18OK;3Y?5"><field name="COLOUR">#0d0e10</field></block></value><value name="ARG6"><block type="math_number" id=":CZSsvD^Me-U6[%bKfuq"><field name="NUM">4</field></block></value></block></value><next><block type="variables_set" id="P+M:.*zK|%vo(||:!u3["><field name="VAR" id="steel">steel</field><value name="VALUE"><block type="procedures_callreturn" id="|rV.fvt0%OlDBiTiZG?h"><mutation name="look"><arg name="name"></arg><arg name="colour"></arg><arg name="metallic"></arg><arg name="roughness"></arg><arg name="glow"></arg><arg name="edge colour"></arg><arg name="edge width"></arg></mutation><value name="ARG0"><block type="text" id="sHsV7CefZm?fn=EzjIVo"><field name="TEXT">steel</field></block></value><value name="ARG1"><block type="colour_picker" id="[YpkjJ7NyY]X}g5p|g9a"><field name="COLOUR">#1c1c1e</field></block></value><value name="ARG2"><block type="math_number" id="jNiCO7?bPfyT:CNRb{f2"><field name="NUM">0.9</field></block></value><value name="ARG3"><block type="math_number" id="uLzqOz+atmA?CB2A@5HU"><field name="NUM">0.42</field></block></value><value name="ARG4"><block type="colour_picker" id="Y]%N~83mg%##YdyLgOR#"><field name="COLOUR">#000000</field></block></value><value name="ARG5"><block type="colour_picker" id="AQTd/]k`7J$L2aiHAg*}"><field name="COLOUR">#f2f2f2</field></block></value><value name="ARG6"><block type="math_number" id=";Vn,QK$_hDnH/^e^t.xt"><field name="NUM">4</field></block></value></block></value><next><block type="bitbybit.draw.drawAnyAsyncNoReturn" id="noW}OF6C*(YtiS5yVrm#"><value name="Entity"><block type="procedures_callreturn" id="M*Cx1smrf38`dzH`Svgs"><mutation name="around"><arg name="shape"></arg><arg name="count"></arg></mutation><value name="ARG0"><block type="variables_get" id="NXsuHr,L^QBj)p5HiPv6"><field name="VAR" id="post">post</field></block></value><value name="ARG1"><block type="variables_get" id="_myR6hy.(GHRxQFG4.^C"><field name="VAR" id="arms">arms</field></block></value></block></value><value name="Options"><block type="variables_get" id="H#cs3WULKwE*eL@F+c~-"><field name="VAR" id="accent">accent</field></block></value><next><block type="bitbybit.draw.drawAnyAsyncNoReturn" id="dRU1Hw1}]*(=PzGe)Cu$"><value name="Entity"><block type="procedures_callreturn" id="cMTHhDvDRcs})XHi}8}T"><mutation name="around"><arg name="shape"></arg><arg name="count"></arg></mutation><value name="ARG0"><block type="variables_get" id=",vk0?UIITe*~JwI?1pT+"><field name="VAR" id="bolt pair">bolt pair</field></block></value><value name="ARG1"><block type="variables_get" id="-h#HgaT,9~UuR5)wG6o|"><field name="VAR" id="arms">arms</field></block></value></block></value><value name="Options"><block type="variables_get" id="Ha^sE{dcn5j!+`-(0UnK"><field name="VAR" id="steel">steel</field></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block><block type="procedures_defreturn" id="armBody" collapsed="true" x="0" y="7067"><mutation><arg name="length" varid="length"></arg></mutation><field name="NAME">arm body</field><comment pinned="false" h="80" w="160">Describe this function...</comment><statement name="STACK"><block type="variables_set" id="8B8H)kmU__i~7?#%(U*#"><field name="VAR" id="tip">tip</field><value name="VALUE"><block type="math_arithmetic" id="y.Ag,DQe(J~]KA.d!GB#"><field name="OP">MINUS</field><value name="A"><block type="variables_get" id="gM%wJHl-JO/iu0z25qrW"><field name="VAR" id="length">length</field></block></value><value name="B"><block type="math_number" id="oTNV`M^Um1lt5iS4y$-9"><field name="NUM">12</field></block></value></block></value><next><block type="variables_set" id="kr%ijZ35iMVcsy~J=^?l"><field name="VAR" id="outline">outline</field><value name="VALUE"><block type="bitbybit.occt.fillets.fillet2d" id="V5il(K`_l~v0bmzZ44jv"><value name="Shape"><block type="bitbybit.occt.shapes.wire.createPolygonWire" id="|~g:Q_]F$~r:_;PfUUJF"><value name="Points"><block type="lists_create_with" id="%M(]c{Y2)@?O;o4[p%!G"><mutation items="4"></mutation><value name="ADD0"><block type="bitbybit.point.pointXYZ" id="fYJ3~:+{8(s1KgCG#2-P"><value name="X"><block type="math_number" id="nv+won.qf8ld(oa/wKAZ"><field name="NUM">28</field></block></value><value name="Y"><block type="math_number" id="9V_G(M$I(py?JEB,I8Q:"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="BZ~=~On34.vQu:XfEn|-"><field name="NUM">-13</field></block></value></block></value><value name="ADD1"><block type="bitbybit.point.pointXYZ" id="d=Eg+s$Z.RMz9?hp6*UT"><value name="X"><block type="variables_get" id="/[sGvDf)d.(^Z)miLx~."><field name="VAR" id="tip">tip</field></block></value><value name="Y"><block type="math_number" id="%GQ[khTyR*ap2a0-Szc3"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="w]p=-xoj:9o;A1nd^qM9"><field name="NUM">-8</field></block></value></block></value><value name="ADD2"><block type="bitbybit.point.pointXYZ" id="y%N|f4_Jlu7VBEHj5-XS"><value name="X"><block type="variables_get" id="8aa4Q#JmmK7%=bp!a?UG"><field name="VAR" id="tip">tip</field></block></value><value name="Y"><block type="math_number" id="Y9PW;iUR;Ba;5mjV*#Ly"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="#Y+8$)DB^BE]S*yvK=b)"><field name="NUM">8</field></block></value></block></value><value name="ADD3"><block type="bitbybit.point.pointXYZ" id=".[fN!K!L)GI}wz*uZ?_e"><value name="X"><block type="math_number" id=":~{A?RC3#Iz,Z/8iNc:X"><field name="NUM">28</field></block></value><value name="Y"><block type="math_number" id="h]xanz?uKP9Ro:wM:`__"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="K[_@hD[_}gm*}_.hl983"><field name="NUM">13</field></block></value></block></value></block></value></block></value><value name="Radius"><block type="math_number" id="Gv`;HNMw[6N!)mTA`TBE"><field name="NUM">4</field></block></value></block></value><next><block type="variables_set" id="3qlk)z=zqXRql8[:m9Js"><field name="VAR" id="slab">slab</field><value name="VALUE"><block type="bitbybit.occt.transforms.translate" id="-~{2Y9M|cY5=T$-]@U66"><value name="Shape"><block type="bitbybit.occt.operations.extrude" id="rdYpTpt(=c*i55V]@Jm."><value name="Shape"><block type="bitbybit.occt.shapes.face.createFaceFromWire" id="V85E6OltHV/s(fa3J$Y^"><value name="Shape"><block type="variables_get" id="^GY9,~BHP8OKgr/0fJcu"><field name="VAR" id="outline">outline</field></block></value><value name="Planar"><block type="logic_boolean" id="b1.:A{igOABe$6-(,G]-"><field name="BOOL">TRUE</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="KeWQaDe!IC7I2x]6;Hp|"><value name="X"><block type="math_number" id="X7uz{lO]n,3W|`PL9RM-"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="%z3qyOustf@TbZeuL-%S"><field name="NUM">10</field></block></value><value name="Z"><block type="math_number" id="ks?.W|-__Ky^MEty*1xB"><field name="NUM">0</field></block></value></block></value></block></value><value name="Translation"><block type="bitbybit.vector.vectorXYZ" id="l=,:/,#IX`iihM.s!(6L"><value name="X"><block type="math_number" id="7UCQ^A9(4tM8@uTnq;sE"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id=".(*XTpq)[#sznz/3/6:#"><field name="NUM">3</field></block></value><value name="Z"><block type="math_number" id="dw;7qz0lnYFE;/MxE.UY"><field name="NUM">0</field></block></value></block></value></block></value><next><block type="variables_set" id="~l6*k_u3KJky^M@F[eB?"><field name="VAR" id="pad">pad</field><value name="VALUE"><block type="bitbybit.occt.shapes.solid.createCylinder" id="1YT^H26Z,oS.,wCZ?M?R"><value name="Radius"><block type="math_number" id="LiTVo]5V_r]^aB*aY~Rg"><field name="NUM">15</field></block></value><value name="Height"><block type="math_number" id="h^J!mWMjTj1kFh.Ef=lp"><field name="NUM">10</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="wh{dIfV%uO8[vUKF^x#)"><value name="X"><block type="variables_get" id="y@,FCL|K4::.s_sE/zjK"><field name="VAR" id="length">length</field></block></value><value name="Y"><block type="math_number" id="guaR{}wx|y*oK|,HE%2L"><field name="NUM">3</field></block></value><value name="Z"><block type="math_number" id="ci%jv(AKPi{wcr9H:]^~"><field name="NUM">0</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="Rb9=+ujTmLJhehrb3pdi"><value name="X"><block type="math_number" id="2X3X%230tCh0o{}C|?%g"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id=":iDz`z94t;uR3TH3s/5x"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="weH]k}^SISUl25,zP{WH"><field name="NUM">0</field></block></value></block></value><value name="Angle"><block type="math_number" id="Zl/E=%r?f+dIC^c+py0}"><field name="NUM">360</field></block></value><value name="OriginOnCenter"><block type="logic_boolean" id="fbc+Z!m)ljcjqNU7P$~["><field name="BOOL">FALSE</field></block></value></block></value><next><block type="variables_set" id="LWz+ShXb7g=fGJ!ED$VV"><field name="VAR" id="holes">holes</field><value name="VALUE"><block type="bitbybit.lists.createEmptyList" id="wq?+j#8jY(ry4gmKGBlr"></block></value><next><block type="controls_for" id="n=l.3-F-8_;I0JC_W-I7"><field name="VAR" id="x">x</field><value name="FROM"><block type="math_number" id="XFk:evMRR/D^^g-@|xx5"><field name="NUM">62</field></block></value><value name="TO"><block type="math_arithmetic" id="{cDVlAE{22K(SrZA9HAu"><field name="OP">MINUS</field><value name="A"><block type="variables_get" id="7#Ea(^^(I_c?rLqTtM3_"><field name="VAR" id="length">length</field></block></value><value name="B"><block type="math_number" id=":[-(Z%tgAoF),H_:uHrj"><field name="NUM">35</field></block></value></block></value><value name="BY"><block type="math_number" id="^4ZeFA|Y`|wGSvEFLJi/"><field name="NUM">24</field></block></value><statement name="DO"><block type="variables_set" id="hM**ni;*t2`n.tt:|#8#"><field name="VAR" id="half">half</field><value name="VALUE"><block type="math_arithmetic" id="TAd#ss/bAC{`%nf8c7pp"><field name="OP">ADD</field><value name="A"><block type="math_number" id="wP{kzd2D=]bz*w+SZP;;"><field name="NUM">13</field></block></value><value name="B"><block type="math_arithmetic" id="Cws/1+`;eLQ..)ia)S%S"><field name="OP">DIVIDE</field><value name="A"><block type="math_arithmetic" id="IEw|!;fd;y]{sC$2{#gO"><field name="OP">MULTIPLY</field><value name="A"><block type="math_number" id="@Ci@W,||2+3M])a[#`?:"><field name="NUM">-5</field></block></value><value name="B"><block type="math_arithmetic" id="gac:YYuK6{7*yYB|wH+_"><field name="OP">MINUS</field><value name="A"><block type="variables_get" id="-7:2DC@dWHV[8.]05{X5"><field name="VAR" id="x">x</field></block></value><value name="B"><block type="math_number" id="}{FA,#=uB-g/]7P[.aMZ"><field name="NUM">28</field></block></value></block></value></block></value><value name="B"><block type="math_arithmetic" id="0U^^j1TQ6bBoIzfi;fpp"><field name="OP">MINUS</field><value name="A"><block type="variables_get" id="fH3G/I/8Exznlf(CeI*L"><field name="VAR" id="tip">tip</field></block></value><value name="B"><block type="math_number" id="##xLT[TRa),^MbycS%2="><field name="NUM">28</field></block></value></block></value></block></value></block></value><next><block type="variables_set" id="vl+,2X,:vPm*5mhFQ:G("><field name="VAR" id="hexagon">hexagon</field><value name="VALUE"><block type="bitbybit.occt.shapes.wire.createNGonWire" id="2{WlalWY8O!Y]))(($cf"><value name="Center"><block type="bitbybit.point.pointXYZ" id="Nqgi`x(XYxgCq)8wgetE"><value name="X"><block type="variables_get" id="7eg=Ta%Ny%EsDFk:x).U"><field name="VAR" id="x">x</field></block></value><value name="Y"><block type="math_number" id="3-4]ci0ce84X6vX~_^0Y"><field name="NUM">3</field></block></value><value name="Z"><block type="math_number" id="|aB.WaH(/=LP0G+oS[=d"><field name="NUM">0</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="+MVn_6MO$R#[v5/#}[JO"><value name="X"><block type="math_number" id="y.?-t~NU,!$H/[Nb%3w4"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="O~)2%jV;J+X71nOa~mqw"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="q30k_`(-M2Vg5Lu5(8I)"><field name="NUM">0</field></block></value></block></value><value name="NrCorners"><block type="math_number" id="?rP5|F:olMhH4nRv:egl"><field name="NUM">6</field></block></value><value name="Radius"><block type="logic_ternary" id="9T};V;Yy2(QLE/ZLg/3."><value name="IF"><block type="logic_compare" id="@I|oIQd;Sf-AMPE1!Bdy"><field name="OP">GT</field><value name="A"><block type="math_arithmetic" id="vBaQ%4a,txuBZwzn;Pu/"><field name="OP">MINUS</field><value name="A"><block type="variables_get" id="@u|l4odD@aZClu;`(SV?"><field name="VAR" id="half">half</field></block></value><value name="B"><block type="math_number" id="?JA@Q,GYehR}m?nh|[_8"><field name="NUM">3.5</field></block></value></block></value><value name="B"><block type="math_number" id="}1;4z{m~c9XTJGYD._xf"><field name="NUM">2.5</field></block></value></block></value><value name="THEN"><block type="math_arithmetic" id="1X_kE-^*l1.4xSb3QJ,}"><field name="OP">MINUS</field><value name="A"><block type="variables_get" id="5k|HcT1]%WTCZ3#Ru5u%"><field name="VAR" id="half">half</field></block></value><value name="B"><block type="math_number" id="M8svi9ulWZTSo(6R*W.^"><field name="NUM">3.5</field></block></value></block></value><value name="ELSE"><block type="math_number" id="A%R8FHze!%02bNpfQZ]$"><field name="NUM">2.5</field></block></value></block></value></block></value><next><block type="variables_set" id="5a`Qg(g3JBUO%+z}+W=4"><field name="VAR" id="holes">holes</field><value name="VALUE"><block type="bitbybit.lists.addItem" id="CE~3r~GQd#9OZU6e!c#:"><value name="List"><block type="variables_get" id="|JX`#rvmzh*{naku(qEP"><field name="VAR" id="holes">holes</field></block></value><value name="Item"><block type="bitbybit.occt.operations.extrude" id="m`59;lLrOP+E.r6^[FU:"><value name="Shape"><block type="bitbybit.occt.shapes.face.createFaceFromWire" id="/*$6Jl*Vm/hYv~rX!5)V"><value name="Shape"><block type="bitbybit.occt.fillets.fillet2d" id="F*H52s7(KZ)#cPa*;*Z["><value name="Shape"><block type="variables_get" id="tV;e;Qh)Hb0/T4*vTVK0"><field name="VAR" id="hexagon">hexagon</field></block></value><value name="Radius"><block type="math_number" id="/4Y;Lq8k:x#C#4V3nqf/"><field name="NUM">1.2</field></block></value></block></value><value name="Planar"><block type="logic_boolean" id="6;p3Vd[S^E[8ihkzuVTE"><field name="BOOL">TRUE</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="nF8fi2:r~d:G?z.P9d*h"><value name="X"><block type="math_number" id="bV#S$K`AFSlLqRj+HpKY"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="^tdn/9dfWHqq.}M3_(Vn"><field name="NUM">10</field></block></value><value name="Z"><block type="math_number" id="Daq9!N1-omV9*czjIm~*"><field name="NUM">0</field></block></value></block></value></block></value><value name="Clone"><block type="logic_boolean" id="*l:kN}a5qZ,w]h=ksQ/R"><field name="BOOL">FALSE</field></block></value></block></value></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></statement><value name="RETURN"><block type="bitbybit.occt.booleans.difference" id="bxzYPnIw{;1zD5[9Br]2"><value name="Shape"><block type="bitbybit.occt.booleans.union" id="*qsB%YHKdNC^lXD)N/tH"><value name="Shapes"><block type="lists_create_with" id="(Oj4a?~aVl)b7~gXMQWL"><mutation items="2"></mutation><value name="ADD0"><block type="variables_get" id="?:|,k7*JyB)RnR|])}:|"><field name="VAR" id="slab">slab</field></block></value><value name="ADD1"><block type="variables_get" id="jX8RB;jC{,~Ox~[i?l6~"><field name="VAR" id="pad">pad</field></block></value></block></value><value name="KeepEdges"><block type="logic_boolean" id="{,gIx067pXn`cED/^p+$"><field name="BOOL">FALSE</field></block></value><value name="Strategy"><block type="bitbybit.occt.enums.booleanStrategyEnum" id="7drDa;~z-%yd2kLR@if+"><field name="bitbybit.occt.enums.booleanStrategyEnum">'oneAfterAnother'</field></block></value></block></value><value name="Shapes"><block type="variables_get" id="%#9z}N8LFQK`a%9Fuj|o"><field name="VAR" id="holes">holes</field></block></value><value name="KeepEdges"><block type="logic_boolean" id="f9V*=X#ay[.KW8KNn^bw"><field name="BOOL">FALSE</field></block></value><value name="Strategy"><block type="bitbybit.occt.enums.booleanStrategyEnum" id="w-l.hxYLH6Vepx:m6:2j"><field name="bitbybit.occt.enums.booleanStrategyEnum">'oneAfterAnother'</field></block></value></block></value></block><block type="variables_set" id="arm" x="0" y="7163"><field name="VAR" id="one arm">one arm</field><value name="VALUE"><block type="procedures_callreturn" id=":Y@2ZlcQcqTC[=pH((mq"><mutation name="arm body"><arg name="length"></arg></mutation><value name="ARG0"><block type="variables_get" id="W+_tBPDw9Gc8ob9mJ?5b"><field name="VAR" id="arm length">arm length</field></block></value></block></value><next><block type="bitbybit.draw.drawAnyAsyncNoReturn" id="armDraw"><value name="Entity"><block type="procedures_callreturn" id="armsAround"><mutation name="around"><arg name="shape"></arg><arg name="count"></arg></mutation><value name="ARG0"><block type="variables_get" id="zu^h92zd,VjM5D5Q@K~s"><field name="VAR" id="one arm">one arm</field></block></value><value name="ARG1"><block type="variables_get" id="BRQBm3xJ%SdOm8$_2xEq"><field name="VAR" id="arms">arms</field></block></value></block></value><value name="Options"><block type="variables_get" id="l06XAU@_!fV;.z:Ha#HO"><field name="VAR" id="carbon">carbon</field></block></value><next><block type="variables_set" id="motorParts"><field name="VAR" id="aluminium">aluminium</field><value name="VALUE"><block type="procedures_callreturn" id="MA/7)WhP^gjnx9an`LvE"><mutation name="look"><arg name="name"></arg><arg name="colour"></arg><arg name="metallic"></arg><arg name="roughness"></arg><arg name="glow"></arg><arg name="edge colour"></arg><arg name="edge width"></arg></mutation><value name="ARG0"><block type="text" id="Ne/u2cl_|l6/vP~c9hi~"><field name="TEXT">aluminium</field></block></value><value name="ARG1"><block type="colour_picker" id="?FR{V)BSfaNCQVqE/.~L"><field name="COLOUR">#b9bec6</field></block></value><value name="ARG2"><block type="math_number" id="jV/|f+B:p9JoE9i~d)lq"><field name="NUM">1</field></block></value><value name="ARG3"><block type="math_number" id="6Hl/!eddi$X`ICEy`%a["><field name="NUM">0.32</field></block></value><value name="ARG4"><block type="colour_picker" id="A+N9}=A;0$Q^^On*([(i"><field name="COLOUR">#000000</field></block></value><value name="ARG5"><block type="colour_picker" id="g`ZAYRk[,xsmHDR:nx/["><field name="COLOUR">#0d0e10</field></block></value><value name="ARG6"><block type="math_number" id="%)-cXU*fU.;~9.6Wn7ht"><field name="NUM">4</field></block></value></block></value><next><block type="variables_set" id="T[%f=v.s}E_(07YG[o3`"><field name="VAR" id="copper">copper</field><value name="VALUE"><block type="procedures_callreturn" id="b0}(FiOC!Cw9N/_:w{{G"><mutation name="look"><arg name="name"></arg><arg name="colour"></arg><arg name="metallic"></arg><arg name="roughness"></arg><arg name="glow"></arg><arg name="edge colour"></arg><arg name="edge width"></arg></mutation><value name="ARG0"><block type="text" id="GHC:AR!Jxp;W67=UYJAp"><field name="TEXT">copper</field></block></value><value name="ARG1"><block type="colour_picker" id="^ZYg:^@h7=oCiW9;[NnS"><field name="COLOUR">#b87333</field></block></value><value name="ARG2"><block type="math_number" id="k@tMjY;E2Mr=1g7t:o9{"><field name="NUM">1</field></block></value><value name="ARG3"><block type="math_number" id="CCfC7x84UnHh6IZ7:al3"><field name="NUM">0.5</field></block></value><value name="ARG4"><block type="colour_picker" id="wcl*oz@k8L])YM;}Bb#d"><field name="COLOUR">#000000</field></block></value><value name="ARG5"><block type="colour_picker" id="(zc{}f*MwKAk70kmRu8-"><field name="COLOUR">#0d0e10</field></block></value><value name="ARG6"><block type="math_number" id="VL.c(UT,Ig]72,=Ffvq!"><field name="NUM">4</field></block></value></block></value><next><block type="variables_set" id="nG;5qst[2Dm:J_KcA3/}"><field name="VAR" id="one motor">one motor</field><value name="VALUE"><block type="procedures_callreturn" id="5[1:a8DoQhb%;Q/[,gV)"><mutation name="motor"><arg name="length"></arg></mutation><value name="ARG0"><block type="variables_get" id=")HcpA#:6D;JY[hZUK:?I"><field name="VAR" id="arm length">arm length</field></block></value></block></value><next><block type="bitbybit.draw.drawAnyAsyncNoReturn" id="motorDraw"><value name="Entity"><block type="procedures_callreturn" id="motorsAround"><mutation name="around"><arg name="shape"></arg><arg name="count"></arg></mutation><value name="ARG0"><block type="variables_get" id="%9HjvhMSjqJXUALqoQlx"><field name="VAR" id="one motor">one motor</field></block></value><value name="ARG1"><block type="variables_get" id="Uwhbfkjk~l@=$SGV4_)Y"><field name="VAR" id="arms">arms</field></block></value></block></value><value name="Options"><block type="variables_get" id="fksYg0pFIo#2[.qDKfg;"><field name="VAR" id="aluminium">aluminium</field></block></value><next><block type="variables_set" id="EJMLV-$r$Mr2nmFpq-Ed"><field name="VAR" id="one stator">one stator</field><value name="VALUE"><block type="procedures_callreturn" id="(S1^#TbqdRUT]b5P7iA)"><mutation name="stator"><arg name="length"></arg></mutation><value name="ARG0"><block type="variables_get" id="$9h3roNab{{A|g_DIBk="><field name="VAR" id="arm length">arm length</field></block></value></block></value><next><block type="bitbybit.draw.drawAnyAsyncNoReturn" id="statorDraw"><value name="Entity"><block type="procedures_callreturn" id="statorsAround"><mutation name="around"><arg name="shape"></arg><arg name="count"></arg></mutation><value name="ARG0"><block type="variables_get" id="OoN|9+XS+EMfTnFN`q_h"><field name="VAR" id="one stator">one stator</field></block></value><value name="ARG1"><block type="variables_get" id="eE14[xFsCz,o)bpsA)x_"><field name="VAR" id="arms">arms</field></block></value></block></value><value name="Options"><block type="variables_get" id="O7[?))P)%]+KU@E0}4mj"><field name="VAR" id="copper">copper</field></block></value><next><block type="variables_set" id="propellerSet"><field name="VAR" id="one propeller">one propeller</field><value name="VALUE"><block type="procedures_callreturn" id="+ur+CI6XVD|%Q4VR~AQr"><mutation name="propeller"><arg name="length"></arg><arg name="diameter"></arg></mutation><value name="ARG0"><block type="variables_get" id="b!sP/j4eM8PZ8X+Z2y0b"><field name="VAR" id="arm length">arm length</field></block></value><value name="ARG1"><block type="variables_get" id="bjjz/BJ#7K|lfqjnEEFV"><field name="VAR" id="diameter">diameter</field></block></value></block></value><next><block type="variables_set" id="spinSet"><field name="VAR" id="spun">spun</field><value name="VALUE"><block type="procedures_callreturn" id="X[`#m`mhBWbG%F%g;oah"><mutation name="alternate spin"><arg name="propellers"></arg></mutation><value name="ARG0"><block type="procedures_callreturn" id="1^5y|p`_[lpVa+y7`PhQ"><mutation name="around"><arg name="shape"></arg><arg name="count"></arg></mutation><value name="ARG0"><block type="variables_get" id=",U5rlW~Wbt1I;RliS0~O"><field name="VAR" id="one propeller">one propeller</field></block></value><value name="ARG1"><block type="variables_get" id="LFw5d}mvfo+jn]VKJW(y"><field name="VAR" id="arms">arms</field></block></value></block></value></block></value><next><block type="bitbybit.draw.drawAnyAsyncNoReturn" id="propellerDraw"><value name="Entity"><block type="variables_get" id="spunEntity"><field name="VAR" id="spun">spun</field></block></value><value name="Options"><block type="variables_get" id="3b{B9Edyx`#L|zf9d3xl"><field name="VAR" id="accent">accent</field></block></value><next><block type="variables_set" id="fittingParts"><field name="VAR" id="arm fixings">arm fixings</field><value name="VALUE"><block type="procedures_callreturn" id="/(kZ05$ESjR1E^^zV_db"><mutation name="arm bolts"><arg name="length"></arg></mutation><value name="ARG0"><block type="variables_get" id="r8=Uxgr[p{M$DI.cc:qF"><field name="VAR" id="arm length">arm length</field></block></value></block></value><next><block type="bitbybit.draw.drawAnyAsyncNoReturn" id="boltsDraw"><value name="Entity"><block type="procedures_callreturn" id="boltsAround"><mutation name="around"><arg name="shape"></arg><arg name="count"></arg></mutation><value name="ARG0"><block type="variables_get" id="`3)TXW`?xv4ei@r1bzXt"><field name="VAR" id="arm fixings">arm fixings</field></block></value><value name="ARG1"><block type="variables_get" id="Vdw3qI]/K:B8/u/yM~[8"><field name="VAR" id="arms">arms</field></block></value></block></value><value name="Options"><block type="variables_get" id="88s^d:(pGJ1;}v%N0[qe"><field name="VAR" id="steel">steel</field></block></value><next><block type="variables_set" id="(rrwmc::Ow@2PY_v1hHM"><field name="VAR" id="green">green</field><value name="VALUE"><block type="procedures_callreturn" id="2k3=:1d)ocOwqPhq0[}4"><mutation name="look"><arg name="name"></arg><arg name="colour"></arg><arg name="metallic"></arg><arg name="roughness"></arg><arg name="glow"></arg><arg name="edge colour"></arg><arg name="edge width"></arg></mutation><value name="ARG0"><block type="text" id=";CYG-J!:dB1;@gTPuv/^"><field name="TEXT">green</field></block></value><value name="ARG1"><block type="colour_picker" id="@7bPG^ODH(oBj@YS}rJu"><field name="COLOUR">#22ff66</field></block></value><value name="ARG2"><block type="math_number" id="UL2uiGT?2U?DO7z0Vnj!"><field name="NUM">0</field></block></value><value name="ARG3"><block type="math_number" id="Au-g)116DikoO_cJBg1}"><field name="NUM">0.2</field></block></value><value name="ARG4"><block type="colour_picker" id="/x+WnX(4)28fLFsr4a1("><field name="COLOUR">#22ff66</field></block></value><value name="ARG5"><block type="colour_picker" id="_dZf8BNd(k)u9@@S1q-I"><field name="COLOUR">#0d0e10</field></block></value><value name="ARG6"><block type="math_number" id="E:$|:0y@E3THNT3|^H1D"><field name="NUM">0</field></block></value></block></value><next><block type="variables_set" id="lightSet"><field name="VAR" id="one light">one light</field><value name="VALUE"><block type="procedures_callreturn" id="sQ-LQNxgp[zN%_FrxjgY"><mutation name="light"><arg name="length"></arg></mutation><value name="ARG0"><block type="variables_get" id="E{{3iXxFp}99cwNaoYpK"><field name="VAR" id="arm length">arm length</field></block></value></block></value><next><block type="variables_set" id="sideSets"><field name="VAR" id="front lights">front lights</field><value name="VALUE"><block type="procedures_callreturn" id="[INj|FofjUnm@@U}$RK5"><mutation name="lights on side"><arg name="lights"></arg><arg name="front"></arg></mutation><value name="ARG0"><block type="procedures_callreturn" id="m5M~]3h|#D?[x=!S,f-)"><mutation name="around"><arg name="shape"></arg><arg name="count"></arg></mutation><value name="ARG0"><block type="variables_get" id="ST).IqQfM.LHX3U0n$cR"><field name="VAR" id="one light">one light</field></block></value><value name="ARG1"><block type="variables_get" id="y|L+jjW9!PXs?(sz1PLc"><field name="VAR" id="arms">arms</field></block></value></block></value><value name="ARG1"><block type="logic_boolean" id="6DEQELJZ].5NTT0]tw`q"><field name="BOOL">TRUE</field></block></value></block></value><next><block type="variables_set" id="PSoHD`A7zT=yA9D@DbJf"><field name="VAR" id="back lights">back lights</field><value name="VALUE"><block type="procedures_callreturn" id="qD3_57gV5@~Z=qwCguaK"><mutation name="lights on side"><arg name="lights"></arg><arg name="front"></arg></mutation><value name="ARG0"><block type="procedures_callreturn" id="FSTw:nouDFg8Y!N3I=1F"><mutation name="around"><arg name="shape"></arg><arg name="count"></arg></mutation><value name="ARG0"><block type="variables_get" id="0D@j=1qs,CPif`n.Qbbv"><field name="VAR" id="one light">one light</field></block></value><value name="ARG1"><block type="variables_get" id="QvTz`dBl)XF.$=`aW#su"><field name="VAR" id="arms">arms</field></block></value></block></value><value name="ARG1"><block type="logic_boolean" id="~;[email protected]}TPabspER5+^"><field name="BOOL">FALSE</field></block></value></block></value><next><block type="bitbybit.draw.drawAnyAsyncNoReturn" id="lightDraw"><value name="Entity"><block type="variables_get" id="frontEntity"><field name="VAR" id="front lights">front lights</field></block></value><value name="Options"><block type="variables_get" id="iTens-HNZ*0U|R-6I8Tn"><field name="VAR" id="green">green</field></block></value><next><block type="bitbybit.draw.drawAnyAsyncNoReturn" id="backDraw"><value name="Entity"><block type="variables_get" id="MsA#Z$}Y7U(k;Av4~5$s"><field name="VAR" id="back lights">back lights</field></block></value><value name="Options"><block type="procedures_callreturn" id="?bm#)H_[tPoN:Ot.og!d"><mutation name="look"><arg name="name"></arg><arg name="colour"></arg><arg name="metallic"></arg><arg name="roughness"></arg><arg name="glow"></arg><arg name="edge colour"></arg><arg name="edge width"></arg></mutation><value name="ARG0"><block type="text" id="eF)3e2~9Yet5*gC(4]^l"><field name="TEXT">red</field></block></value><value name="ARG1"><block type="colour_picker" id="Z~KwwMQa=D.~1,LTQ~RL"><field name="COLOUR">#ff2a2a</field></block></value><value name="ARG2"><block type="math_number" id="|$5DJ`-|R@q-U]@`9OND"><field name="NUM">0</field></block></value><value name="ARG3"><block type="math_number" id="UKPuG=j(h0~1}U=(c)-}"><field name="NUM">0.2</field></block></value><value name="ARG4"><block type="colour_picker" id="6HQMJNLh%4e@RX%o[~=R"><field name="COLOUR">#ff2a2a</field></block></value><value name="ARG5"><block type="colour_picker" id="!D5PH-}{GD,Hye=}6/;["><field name="COLOUR">#0d0e10</field></block></value><value name="ARG6"><block type="math_number" id="Vy{%]DrDTd]RI!C8QxE5"><field name="NUM">0</field></block></value></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block><block type="procedures_defreturn" id="revolved" collapsed="true" x="0" y="11738"><mutation><arg name="profile" varid="profile"></arg></mutation><field name="NAME">revolved</field><comment pinned="false" h="80" w="160">Describe this function...</comment><value name="RETURN"><block type="bitbybit.occt.operations.revolve" id=")RBV3r7)^/q_w4ot:vvr"><value name="Shape"><block type="bitbybit.occt.shapes.face.createFaceFromWire" id="64V!#;dYO$K_mt}n!;3|"><value name="Shape"><block type="bitbybit.occt.shapes.wire.createPolygonWire" id="b6PzrDYWPDKRYlp;0Emm"><value name="Points"><block type="variables_get" id="6j5*@HX*-duJm25fK;SR"><field name="VAR" id="profile">profile</field></block></value></block></value><value name="Planar"><block type="logic_boolean" id="Xj/Aia:McZ}6!EcVSuQ9"><field name="BOOL">TRUE</field></block></value></block></value><value name="Angle"><block type="math_number" id="r-lZI2T6(I^G:H!C~Lt+"><field name="NUM">360</field></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="A!.G?1Y]}*eED_nb6yWj"><value name="X"><block type="math_number" id="UlmGy^``(KAL@+?r4I9j"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="C*.bvZ2-js%MhsCLYy7@"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="gHOgLpHXq[B82M-cf+E{"><field name="NUM">0</field></block></value></block></value><value name="Copy"><block type="logic_boolean" id="=E{[n[IdS7[@=1y~21H}"><field name="BOOL">FALSE</field></block></value></block></value></block><block type="procedures_defreturn" id="motor" collapsed="true" x="0" y="11834"><mutation><arg name="length" varid="length"></arg></mutation><field name="NAME">motor</field><comment pinned="false" h="80" w="160">Describe this function...</comment><statement name="STACK"><block type="variables_set" id="h[MF}PnUw5HgrA2w+si`"><field name="VAR" id="cuts">cuts</field><value name="VALUE"><block type="lists_create_with" id="Nrxs_|9IgXd$;rn0=/9B"><mutation items="1"></mutation><value name="ADD0"><block type="bitbybit.occt.booleans.difference" id="^vhdH`;C!7d@3+7.PSsE"><value name="Shape"><block type="bitbybit.occt.shapes.solid.createCylinder" id="-I)jbBZ.vVvZN2|T#ik/"><value name="Radius"><block type="math_number" id="51YQsFABes=tN5k_;J3a"><field name="NUM">12.4</field></block></value><value name="Height"><block type="math_number" id="Y(+gW)Vj@$lATa@~fO4{"><field name="NUM">12</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="E{d70H70x2!RkL7q2m[W"><value name="X"><block type="math_number" id="h7R5}11JE~SE9*bs7BEB"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="u2/D{,*lAU9Y^(.3_N5R"><field name="NUM">6</field></block></value><value name="Z"><block type="math_number" id="{Qb?(X(^@UP3M+h]RFJJ"><field name="NUM">0</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="$DR4c5qY|eS#-rD-i({l"><value name="X"><block type="math_number" id="HT$^O$GIlW8p0T0gN!FC"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="oly*HFDWx3Qg7W4=lEaP"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="M?yMPswjmeT%q:{5zI4Q"><field name="NUM">0</field></block></value></block></value><value name="Angle"><block type="math_number" id="w$;ltZLorPBl;~e?`wt9"><field name="NUM">360</field></block></value><value name="OriginOnCenter"><block type="logic_boolean" id="jxWfPqrdQ_;l.nQ**+g$"><field name="BOOL">FALSE</field></block></value></block></value><value name="Shapes"><block type="lists_create_with" id="7%;`S#Pp#c,tDM_1_`XE"><mutation items="1"></mutation><value name="ADD0"><block type="bitbybit.occt.shapes.solid.createCylinder" id="CS:_a!*^$%,VDU{zr[qS"><value name="Radius"><block type="math_number" id="y^#a/z]$Z[sc]TG[R}~j"><field name="NUM">4</field></block></value><value name="Height"><block type="math_number" id="zBK|k5(tnJ]C=k^Xk01?"><field name="NUM">14</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="1IJ]AhltmY8CD#Jm8es?"><value name="X"><block type="math_number" id="9Vz$[x]C#UJ79_y#*oQ_"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="~Z^~Dtt048,qh~p!//7]"><field name="NUM">5</field></block></value><value name="Z"><block type="math_number" id="wiFulolRm9G.ZlY.[CA,"><field name="NUM">0</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="2GxfzE^_8{Yl0Yfg/~Ol"><value name="X"><block type="math_number" id="=o5.{Gbm+A0BZijBS|ws"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="S@EDUU,G3*d]l#7R[KV("><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="NJ;P72Kc16LR%]3|#gVA"><field name="NUM">0</field></block></value></block></value><value name="Angle"><block type="math_number" id=";oUccEoJeMc*hG!Me/2f"><field name="NUM">360</field></block></value><value name="OriginOnCenter"><block type="logic_boolean" id="b6:c7iVV]0D`[,3+cE%_"><field name="BOOL">FALSE</field></block></value></block></value></block></value><value name="KeepEdges"><block type="logic_boolean" id="Ca5C=3^jv`_Pnh1.MoM2"><field name="BOOL">FALSE</field></block></value><value name="Strategy"><block type="bitbybit.occt.enums.booleanStrategyEnum" id=")_rbUS91?XpqC(]x;6Y|"><field name="bitbybit.occt.enums.booleanStrategyEnum">'oneAfterAnother'</field></block></value></block></value></block></value><next><block type="controls_for" id="BUHy)isUl5LIeKd=dS~d"><field name="VAR" id="i">i</field><value name="FROM"><block type="math_number" id=":[H-s/=v}_-$S;Ui|tE8"><field name="NUM">0</field></block></value><value name="TO"><block type="math_number" id="4s0nR5.w+@lDt(kTOW7n"><field name="NUM">7</field></block></value><value name="BY"><block type="math_number" id="BfLwkCV$G6gOGOtJ7b[z"><field name="NUM">1</field></block></value><statement name="DO"><block type="variables_set" id="3lyZc3Au6okaiU?6:wy6"><field name="VAR" id="cuts">cuts</field><value name="VALUE"><block type="bitbybit.lists.addItem" id="JQM|b{J6UVSVdQ=CBK/Z"><value name="List"><block type="variables_get" id="1/In48w$bRtYef6y,j`w"><field name="VAR" id="cuts">cuts</field></block></value><value name="Item"><block type="bitbybit.occt.transforms.rotate" id="@LQ:g7a`s.D(@HwCa2iX"><value name="Shape"><block type="bitbybit.occt.shapes.solid.createBox" id="2tr8vz?)q0%651($]@|]"><value name="Width"><block type="math_number" id="mm+P}Vy8V.lF0ZKyay9Y"><field name="NUM">2.2</field></block></value><value name="Length"><block type="math_number" id="Fvt~n6wS^u~^x*0c0D7n"><field name="NUM">8</field></block></value><value name="Height"><block type="math_number" id="@U4=Ja7zn=j4?ocJ.pgB"><field name="NUM">9</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="|s4UN0Z?Y0X|X/$~cmf?"><value name="X"><block type="math_number" id="IbmJu75-Jc`C5o0_U%fc"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="JPe9syuPY=U^R;:NZzlx"><field name="NUM">13</field></block></value><value name="Z"><block type="math_number" id="#9ogBm3ro`dBFg#ODobT"><field name="NUM">12</field></block></value></block></value><value name="OriginOnCenter"><block type="logic_boolean" id="iXh-dXJ,V%D(Dzy#x$S?"><field name="BOOL">TRUE</field></block></value></block></value><value name="Axis"><block type="bitbybit.vector.vectorXYZ" id="f-L8$@)t#kH7#i+*Rx,o"><value name="X"><block type="math_number" id="Eil;Yix]tV;2vYv0hdXI"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="1u,]wleeSpXD3?.4[29E"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="25onY,ICC)_Zj4wsAs=4"><field name="NUM">0</field></block></value></block></value><value name="Angle"><block type="math_arithmetic" id="ph{@^nSwRMb=s/^L`}.e"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="k/{Pqjc:#Kk-`8JV}?mY"><field name="VAR" id="i">i</field></block></value><value name="B"><block type="math_number" id="9HY/z-_SMR#(u{CYjxtB"><field name="NUM">45</field></block></value></block></value></block></value><value name="Clone"><block type="logic_boolean" id="|;4oLS{5R_f~,,e8(X!7"><field name="BOOL">FALSE</field></block></value></block></value></block></statement><next><block type="variables_set" id="C%Fxt#bDu*#Cs@LKgE[P"><field name="VAR" id="housing">housing</field><value name="VALUE"><block type="bitbybit.occt.booleans.difference" id="c*!qru/6+_IwC4y%||.k"><value name="Shape"><block type="procedures_callreturn" id="^Z~)//%I;pnm+S%fJuoy"><mutation name="revolved"><arg name="profile"></arg></mutation><value name="ARG0"><block type="lists_create_with" id="WVS;O2u9;}#P!cwx}--`"><mutation items="13"></mutation><value name="ADD0"><block type="bitbybit.point.pointXYZ" id="+^k^ZF44V#1iL2#]rNQ`"><value name="X"><block type="math_number" id="V_l|`1+zafs.ete)f1/m"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="C0oM.=##2!/%g4pK4Cf@"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="k0laox4z-u~cIKu=WJ-K"><field name="NUM">0</field></block></value></block></value><value name="ADD1"><block type="bitbybit.point.pointXYZ" id="u1aPdSaW)jc9jA7K0SP+"><value name="X"><block type="math_number" id="PY32%|W6su=e{@)E|y#1"><field name="NUM">13</field></block></value><value name="Y"><block type="math_number" id="M0SJDV7[0{Yg?f?3avp8"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="[G]{vebE`sJ};lZ,a^ng"><field name="NUM">0</field></block></value></block></value><value name="ADD2"><block type="bitbybit.point.pointXYZ" id="U=c,U?:p8c?V/0d*z{@U"><value name="X"><block type="math_number" id="RD6hoV:bS@~r9.1~!-fo"><field name="NUM">13</field></block></value><value name="Y"><block type="math_number" id=":Zy]tf9XJbP.ux|@eF/_"><field name="NUM">3</field></block></value><value name="Z"><block type="math_number" id="wqBJ/g3o)9oP@9(}gfi~"><field name="NUM">0</field></block></value></block></value><value name="ADD3"><block type="bitbybit.point.pointXYZ" id="#KiRUc=@618%_nH#t-sm"><value name="X"><block type="math_number" id="q~hKqyZ/BB#*c4]:Rp=#"><field name="NUM">8</field></block></value><value name="Y"><block type="math_number" id="Z3BKlQ^b^Jy4:fvS{./o"><field name="NUM">3</field></block></value><value name="Z"><block type="math_number" id="^kA-F(0E.s|!$sjN/7ev"><field name="NUM">0</field></block></value></block></value><value name="ADD4"><block type="bitbybit.point.pointXYZ" id="]r@D{oD!y^g]Lj[7e~~|"><value name="X"><block type="math_number" id="0pnlwsm`0?fd@lW:V9b?"><field name="NUM">8</field></block></value><value name="Y"><block type="math_number" id="rkVQj[TAe|k[;NH_Uoff"><field name="NUM">6</field></block></value><value name="Z"><block type="math_number" id="9$F2:|M[`K?e=M{7WZjc"><field name="NUM">0</field></block></value></block></value><value name="ADD5"><block type="bitbybit.point.pointXYZ" id="le7:=HdKrfj]:r[E!^@f"><value name="X"><block type="math_number" id="[4EEL7_ryV`)f:d_{K[4"><field name="NUM">14</field></block></value><value name="Y"><block type="math_number" id="ubxaD[IK=.Be2`T|qqo["><field name="NUM">6</field></block></value><value name="Z"><block type="math_number" id="ptW#r}KBgMd6ocovDf]g"><field name="NUM">0</field></block></value></block></value><value name="ADD6"><block type="bitbybit.point.pointXYZ" id="upjyx~C0aQb,]i).Ea6,"><value name="X"><block type="math_number" id="{N^=Fyc(Dz|M@v(,(4v^"><field name="NUM">14</field></block></value><value name="Y"><block type="math_number" id="RO}PrYgYn]72_0_%Cv.R"><field name="NUM">19</field></block></value><value name="Z"><block type="math_number" id="WE-7!bZ1J[Im[gHexV!m"><field name="NUM">0</field></block></value></block></value><value name="ADD7"><block type="bitbybit.point.pointXYZ" id="o|;0|V:?lOP@;KaHPm!?"><value name="X"><block type="math_number" id="~EKIq4?UyFZ29)yjRyH`"><field name="NUM">12.8</field></block></value><value name="Y"><block type="math_number" id="5/y`B?%.9TsZ0N*jm}Tl"><field name="NUM">20</field></block></value><value name="Z"><block type="math_number" id="N[Sx-iV}e.d0P8wv0@-P"><field name="NUM">0</field></block></value></block></value><value name="ADD8"><block type="bitbybit.point.pointXYZ" id="3@#Y4h|HfKU}pfl#d?R!"><value name="X"><block type="math_number" id="0E8p:R*o}h[#t1SGED3U"><field name="NUM">6</field></block></value><value name="Y"><block type="math_number" id="kN]]J`6u(9kWgCEZQxJY"><field name="NUM">20</field></block></value><value name="Z"><block type="math_number" id="Z|*pED5QnR-!anecmlB:"><field name="NUM">0</field></block></value></block></value><value name="ADD9"><block type="bitbybit.point.pointXYZ" id="nBo(@Qm2y;EWZy#`;@Ka"><value name="X"><block type="math_number" id="38N$a[y/$fed8c(uKmv6"><field name="NUM">6</field></block></value><value name="Y"><block type="math_number" id="eeZH,u-XAvL/UvsQQ}S,"><field name="NUM">22</field></block></value><value name="Z"><block type="math_number" id="Za8Hs]tuUVsl:{x#%a-%"><field name="NUM">0</field></block></value></block></value><value name="ADD10"><block type="bitbybit.point.pointXYZ" id="#/s,6Fbz)K.jc})TWido"><value name="X"><block type="math_number" id="qn1AD]c:hI-[{0.`l_E="><field name="NUM">2.5</field></block></value><value name="Y"><block type="math_number" id="tpNu?r^3(HCC=JixmXB."><field name="NUM">22</field></block></value><value name="Z"><block type="math_number" id="lI|ig3D4B|rn+?(IXdYu"><field name="NUM">0</field></block></value></block></value><value name="ADD11"><block type="bitbybit.point.pointXYZ" id="[email protected]`$vb]F3tj6b`"><value name="X"><block type="math_number" id="@[mQHEi#_%|TdSBl`WJ["><field name="NUM">2.5</field></block></value><value name="Y"><block type="math_number" id="vcowQ4.,ko%PR2+=A(q^"><field name="NUM">28</field></block></value><value name="Z"><block type="math_number" id="^H,]/]t]~,YVzzW[|-;4"><field name="NUM">0</field></block></value></block></value><value name="ADD12"><block type="bitbybit.point.pointXYZ" id="UC*3A9eK)/At*[`=EDsh"><value name="X"><block type="math_number" id="-D+,}$)GKz9|6WpQ#yq~"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="4dcqV{dk+hbbQtAsY[9i"><field name="NUM">28</field></block></value><value name="Z"><block type="math_number" id="siK,0A~mBEO?VcDnda[k"><field name="NUM">0</field></block></value></block></value></block></value></block></value><value name="Shapes"><block type="variables_get" id=".]o6IAppv44Ka@dbDj76"><field name="VAR" id="cuts">cuts</field></block></value><value name="KeepEdges"><block type="logic_boolean" id="YmlKl#/tIk#,G+crR!xK"><field name="BOOL">FALSE</field></block></value><value name="Strategy"><block type="bitbybit.occt.enums.booleanStrategyEnum" id="zo?WH:RWV:MLz~g_*7GT"><field name="bitbybit.occt.enums.booleanStrategyEnum">'oneAfterAnother'</field></block></value></block></value><next><block type="variables_set" id="Wyy*w$NB0hwi4wb[7})Y"><field name="VAR" id="nut">nut</field><value name="VALUE"><block type="bitbybit.occt.booleans.intersection" id="heRTUi^l|doZT`LV9O-E"><value name="Shapes"><block type="lists_create_with" id="*I0b][8n8mBc]xbU^95."><mutation items="2"></mutation><value name="ADD0"><block type="bitbybit.occt.operations.extrude" id="gFzWZN?c,ua%]!eEg:DM"><value name="Shape"><block type="bitbybit.occt.shapes.face.createFaceFromWire" id="fy`I`vZn+oe%Nb}:N)[z"><value name="Shape"><block type="bitbybit.occt.shapes.wire.createNGonWire" id="fZ5hEU)`Wq-3^/!L844b"><value name="Center"><block type="bitbybit.point.pointXYZ" id="3cA[vL#IpVe{.WWu=$Sc"><value name="X"><block type="math_number" id="jM|A9G-.x!3wxazV9XzX"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="G*WNe4~]GjJX!hNHepVu"><field name="NUM">34</field></block></value><value name="Z"><block type="math_number" id="MSU?#-xl?s3CsZV?+,aV"><field name="NUM">0</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="~S)Y448$ot1a|7:HW~nR"><value name="X"><block type="math_number" id="vWZru^U8H}[Z#[5Zuv:D"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="pV(2o[qxSx5|E?CSJyo}"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="7v,X_,6N92?}E?sesE,1"><field name="NUM">0</field></block></value></block></value><value name="NrCorners"><block type="math_number" id="p[PiXW#Ooiz7N[R(ktbh"><field name="NUM">6</field></block></value><value name="Radius"><block type="math_number" id="MO5~Y`OL-?C}6agty-=G"><field name="NUM">3.6</field></block></value></block></value><value name="Planar"><block type="logic_boolean" id="TExcbPJa.[~-gvQx]Ooq"><field name="BOOL">TRUE</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="@E[1$W3o*_4CB`DC3)cn"><value name="X"><block type="math_number" id=".%;Dup2*a.zNz+HePNCL"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="!~0YXw/,]gU?jZZ;?}z8"><field name="NUM">3.5</field></block></value><value name="Z"><block type="math_number" id="GeRzkK[eME2{o|dGxkBF"><field name="NUM">0</field></block></value></block></value></block></value><value name="ADD1"><block type="procedures_callreturn" id="KHaG.k^DE^YYmT53[Y|R"><mutation name="revolved"><arg name="profile"></arg></mutation><value name="ARG0"><block type="lists_create_with" id="@woBg7k[cQpDl^$80AXA"><mutation items="6"></mutation><value name="ADD0"><block type="bitbybit.point.pointXYZ" id="1`M@rQfCj9tEPs3E)LKb"><value name="X"><block type="math_number" id="R(YbK7T;6=w1rbnjaomk"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="lX]sV2g]5ZgQ{(UXfid$"><field name="NUM">34</field></block></value><value name="Z"><block type="math_number" id="1Pt3V+YWMy~$9bH},kI*"><field name="NUM">0</field></block></value></block></value><value name="ADD1"><block type="bitbybit.point.pointXYZ" id=")@zA:MgjzKV@A,S9LThB"><value name="X"><block type="math_number" id="mIQdU+1Xc3F/Q6tl%8Uf"><field name="NUM">2.9</field></block></value><value name="Y"><block type="math_number" id="{ZcfB/rXyYaHBQF1EX#["><field name="NUM">34</field></block></value><value name="Z"><block type="math_number" id="@[pn5OQX($,118.7r{0D"><field name="NUM">0</field></block></value></block></value><value name="ADD2"><block type="bitbybit.point.pointXYZ" id="g]~V1=n0Adekl4myMJgO"><value name="X"><block type="math_number" id="73vjo|sYMq,p0#gc8N%m"><field name="NUM">3.7</field></block></value><value name="Y"><block type="math_number" id="LbpNw.YF,iyg1L]3C6G)"><field name="NUM">34.7</field></block></value><value name="Z"><block type="math_number" id="!:brLPC-P@Z?h?MTL6?P"><field name="NUM">0</field></block></value></block></value><value name="ADD3"><block type="bitbybit.point.pointXYZ" id="Ujzt]#J`[^Sv94Wu%K)t"><value name="X"><block type="math_number" id="K,=p@n*NNlNp0)qL[AI+"><field name="NUM">3.7</field></block></value><value name="Y"><block type="math_number" id="(^B:+%n7=yY4S8wZ53dW"><field name="NUM">36.8</field></block></value><value name="Z"><block type="math_number" id="dgdH~^Mk+GK27~0S1dWu"><field name="NUM">0</field></block></value></block></value><value name="ADD4"><block type="bitbybit.point.pointXYZ" id="N~[V};GkC=cGwpTKzz;N"><value name="X"><block type="math_number" id="G,?n/zrE=otbt95+xv`O"><field name="NUM">2.9</field></block></value><value name="Y"><block type="math_number" id="#6yQxd.6K/pRm0sVw~P@"><field name="NUM">37.5</field></block></value><value name="Z"><block type="math_number" id="(JO/N4v#~as*fv@xD7j3"><field name="NUM">0</field></block></value></block></value><value name="ADD5"><block type="bitbybit.point.pointXYZ" id="G[qjeEQwY1iDMC_0y%;s"><value name="X"><block type="math_number" id="Zm,*Dbk)N3)81)l6O?ah"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="n9IJ9#g]K`0B1xz-0ZRm"><field name="NUM">37.5</field></block></value><value name="Z"><block type="math_number" id="at*c~gVPXQhilx)XmUU?"><field name="NUM">0</field></block></value></block></value></block></value></block></value></block></value><value name="KeepEdges"><block type="logic_boolean" id="/FW#F#3Xa)L|aL?+MN?)"><field name="BOOL">FALSE</field></block></value></block></value></block></next></block></next></block></next></block></statement><value name="RETURN"><block type="bitbybit.occt.transforms.translate" id="noxVq|pFGxXQ4+Cvs_;x"><value name="Shape"><block type="bitbybit.occt.shapes.compound.makeCompound" id="`v3!C[2deRJzeEcl5z3_"><value name="Shapes"><block type="lists_create_with" id="hUh:OGPMM]]y*#k!~CZL"><mutation items="2"></mutation><value name="ADD0"><block type="variables_get" id="B8;/%lgpknUdYS^*R`Wc"><field name="VAR" id="housing">housing</field></block></value><value name="ADD1"><block type="variables_get" id="!-E#]p$2b-srelfqtN;s"><field name="VAR" id="nut">nut</field></block></value></block></value></block></value><value name="Translation"><block type="bitbybit.vector.vectorXYZ" id="}0d#)z949$C5^}]fHpYm"><value name="X"><block type="variables_get" id="n?=l%kC.9nUays?:$p~l"><field name="VAR" id="length">length</field></block></value><value name="Y"><block type="math_number" id="eQ7W(_^=1~{BSH8u:16E"><field name="NUM">13</field></block></value><value name="Z"><block type="math_number" id="`!.}XRm3;YSJA3XF}pfU"><field name="NUM">0</field></block></value></block></value></block></value></block><block type="procedures_defreturn" id="blade" collapsed="true" x="0" y="11930"><mutation><arg name="diameter" varid="diameter"></arg></mutation><field name="NAME">blade</field><comment pinned="false" h="80" w="160">Describe this function...</comment><statement name="STACK"><block type="variables_set" id="!L(8.s]CJ)1~I-mk?1q{"><field name="VAR" id="span">span</field><value name="VALUE"><block type="math_arithmetic" id="Z3RS%Y;%u,Ps%[=31Ay4"><field name="OP">MINUS</field><value name="A"><block type="math_arithmetic" id="`w4`yEGHS$`%4Fl,%4B5"><field name="OP">DIVIDE</field><value name="A"><block type="variables_get" id="?xq-|Q3v:!}P6I/3xE#P"><field name="VAR" id="diameter">diameter</field></block></value><value name="B"><block type="math_number" id="Q#@-)q$f6P*C|Kiib1^R"><field name="NUM">2</field></block></value></block></value><value name="B"><block type="math_number" id="`)X]M@bPzTx=$yq):?Z+"><field name="NUM">6</field></block></value></block></value><next><block type="variables_set" id="5lS-BP1yHTz{0WGX}U`Q"><field name="VAR" id="sections">sections</field><value name="VALUE"><block type="bitbybit.lists.createEmptyList" id="%]l7uLI@i`*6ucem@-vg"></block></value><next><block type="controls_forEach" id="k$|+7D$VQA^sW]|7D@_q"><field name="VAR" id="station">station</field><value name="LIST"><block type="lists_create_with" id="6%[K0~;C){Zsw[DfdqNW"><mutation items="5"></mutation><value name="ADD0"><block type="lists_create_with" id="}EJj`~4~0)fbQ6Oo,G%W"><mutation items="5"></mutation><value name="ADD0"><block type="math_number" id="z}x$r}Hajq+^jj7]~^rV"><field name="NUM">0</field></block></value><value name="ADD1"><block type="math_number" id="Z{4$/).,xQA[ofb|p;Yx"><field name="NUM">12</field></block></value><value name="ADD2"><block type="math_number" id="-nFTl3[|M#=t%Q3F7Ukx"><field name="NUM">3.2</field></block></value><value name="ADD3"><block type="math_number" id="s/O*VSr7XBQ!hQ.Lzqiy"><field name="NUM">38</field></block></value><value name="ADD4"><block type="math_number" id="^eE/B~goI3Nhv8K1=vM|"><field name="NUM">0</field></block></value></block></value><value name="ADD1"><block type="lists_create_with" id="!)K;MI9dQ%~}Z+iI;}uw"><mutation items="5"></mutation><value name="ADD0"><block type="math_number" id="Ix+]Svt`9VR3)]UkRpHB"><field name="NUM">0.25</field></block></value><value name="ADD1"><block type="math_number" id="MDFBBoz~@W3obN%sJzsN"><field name="NUM">17</field></block></value><value name="ADD2"><block type="math_number" id="e(cJM77/eLyN^z|SrUE:"><field name="NUM">2.4</field></block></value><value name="ADD3"><block type="math_number" id="qea^|lAACi7MCYXSv|sb"><field name="NUM">24</field></block></value><value name="ADD4"><block type="math_number" id="M#n?xmt_rb1)TW%kbAx?"><field name="NUM">0.6</field></block></value></block></value><value name="ADD2"><block type="lists_create_with" id="6ry*`s37#eY#}o(LAMFI"><mutation items="5"></mutation><value name="ADD0"><block type="math_number" id="o.-/l6e;::;IToc-XM_C"><field name="NUM">0.5</field></block></value><value name="ADD1"><block type="math_number" id="XWzUdDHE=j_*(.(~:1Sy"><field name="NUM">15.5</field></block></value><value name="ADD2"><block type="math_number" id="dv=.jw%!10q3F]:Twaa$"><field name="NUM">1.8</field></block></value><value name="ADD3"><block type="math_number" id="4zQ|]!s@08[N?%%w%]6="><field name="NUM">16</field></block></value><value name="ADD4"><block type="math_number" id="}+?xWX%YhkXbPqyRH|w/"><field name="NUM">1.8</field></block></value></block></value><value name="ADD3"><block type="lists_create_with" id="Hcw7^7|*O[fs?TTm2evS"><mutation items="5"></mutation><value name="ADD0"><block type="math_number" id=":%D{n}XV;H*Joxh*t)80"><field name="NUM">0.78</field></block></value><value name="ADD1"><block type="math_number" id="CEC^;:0Pd:]V6UfV8jca"><field name="NUM">11</field></block></value><value name="ADD2"><block type="math_number" id="jabGrUM1mX?d,iyIFi=/"><field name="NUM">1.4</field></block></value><value name="ADD3"><block type="math_number" id="*thm/CPJ%Vg}aX9^v)cV"><field name="NUM">11</field></block></value><value name="ADD4"><block type="math_number" id="qXLd_$1LO-.?g`Cndwy9"><field name="NUM">3.6</field></block></value></block></value><value name="ADD4"><block type="lists_create_with" id="S#3FS[p_p=iMkfK68n6D"><mutation items="5"></mutation><value name="ADD0"><block type="math_number" id="LwGH/6g?7N%UN7+P?[jv"><field name="NUM">1</field></block></value><value name="ADD1"><block type="math_number" id=".amZS0^$DP6L]N(Y}#hl"><field name="NUM">4.5</field></block></value><value name="ADD2"><block type="math_number" id="3s$r?@GS?/o}Y)Q7q-Yj"><field name="NUM">1</field></block></value><value name="ADD3"><block type="math_number" id="}1R2vlK2z](4UKpM::Ru"><field name="NUM">8</field></block></value><value name="ADD4"><block type="math_number" id=".D*p+/*ee:{EgfLfizc0"><field name="NUM">6</field></block></value></block></value></block></value><statement name="DO"><block type="variables_set" id="!t@,qr[P^U`J(%E,zbgE"><field name="VAR" id="r">r</field><value name="VALUE"><block type="math_arithmetic" id="`7M{1bs59[2wAfrKRf51"><field name="OP">ADD</field><value name="A"><block type="math_number" id="?A6W4WCcDG+#)jgPVBm$"><field name="NUM">6</field></block></value><value name="B"><block type="math_arithmetic" id="hCpY;JeE3o5@I?L(oBrn"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="v[3gS}hcH`$dWl5=w+`;"><field name="VAR" id="span">span</field></block></value><value name="B"><block type="bitbybit.lists.getItem" id="3-$+c?,GB7#M_0ZCg`d0"><value name="List"><block type="variables_get" id=":azL]WtG=8,UAb:v2d/r"><field name="VAR" id="station">station</field></block></value><value name="Index"><block type="math_number" id="PmvXQ{p78w|lz5*]-Y%L"><field name="NUM">0</field></block></value><value name="Clone"><block type="logic_boolean" id="O(plZy;b|`P-LV9D2#Nx"><field name="BOOL">FALSE</field></block></value></block></value></block></value></block></value><next><block type="variables_set" id="92Jgi^Pk,bYY(`yCH0q("><field name="VAR" id="ellipse">ellipse</field><value name="VALUE"><block type="bitbybit.occt.shapes.wire.createEllipseWire" id="aaBJ3|FIMmB_^vcZ9v?8"><value name="Center"><block type="bitbybit.point.pointXYZ" id="%0(=yx9z~z:paOkv/O1S"><value name="X"><block type="variables_get" id="KCDPA1B4fD]o]82t,Q8,"><field name="VAR" id="r">r</field></block></value><value name="Y"><block type="math_number" id="b-S~lF0zAK+1C!4xzWPY"><field name="NUM">0</field></block></value><value name="Z"><block type="bitbybit.lists.getItem" id="3n|#F@$heNB*i{Bw/js-"><value name="List"><block type="variables_get" id="k_Y*Z11w$]Dz(P]=+?)%"><field name="VAR" id="station">station</field></block></value><value name="Index"><block type="math_number" id="G=)KHBD6@)jlVb+U^pEc"><field name="NUM">4</field></block></value><value name="Clone"><block type="logic_boolean" id="E0Yi=K=)]WCj~5:o}t,i"><field name="BOOL">FALSE</field></block></value></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="xEMlKebgERg70im!UI)z"><value name="X"><block type="math_number" id="r6Ra[,K)w*r}y~h:xh!g"><field name="NUM">1</field></block></value><value name="Y"><block type="math_number" id="dBUM?/S*V*3rD98VUT?H"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="D%2=StFIS6d|{.|Bn[:Z"><field name="NUM">0</field></block></value></block></value><value name="RadiusMinor"><block type="math_arithmetic" id="irhaRmYXIS/jg^QWJgm|"><field name="OP">DIVIDE</field><value name="A"><block type="bitbybit.lists.getItem" id="`2:=iAVjn@z$Gr1lcq-2"><value name="List"><block type="variables_get" id="2R[33dWaMx~r8?RwfJC4"><field name="VAR" id="station">station</field></block></value><value name="Index"><block type="math_number" id="L%RVuG-qUYkK99dP$V~B"><field name="NUM">2</field></block></value><value name="Clone"><block type="logic_boolean" id="WTA5fm1hO+79Q(8uE7`i"><field name="BOOL">FALSE</field></block></value></block></value><value name="B"><block type="math_number" id="_NikP(H?@9O$FJhbn-Z6"><field name="NUM">2</field></block></value></block></value><value name="RadiusMajor"><block type="math_arithmetic" id="HWsF2ndYD$nUnA%b,kqQ"><field name="OP">DIVIDE</field><value name="A"><block type="bitbybit.lists.getItem" id="R{oiYFqiT9C#=o~,Eznj"><value name="List"><block type="variables_get" id="_k89_EM`A-O:![nG|AI9"><field name="VAR" id="station">station</field></block></value><value name="Index"><block type="math_number" id="{uW3(?BK;B{*Hviq]sZ6"><field name="NUM">1</field></block></value><value name="Clone"><block type="logic_boolean" id="SU#a3UC}hg#Q4_VU];$p"><field name="BOOL">FALSE</field></block></value></block></value><value name="B"><block type="math_number" id="%GN,@-WNdIMiJ~@8_IES"><field name="NUM">2</field></block></value></block></value></block></value><next><block type="variables_set" id="25eT(sE.*X8Rnkz)$Pm2"><field name="VAR" id="sections">sections</field><value name="VALUE"><block type="bitbybit.lists.addItem" id="t`!4^I|}`!5E^Uu)7fg("><value name="List"><block type="variables_get" id="?tpLVOJwH~YPf$*s)%_Y"><field name="VAR" id="sections">sections</field></block></value><value name="Item"><block type="bitbybit.occt.transforms.rotateAroundCenter" id="`n^efD(DWlCMXJO.y|2-"><value name="Shape"><block type="variables_get" id="aT/;1(Uk8_}=zA=z9[e@"><field name="VAR" id="ellipse">ellipse</field></block></value><value name="Angle"><block type="bitbybit.lists.getItem" id="E4;iOAoIc=b0d+?f`Hc!"><value name="List"><block type="variables_get" id="#)g1JDq3L}B+L|Q4~N1|"><field name="VAR" id="station">station</field></block></value><value name="Index"><block type="math_number" id="^Yyo$]K.0]E#W-6g4ze$"><field name="NUM">3</field></block></value><value name="Clone"><block type="logic_boolean" id="bYt9s0meMl0,b/xfT9Q{"><field name="BOOL">FALSE</field></block></value></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="5F$xJFI.ou6zmiHBX#,Y"><value name="X"><block type="variables_get" id="AT.:Tl#g~f)pv~4xupfN"><field name="VAR" id="r">r</field></block></value><value name="Y"><block type="math_number" id="Fhrw0_4xg~0(.Z4zwg|m"><field name="NUM">0</field></block></value><value name="Z"><block type="bitbybit.lists.getItem" id=")oR}mdy,S.X_RND.cC(S"><value name="List"><block type="variables_get" id="|}4Mi(/ICuS$sq1Ud?sD"><field name="VAR" id="station">station</field></block></value><value name="Index"><block type="math_number" id="#uvvc]#nNqc*FKQuqAb`"><field name="NUM">4</field></block></value><value name="Clone"><block type="logic_boolean" id="^R_9dJ!U@82;_pT?$8B,"><field name="BOOL">FALSE</field></block></value></block></value></block></value><value name="Axis"><block type="bitbybit.vector.vectorXYZ" id="Z#(H9UIk]T9{=(e?*-;V"><value name="X"><block type="math_number" id="+x!)}AzaNa0~@orWUbz%"><field name="NUM">1</field></block></value><value name="Y"><block type="math_number" id="?.][?UHKuDZpZ!gi`Pxn"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="hS?y%%Ug?tOe|2)vGoPS"><field name="NUM">0</field></block></value></block></value></block></value><value name="Clone"><block type="logic_boolean" id="aGU/_:K5~U;;[b+3ogpk"><field name="BOOL">FALSE</field></block></value></block></value></block></next></block></next></block></statement></block></next></block></next></block></statement><value name="RETURN"><block type="bitbybit.occt.operations.loft" id="(|LwZ6itEVd5Mfua#}=$"><value name="Shapes"><block type="variables_get" id="y4/fP4At4I(Tw-YvNVu!"><field name="VAR" id="sections">sections</field></block></value><value name="MakeSolid"><block type="logic_boolean" id="DtoVY@Ei3ZR[[oHu[g+n"><field name="BOOL">TRUE</field></block></value></block></value></block><block type="procedures_defreturn" id="stator" collapsed="true" x="0" y="12026"><mutation><arg name="length" varid="length"></arg></mutation><field name="NAME">stator</field><comment pinned="false" h="80" w="160">Describe this function...</comment><value name="RETURN"><block type="bitbybit.occt.transforms.translate" id="7!Cld9wBY8WY.$zWai~A"><value name="Shape"><block type="bitbybit.occt.shapes.solid.createCylinder" id="f#N*IdD$*:(u`h#kSCcg"><value name="Radius"><block type="math_number" id="819;b@):L|/Hs#1ls2OQ"><field name="NUM">11.8</field></block></value><value name="Height"><block type="math_number" id="ft51X$`;]C_*#4zy1F]6"><field name="NUM">11</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="f3V7t[_/e())~QUP@0Ls"><value name="X"><block type="math_number" id="|7PrRT=CqSBY?SFz23MO"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="z~IwUboF7`jl;;+xrDtW"><field name="NUM">6.5</field></block></value><value name="Z"><block type="math_number" id="z2Q:j0?bgsaoPB#J:UiY"><field name="NUM">0</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="R`J=2ss|Y]TS|i97@uXm"><value name="X"><block type="math_number" id="B8xHTX[d?xqnrKEX|Km`"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="JeeTum/2@3AlaDJ=YF/P"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="(wmcxZhpRp*sWJ7z9N[j"><field name="NUM">0</field></block></value></block></value><value name="Angle"><block type="math_number" id="nXH$8^s@S?pJy)1hy9=F"><field name="NUM">360</field></block></value><value name="OriginOnCenter"><block type="logic_boolean" id=")*C.n*,fA4bX@-f6tqT4"><field name="BOOL">FALSE</field></block></value></block></value><value name="Translation"><block type="bitbybit.vector.vectorXYZ" id="bs@SsV{J?sQ9!Qf`n-1,"><value name="X"><block type="variables_get" id="J6Nk{0Je}u=}ELXj[V.p"><field name="VAR" id="length">length</field></block></value><value name="Y"><block type="math_number" id="H|mNn2H]DLX_8epjAFWO"><field name="NUM">13</field></block></value><value name="Z"><block type="math_number" id="AQ,,^^9VTozyarJ!NFb@"><field name="NUM">0</field></block></value></block></value></block></value></block><block type="procedures_defreturn" id="propeller" collapsed="true" x="0" y="12122"><mutation><arg name="length" varid="length"></arg><arg name="diameter" varid="diameter"></arg></mutation><field name="NAME">propeller</field><comment pinned="false" h="80" w="160">Describe this function...</comment><statement name="STACK"><block type="variables_set" id="%,Fld61^=;#yv+Yyh*GM"><field name="VAR" id="first blade">first blade</field><value name="VALUE"><block type="procedures_callreturn" id="*[/fM.278G#0QEZS8ig0"><mutation name="blade"><arg name="diameter"></arg></mutation><value name="ARG0"><block type="variables_get" id="GEpXL=Q/L+rj_D:IGvBS"><field name="VAR" id="diameter">diameter</field></block></value></block></value><next><block type="variables_set" id="FrU]KKuutvfF_JA]Y1I1"><field name="VAR" id="hub">hub</field><value name="VALUE"><block type="bitbybit.occt.operations.revolve" id="ua^~dBmWc|;@(AEC}/ir"><value name="Shape"><block type="bitbybit.occt.shapes.face.createFaceFromWire" id="089Sb7ur1+06|IKoP7m-"><value name="Shape"><block type="bitbybit.occt.shapes.wire.createPolygonWire" id="zjp%VN@A8*je.,inhpo]"><value name="Points"><block type="lists_create_with" id="!mjD-Mj!8$}-o6~vUTXq"><mutation items="6"></mutation><value name="ADD0"><block type="bitbybit.point.pointXYZ" id="Jjnc?P9PE~=5z-f!=b[e"><value name="X"><block type="math_number" id="#6d~fLSL_GByPyw%Nd(="><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="8xsg!6Oh5!jEBNJL3j[K"><field name="NUM">-5</field></block></value><value name="Z"><block type="math_number" id="RB*sfjmCE7hu(CRf]jq#"><field name="NUM">0</field></block></value></block></value><value name="ADD1"><block type="bitbybit.point.pointXYZ" id="fa|8r`@Md!%:,)eVax:0"><value name="X"><block type="math_number" id="qfF^%~)(McQ|-zeQ}~M7"><field name="NUM">8</field></block></value><value name="Y"><block type="math_number" id="Q,BrHGoaBrNn`ma|P|2/"><field name="NUM">-5</field></block></value><value name="Z"><block type="math_number" id="2#hwrrZz~;J(N?d}`.O6"><field name="NUM">0</field></block></value></block></value><value name="ADD2"><block type="bitbybit.point.pointXYZ" id="I7pkrr]1PAk_IHEuwS4$"><value name="X"><block type="math_number" id="Q%/[/dH[C*~xaZ6u+u1u"><field name="NUM">8</field></block></value><value name="Y"><block type="math_number" id="F7TC!Is[iHWb^EX-(7X("><field name="NUM">4.5</field></block></value><value name="Z"><block type="math_number" id="irv-4.ESWNrdR/PPk6Ru"><field name="NUM">0</field></block></value></block></value><value name="ADD3"><block type="bitbybit.point.pointXYZ" id="2{]aHyV)`y{DbJFD(dP*"><value name="X"><block type="math_number" id="~`XPv;b.$NS2l}_o;?]x"><field name="NUM">6.5</field></block></value><value name="Y"><block type="math_number" id="HMFXV@Zw]+u=3Rk?:GR]"><field name="NUM">6.2</field></block></value><value name="Z"><block type="math_number" id="Eb0VEqw4=el1d}{dsFI]"><field name="NUM">0</field></block></value></block></value><value name="ADD4"><block type="bitbybit.point.pointXYZ" id="@Pz3MsUiUL!g3x;UO)qn"><value name="X"><block type="math_number" id="CG*g^xwx+8)J,(9l~wvN"><field name="NUM">4.5</field></block></value><value name="Y"><block type="math_number" id="iMY?i=o(?ughnT-TmBvE"><field name="NUM">7</field></block></value><value name="Z"><block type="math_number" id="p,t^WqAWQjT;X;L$Wozf"><field name="NUM">0</field></block></value></block></value><value name="ADD5"><block type="bitbybit.point.pointXYZ" id="06F!,}~;c!ON]%P`GdAX"><value name="X"><block type="math_number" id="o/A9XYqM)e2HBe=~iBg*"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="TkaoE^G{^e{)O+Q@*?L5"><field name="NUM">7</field></block></value><value name="Z"><block type="math_number" id="%QpCmd%S/2#mr6[CC;hD"><field name="NUM">0</field></block></value></block></value></block></value></block></value><value name="Planar"><block type="logic_boolean" id="#kEFv*ndTG0fY;^@(^1f"><field name="BOOL">TRUE</field></block></value></block></value><value name="Angle"><block type="math_number" id=")W^cFRI/DE,vy]r3;M~x"><field name="NUM">360</field></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="=,I]lJl~P2XjCb@WLPd}"><value name="X"><block type="math_number" id="+|@o/vvZ[20r8,1,%+V="><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="g8S*38gU@9NSf,o.rp`5"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="=-Z~2O^yxy8zR)2;J0QQ"><field name="NUM">0</field></block></value></block></value><value name="Copy"><block type="logic_boolean" id="@z]sJAIc+C!SZ_]3ar9W"><field name="BOOL">FALSE</field></block></value></block></value></block></next></block></statement><value name="RETURN"><block type="bitbybit.occt.transforms.translate" id="Y4jV/DH$e1q^*A?$[2$^"><value name="Shape"><block type="bitbybit.occt.booleans.union" id=")REYC}2JTi^jVVYP~X#B"><value name="Shapes"><block type="lists_create_with" id="7doWcn:o.5!S(7ttAd@T"><mutation items="3"></mutation><value name="ADD0"><block type="variables_get" id="NP|Eub/t5)v692VIk,3;"><field name="VAR" id="hub">hub</field></block></value><value name="ADD1"><block type="variables_get" id="_+yu-@/cp-C2(BEo:wC!"><field name="VAR" id="first blade">first blade</field></block></value><value name="ADD2"><block type="bitbybit.occt.transforms.rotate" id="jM$(c(JZY=@:q~W55J.S"><value name="Shape"><block type="variables_get" id="$Hp||_W:QC9-hD)64kzp"><field name="VAR" id="first blade">first blade</field></block></value><value name="Axis"><block type="bitbybit.vector.vectorXYZ" id="Hkc9L43!t2mm3_MV,-g#"><value name="X"><block type="math_number" id="-V[;=+_utulgX2[)uL~v"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="qf?;,*u0kqOP?).VzqMG"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="xRPYH-+^1$/q20a+5aaZ"><field name="NUM">0</field></block></value></block></value><value name="Angle"><block type="math_number" id=".?rC-QwDUamSCEY-lt4s"><field name="NUM">180</field></block></value></block></value></block></value><value name="KeepEdges"><block type="logic_boolean" id="V)2caLa836tcdlrb+;d@"><field name="BOOL">FALSE</field></block></value><value name="Strategy"><block type="bitbybit.occt.enums.booleanStrategyEnum" id="^0rgTK;Pw5`)*9^wP,O*"><field name="bitbybit.occt.enums.booleanStrategyEnum">'oneAfterAnother'</field></block></value></block></value><value name="Translation"><block type="bitbybit.vector.vectorXYZ" id="5aCKqze*p=Xo@@|2BPwi"><value name="X"><block type="variables_get" id="V0?J933YEo?T{nEa?9x5"><field name="VAR" id="length">length</field></block></value><value name="Y"><block type="math_number" id=";Oz^T_hDAf}+ZczP2If1"><field name="NUM">40</field></block></value><value name="Z"><block type="math_number" id="|d_x;ntpzo+CJQ=D:i=U"><field name="NUM">0</field></block></value></block></value></block></value></block><block type="procedures_defreturn" id="armBolts" collapsed="true" x="0" y="12218"><mutation><arg name="length" varid="length"></arg></mutation><field name="NAME">arm bolts</field><comment pinned="false" h="80" w="160">Describe this function...</comment><statement name="STACK"><block type="variables_set" id="ah3QI}v[pasa;!%0X%C1"><field name="VAR" id="clamp">clamp</field><value name="VALUE"><block type="bitbybit.occt.transforms.rotate" id="/ZF.Ah_a=q~IEkpoX:ej"><value name="Shape"><block type="procedures_callreturn" id="PKPuvZf`f]~G?LjeQS[{"><mutation name="m3 bolt"><arg name="length"></arg></mutation><value name="ARG0"><block type="math_number" id="bY;e$,sg8XpIp~)|nw]0"><field name="NUM">16</field></block></value></block></value><value name="Axis"><block type="bitbybit.vector.vectorXYZ" id="^S!n}IirYMcYI9TAcc2E"><value name="X"><block type="math_number" id=".O{JxNcJL4!:M[:Ku_xH"><field name="NUM">1</field></block></value><value name="Y"><block type="math_number" id="$t^C~)=4J`C?C10(DKxu"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="Tf2nOV%HxB2//eWw-hRz"><field name="NUM">0</field></block></value></block></value><value name="Angle"><block type="math_number" id="_:Kh]g,#7Xfv_OD^AUy-"><field name="NUM">180</field></block></value></block></value><next><block type="variables_set" id="eJ`OMta%cbe[~wqg(bd["><field name="VAR" id="motor bolt">motor bolt</field><value name="VALUE"><block type="procedures_callreturn" id="+hv|}.bq#nJ3*)18:vCJ"><mutation name="m3 bolt"><arg name="length"></arg></mutation><value name="ARG0"><block type="math_number" id="EK2tS.-NxQ#ZuwR$zv?u"><field name="NUM">12</field></block></value></block></value><next><block type="variables_set" id="i%:h8g)T:DWrgTf.7ii;"><field name="VAR" id="placed">placed</field><value name="VALUE"><block type="bitbybit.lists.createEmptyList" id="%jF/}EB8{z=lj5c:gB(W"></block></value><next><block type="controls_forEach" id="[email protected];K9+[:"><field name="VAR" id="x">x</field><value name="LIST"><block type="lists_create_with" id="t+^q3*f|uharX[|ssoT9"><mutation items="2"></mutation><value name="ADD0"><block type="math_number" id="Du_T,Un1^quauJ.GK$2,"><field name="NUM">34</field></block></value><value name="ADD1"><block type="math_number" id="Vo2bG:t}#U-%R:[R.,=M"><field name="NUM">44</field></block></value></block></value><statement name="DO"><block type="variables_set" id="r%q5tLtZ}^F=UE#X-ZHi"><field name="VAR" id="placed">placed</field><value name="VALUE"><block type="bitbybit.lists.addItem" id="s4]RmyJ=?]z|R5yvIAQp"><value name="List"><block type="variables_get" id="f/!:@ilt4UxIgicPvJ,s"><field name="VAR" id="placed">placed</field></block></value><value name="Item"><block type="bitbybit.occt.transforms.translate" id="O-EL.b%u=,sX1sbo#ee5"><value name="Shape"><block type="variables_get" id="Lmk?o_8P*BZ!CDlbATyr"><field name="VAR" id="clamp">clamp</field></block></value><value name="Translation"><block type="bitbybit.vector.vectorXYZ" id="kUMuE:x}1`9%e(tZ[PYD"><value name="X"><block type="variables_get" id="$rHSMPp5aP`=1`%Kuh+c"><field name="VAR" id="x">x</field></block></value><value name="Y"><block type="math_number" id="[KWQ`.1fc{][1ucCwz~c"><field name="NUM">16</field></block></value><value name="Z"><block type="math_number" id="8cg.)2vDE{o@?/S=[uss"><field name="NUM">0</field></block></value></block></value></block></value><value name="Clone"><block type="logic_boolean" id="7[_O/9$93u(U/+@#oHRi"><field name="BOOL">FALSE</field></block></value></block></value></block></statement><next><block type="controls_forEach" id="glk`cT=Lc@;?ML;]Fj-:"><field name="VAR" id="angle">angle</field><value name="LIST"><block type="lists_create_with" id="zjx!Qfx_iHlJ{x].xEKf"><mutation items="4"></mutation><value name="ADD0"><block type="math_number" id="3lFc:^Ely@Q^oNV6xbQY"><field name="NUM">45</field></block></value><value name="ADD1"><block type="math_number" id="{_YsevSQteVAmevT5+jJ"><field name="NUM">135</field></block></value><value name="ADD2"><block type="math_number" id="kiC`sx|@02B!1gHrq`gn"><field name="NUM">225</field></block></value><value name="ADD3"><block type="math_number" id="c9L^n2W0Ttmx0@}R9Z0Y"><field name="NUM">315</field></block></value></block></value><statement name="DO"><block type="variables_set" id="Lg%9/twGoqJ+LW/lKkd`"><field name="VAR" id="placed">placed</field><value name="VALUE"><block type="bitbybit.lists.addItem" id="A;Z_ab0aw0,!^_vkX*9G"><value name="List"><block type="variables_get" id=";]h/$oj]gBg?PADy?;;!"><field name="VAR" id="placed">placed</field></block></value><value name="Item"><block type="bitbybit.occt.transforms.translate" id="pNS6wEcWy1y)-4l6t`cR"><value name="Shape"><block type="variables_get" id="@^QBmR?t@~WG|2qo9:Zq"><field name="VAR" id="motor bolt">motor bolt</field></block></value><value name="Translation"><block type="bitbybit.vector.vectorXYZ" id=",XP,W:0$g,jOgtsY|?PT"><value name="X"><block type="math_arithmetic" id="Tv!FA(#mtgr`xEEm?feE"><field name="OP">ADD</field><value name="A"><block type="variables_get" id="VC]P_s7~xH+DMAlAw`_^"><field name="VAR" id="length">length</field></block></value><value name="B"><block type="math_arithmetic" id="MjNofWb?T0;Q${#5Nd|w"><field name="OP">MULTIPLY</field><value name="A"><block type="math_number" id="3qkEp]X3(9!Rw!#RbyE7"><field name="NUM">8</field></block></value><value name="B"><block type="bitbybit.math.cos" id="leW*)r6IAxFyiuNhA4uM"><value name="Number"><block type="bitbybit.math.degToRad" id="n?Z8~0leVWrcGf/4T/*b"><value name="Number"><block type="variables_get" id="l7r2|8Lfq@-C;Ww}@i^e"><field name="VAR" id="angle">angle</field></block></value></block></value></block></value></block></value></block></value><value name="Y"><block type="math_number" id="bNv}Mc.9Uz;fYfYX``sd"><field name="NUM">3</field></block></value><value name="Z"><block type="math_arithmetic" id="hA.n#LVYcO+O)^x8=WPq"><field name="OP">MULTIPLY</field><value name="A"><block type="math_number" id="E/6$U,T3Sj?CwVqwX0CQ"><field name="NUM">8</field></block></value><value name="B"><block type="bitbybit.math.sin" id="3KNPKu885Gi9lDty;d:{"><value name="Number"><block type="bitbybit.math.degToRad" id="0szgDBE4yloHD2KVeQ8n"><value name="Number"><block type="variables_get" id="X2:sTRJ0)0yv(/%I;$if"><field name="VAR" id="angle">angle</field></block></value></block></value></block></value></block></value></block></value></block></value><value name="Clone"><block type="logic_boolean" id=".hk?%Gk(eI1+Z[@,!XX)"><field name="BOOL">FALSE</field></block></value></block></value></block></statement></block></next></block></next></block></next></block></next></block></statement><value name="RETURN"><block type="bitbybit.occt.shapes.compound.makeCompound" id="F:z-]}ek|qpB)dxk)vQS"><value name="Shapes"><block type="variables_get" id="=U=sbebbf7:bv=xB|J~2"><field name="VAR" id="placed">placed</field></block></value></block></value></block><block type="procedures_defreturn" id="light" collapsed="true" x="0" y="12314"><mutation><arg name="length" varid="length"></arg></mutation><field name="NAME">light</field><comment pinned="false" h="80" w="160">Describe this function...</comment><value name="RETURN"><block type="bitbybit.occt.booleans.difference" id="dn5(*XtZ=~iao8gMf5vH"><value name="Shape"><block type="bitbybit.occt.shapes.solid.createSphere" id="2en=!iQR*njlb08BqWM."><value name="Radius"><block type="math_number" id="Q*3|5C}mD~O*%dd4iF[K"><field name="NUM">3</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="DWVUt_w4S^nG}RuLMyOU"><value name="X"><block type="math_arithmetic" id="M@3hQQ[6,lVfYiOgT-o|"><field name="OP">MINUS</field><value name="A"><block type="variables_get" id="Z4r*,{9/IO3Pa/I#^N]w"><field name="VAR" id="length">length</field></block></value><value name="B"><block type="math_number" id="Ep|~K[7Lz^Kf4Ar)B~wR"><field name="NUM">24</field></block></value></block></value><value name="Y"><block type="math_number" id="T2tt9luH1?RQ{0}x^7PZ"><field name="NUM">3</field></block></value><value name="Z"><block type="math_number" id="0*f{F{{9t@c0kwlqU@-D"><field name="NUM">0</field></block></value></block></value></block></value><value name="Shapes"><block type="lists_create_with" id="5zt9@j3@oXyqpc0:vMcN"><mutation items="1"></mutation><value name="ADD0"><block type="bitbybit.occt.shapes.solid.createBox" id=",:6G*5/#eY{E_]1aN[}p"><value name="Width"><block type="math_number" id="p{53%uWP-e/},YXZbJAL"><field name="NUM">8</field></block></value><value name="Length"><block type="math_number" id="{Ch0eMKleYXT/M1Ldq*a"><field name="NUM">8</field></block></value><value name="Height"><block type="math_number" id=".O[]pqy;NA0QQkYKG@N|"><field name="NUM">4</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="B^$Z|Pwj[OUNP,I-Lq;c"><value name="X"><block type="math_arithmetic" id="g|4|y%6!wS8U%oTVye{?"><field name="OP">MINUS</field><value name="A"><block type="variables_get" id="4=w;c48UE4Jz)ztRy_qV"><field name="VAR" id="length">length</field></block></value><value name="B"><block type="math_number" id="%5{rrRj]/vP1,v+bM9sb"><field name="NUM">24</field></block></value></block></value><value name="Y"><block type="math_number" id="7|5aM6YZByH82jv,l7Pk"><field name="NUM">5</field></block></value><value name="Z"><block type="math_number" id="%/{YL;,wO~~V}yZ$yTas"><field name="NUM">0</field></block></value></block></value><value name="OriginOnCenter"><block type="logic_boolean" id="jiD3VGNVARz#SL@D}F`c"><field name="BOOL">TRUE</field></block></value></block></value></block></value><value name="KeepEdges"><block type="logic_boolean" id="ZhcrIGeY_sYp2SYR/xF0"><field name="BOOL">FALSE</field></block></value><value name="Strategy"><block type="bitbybit.occt.enums.booleanStrategyEnum" id="deD$$MdewnE*;ra)fO6,"><field name="bitbybit.occt.enums.booleanStrategyEnum">'oneAfterAnother'</field></block></value></block></value></block><block type="procedures_defreturn" id="alternateSpin" collapsed="true" x="0" y="12410"><mutation><arg name="propellers" varid="propellers"></arg></mutation><field name="NAME">alternate spin</field><comment pinned="false" h="80" w="160">Describe this function...</comment><statement name="STACK"><block type="variables_set" id="3o7Q(`KvKWIGtB8)s(3t"><field name="VAR" id="propellers">propellers</field><value name="VALUE"><block type="base_time_await_return" id="Mec+Ih~R{4}_*7witLL#"><value name="Promise"><block type="variables_get" id="zS7D[6u/5a)ApG97)ee!"><field name="VAR" id="propellers">propellers</field></block></value></block></value><next><block type="variables_set" id="8OjcWtt[9tL@6S0hcP]o"><field name="VAR" id="spun">spun</field><value name="VALUE"><block type="bitbybit.lists.createEmptyList" id="@bu6c!gbsoTb!@2$Ie;E"></block></value><next><block type="controls_for" id="::ZZW^?xZmQLnCWh`Bd)"><field name="VAR" id="i">i</field><value name="FROM"><block type="math_number" id="qJV-(Ttfyny-e|LC,xQ#"><field name="NUM">0</field></block></value><value name="TO"><block type="math_arithmetic" id="/B:]eYR%ixt`VGNFnA6s"><field name="OP">MINUS</field><value name="A"><block type="bitbybit.lists.listLength" id="h{D1GKPl~TA?$HM,~vH0"><value name="List"><block type="variables_get" id=":=HtgH1(}v{H2q?C@5o`"><field name="VAR" id="propellers">propellers</field></block></value><value name="Clone"><block type="logic_boolean" id="WazVN5$@9rXR8],xU5Bf"><field name="BOOL">FALSE</field></block></value></block></value><value name="B"><block type="math_number" id="g$%-dgur5m.t_~B+ChDf"><field name="NUM">1</field></block></value></block></value><value name="BY"><block type="math_number" id="AMfWeVfc!S6u^$5XZ|;r"><field name="NUM">1</field></block></value><statement name="DO"><block type="variables_set" id="I^zT0Bg~a8OEh6/5|7P_"><field name="VAR" id="centre">centre</field><value name="VALUE"><block type="base_time_await_return" id="gZ`mLg-t[,6w6w,%jq5#"><value name="Promise"><block type="bitbybit.occt.shapes.solid.getSolidCenterOfMass" id="78u?2N$kOF4?]L`[ej#f"><value name="Shape"><block type="bitbybit.lists.getItem" id="gwR_6k7cHe/giNDWDYZl"><value name="List"><block type="variables_get" id="+:AUuhT81q{hp#+R[MUl"><field name="VAR" id="propellers">propellers</field></block></value><value name="Index"><block type="variables_get" id="C=j;Y$neG$+}NUpn9~%,"><field name="VAR" id="i">i</field></block></value><value name="Clone"><block type="logic_boolean" id="aWOmk;:qygt7DDr08{c5"><field name="BOOL">FALSE</field></block></value></block></value></block></value></block></value><next><block type="variables_set" id="qw6UzAl85?~F^O^f11d:"><field name="VAR" id="turned">turned</field><value name="VALUE"><block type="bitbybit.occt.transforms.rotateAroundCenter" id="YqRv22*ed(DX0PHI3MLY"><value name="Shape"><block type="bitbybit.lists.getItem" id="[E9^;!c$Td^#3x#Mq#h)"><value name="List"><block type="variables_get" id="[+)V{5zZy0b:p3-0=cC?"><field name="VAR" id="propellers">propellers</field></block></value><value name="Index"><block type="variables_get" id="L]17$l))|lNhE}@,:+W}"><field name="VAR" id="i">i</field></block></value><value name="Clone"><block type="logic_boolean" id="kDiME_$3piULi5cFQo6n"><field name="BOOL">FALSE</field></block></value></block></value><value name="Angle"><block type="math_arithmetic" id="ycOz!XL=z|FdSy}x9:q7"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="i$iqBC.].HKmHJ(Ogobq"><field name="VAR" id="i">i</field></block></value><value name="B"><block type="math_number" id="s0qMz6,S~8Ya[RcdI1ky"><field name="NUM">37</field></block></value></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="@GhLd-=I.[60R[iknrb`"><value name="X"><block type="bitbybit.lists.getItem" id="x;t4T,$Gp%mPk2LyoXcd"><value name="List"><block type="variables_get" id="Zn]YQUObsz%7Dq;F1e?v"><field name="VAR" id="centre">centre</field></block></value><value name="Index"><block type="math_number" id="GqT=`OZj3Nf[O.{CvKfz"><field name="NUM">0</field></block></value><value name="Clone"><block type="logic_boolean" id="h;ptpT.{C+lusX-slpWG"><field name="BOOL">FALSE</field></block></value></block></value><value name="Y"><block type="math_number" id="4@zpWtyzY:CPONf}d[E^"><field name="NUM">0</field></block></value><value name="Z"><block type="bitbybit.lists.getItem" id="D9D(i9O@LQ$ZFgZ;IUF4"><value name="List"><block type="variables_get" id="(|nJeEk)aVJeVopL9-S_"><field name="VAR" id="centre">centre</field></block></value><value name="Index"><block type="math_number" id="/2r8E:J3ETe{Z[Org($N"><field name="NUM">2</field></block></value><value name="Clone"><block type="logic_boolean" id="q@*DT^n${lF$-T2t(`P-"><field name="BOOL">FALSE</field></block></value></block></value></block></value><value name="Axis"><block type="bitbybit.vector.vectorXYZ" id="1Kb{tb?^T4x=ii{i1zPO"><value name="X"><block type="math_number" id="IFMAi/R!bny)13Bf#wr|"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="53{A8(`T9gLcPw]kW+7W"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="wfzLy}w0Ht=|`z7HhF0e"><field name="NUM">0</field></block></value></block></value></block></value><next><block type="variables_set" id="N8hUKUEuP3!Ch-7UUzr^"><field name="VAR" id="angle">angle</field><value name="VALUE"><block type="bitbybit.math.degToRad" id="pcKx%Dat`:_6x~0Yr^24"><value name="Number"><block type="math_arithmetic" id="ncMj,wRDy`R4#U4XU~pb"><field name="OP">DIVIDE</field><value name="A"><block type="math_arithmetic" id="1EL#KH0V?P?ns,NekQ+X"><field name="OP">MULTIPLY</field><value name="A"><block type="math_arithmetic" id="lRk~?YNWzq7OLCl{vT(v"><field name="OP">ADD</field><value name="A"><block type="variables_get" id="=8Sc7Xi0DK81$]F;6_{f"><field name="VAR" id="i">i</field></block></value><value name="B"><block type="math_number" id="U$X|WQ,F[;]8GN]pZtO?"><field name="NUM">0.5</field></block></value></block></value><value name="B"><block type="math_number" id="p,KA5ID?)@x3SD{ALhUj"><field name="NUM">360</field></block></value></block></value><value name="B"><block type="bitbybit.lists.listLength" id="a)b~Y#C-Td,[gg,O$ulp"><value name="List"><block type="variables_get" id="C7Ozms^ve*+ZA7DSDu3u"><field name="VAR" id="propellers">propellers</field></block></value><value name="Clone"><block type="logic_boolean" id="Wuw!`m~.x0C+)^Ix;0xl"><field name="BOOL">FALSE</field></block></value></block></value></block></value></block></value><next><block type="controls_if" id="Ayi~7^e!jBy;tlRU.:o1"><mutation else="1"></mutation><value name="IF0"><block type="logic_compare" id="L.##NxHChra-HjMhgr{r"><field name="OP">EQ</field><value name="A"><block type="bitbybit.math.modulus" id="`[_S=`}k)c+,ENSSFBc@"><value name="Number"><block type="variables_get" id="%1^2L2en50%[Z9Xh~.!?"><field name="VAR" id="i">i</field></block></value><value name="Modulus"><block type="math_number" id="U-7L235B7?J.Q%}^G+KV"><field name="NUM">2</field></block></value></block></value><value name="B"><block type="math_number" id="D=.K0!NSJ-qXy!%uCmsC"><field name="NUM">0</field></block></value></block></value><statement name="DO0"><block type="variables_set" id="ctFZKo)DOy5!1[()mu=d"><field name="VAR" id="spun">spun</field><value name="VALUE"><block type="bitbybit.lists.addItem" id="q!D+-yb6HT?gU|~=maub"><value name="List"><block type="variables_get" id="7YLJ6k*]oTg,}{YLG%R~"><field name="VAR" id="spun">spun</field></block></value><value name="Item"><block type="variables_get" id="fd2h(^w;zzz!7;Xr:/RZ"><field name="VAR" id="turned">turned</field></block></value><value name="Clone"><block type="logic_boolean" id="tF-.I[}11^?I-EgKT.:6"><field name="BOOL">FALSE</field></block></value></block></value></block></statement><statement name="ELSE"><block type="variables_set" id="}DTz[-ca?9UJyc?#@YxS"><field name="VAR" id="spun">spun</field><value name="VALUE"><block type="bitbybit.lists.addItem" id="T,-eKdBxA7R.LJrlyeWu"><value name="List"><block type="variables_get" id="nu^F_BT;^LbWN+7PRb@5"><field name="VAR" id="spun">spun</field></block></value><value name="Item"><block type="bitbybit.occt.transforms.mirrorAlongNormal" id="iq*q0GTgd-;bah2}7l^|"><value name="Shape"><block type="variables_get" id="+g$g6J4O5Y=(+{Q6sa,L"><field name="VAR" id="turned">turned</field></block></value><value name="Origin"><block type="bitbybit.point.pointXYZ" id="G8(f%X8ULlhl@DEAcE,}"><value name="X"><block type="math_number" id="J0K_1E;:He~b?h.!`[xI"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="ED;1)Xkm~-ET=_r@R?$H"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="K_u,6;@S`kQC7.q3y)2g"><field name="NUM">0</field></block></value></block></value><value name="Normal"><block type="bitbybit.vector.vectorXYZ" id="~dg_{]!)(F`!D_s5j!*W"><value name="X"><block type="bitbybit.math.sin" id="|iwN;c[x-gRz{^a|6pk)"><value name="Number"><block type="variables_get" id="2)1mIE/Hi^brnO}n]BB2"><field name="VAR" id="angle">angle</field></block></value></block></value><value name="Y"><block type="math_number" id="M!Q6NO:8v4o@8by6+ww~"><field name="NUM">0</field></block></value><value name="Z"><block type="bitbybit.math.cos" id="QqO=2AdU$[[2OgMHX;,5"><value name="Number"><block type="variables_get" id="wmiw^sSBtFUo.zOulq@h"><field name="VAR" id="angle">angle</field></block></value></block></value></block></value></block></value><value name="Clone"><block type="logic_boolean" id="d4}16:A%)J#J}:2?X+[n"><field name="BOOL">FALSE</field></block></value></block></value></block></statement></block></next></block></next></block></next></block></statement></block></next></block></next></block></statement><value name="RETURN"><block type="variables_get" id="!Ax@8SdBUpPp64(=1s0;"><field name="VAR" id="spun">spun</field></block></value></block><block type="procedures_defreturn" id="lightsOnSide" collapsed="true" x="0" y="12506"><mutation><arg name="lights" varid="lights"></arg><arg name="front" varid="front"></arg></mutation><field name="NAME">lights on side</field><comment pinned="false" h="80" w="160">Describe this function...</comment><statement name="STACK"><block type="variables_set" id="3wBNQTEp`Dv5GJZq]uq9"><field name="VAR" id="lights">lights</field><value name="VALUE"><block type="base_time_await_return" id="BJQmakVk8]rRHWE!UZrI"><value name="Promise"><block type="variables_get" id="4#7=SH=Oc{[pFn5FcA|x"><field name="VAR" id="lights">lights</field></block></value></block></value><next><block type="variables_set" id="*+9A1h!jr)p[h}}ff4P5"><field name="VAR" id="chosen">chosen</field><value name="VALUE"><block type="bitbybit.lists.createEmptyList" id="!Z$~^^T-GM)v1C}vfBsJ"></block></value><next><block type="controls_forEach" id="cuWenXT0]^X={V|pq!4Z"><field name="VAR" id="lamp">lamp</field><value name="LIST"><block type="variables_get" id="BF,i2bIN9V:9ps({o|Zz"><field name="VAR" id="lights">lights</field></block></value><statement name="DO"><block type="variables_set" id="fp6!w%YVf$FAoNi~~(C$"><field name="VAR" id="centre">centre</field><value name="VALUE"><block type="base_time_await_return" id="8.R1*G%ci=+0AC87Yd_L"><value name="Promise"><block type="bitbybit.occt.shapes.solid.getSolidCenterOfMass" id="IrQ0%PglZ5NDc?li}f[9"><value name="Shape"><block type="variables_get" id="2W.j$S0/:a-2xX[!.=|)"><field name="VAR" id="lamp">lamp</field></block></value></block></value></block></value><next><block type="controls_if" id="J/U|/A$247#ti`n`DjH8"><value name="IF0"><block type="logic_compare" id="@L~V)wcw:-s9XL1EK)%U"><field name="OP">EQ</field><value name="A"><block type="logic_compare" id="db?e;J|uiV@IJ9lyr~Oo"><field name="OP">GT</field><value name="A"><block type="bitbybit.lists.getItem" id="Nu=~U`bymFiTX+E)u5ZU"><value name="List"><block type="variables_get" id="6fr{Kf:7aysVnFV=f.lS"><field name="VAR" id="centre">centre</field></block></value><value name="Index"><block type="math_number" id="Z+DjZ2ATZxS`~h=pYPIT"><field name="NUM">2</field></block></value><value name="Clone"><block type="logic_boolean" id="^dDrtAfZ64njdLRaqt0?"><field name="BOOL">FALSE</field></block></value></block></value><value name="B"><block type="math_number" id="IiD8W+zMd=dW?jOjhH/r"><field name="NUM">0</field></block></value></block></value><value name="B"><block type="variables_get" id="k2/RR_-XCBL?rgYm3S,Q"><field name="VAR" id="front">front</field></block></value></block></value><statement name="DO0"><block type="variables_set" id="|}(b~F8eL,ZewDkLuDm7"><field name="VAR" id="chosen">chosen</field><value name="VALUE"><block type="bitbybit.lists.addItem" id="2*|}!a[o/Uq3VrJ*3MPZ"><value name="List"><block type="variables_get" id="TQ+}mQAkoJh`+e~InNX{"><field name="VAR" id="chosen">chosen</field></block></value><value name="Item"><block type="variables_get" id="P$6+P~5fB@;!tQ:r8gu|"><field name="VAR" id="lamp">lamp</field></block></value><value name="Clone"><block type="logic_boolean" id="V%%bH^jz|Hz%|9$$AN-)"><field name="BOOL">FALSE</field></block></value></block></value></block></statement></block></next></block></statement></block></next></block></next></block></statement><value name="RETURN"><block type="variables_get" id="q_g6W0~y,P;m]J*qULUI"><field name="VAR" id="chosen">chosen</field></block></value></block><block type="procedures_defreturn" id="canopy" collapsed="true" x="0" y="12602"><field name="NAME">canopy</field><comment pinned="false" h="80" w="160">Describe this function...</comment><statement name="STACK"><block type="variables_set" id="3%HXxV)+H:G?N|9%q1=o"><field name="VAR" id="wires">wires</field><value name="VALUE"><block type="bitbybit.lists.createEmptyList" id="v~_U+0.rjs(o2}Qm}hCW"></block></value><next><block type="controls_forEach" id="(vDTz:E^[0pVy5Zq^n@%"><field name="VAR" id="section">section</field><value name="LIST"><block type="lists_create_with" id="VavSUW`q/PV|WPH2f%7L"><mutation items="5"></mutation><value name="ADD0"><block type="lists_create_with" id="IMhu~@Mtm|vbh8P*:+bc"><mutation items="5"></mutation><value name="ADD0"><block type="math_number" id="J%2k2=/mMKz9Q@V,)/p|"><field name="NUM">0</field></block></value><value name="ADD1"><block type="math_number" id="5%fOoW6KiM_;=%Ws,s`J"><field name="NUM">140</field></block></value><value name="ADD2"><block type="math_number" id="Sok:4)_yMkZkz4K6=J5S"><field name="NUM">90</field></block></value><value name="ADD3"><block type="math_number" id="$k5`*wWKcXSV^4+qfL0f"><field name="NUM">26</field></block></value><value name="ADD4"><block type="math_number" id="@H=B5T;HqQ1CB7N*s@x7"><field name="NUM">4</field></block></value></block></value><value name="ADD1"><block type="lists_create_with" id="yNCS#noEtdBE]A*z~Y;P"><mutation items="5"></mutation><value name="ADD0"><block type="math_number" id="5,gxR!o`*6H51Wm-f#{6"><field name="NUM">12</field></block></value><value name="ADD1"><block type="math_number" id="i3EB*F|(HAuPv)GDK6+4"><field name="NUM">132</field></block></value><value name="ADD2"><block type="math_number" id="xLiv_d~T,P@Y%qq?}q(E"><field name="NUM">84</field></block></value><value name="ADD3"><block type="math_number" id="!D4OT$trLKkr%u}_;|?y"><field name="NUM">24</field></block></value><value name="ADD4"><block type="math_number" id="]w*M3WgDxNY?bOT6ekA0"><field name="NUM">6</field></block></value></block></value><value name="ADD2"><block type="lists_create_with" id="]~__%:22Hv~}]a@6;qQ9"><mutation items="5"></mutation><value name="ADD0"><block type="math_number" id="~%!jxXC5g:pfVqMGM2%5"><field name="NUM">22</field></block></value><value name="ADD1"><block type="math_number" id="1l`9Uvr:h79s.Scbg?Gi"><field name="NUM">110</field></block></value><value name="ADD2"><block type="math_number" id="}30=5plnpl*McLX1jL9n"><field name="NUM">70</field></block></value><value name="ADD3"><block type="math_number" id="{Q;z0CFE!^#a+#gSz%[d"><field name="NUM">19</field></block></value><value name="ADD4"><block type="math_number" id="lsFOB8I-~~o%5KGJ$70I"><field name="NUM">9</field></block></value></block></value><value name="ADD3"><block type="lists_create_with" id="yU,[sZ+_[(LMzB[2v%mX"><mutation items="5"></mutation><value name="ADD0"><block type="math_number" id="^u-D_*TGozcAGZVV#FUH"><field name="NUM">29</field></block></value><value name="ADD1"><block type="math_number" id="5(6[YeZT2[}5IEAom,:9"><field name="NUM">76</field></block></value><value name="ADD2"><block type="math_number" id="EfEV{5Ktu?*6%Yl[5wwu"><field name="NUM">48</field></block></value><value name="ADD3"><block type="math_number" id="SFp~PF=iOT5TSv+{bcK}"><field name="NUM">13</field></block></value><value name="ADD4"><block type="math_number" id="UAi_K,0zHHaEYS-nylu0"><field name="NUM">10</field></block></value></block></value><value name="ADD4"><block type="lists_create_with" id="Pf*{D!j6-s,}?04$}ZiU"><mutation items="5"></mutation><value name="ADD0"><block type="math_number" id="4|6|A,El-j1D-B9MOC];"><field name="NUM">32</field></block></value><value name="ADD1"><block type="math_number" id="Z+Gxq*G}Ao(jiv{Pz8@p"><field name="NUM">52</field></block></value><value name="ADD2"><block type="math_number" id="3:*v*PMAUff~7h0Yb0:."><field name="NUM">36</field></block></value><value name="ADD3"><block type="math_number" id="(@lByG@wg8hpO=5yJLD)"><field name="NUM">10</field></block></value><value name="ADD4"><block type="math_number" id="Hei:;4^O--CE8tCE@bEZ"><field name="NUM">10</field></block></value></block></value></block></value><statement name="DO"><block type="variables_set" id="if!5m8mmO9{z:o/YqSUe"><field name="VAR" id="wires">wires</field><value name="VALUE"><block type="bitbybit.lists.addItem" id="u?[x,.H40{Mt@+XkN92m"><value name="List"><block type="variables_get" id="e.wQ^Yk6,_]XCI3:|Sy4"><field name="VAR" id="wires">wires</field></block></value><value name="Item"><block type="bitbybit.occt.fillets.fillet2d" id="gwK[h8it{eaRB-67/h#l"><value name="Shape"><block type="bitbybit.occt.shapes.wire.createRectangleWire" id="j3TvI#Y4WBTVbe%NY98!"><value name="Width"><block type="bitbybit.lists.getItem" id="OOr`oT|~FJ$%Lhq[Fc*Q"><value name="List"><block type="variables_get" id="2yCT|A@![Q$P0E@f{#X8"><field name="VAR" id="section">section</field></block></value><value name="Index"><block type="math_number" id="O~PiwU%$eIe=@z/9que6"><field name="NUM">2</field></block></value><value name="Clone"><block type="logic_boolean" id="F6zk[qXcp$8n`.6mYG:V"><field name="BOOL">FALSE</field></block></value></block></value><value name="Length"><block type="bitbybit.lists.getItem" id="+mn{e,Rp$w6mg^CQ4dbD"><value name="List"><block type="variables_get" id="6UleR}VS}D6@-0rzB#[)"><field name="VAR" id="section">section</field></block></value><value name="Index"><block type="math_number" id=",ns4C%%IRb8)u.}s.?KN"><field name="NUM">1</field></block></value><value name="Clone"><block type="logic_boolean" id="Rki!%?yRPdSvoDA@c*B("><field name="BOOL">FALSE</field></block></value></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="d2))aACrS7_o0WS-nx5]"><value name="X"><block type="math_number" id="|I%Kf-;0%_n`e#t1{Z7;"><field name="NUM">0</field></block></value><value name="Y"><block type="bitbybit.lists.getItem" id="zN?TT$0dyea)3$Adw+J`"><value name="List"><block type="variables_get" id="lu:wXr!8bnRVe`ASFN~y"><field name="VAR" id="section">section</field></block></value><value name="Index"><block type="math_number" id="RK.@d*9vC=.XO4oRsNNZ"><field name="NUM">0</field></block></value><value name="Clone"><block type="logic_boolean" id="iP-0+sv$c]vFq10{NFWV"><field name="BOOL">FALSE</field></block></value></block></value><value name="Z"><block type="bitbybit.lists.getItem" id="2EbXYX]q`*7UQzS~]x7g"><value name="List"><block type="variables_get" id="f9VfTg{i3ln{Eje0o:1R"><field name="VAR" id="section">section</field></block></value><value name="Index"><block type="math_number" id="Bii(M7[4l3)n1tG-CpWJ"><field name="NUM">4</field></block></value><value name="Clone"><block type="logic_boolean" id=".(d-5iY`6vXHUv[_9S1I"><field name="BOOL">FALSE</field></block></value></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="JT.;1OxUEOTEirPl5q8l"><value name="X"><block type="math_number" id="d+)ApH9Jks_-eAD411sw"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="1-fE=yNx{rjCR1~REl}-"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="`C^y4^vlzD3Kpt@!uT~$"><field name="NUM">0</field></block></value></block></value></block></value><value name="Radius"><block type="bitbybit.lists.getItem" id="0Ct9yUO@sZOt-5+5T24e"><value name="List"><block type="variables_get" id="9?_nC3#/%KLx|SiL)O.l"><field name="VAR" id="section">section</field></block></value><value name="Index"><block type="math_number" id="C~kg}j!MwHCAG5gVNR%U"><field name="NUM">3</field></block></value><value name="Clone"><block type="logic_boolean" id="%`]pr,pF7i}]9{w6Ic@q"><field name="BOOL">FALSE</field></block></value></block></value></block></value><value name="Clone"><block type="logic_boolean" id="M9FB-5H*{5pq=j}us?bJ"><field name="BOOL">FALSE</field></block></value></block></value></block></statement></block></next></block></statement><value name="RETURN"><block type="bitbybit.occt.operations.loft" id="yE@9W^?_Bw;[email protected]@q*d"><value name="Shapes"><block type="variables_get" id="9Rc|Xz~bnt$sSi6!0A.4"><field name="VAR" id="wires">wires</field></block></value><value name="MakeSolid"><block type="logic_boolean" id=":ga6[`ClO}.5Ie3l@5}9"><field name="BOOL">TRUE</field></block></value></block></value></block><block type="variables_set" id="canopyStack" x="0" y="12698"><field name="VAR" id="shell">shell</field><value name="VALUE"><block type="procedures_callreturn" id="|fd._{?bYQr92NMJW=-|"><mutation name="canopy"></mutation></block></value><next><block type="variables_set" id="6DbCBX6|[1Sg^[aLnHN@"><field name="VAR" id="paint">paint</field><value name="VALUE"><block type="procedures_callreturn" id="~^LtSKnE(z1h:WooDMIn"><mutation name="look"><arg name="name"></arg><arg name="colour"></arg><arg name="metallic"></arg><arg name="roughness"></arg><arg name="glow"></arg><arg name="edge colour"></arg><arg name="edge width"></arg></mutation><value name="ARG0"><block type="text" id="ZUmZb2rdz~$.!pWEs[=o"><field name="TEXT">paint</field></block></value><value name="ARG1"><block type="colour_picker" id="$MDcZDEM^:(rgo5NwT1l"><field name="COLOUR">#1f2b4d</field></block></value><value name="ARG2"><block type="math_number" id=";/E18Zr[Sq6b`Vu^Ys)k"><field name="NUM">0.1</field></block></value><value name="ARG3"><block type="math_number" id="ijKUYB$~Z.odIpO$-Ea_"><field name="NUM">0.25</field></block></value><value name="ARG4"><block type="colour_picker" id="XGcKhD%87bA7LP9*qT+y"><field name="COLOUR">#000000</field></block></value><value name="ARG5"><block type="colour_picker" id="%WlmmD^x9,qUTYtDUftu"><field name="COLOUR">#f2f2f2</field></block></value><value name="ARG6"><block type="math_number" id="C$1tlohOH?HAgw6s0rc="><field name="NUM">6</field></block></value></block></value><next><block type="bitbybit.draw.drawAnyAsyncNoReturn" id="canopyDraw"><value name="Entity"><block type="bitbybit.occt.transforms.translate" id="(Rmb)~Fgpl67z:4dG2BV"><value name="Shape"><block type="variables_get" id=",%j+i2kBEHZ=#YEh(tX/"><field name="VAR" id="shell">shell</field></block></value><value name="Translation"><block type="bitbybit.vector.vectorXYZ" id=".%E;()dV$Cc4~dTf@u~+"><value name="X"><block type="math_number" id="DEw_lu)jLne,=@Sn][5-"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="}X$54[n5ZV5YYs]p7`}h"><field name="NUM">16</field></block></value><value name="Z"><block type="math_number" id="m(-S?M0dAfM[L-uu9Yw8"><field name="NUM">0</field></block></value></block></value></block></value><value name="Options"><block type="variables_get" id="vd0t5xjMXNn7[zX(c*A*"><field name="VAR" id="paint">paint</field></block></value><next><block type="variables_set" id="honeycombDraw"><field name="VAR" id="canopy cells">canopy cells</field><value name="VALUE"><block type="procedures_callreturn" id="6%^5G9b]7oZ6^}xo3h=4"><mutation name="honeycomb"><arg name="shell"></arg></mutation><value name="ARG0"><block type="variables_get" id="!*7mJyHTJ_FtnYGkL59y"><field name="VAR" id="shell">shell</field></block></value></block></value><next><block type="bitbybit.draw.drawAnyAsyncNoReturn" id="S;Bf!Q_x[2E*)fY,S$p?"><value name="Entity"><block type="bitbybit.occt.transforms.translate" id="Rv(pLTLU#]Rt!x~H48PR"><value name="Shape"><block type="variables_get" id="UtF@hjcOM5X+G_y**YQ~"><field name="VAR" id="canopy cells">canopy cells</field></block></value><value name="Translation"><block type="bitbybit.vector.vectorXYZ" id="ai2RUYO%x!{8YQ?Y.8qM"><value name="X"><block type="math_number" id="7;oj}cbm((H7v#0QQK4i"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="7[PSW@hy|P8T#,~32Gc}"><field name="NUM">16</field></block></value><value name="Z"><block type="math_number" id="k,O9G$)xNGPBht3r8YKi"><field name="NUM">0</field></block></value></block></value></block></value><value name="Options"><block type="procedures_callreturn" id="GDGv(jLR99w%jOC)3:PJ"><mutation name="look"><arg name="name"></arg><arg name="colour"></arg><arg name="metallic"></arg><arg name="roughness"></arg><arg name="glow"></arg><arg name="edge colour"></arg><arg name="edge width"></arg></mutation><value name="ARG0"><block type="text" id=".M+/*J.e=s(N$;WkxVK6"><field name="TEXT">honeycomb</field></block></value><value name="ARG1"><block type="colour_picker" id="MJ43Yn%ntAOMI#1t`x/Y"><field name="COLOUR">#1f2b4d</field></block></value><value name="ARG2"><block type="math_number" id="tqX8DMdmY+`]h7A}$86G"><field name="NUM">0.1</field></block></value><value name="ARG3"><block type="math_number" id="_9yi}pYpom6f?/{n]A}r"><field name="NUM">0.25</field></block></value><value name="ARG4"><block type="colour_picker" id="y]FD^}?mbV!WDH6g4Ox@"><field name="COLOUR">#000000</field></block></value><value name="ARG5"><block type="colour_picker" id="|nw}^]!`O|@9$TjLnu]L"><field name="COLOUR">#f2f2f2</field></block></value><value name="ARG6"><block type="math_number" id=")h6mNBQJ2%p%9Xse#Q_t"><field name="NUM">8</field></block></value></block></value></block></next></block></next></block></next></block></next></block><block type="procedures_defreturn" id="honeycomb" collapsed="true" x="0" y="14232"><mutation><arg name="shell" varid="shell"></arg></mutation><field name="NAME">honeycomb</field><comment pinned="false" h="80" w="160">Describe this function...</comment><statement name="STACK"><block type="variables_set" id="$ZJzqvFlGZ17UQE+(}IE"><field name="VAR" id="middle">middle</field><value name="VALUE"><block type="base_time_await_return" id="B!5HW@7pUt_U~p,cZpan"><value name="Promise"><block type="bitbybit.occt.shapes.solid.getSolidCenterOfMass" id="=;iqFBd84ElCk*}Q;aYi"><value name="Shape"><block type="variables_get" id="6B{NrO@_Yt~0-_3jL)N2"><field name="VAR" id="shell">shell</field></block></value></block></value></block></value><next><block type="variables_set" id="KY@JK)MmwHU5*+y.YgRW"><field name="VAR" id="faces">faces</field><value name="VALUE"><block type="base_time_await_return" id="9Kz9wi-(Z{l6iF?[.jb@"><value name="Promise"><block type="bitbybit.occt.shapes.face.getFaces" id="6WYaEGUxyDwm5VBcI096"><value name="Shape"><block type="bitbybit.occt.transforms.scale3d" id="4quP?NlLE}@9UtR]hg7C"><value name="Shape"><block type="variables_get" id="Q%nCqy7c]L[q@Pem|!tx"><field name="VAR" id="shell">shell</field></block></value><value name="Scale"><block type="bitbybit.vector.vectorXYZ" id="icSV_~qGgQ7F,J!nu0?m"><value name="X"><block type="math_number" id="!h{}t/$%rWNBC}#Wiq{T"><field name="NUM">1.02</field></block></value><value name="Y"><block type="math_number" id="]~G%q5#H163[9w2T9=Ey"><field name="NUM">1.02</field></block></value><value name="Z"><block type="math_number" id=":Ro#zU.(v.Ls7-:Bxoh%"><field name="NUM">1.02</field></block></value></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="lYqw*%:;Pi/CZ0}e`fJL"><value name="X"><block type="bitbybit.lists.getItem" id="Gvc`x#Arm1oDXC-7VY^W"><value name="List"><block type="variables_get" id="^h~Ijc2{3q4Jp]eo#y{y"><field name="VAR" id="middle">middle</field></block></value><value name="Index"><block type="math_number" id="0$_i4xd+-,l9r;kng4R,"><field name="NUM">0</field></block></value><value name="Clone"><block type="logic_boolean" id="0YCQ},Wg+QDce1A!ou$/"><field name="BOOL">FALSE</field></block></value></block></value><value name="Y"><block type="math_number" id=".1c*F4HPMCC|IB.I?snl"><field name="NUM">0</field></block></value><value name="Z"><block type="bitbybit.lists.getItem" id="h{Of6,(U~k1AxEk}Sr$Y"><value name="List"><block type="variables_get" id="}ZP@L8U4]#GBno^}Z*{8"><field name="VAR" id="middle">middle</field></block></value><value name="Index"><block type="math_number" id="}UjEVeP2t]1pAbRimPj="><field name="NUM">2</field></block></value><value name="Clone"><block type="logic_boolean" id="h4DOmXs(O27x(HsdG!bl"><field name="BOOL">FALSE</field></block></value></block></value></block></value></block></value></block></value></block></value><next><block type="variables_set" id="dm3u2==Kk?5vIdEaGjzC"><field name="VAR" id="areas">areas</field><value name="VALUE"><block type="base_time_await_return" id="s}6(F%rtF1e^3$s!_o2v"><value name="Promise"><block type="bitbybit.occt.shapes.face.getFacesAreas" id="2vtIf@hOZHSrB)I[L-uy"><value name="Shapes"><block type="variables_get" id="9d]S529;$m*RX5m,-HZr"><field name="VAR" id="faces">faces</field></block></value></block></value></block></value><next><block type="variables_set" id=":SF4@%mY(`#aX7d+sB`z"><field name="VAR" id="largest side">largest side</field><value name="VALUE"><block type="bitbybit.lists.getItem" id="mCxB805rXSenX)Q.AuX*"><value name="List"><block type="bitbybit.lists.sortNumber" id="?fr7z.;oDuk+$lk3(wCV"><value name="List"><block type="bitbybit.lists.getSubList" id="sY2T~rD;w,:$7FEL8j`I"><value name="List"><block type="variables_get" id="4!9Sa^bOU7U5$i`K9*-c"><field name="VAR" id="areas">areas</field></block></value><value name="IndexStart"><block type="math_number" id="JFpQv6;5Fun)VftP-XXE"><field name="NUM">0</field></block></value><value name="IndexEnd"><block type="math_arithmetic" id="vw[81__*MG*#/6cL{|$F"><field name="OP">MINUS</field><value name="A"><block type="bitbybit.lists.listLength" id=")}*oKw;bpB3T0413`B*g"><value name="List"><block type="variables_get" id="YNd!RG}G^6{-sB:wV-^Y"><field name="VAR" id="areas">areas</field></block></value><value name="Clone"><block type="logic_boolean" id="?/HAkSI(k6JA`JpAY4y-"><field name="BOOL">FALSE</field></block></value></block></value><value name="B"><block type="math_number" id="|/HF0cRKw-:^H~6m:L9M"><field name="NUM">2</field></block></value></block></value><value name="Clone"><block type="logic_boolean" id=")/1ZFc^Dw!jdO3[)iIp2"><field name="BOOL">FALSE</field></block></value></block></value><value name="Clone"><block type="logic_boolean" id="[;-PnQH^gahf=@YN?)Ge"><field name="BOOL">FALSE</field></block></value><value name="OrderAsc"><block type="logic_boolean" id="=hV,aI;MNe5uvg*Ka]Zb"><field name="BOOL">FALSE</field></block></value></block></value><value name="Index"><block type="math_number" id="x[!2U$gWg+HCwINeQQ,W"><field name="NUM">0</field></block></value><value name="Clone"><block type="logic_boolean" id="3rp`oTZPz%yA`jMN:S39"><field name="BOOL">FALSE</field></block></value></block></value><next><block type="variables_set" id="S|PpMwS64q}7s~8_V2sG"><field name="VAR" id="cells">cells</field><value name="VALUE"><block type="bitbybit.lists.createEmptyList" id="aVHlNKz}KLC9P__@yr=Y"></block></value><next><block type="controls_for" id="+A93*8uE@qkVmI,Q{emm"><field name="VAR" id="i">i</field><value name="FROM"><block type="math_number" id="-sZuPnqzf2_-_k1a)AG9"><field name="NUM">0</field></block></value><value name="TO"><block type="math_arithmetic" id="c`|-k+J?XVnqU$LXCyk="><field name="OP">MINUS</field><value name="A"><block type="bitbybit.lists.listLength" id="%L$tiyiw0E{SIMVMUcTn"><value name="List"><block type="variables_get" id="EX~/;#mYPZ5-iZ0swhP_"><field name="VAR" id="faces">faces</field></block></value><value name="Clone"><block type="logic_boolean" id="2ua{~=[E@y-u%XWqL}@d"><field name="BOOL">FALSE</field></block></value></block></value><value name="B"><block type="math_number" id="583[@d+7@o-A)ts=S6gs"><field name="NUM">1</field></block></value></block></value><value name="BY"><block type="math_number" id="L7[$RPeFYTWt~?YSuMi1"><field name="NUM">1</field></block></value><statement name="DO"><block type="variables_set" id="}WSs7!Qn|r?#$WL?c2iv"><field name="VAR" id="normal">normal</field><value name="VALUE"><block type="base_time_await_return" id="7C5XOzhv!*c0]@aj2_J!"><value name="Promise"><block type="bitbybit.occt.shapes.face.normalOnUV" id="C}y)JKU9E_/_#Wzi!o*}"><value name="Shape"><block type="bitbybit.lists.getItem" id="MlNh_/s1?.@gth|nGARS"><value name="List"><block type="variables_get" id="~-4Bf~[m`M4!uSC(Ylz,"><field name="VAR" id="faces">faces</field></block></value><value name="Index"><block type="variables_get" id="Kw*X?IBgt:y`yj@-J#)]"><field name="VAR" id="i">i</field></block></value><value name="Clone"><block type="logic_boolean" id="9p/C6h@zy{w@@F.a6l/S"><field name="BOOL">FALSE</field></block></value></block></value><value name="ParamU"><block type="math_number" id="?():w#jUOMk3;05}ng3_"><field name="NUM">0.5</field></block></value><value name="ParamV"><block type="math_number" id="KU.fye*;W.#^yvR18l,x"><field name="NUM">0.5</field></block></value></block></value></block></value><next><block type="controls_if" id="z*FH-LR;1}xc]I#5qvm_"><value name="IF0"><block type="logic_compare" id="Jy*fbbqCy~0kLgL^GL-%"><field name="OP">LT</field><value name="A"><block type="math_single" id="t.4L4V%^Sci?AAo|$QQm"><field name="OP">ABS</field><value name="NUM"><block type="bitbybit.lists.getItem" id="EOYo=xeTkZb!;6uBwIg2"><value name="List"><block type="variables_get" id="ETZeu8+=_~PSA/1x0I}#"><field name="VAR" id="normal">normal</field></block></value><value name="Index"><block type="math_number" id=":@9o`Scfq[3DzK$/`8#q"><field name="NUM">1</field></block></value><value name="Clone"><block type="logic_boolean" id="`Z:e?F7c1U0t=HG5$Z#p"><field name="BOOL">FALSE</field></block></value></block></value></block></value><value name="B"><block type="math_number" id="1M_41B53ZIhgr_~N`nB,"><field name="NUM">0.9</field></block></value></block></value><statement name="DO0"><block type="variables_set" id="_tMh]W]XS#/*L`P)ie@)"><field name="VAR" id="new cells">new cells</field><value name="VALUE"><block type="base_time_await_return" id="^B`4%a5d)p0G~_BJ,%kF"><value name="Promise"><block type="bitbybit.occt.shapes.face.subdivideToHexagonWires" id="}h4D2_e~a3srxGQic?dB"><value name="Shape"><block type="bitbybit.lists.getItem" id="1QZu^Rp5VE9s]6SHNSp9"><value name="List"><block type="variables_get" id="sw(KhDmZMd2cAug5kDo?"><field name="VAR" id="faces">faces</field></block></value><value name="Index"><block type="variables_get" id="ME)OcJw%B^u_yxMEdms*"><field name="VAR" id="i">i</field></block></value><value name="Clone"><block type="logic_boolean" id="C[W~f|#@sg1V92.rO6q("><field name="BOOL">FALSE</field></block></value></block></value><value name="NrHexagonsU"><block type="logic_ternary" id="V15Lpak;tCyu1~nZmdM*"><value name="IF"><block type="logic_compare" id="7CNACNzhrb_A)khvK-3c"><field name="OP">GT</field><value name="A"><block type="bitbybit.lists.getItem" id="nA3/IyQQ*s;)b6@B3IV)"><value name="List"><block type="variables_get" id="9!^`Ha_[e8V?@-UBPT=D"><field name="VAR" id="areas">areas</field></block></value><value name="Index"><block type="variables_get" id="h[i8UupShaZRBB$r#Q}6"><field name="VAR" id="i">i</field></block></value><value name="Clone"><block type="logic_boolean" id="5)T~!?*]i3(04#uDCm8l"><field name="BOOL">FALSE</field></block></value></block></value><value name="B"><block type="math_arithmetic" id=")uebyWs]w_)$%Pb_:TX5"><field name="OP">MULTIPLY</field><value name="A"><block type="variables_get" id="Rnh!LTn)_pn3=+e7^x*/"><field name="VAR" id="largest side">largest side</field></block></value><value name="B"><block type="math_number" id="P7)8r3/]~856K9X.uz(m"><field name="NUM">0.7</field></block></value></block></value></block></value><value name="THEN"><block type="math_number" id="l#316T{TuA[#|*..:i}T"><field name="NUM">8</field></block></value><value name="ELSE"><block type="math_number" id="+/2@$D]eWwo6E5aqTL9~"><field name="NUM">5</field></block></value></block></value><value name="NrHexagonsV"><block type="math_number" id="n%cVx-ki#7X%coG)a6ON"><field name="NUM">3</field></block></value><value name="FlatU"><block type="logic_boolean" id="l0`3yCKblbU1cV!F%tA#"><field name="BOOL">FALSE</field></block></value><value name="ScalePatternU"><block type="lists_create_with" id="F[Z.@rdl5XI|4JY5_6o."><mutation items="1"></mutation><value name="ADD0"><block type="math_number" id="!kFhVnBO)R9BSiVPp^~Q"><field name="NUM">0.8</field></block></value></block></value><value name="ScalePatternV"><block type="lists_create_with" id="g2a~)k4Z,x?!j=]F*?)B"><mutation items="1"></mutation><value name="ADD0"><block type="math_number" id="R8_B__aEQ/orf+/S|k8P"><field name="NUM">0.8</field></block></value></block></value><value name="FilletPattern"><block type="lists_create_with" id=":/GS/aYK*lVUQLb2KFw7"><mutation items="1"></mutation><value name="ADD0"><block type="math_number" id="b*$MBSs70]izJHUqv~vx"><field name="NUM">0.35</field></block></value></block></value><value name="OffsetFromBorderU"><block type="math_number" id="I1l57^;|FFuw9SA}z{rp"><field name="NUM">0.05</field></block></value><value name="OffsetFromBorderV"><block type="math_number" id="#Mu]Y0ng/eIz8OzM|;nN"><field name="NUM">0.08</field></block></value><value name="ExtendUUp"><block type="logic_boolean" id="Q9%!nCP{#kO|`8t8ypU1"><field name="BOOL">FALSE</field></block></value><value name="ExtendUBottom"><block type="logic_boolean" id="}(OEQnrQDg#L(:h|rbM_"><field name="BOOL">FALSE</field></block></value><value name="ExtendVUp"><block type="logic_boolean" id="H[(twxTMP)3}Vb~oC?2o"><field name="BOOL">FALSE</field></block></value><value name="ExtendVBottom"><block type="logic_boolean" id="R3s#q!xiB[cyk[tQKN]X"><field name="BOOL">FALSE</field></block></value></block></value></block></value><next><block type="variables_set" id="?;8n(r7k;P)y.s%,Pspw"><field name="VAR" id="cells">cells</field><value name="VALUE"><block type="bitbybit.lists.concatenate" id="#y3W0)KylFCN~Tg(W{cv"><value name="Lists"><block type="lists_create_with" id=":[Ed9v2%(RLTisYa*7.O"><mutation items="2"></mutation><value name="ADD0"><block type="variables_get" id=",,piM+9%:E,4M)I{hf;["><field name="VAR" id="cells">cells</field></block></value><value name="ADD1"><block type="variables_get" id="LuYn=?J}{_XQH^AMbMF^"><field name="VAR" id="new cells">new cells</field></block></value></block></value><value name="Clone"><block type="logic_boolean" id="`4{mjxl.vxzz]ei*h265"><field name="BOOL">FALSE</field></block></value></block></value></block></next></block></statement></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></statement><value name="RETURN"><block type="bitbybit.occt.shapes.compound.makeCompound" id="De#rm(e61PTAW]d)a9$@"><value name="Shapes"><block type="variables_get" id="KaNRSkY*`iQyE5]:!B)n"><field name="VAR" id="cells">cells</field></block></value></block></value></block><block type="procedures_defreturn" id="hatchLid" collapsed="true" x="0" y="14328"><field name="NAME">hatch lid</field><comment pinned="false" h="80" w="160">Describe this function...</comment><value name="RETURN"><block type="bitbybit.occt.operations.extrude" id="+;$m90$-PewEh~5P%]h."><value name="Shape"><block type="bitbybit.occt.shapes.face.createFaceFromWire" id="@H}_z=Qkk*tojY=iDN72"><value name="Shape"><block type="bitbybit.occt.fillets.fillet2d" id="+QC@g]i,X([W-J5u5{0d"><value name="Shape"><block type="bitbybit.occt.shapes.wire.createRectangleWire" id="B_At8dzg7}.*2HgB/Xq_"><value name="Width"><block type="math_number" id="Jw@dHjPwF7/ujL+phAAb"><field name="NUM">34</field></block></value><value name="Length"><block type="math_number" id="[,Ab]`06R2sS(g=u50cB"><field name="NUM">50</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="kD-/UA$lswc~`/3WFg8y"><value name="X"><block type="math_number" id="m`IO.J:BA?c[wzE]%D`2"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="w6YRx+x#^LO-q{76j1ji"><field name="NUM">48</field></block></value><value name="Z"><block type="math_number" id="`t6.rHgk(+D,b#?u/#zB"><field name="NUM">10</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="@q$e!0M]Ip.m,V?awC^_"><value name="X"><block type="math_number" id="BTvEd(XP)@9u$u((6RD+"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="he|/1mg?/JSmnl%AOYT]"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="~e78XXa^/Q`o;~:%508j"><field name="NUM">0</field></block></value></block></value></block></value><value name="Radius"><block type="math_number" id="_!5uR(KZpotLOfCtbVtV"><field name="NUM">9</field></block></value></block></value><value name="Planar"><block type="logic_boolean" id="r=FO#Q2wlSZs2:DXrY4="><field name="BOOL">TRUE</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="^`A_cfZYwf{~0Qw1b,K$"><value name="X"><block type="math_number" id="yToe0kcEFGo1?4Yi3a)p"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="bT0~g_R*_T{BAS%y8c`4"><field name="NUM">1.4</field></block></value><value name="Z"><block type="math_number" id="m]p-aDy0?|YP=z}Bq/)^"><field name="NUM">0</field></block></value></block></value></block></value></block><block type="procedures_defreturn" id="logoOnHatch" collapsed="true" x="0" y="14424"><field name="NAME">logo on hatch</field><comment pinned="false" h="80" w="160">Describe this function...</comment><statement name="STACK"><block type="variables_set" id=":YdW7487qdT0^`1?l5@P"><field name="VAR" id="logo">logo</field><value name="VALUE"><block type="bitbybit.occt.transforms.mirrorAlongNormal" id="ZZzy)xL*]7Cr2Q4V)6RV"><value name="Shape"><block type="bitbybit.occt.io.loadSTEPorIGESFromText" id="LRzuI}^ge{l$fH,o+lWY"><value name="Text"><block type="bitbybit.asset.fetchText" id="t2sRN$6z*$15T|*Uf0g:"><value name="Url"><block type="text" id="=aTI%/8Cf59PJ5Dzms`S"><field name="TEXT">https://git-cdn.bitbybit.dev/latest/assets/logo/logo-faces.stp</field></block></value></block></value><value name="FileType"><block type="bitbybit.occt.enums.fileTypeEnum" id="V{SD.%};7OuL{]vJ$Za!"><field name="bitbybit.occt.enums.fileTypeEnum">'step'</field></block></value><value name="AdjustZtoY"><block type="logic_boolean" id="Y_P;d#uWYqUi|(~Y3?K~"><field name="BOOL">TRUE</field></block></value></block></value><value name="Origin"><block type="bitbybit.point.pointXYZ" id="?%IHOcZtKIHLbx=TD#2t"><value name="X"><block type="math_number" id="$[pAR7w8%wB,asC_3_+M"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id=",j`2IlvsYsBN`Ul~Lfu8"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="H.l^eP!evS:jRKM$HP{;"><field name="NUM">0</field></block></value></block></value><value name="Normal"><block type="bitbybit.vector.vectorXYZ" id="x.ker=DzRmva?~c0ai)n"><value name="X"><block type="math_number" id="$M]T}@IWDYwog]=F0F^c"><field name="NUM">1</field></block></value><value name="Y"><block type="math_number" id="[G(o4y{P2r5QC(P,qQ|u"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="rhML`=T8W#EzXJfLrr:Y"><field name="NUM">0</field></block></value></block></value></block></value><next><block type="variables_set" id="Mp[v#/90qigD#{*CqwBN"><field name="VAR" id="box">box</field><value name="VALUE"><block type="base_time_await_return" id="=;8,~$C[rWVgJvL|ng,z"><value name="Promise"><block type="bitbybit.occt.analysis.measure.tightBoundingBox" id="KNLenq~LEKx.s[F{n%?w"><value name="Shape"><block type="variables_get" id="l(oaptIG-sPg(}qIEdB+"><field name="VAR" id="logo">logo</field></block></value></block></value></block></value><next><block type="variables_set" id="#u`)`6-]#/OfAX*|Br`~"><field name="VAR" id="scaled">scaled</field><value name="VALUE"><block type="bitbybit.occt.transforms.scale" id="7FQQ6oL!F?+7_k1wN/S4"><value name="Shape"><block type="variables_get" id="*cu8=(Jd8/|hWHyG2]!1"><field name="VAR" id="logo">logo</field></block></value><value name="Factor"><block type="math_arithmetic" id="d/0N09m_YHI56#wRjsfF"><field name="OP">DIVIDE</field><value name="A"><block type="math_number" id="#5q@?2,QyrJ65#/4F]3L"><field name="NUM">26</field></block></value><value name="B"><block type="logic_ternary" id="9mu]?-?1X)!EjTahY1T."><value name="IF"><block type="logic_compare" id="2ogGWLSjNA2ZpsVr8M@?"><field name="OP">GT</field><value name="A"><block type="bitbybit.lists.getItem" id="a_E4Cp~/{gYLP!y2j5FN"><value name="List"><block type="bitbybit.json.getValueOnProp" id="^!%xM,`Z9{gOn*u)lFcH"><value name="Json"><block type="variables_get" id="eQ)wS#4ru@-49u`0wfkj"><field name="VAR" id="box">box</field></block></value><value name="Property"><block type="text" id="L%]:yv7Iv-W#baN7PfT5"><field name="TEXT">size</field></block></value></block></value><value name="Index"><block type="math_number" id="YY2nhw4g*Cr_*Nc7CJK|"><field name="NUM">0</field></block></value><value name="Clone"><block type="logic_boolean" id="c5Ye6=kdLwjBJOpETH!!"><field name="BOOL">FALSE</field></block></value></block></value><value name="B"><block type="bitbybit.lists.getItem" id="0(IHIwMj~CQ/P6!-X+$H"><value name="List"><block type="bitbybit.json.getValueOnProp" id="xZhgD5%B=O{PmVK|j4KI"><value name="Json"><block type="variables_get" id="NEANIE(~+GNwc=[D)yjQ"><field name="VAR" id="box">box</field></block></value><value name="Property"><block type="text" id="[6r*3fMfh=9oEN)+z`yy"><field name="TEXT">size</field></block></value></block></value><value name="Index"><block type="math_number" id="M^:k_7Hm!!!s{Fh@KVc!"><field name="NUM">2</field></block></value><value name="Clone"><block type="logic_boolean" id="`?4/5IXMf.k`v4)F@hRR"><field name="BOOL">FALSE</field></block></value></block></value></block></value><value name="THEN"><block type="bitbybit.lists.getItem" id="![x,F:Zz6QgDhB~Y;uWS"><value name="List"><block type="bitbybit.json.getValueOnProp" id="+DGQGOAJ9.;3uBbUuX^Z"><value name="Json"><block type="variables_get" id="1T3qYC9+%Z5P#3=?#x|K"><field name="VAR" id="box">box</field></block></value><value name="Property"><block type="text" id="?5YFS19nf=$jK*flN{~:"><field name="TEXT">size</field></block></value></block></value><value name="Index"><block type="math_number" id="X#cgC2U%@xok?y$5iSSC"><field name="NUM">0</field></block></value><value name="Clone"><block type="logic_boolean" id="Hqw^ZN%jPaOikz7Al=n:"><field name="BOOL">FALSE</field></block></value></block></value><value name="ELSE"><block type="bitbybit.lists.getItem" id=")kTZbz$z,46wA-oJOlEV"><value name="List"><block type="bitbybit.json.getValueOnProp" id="G+*O{8C7tZ(}+@3hKd+M"><value name="Json"><block type="variables_get" id="71n`{as=xydo1mV2^Yr1"><field name="VAR" id="box">box</field></block></value><value name="Property"><block type="text" id="/tPo7aIR0k%LNSz3%Gx8"><field name="TEXT">size</field></block></value></block></value><value name="Index"><block type="math_number" id="(oJS6:8Lj^iO?c3E;=(X"><field name="NUM">2</field></block></value><value name="Clone"><block type="logic_boolean" id="7ogIt*S}9iJBfU{{%9{("><field name="BOOL">FALSE</field></block></value></block></value></block></value></block></value></block></value><next><block type="variables_set" id="H.dG?VhaPzei1+K2L8M5"><field name="VAR" id="box">box</field><value name="VALUE"><block type="base_time_await_return" id="2L]6xXHYci_kt%B8=]-7"><value name="Promise"><block type="bitbybit.occt.analysis.measure.tightBoundingBox" id="H`XOtn8Z3OY}D6}+74,y"><value name="Shape"><block type="variables_get" id="jtRPtEj}vu}ES)y:j5-P"><field name="VAR" id="scaled">scaled</field></block></value></block></value></block></value></block></next></block></next></block></next></block></statement><value name="RETURN"><block type="bitbybit.occt.transforms.translate" id="3*qY[4!(hN8jfxxZN[sr"><value name="Shape"><block type="variables_get" id="LRRO8YY:2F)AG|ACN)`H"><field name="VAR" id="scaled">scaled</field></block></value><value name="Translation"><block type="bitbybit.vector.vectorXYZ" id="y$YG3q/G9nQ8qp_,XehN"><value name="X"><block type="math_arithmetic" id="8PII=w_9[b+qzA@}V/}F"><field name="OP">MINUS</field><value name="A"><block type="math_number" id="[.`(uW6L!uJTH6)-cqp["><field name="NUM">0</field></block></value><value name="B"><block type="bitbybit.lists.getItem" id="y%)iyhs5A:|e#gyIDBIl"><value name="List"><block type="bitbybit.json.getValueOnProp" id="=C)@o+lj=W@HY9Mba$m:"><value name="Json"><block type="variables_get" id="RqnG[^-oMkHZcs~+Ewaw"><field name="VAR" id="box">box</field></block></value><value name="Property"><block type="text" id="_Fjd7_?XsjWx/d0~aYn+"><field name="TEXT">center</field></block></value></block></value><value name="Index"><block type="math_number" id="[=#vFoTz;r-eOXY^!Y.g"><field name="NUM">0</field></block></value><value name="Clone"><block type="logic_boolean" id="CloeHED[P-pCNyr=UxX^"><field name="BOOL">FALSE</field></block></value></block></value></block></value><value name="Y"><block type="math_arithmetic" id="(bSK^NM|e+3l%wzAZ-^%"><field name="OP">MINUS</field><value name="A"><block type="math_number" id="TqB(SueBElPazyZtBj32"><field name="NUM">47.9</field></block></value><value name="B"><block type="bitbybit.lists.getItem" id="ZnuJmglg:R*L7#^Pw{6N"><value name="List"><block type="bitbybit.json.getValueOnProp" id="$P{)PE8gWeb9k1q|t@r2"><value name="Json"><block type="variables_get" id="RyJe^UJX^;5i2/~PS6p."><field name="VAR" id="box">box</field></block></value><value name="Property"><block type="text" id="2C#.cw@tFk7!Lp{Q%o7."><field name="TEXT">min</field></block></value></block></value><value name="Index"><block type="math_number" id="HL2:f!;#et`]sm$`jG*6"><field name="NUM">1</field></block></value><value name="Clone"><block type="logic_boolean" id="N(Zx+u(qr`i/knK^q9+d"><field name="BOOL">FALSE</field></block></value></block></value></block></value><value name="Z"><block type="math_arithmetic" id="!@KltG[tkc9omBO3PSus"><field name="OP">MINUS</field><value name="A"><block type="math_number" id="}(fEU5h/4_BI|k/ul}Yd"><field name="NUM">10</field></block></value><value name="B"><block type="bitbybit.lists.getItem" id="b]6286IlsHkRe#!R@JRu"><value name="List"><block type="bitbybit.json.getValueOnProp" id="/iAy1.KQnN6Fh1r`utyi"><value name="Json"><block type="variables_get" id="5r1t0`NhgvrU@Tg-p*QA"><field name="VAR" id="box">box</field></block></value><value name="Property"><block type="text" id="!kQ$$R0+J65n^TQFVPbJ"><field name="TEXT">center</field></block></value></block></value><value name="Index"><block type="math_number" id="MJWMJ9n26AALhNt(lFEX"><field name="NUM">2</field></block></value><value name="Clone"><block type="logic_boolean" id="FrIV4+NWAy@4pA;5FYTm"><field name="BOOL">FALSE</field></block></value></block></value></block></value></block></value></block></value></block><block type="variables_set" id="hatch" x="0" y="14520"><field name="VAR" id="placed logo">placed logo</field><value name="VALUE"><block type="procedures_callreturn" id="gLt|=23Q+7CIj28+?80v"><mutation name="logo on hatch"></mutation></block></value><next><block type="bitbybit.draw.drawAnyAsyncNoReturn" id="hT48t,Rm%L)EEb3Qb,Ts"><value name="Entity"><block type="bitbybit.occt.booleans.difference" id="_wtoKn~GR-^$ZOj`z%@k"><value name="Shape"><block type="procedures_callreturn" id="GK:2i3Kfn%eBU#0XnXL;"><mutation name="hatch lid"></mutation></block></value><value name="Shapes"><block type="lists_create_with" id="C^5:TyRHsG}77V9x@gBP"><mutation items="1"></mutation><value name="ADD0"><block type="bitbybit.occt.operations.extrude" id="tO*08$Vp.HSnQ`DP^|Xz"><value name="Shape"><block type="variables_get" id="o3^zH0!{hjDM-XtBfVyE"><field name="VAR" id="placed logo">placed logo</field></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="JmmkTOT{Ye3@=kk9c?Tn"><value name="X"><block type="math_number" id="Fz:tu{v0IA~EvFR-cJTd"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="M~R_CGy5{}d]/^$JEAQK"><field name="NUM">1.7</field></block></value><value name="Z"><block type="math_number" id="tlR@0%v!o?g+M1|i1p#d"><field name="NUM">0</field></block></value></block></value></block></value></block></value><value name="KeepEdges"><block type="logic_boolean" id="FrZS`uJ|@o#9~^b=(+}T"><field name="BOOL">FALSE</field></block></value><value name="Strategy"><block type="bitbybit.occt.enums.booleanStrategyEnum" id=",I~n#!:itSry_~x@^DuK"><field name="bitbybit.occt.enums.booleanStrategyEnum">'oneAfterAnother'</field></block></value></block></value><value name="Options"><block type="variables_get" id="scH$v$w~xyX3`cz;1Y9e"><field name="VAR" id="paint">paint</field></block></value><next><block type="bitbybit.draw.drawAnyAsyncNoReturn" id="m8{C4i0]8OMZLe~PsFFv"><value name="Entity"><block type="bitbybit.occt.operations.extrude" id="E^HBVz$m$cDQW*}}rqo_"><value name="Shape"><block type="bitbybit.occt.transforms.scale3d" id="zp.N$kmOb@Q22}!1KdF="><value name="Shape"><block type="variables_get" id="eY)6_.D=*{s/$t4:OQ%A"><field name="VAR" id="placed logo">placed logo</field></block></value><value name="Scale"><block type="bitbybit.vector.vectorXYZ" id=";M!-yrh9P.E+QLbalc9I"><value name="X"><block type="math_number" id="YzD7ZN)ZB%tEBkdJFDV@"><field name="NUM">0.96</field></block></value><value name="Y"><block type="math_number" id="l;a1($lQE}/.e??jZu@p"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="~8zEwo0QHmIn0F)|U6=}"><field name="NUM">0.96</field></block></value></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="^R},RO_4jNt1I2r2g$eq"><value name="X"><block type="math_number" id="yXuY!073Ld,4K=4E{,[u"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="?,)N$UzxXJpSv8/.{0,e"><field name="NUM">47.9</field></block></value><value name="Z"><block type="math_number" id="5ft*VM%gs]Em|EKhQL6}"><field name="NUM">10</field></block></value></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="X.y=[Av7$g9jai/:8l?%"><value name="X"><block type="math_number" id="69s=Y2K]@~x8pz%:k#CF"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="7U7i/s22DiTN5r4s=|g:"><field name="NUM">1.1</field></block></value><value name="Z"><block type="math_number" id="(j]K=~!*)9T-YAduyfB7"><field name="NUM">0</field></block></value></block></value></block></value><value name="Options"><block type="procedures_callreturn" id="|UI:~=QFVcm`.6u26r+`"><mutation name="look"><arg name="name"></arg><arg name="colour"></arg><arg name="metallic"></arg><arg name="roughness"></arg><arg name="glow"></arg><arg name="edge colour"></arg><arg name="edge width"></arg></mutation><value name="ARG0"><block type="text" id=":iGTaLfSbXCc2!UW:)-T"><field name="TEXT">emblem</field></block></value><value name="ARG1"><block type="colour_picker" id="8ZN;q:feQFR0I4lh:^^:"><field name="COLOUR">#f4f4f4</field></block></value><value name="ARG2"><block type="math_number" id="+L1K~5OnO?.BsDd%oby,"><field name="NUM">0.2</field></block></value><value name="ARG3"><block type="math_number" id="Fn]}J`W(rcD0L]6;;p?%"><field name="NUM">0.5</field></block></value><value name="ARG4"><block type="colour_picker" id="@JL836xEiW25smYCx^Cl"><field name="COLOUR">#000000</field></block></value><value name="ARG5"><block type="colour_picker" id="kXun3u-CZXIEHVYS;R~="><field name="COLOUR">#0d0e10</field></block></value><value name="ARG6"><block type="math_number" id="g=u~t%YvSAW#sb8Qx([,"><field name="NUM">4</field></block></value></block></value></block></next></block></next></block><block type="procedures_defreturn" id="gps" collapsed="true" x="0" y="15954"><field name="NAME">gps</field><comment pinned="false" h="80" w="160">Describe this function...</comment><value name="RETURN"><block type="bitbybit.occt.booleans.union" id="(vA^+I1T8tqy_EH%BS.}"><value name="Shapes"><block type="lists_create_with" id="@Yep}KZtnZedK/j5`Uxq"><mutation items="2"></mutation><value name="ADD0"><block type="bitbybit.occt.shapes.solid.createCylinder" id="d5~P61,X$re=d$;y,T(b"><value name="Radius"><block type="math_number" id="8w5n^8PD$9HTQsL*IbG0"><field name="NUM">2.5</field></block></value><value name="Height"><block type="math_number" id="mvjv(/$K`qfPR:OpL`YQ"><field name="NUM">34</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="qr^yGa;|v12F(QD[M1~+"><value name="X"><block type="math_number" id="1ux}zvb6|FY(rkb[l{Em"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="yJbdkM}*dvi!ijPICZci"><field name="NUM">16</field></block></value><value name="Z"><block type="math_number" id="{{q0|TO-)pYW3c^.wTi4"><field name="NUM">-70</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="em+IIj.Ff)N)wE_i1%a|"><value name="X"><block type="math_number" id="0YnKc%w2X.ab:58*xe,N"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="fE,pWRY%!A.a$FzV!@zk"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="uu9Zk^OLLU8?WQ9+i0BJ"><field name="NUM">0</field></block></value></block></value><value name="Angle"><block type="math_number" id="l4,?qCFt,3G|}*3oEP!u"><field name="NUM">360</field></block></value><value name="OriginOnCenter"><block type="logic_boolean" id="Noi^4UAs]%$,+O)Rujhn"><field name="BOOL">FALSE</field></block></value></block></value><value name="ADD1"><block type="bitbybit.occt.fillets.filletEdges" id="i}UsTI2_zCRSiPfz6Sj$"><value name="Shape"><block type="bitbybit.occt.shapes.solid.createCylinder" id="|Bu|*qy?01U`hn4@[pfY"><value name="Radius"><block type="math_number" id="sH-~!;~}?^#i_qo^Y:_*"><field name="NUM">11</field></block></value><value name="Height"><block type="math_number" id="Wh@aoI8y}npP]^8dJo}K"><field name="NUM">6</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="p)c+Gn0Bpc3;ZM*]XG1!"><value name="X"><block type="math_number" id="!fqs;I7Y5k|RtSi;PYGS"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="QuSe[kaD~{yMYQzAS-=J"><field name="NUM">50</field></block></value><value name="Z"><block type="math_number" id="tt.{k?m?kG4Yg}_ud-2w"><field name="NUM">-70</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="[T?_RHxDp=Pub-`#,IY6"><value name="X"><block type="math_number" id="%34[YwwYvh:,Lf]o8s2i"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="3xHx:S,L@QnAvC[slL-T"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="wxl?vx@:pvv:aA432sx;"><field name="NUM">0</field></block></value></block></value><value name="Angle"><block type="math_number" id="X_54rq)GX4lY+{Ry1!EB"><field name="NUM">360</field></block></value><value name="OriginOnCenter"><block type="logic_boolean" id="r+eD_ht4ad-5?oAVJAH="><field name="BOOL">FALSE</field></block></value></block></value><value name="Radius"><block type="math_number" id="h7$Ne4JZ3C=^FpHNfszn"><field name="NUM">1.5</field></block></value></block></value></block></value><value name="KeepEdges"><block type="logic_boolean" id="OcPd{#3QU~^LYzV=#gw~"><field name="BOOL">FALSE</field></block></value><value name="Strategy"><block type="bitbybit.occt.enums.booleanStrategyEnum" id="7yfd]hISZ9sUc_a,OM0n"><field name="bitbybit.occt.enums.booleanStrategyEnum">'oneAfterAnother'</field></block></value></block></value></block><block type="procedures_defreturn" id="antennas" collapsed="true" x="0" y="16050"><field name="NAME">antennas</field><comment pinned="false" h="80" w="160">Describe this function...</comment><statement name="STACK"><block type="variables_set" id="xsc0jBi!H#b[R]QQLo@}"><field name="VAR" id="antenna">antenna</field><value name="VALUE"><block type="bitbybit.occt.transforms.rotate" id="3ex4VqUTt,)j+S_4_Mmf"><value name="Shape"><block type="bitbybit.occt.booleans.union" id="y|P9~[nlSzDl+GyRHf4v"><value name="Shapes"><block type="lists_create_with" id="/ED,]jKpKcA0.bjX;_K+"><mutation items="2"></mutation><value name="ADD0"><block type="bitbybit.occt.shapes.solid.createCylinder" id="$-1td?hSB]TqjLad;8gy"><value name="Radius"><block type="math_number" id="qvR-o-|e|-uL(0f1j0^:"><field name="NUM">1.5</field></block></value><value name="Height"><block type="math_number" id="m6];os}o0q.5RNlk+,tE"><field name="NUM">42</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="=z9JcZY%oJ-ryQ(q632%"><value name="X"><block type="math_number" id="Wog`w):oq6W#||teco_("><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="03MhXbukHYe/zbmf3=;$"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="pk@(]F1M-4Z`Av+aJFN3"><field name="NUM">0</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="}y+;oNSeMIc3Q,i[}hHv"><value name="X"><block type="math_number" id="?G~e8fibhJzRqapqr)L$"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="h35IH6jY5lu5Uv-.2bgg"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id=":%{wZYNlG6W~TgDHMDSl"><field name="NUM">0</field></block></value></block></value><value name="Angle"><block type="math_number" id="IA:%qAS7K5#:~16GY.!e"><field name="NUM">360</field></block></value><value name="OriginOnCenter"><block type="logic_boolean" id="h=bh(Y}PW(zCgGfB=178"><field name="BOOL">FALSE</field></block></value></block></value><value name="ADD1"><block type="bitbybit.occt.shapes.solid.createSphere" id="0T,3p]v:ke=]#rPxwk(}"><value name="Radius"><block type="math_number" id="E!m~-AvVVJ3Q}B12vg%."><field name="NUM">1.5</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="+RLD5|h^7:_HQA2}Ma#Q"><value name="X"><block type="math_number" id="CV5=4kBG/d$p@[ep?yn4"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="5-d]+2o;$_Q00_OhlTEd"><field name="NUM">42</field></block></value><value name="Z"><block type="math_number" id="PkZ}HirRVemP8jy*,f+0"><field name="NUM">0</field></block></value></block></value></block></value></block></value><value name="KeepEdges"><block type="logic_boolean" id="1p2%`?S17fI#bF$W@A+J"><field name="BOOL">FALSE</field></block></value><value name="Strategy"><block type="bitbybit.occt.enums.booleanStrategyEnum" id="T-WNpAA]YS4(^q_gEFzL"><field name="bitbybit.occt.enums.booleanStrategyEnum">'oneAfterAnother'</field></block></value></block></value><value name="Axis"><block type="bitbybit.vector.vectorXYZ" id="e0bOBEyF00a|G-ishe6v"><value name="X"><block type="math_number" id="(}jZCN9C!:3S7n98x?!f"><field name="NUM">1</field></block></value><value name="Y"><block type="math_number" id="|vOR,hD/UlJ$~B*mvw7P"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="ROB8I,7yKvh/T+kqzw^r"><field name="NUM">0</field></block></value></block></value><value name="Angle"><block type="math_number" id="{8@C`yX?jm=OcRNM1b:I"><field name="NUM">225</field></block></value></block></value></block></statement><value name="RETURN"><block type="bitbybit.occt.shapes.compound.makeCompound" id="[WYPFH@imsauWdv|LPRx"><value name="Shapes"><block type="lists_create_with" id="z_G9q{?JvXnlO#x#EK?2"><mutation items="2"></mutation><value name="ADD0"><block type="bitbybit.occt.transforms.translate" id="v!y%jE8aP,lz)=cr#74|"><value name="Shape"><block type="variables_get" id="Qq(k6#nQj]l^)~;fdGDM"><field name="VAR" id="antenna">antenna</field></block></value><value name="Translation"><block type="bitbybit.vector.vectorXYZ" id="1AlR=7QLa.JG1RCYtPaM"><value name="X"><block type="math_number" id="8=Y]GdBI2N:{:H|t)NqG"><field name="NUM">-14</field></block></value><value name="Y"><block type="math_number" id="dk~yx0Q$8)=mIcTKH{bW"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="U[_GmjuVtL)eDt+X:#kC"><field name="NUM">-67</field></block></value></block></value></block></value><value name="ADD1"><block type="bitbybit.occt.transforms.translate" id="O6SD5PRqqW=xA-XvO@~X"><value name="Shape"><block type="variables_get" id="7$HK)}XVQ1yi3XX%B5Ir"><field name="VAR" id="antenna">antenna</field></block></value><value name="Translation"><block type="bitbybit.vector.vectorXYZ" id="uE1K{s;mE|@r[u,pBi.V"><value name="X"><block type="math_number" id="PIx,V^L(Lvhm|q[-+YKs"><field name="NUM">14</field></block></value><value name="Y"><block type="math_number" id="]$N^Ph3y^sI_!)lx0g@t"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="2jk)fY*bMBXBJkedgQI]"><field name="NUM">-67</field></block></value></block></value></block></value></block></value></block></value></block><block type="bitbybit.draw.drawAnyAsyncNoReturn" id="electronics" x="0" y="16146"><value name="Entity"><block type="procedures_callreturn" id="XDex3kr9,l}JTQtYK;Ly"><mutation name="gps"></mutation></block></value><value name="Options"><block type="procedures_callreturn" id="^LLnk`V}/ni-$rbYPA7Y"><mutation name="look"><arg name="name"></arg><arg name="colour"></arg><arg name="metallic"></arg><arg name="roughness"></arg><arg name="glow"></arg><arg name="edge colour"></arg><arg name="edge width"></arg></mutation><value name="ARG0"><block type="text" id="A%kK^{@BG3p_`HV{dAAd"><field name="TEXT">polymer</field></block></value><value name="ARG1"><block type="colour_picker" id="BI4y8/3*}4P}O-HfIbSe"><field name="COLOUR">#2a2d31</field></block></value><value name="ARG2"><block type="math_number" id="|xI)xVpHmp2~6-Q,9RT1"><field name="NUM">0.05</field></block></value><value name="ARG3"><block type="math_number" id="`:[k$m#lv^+,(#U-cC96"><field name="NUM">0.4</field></block></value><value name="ARG4"><block type="colour_picker" id="uwcTGFOvIxNN8fRY`oA|"><field name="COLOUR">#000000</field></block></value><value name="ARG5"><block type="colour_picker" id="9-w,VSGQQIGZ+bWB*.+/"><field name="COLOUR">#f2f2f2</field></block></value><value name="ARG6"><block type="math_number" id=":(Dw#7jQJ|.!]bskdy@E"><field name="NUM">6</field></block></value></block></value><next><block type="variables_set" id="h6jVu:8R0KOu4CLOG[QR"><field name="VAR" id="rubber">rubber</field><value name="VALUE"><block type="procedures_callreturn" id="9P|BbqT;c]1D4GHC;E^L"><mutation name="look"><arg name="name"></arg><arg name="colour"></arg><arg name="metallic"></arg><arg name="roughness"></arg><arg name="glow"></arg><arg name="edge colour"></arg><arg name="edge width"></arg></mutation><value name="ARG0"><block type="text" id="aF/}:wtE`h1R1G*F}i^w"><field name="TEXT">rubber</field></block></value><value name="ARG1"><block type="colour_picker" id="2o]=|POrAdqA1m0q5Q[I"><field name="COLOUR">#111214</field></block></value><value name="ARG2"><block type="math_number" id="VP78~lQae5`fn?T!e|2a"><field name="NUM">0</field></block></value><value name="ARG3"><block type="math_number" id="N5(VyS=_w++XPt~U|--="><field name="NUM">0.92</field></block></value><value name="ARG4"><block type="colour_picker" id="@,3J{HWfI_Mo?%lLMQqQ"><field name="COLOUR">#000000</field></block></value><value name="ARG5"><block type="colour_picker" id=")5lv4CGOv}]%j=Kq7|_@"><field name="COLOUR">#f2f2f2</field></block></value><value name="ARG6"><block type="math_number" id="m,0NPY,.X//$]?#^|`(m"><field name="NUM">4</field></block></value></block></value><next><block type="bitbybit.draw.drawAnyAsyncNoReturn" id="(6ckp`:!a-m!.[wIxa^;"><value name="Entity"><block type="procedures_callreturn" id="N|GIM})[qZ1rFT~RlZgn"><mutation name="antennas"></mutation></block></value><value name="Options"><block type="variables_get" id="Q?Q-pg==14g4Ajw6lFxC"><field name="VAR" id="rubber">rubber</field></block></value></block></next></block></next></block><block type="procedures_defreturn" id="leg" collapsed="true" x="0" y="17308"><field name="NAME">leg</field><comment pinned="false" h="80" w="160">Describe this function...</comment><statement name="STACK"><block type="variables_set" id="ix}a!~/m5VSC8iRGvJbc"><field name="VAR" id="bent">bent</field><value name="VALUE"><block type="bitbybit.occt.fillets.fillet3DWire" id="*?4EX)CK;`Jr{)QJ.gv?"><value name="Shape"><block type="bitbybit.occt.shapes.wire.createPolylineWire" id="-?hDb9aS!Hcf-o.yT_}A"><value name="Points"><block type="lists_create_with" id="hzONPeHcR?UlMs-b+M21"><mutation items="4"></mutation><value name="ADD0"><block type="bitbybit.point.pointXYZ" id="1HL6{yJKiLQ%=uu?ZOW,"><value name="X"><block type="math_number" id=",)}:C*Va9|xFfplJD?Kf"><field name="NUM">52</field></block></value><value name="Y"><block type="math_number" id="2:X9](scS^6[pEj86^#W"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="48oBFNc5_uGj3-|wFH(("><field name="NUM">0</field></block></value></block></value><value name="ADD1"><block type="bitbybit.point.pointXYZ" id="l!Fybv1])K7LG?:gVV6@"><value name="X"><block type="math_number" id="0#Uk-x/91xBAeX;!RVNl"><field name="NUM">58</field></block></value><value name="Y"><block type="math_number" id="E~4`2?5QwKYY=:5,!ULn"><field name="NUM">-18</field></block></value><value name="Z"><block type="math_number" id="Y1w47/9!b5!`:C*-.l3S"><field name="NUM">0</field></block></value></block></value><value name="ADD2"><block type="bitbybit.point.pointXYZ" id="r]khqY-:Fs-Oigmr[[l7"><value name="X"><block type="math_number" id="[B2p)wTNB,@Un2qfl*m@"><field name="NUM">78</field></block></value><value name="Y"><block type="math_number" id="y~BF;M_9l_[af65Amswq"><field name="NUM">-34</field></block></value><value name="Z"><block type="math_number" id=";qR}h-}wi!]S*b=J/Ct`"><field name="NUM">0</field></block></value></block></value><value name="ADD3"><block type="bitbybit.point.pointXYZ" id="$E,mK@$R#+?|K+e-.34["><value name="X"><block type="math_number" id="sFr$SC`8vBNZlcnq0l2k"><field name="NUM">78</field></block></value><value name="Y"><block type="math_number" id="]bgvTU.^*?cd7!h3`NG_"><field name="NUM">-48</field></block></value><value name="Z"><block type="math_number" id="/+JRU9^tCPpzfqk,XP`X"><field name="NUM">0</field></block></value></block></value></block></value></block></value><value name="Radius"><block type="math_number" id="mN=-HCHzUEn$el7`/(wl"><field name="NUM">0.1</field></block></value><value name="RadiusList"><block type="lists_create_with" id="f?*ZLH20x{QilmVT;1Rv"><mutation items="2"></mutation><value name="ADD0"><block type="math_number" id=":d)uI]3g.Y`84p3R!j*%"><field name="NUM">12</field></block></value><value name="ADD1"><block type="math_number" id="JC[P06[K[?Qnb0dhc57t"><field name="NUM">6</field></block></value></block></value><value name="Indexes"><block type="lists_create_with" id="U)?-~OAnuxnZ}ptN:G]C"><mutation items="2"></mutation><value name="ADD0"><block type="math_number" id="IRSbgSS{=9eBH=0izicB"><field name="NUM">0</field></block></value><value name="ADD1"><block type="math_number" id="D$gIS].JGdSEBVP1M!6K"><field name="NUM">1</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="#NsL^R2Wk;E/.*Va6jtD"><value name="X"><block type="math_number" id="lN(1P5:O$.KHA:~yX.Xi"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="Dz[h#:r.Z8L{T[6S,:/m"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="juwSjI$JHqOhM=xMyP;$"><field name="NUM">1</field></block></value></block></value></block></value><next><block type="variables_set" id="r?HUh/Z^`%$dWm~YR+k}"><field name="VAR" id="tube">tube</field><value name="VALUE"><block type="bitbybit.occt.operations.pipeWireCylindrical" id="KoB7eeF1,w@T^*r}iIAl"><value name="Shape"><block type="variables_get" id="YD-(h:N0G2kc=6|!%4Dy"><field name="VAR" id="bent">bent</field></block></value><value name="Radius"><block type="math_number" id="B+k07}AQdm3X*:X[!Xm."><field name="NUM">4</field></block></value><value name="MakeSolid"><block type="logic_boolean" id="ZSH}ikf]_FQTKgsDTPfk"><field name="BOOL">TRUE</field></block></value><value name="TrihedronEnum"><block type="bitbybit.occt.enums.geomFillTrihedronEnum" id="E@lu~`T-53g)vm!g^fmm"><field name="bitbybit.occt.enums.geomFillTrihedronEnum">'isConstantNormal'</field></block></value><value name="ForceApproxC1"><block type="logic_boolean" id="bp}2pYM|DGr=]#TIMBm["><field name="BOOL">FALSE</field></block></value></block></value></block></next></block></statement><value name="RETURN"><block type="bitbybit.occt.booleans.union" id="k4NvE=jEDO`1*m}1h#6^"><value name="Shapes"><block type="lists_create_with" id="tuGIinNc~L|)Y7{f@hf^"><mutation items="3"></mutation><value name="ADD0"><block type="variables_get" id="e8|!p%8dF4e-LbW]voeZ"><field name="VAR" id="tube">tube</field></block></value><value name="ADD1"><block type="bitbybit.occt.shapes.solid.createBox" id="4MW!.`MSa]`}LYCWj6,W"><value name="Width"><block type="math_number" id="?iA`[0H2b9s0Iwr`$9E:"><field name="NUM">20</field></block></value><value name="Length"><block type="math_number" id="r(o4TCqeo94?~w!`zd|2"><field name="NUM">12</field></block></value><value name="Height"><block type="math_number" id="skJ4E;Objf0z!+C?#olc"><field name="NUM">3</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="J?D=YQ?^%y/]JTeK`}gO"><value name="X"><block type="math_number" id="c!YE,,:9`Ojc=uRvwX(E"><field name="NUM">52</field></block></value><value name="Y"><block type="math_number" id="!K3/ih_FXyU1uYre,6BK"><field name="NUM">-1.5</field></block></value><value name="Z"><block type="math_number" id="4Zx..87|[zsHQoR3qdEs"><field name="NUM">0</field></block></value></block></value><value name="OriginOnCenter"><block type="logic_boolean" id="J1za;7Icz1l#K[E^;9OC"><field name="BOOL">TRUE</field></block></value></block></value><value name="ADD2"><block type="bitbybit.occt.shapes.solid.createCylinder" id="o:;A6mv5d!6A2!UP{$Zy"><value name="Radius"><block type="math_number" id="WE7AZ(`rYCf%4@}a.3h["><field name="NUM">5.5</field></block></value><value name="Height"><block type="math_number" id="#M|g|RSQcUB?T$/2ib3q"><field name="NUM">6.4</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="}8Kjm=]$.o5]FLRt}nPa"><value name="X"><block type="math_number" id="0HO4K|[(Ncm_%Xdvf0Bg"><field name="NUM">52</field></block></value><value name="Y"><block type="math_number" id="u;sJwPXvdS2/-Yp,U{ju"><field name="NUM">-3</field></block></value><value name="Z"><block type="math_number" id="l/TNJDz0BW^+YS=sAN4s"><field name="NUM">0</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="LmRT:If(A7=sB[D/).9j"><value name="X"><block type="math_number" id="a~-}d6Xk/LZ83X:y_]9!"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="o@wivDIIDrvEjQG.@mVk"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="cVYFx|^F?VsT{fP1!rb_"><field name="NUM">0</field></block></value></block></value><value name="Angle"><block type="math_number" id="WN2+dMqq%/QjiQS6C]17"><field name="NUM">360</field></block></value><value name="OriginOnCenter"><block type="logic_boolean" id="gWLJ9I$~Jcn?q!x::Ab9"><field name="BOOL">FALSE</field></block></value></block></value></block></value><value name="KeepEdges"><block type="logic_boolean" id=":Ge{-o=a%_Rv]q8Z65w4"><field name="BOOL">FALSE</field></block></value><value name="Strategy"><block type="bitbybit.occt.enums.booleanStrategyEnum" id="@o$?W=E`FB!0DaCZxo1i"><field name="bitbybit.occt.enums.booleanStrategyEnum">'oneAfterAnother'</field></block></value></block></value></block><block type="bitbybit.draw.drawAnyAsyncNoReturn" id="legsDraw" x="0" y="17404"><value name="Entity"><block type="procedures_callreturn" id="1PYxgvFhkxO9dUP7+P{I"><mutation name="around"><arg name="shape"></arg><arg name="count"></arg></mutation><value name="ARG0"><block type="procedures_callreturn" id="*r8cK+YS|KodAUwlROF/"><mutation name="leg"></mutation></block></value><value name="ARG1"><block type="variables_get" id="6uJf2xXerJ_M)BB.Lm*g"><field name="VAR" id="legs">legs</field></block></value></block></value><value name="Options"><block type="variables_get" id="Vt4r}KQDqetF,Q68pB6U"><field name="VAR" id="carbon">carbon</field></block></value><next><block type="bitbybit.draw.drawAnyAsyncNoReturn" id="dampers"><value name="Entity"><block type="procedures_callreturn" id="$!Kg3-Hi6cb*$?Et_l(5"><mutation name="around"><arg name="shape"></arg><arg name="count"></arg></mutation><value name="ARG0"><block type="procedures_callreturn" id="vX1VA6cIxF-WBtXe[SaD"><mutation name="damper"></mutation></block></value><value name="ARG1"><block type="variables_get" id="Nr2]VL`84xrN6CFB.$84"><field name="VAR" id="legs">legs</field></block></value></block></value><value name="Options"><block type="variables_get" id="}~4/rSxxYC!|f9-(|QN}"><field name="VAR" id="aluminium">aluminium</field></block></value><next><block type="bitbybit.draw.drawAnyAsyncNoReturn" id="springsDraw"><value name="Entity"><block type="procedures_callreturn" id="MV6/VQ~-JZ/#_E0v_%K="><mutation name="around"><arg name="shape"></arg><arg name="count"></arg></mutation><value name="ARG0"><block type="procedures_callreturn" id="}PKYg%pFMIyWN2=drxl~"><mutation name="spring"></mutation></block></value><value name="ARG1"><block type="variables_get" id="L/.2(--ATxrFte54?PC2"><field name="VAR" id="legs">legs</field></block></value></block></value><value name="Options"><block type="variables_get" id="o|CE:o_e5ejXj=q8|jwI"><field name="VAR" id="steel">steel</field></block></value><next><block type="bitbybit.draw.drawAnyAsyncNoReturn" id="feet"><value name="Entity"><block type="procedures_callreturn" id="*UgXQCSp(}gkcMW75)zi"><mutation name="around"><arg name="shape"></arg><arg name="count"></arg></mutation><value name="ARG0"><block type="procedures_callreturn" id="PJ(Yhx[E#$K0oB=M$g#_"><mutation name="foot"></mutation></block></value><value name="ARG1"><block type="variables_get" id="W6Dh^9:*1wZp{:U/Z0?p"><field name="VAR" id="legs">legs</field></block></value></block></value><value name="Options"><block type="variables_get" id="J14*RRE$unD*Z=mLgeZ_"><field name="VAR" id="rubber">rubber</field></block></value><next><block type="bitbybit.draw.drawAnyAsyncNoReturn" id="12i~15WavB99$IwNC@OU"><value name="Entity"><block type="procedures_callreturn" id="vP:iGw$]Y^XV7e|Xc=ym"><mutation name="around"><arg name="shape"></arg><arg name="count"></arg></mutation><value name="ARG0"><block type="procedures_callreturn" id="1/o_e]l~XP{5R;z5$(+t"><mutation name="leg bolts"></mutation></block></value><value name="ARG1"><block type="variables_get" id="m?9ICUYA[w/pZ(`pY;WZ"><field name="VAR" id="legs">legs</field></block></value></block></value><value name="Options"><block type="variables_get" id="I875bo=?.vyQ3Ojmxc`g"><field name="VAR" id="steel">steel</field></block></value></block></next></block></next></block></next></block></next></block><block type="procedures_defreturn" id="damper" collapsed="true" x="0" y="18905"><field name="NAME">damper</field><comment pinned="false" h="80" w="160">Describe this function...</comment><statement name="STACK"><block type="variables_set" id=".nu_rtU,~bxVkiv|Z1B,"><field name="VAR" id="profile">profile</field><value name="VALUE"><block type="lists_create_with" id="QFIaTMdG1PqzDsMWK@$;"><mutation items="12"></mutation><value name="ADD0"><block type="bitbybit.point.pointXYZ" id=":s=,d88[2UNq}GLT[!~8"><value name="X"><block type="math_number" id="4e0PpL5l2=0H^4L:@!;H"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="o,(@spC9)4bY/7Jo/okx"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="V8n%2RERJsTkG1QrALtu"><field name="NUM">0</field></block></value></block></value><value name="ADD1"><block type="bitbybit.point.pointXYZ" id="FfXfaNxI`%|D#SBc,Rtr"><value name="X"><block type="math_number" id="z/j~0#?Gx55$Hm@GAy0q"><field name="NUM">6.5</field></block></value><value name="Y"><block type="math_number" id="[a+hdj}1sc_^qj/_ESB`"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="2ovL[Jx)1wi)%UPqlCnY"><field name="NUM">0</field></block></value></block></value><value name="ADD2"><block type="bitbybit.point.pointXYZ" id="RRi[Spth$^R?q{~/%vJd"><value name="X"><block type="math_number" id="~EEpfQ|Cb+fM6mGi^%g5"><field name="NUM">6.5</field></block></value><value name="Y"><block type="math_number" id="Ey0wUW1ZhbY:Ve+^@-q7"><field name="NUM">-4</field></block></value><value name="Z"><block type="math_number" id="T.{e835$Gim~}8ipBkZx"><field name="NUM">0</field></block></value></block></value><value name="ADD3"><block type="bitbybit.point.pointXYZ" id="35PlgNpBKeND}C0i7o9("><value name="X"><block type="math_number" id="(u6|i3!:++G*;6l1`u,_"><field name="NUM">5.5</field></block></value><value name="Y"><block type="math_number" id="v?d+T)Yx3jV@|0C%B+:y"><field name="NUM">-4.5</field></block></value><value name="Z"><block type="math_number" id="S6W^K{-F_14w%|#9IRij"><field name="NUM">0</field></block></value></block></value><value name="ADD4"><block type="bitbybit.point.pointXYZ" id="N7GCzs}wis,%c4d%/=Z,"><value name="X"><block type="math_number" id="rvM+9sB}?syMfPh[c0jB"><field name="NUM">5.5</field></block></value><value name="Y"><block type="math_number" id="WjdGyQ39SRsNX)SE+j/a"><field name="NUM">-14</field></block></value><value name="Z"><block type="math_number" id="A8+nnN[.B8?-o0EM2@Ve"><field name="NUM">0</field></block></value></block></value><value name="ADD5"><block type="bitbybit.point.pointXYZ" id="%1RajSY;VKx}#chhnz6V"><value name="X"><block type="math_number" id="trtr+8WGCb}VK#=6[qm!"><field name="NUM">6.2</field></block></value><value name="Y"><block type="math_number" id="S[q`N4P(c+:`@Zrj27_I"><field name="NUM">-14</field></block></value><value name="Z"><block type="math_number" id="zsl;c2LAHHva,{E0@R|r"><field name="NUM">0</field></block></value></block></value><value name="ADD6"><block type="bitbybit.point.pointXYZ" id="Dq!WH9%m618]mo(Lb~pL"><value name="X"><block type="math_number" id="8R~$`)yo_D*GV}{0OvVK"><field name="NUM">6.2</field></block></value><value name="Y"><block type="math_number" id="Kdj.4p,kgEG(%pw%YD/d"><field name="NUM">-16.5</field></block></value><value name="Z"><block type="math_number" id="B4Wr$in`)L^NV}Ptl5j$"><field name="NUM">0</field></block></value></block></value><value name="ADD7"><block type="bitbybit.point.pointXYZ" id="u-a|4y0Bu[$Apv4+f.pq"><value name="X"><block type="math_number" id="^A/Z-eF~P|OC)J8*fplb"><field name="NUM">4</field></block></value><value name="Y"><block type="math_number" id="Km]kPffZWQWB:Ig-VAw3"><field name="NUM">-16.5</field></block></value><value name="Z"><block type="math_number" id="25h7Mm}DNlX@}8A4^rc,"><field name="NUM">0</field></block></value></block></value><value name="ADD8"><block type="bitbybit.point.pointXYZ" id="U%]tq48Onz2/4C}`M`Dn"><value name="X"><block type="math_number" id=":VSzX96V6utNUj5#tH=w"><field name="NUM">4</field></block></value><value name="Y"><block type="math_number" id="kG@1Cjx*JKky@On5aCUA"><field name="NUM">-18</field></block></value><value name="Z"><block type="math_number" id="i4=Vo}+T+5SFIGO2bSb#"><field name="NUM">0</field></block></value></block></value><value name="ADD9"><block type="bitbybit.point.pointXYZ" id="@|HY~Zx[+iSH7vs~ofyh"><value name="X"><block type="math_number" id="^PQtLiAq3abzvyYzip$;"><field name="NUM">2.2</field></block></value><value name="Y"><block type="math_number" id="I`-*v~g_02KpR4U0@V*K"><field name="NUM">-18</field></block></value><value name="Z"><block type="math_number" id="?;WiU2Jiv0vcB/d]rxpU"><field name="NUM">0</field></block></value></block></value><value name="ADD10"><block type="bitbybit.point.pointXYZ" id="NO!|V]-1@3}.6gbvp+t}"><value name="X"><block type="math_number" id="K]iN_CpUu5-|_x,#=RiC"><field name="NUM">2.2</field></block></value><value name="Y"><block type="math_number" id="qP:Sc8xPk_]rmT5Cz$vK"><field name="NUM">-30</field></block></value><value name="Z"><block type="math_number" id="[a5O8gj{?;3=R{n%pJGL"><field name="NUM">0</field></block></value></block></value><value name="ADD11"><block type="bitbybit.point.pointXYZ" id="_FNxgw;1Q}-f}6DJh-Ti"><value name="X"><block type="math_number" id="_68X$IZ~4J=Li_?668Vb"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="N7%`s(`n{e}b-:$^T.3`"><field name="NUM">-30</field></block></value><value name="Z"><block type="math_number" id="FFCvKWw8?D[s@d9zEUkJ"><field name="NUM">0</field></block></value></block></value></block></value></block></statement><value name="RETURN"><block type="bitbybit.occt.transforms.translate" id="Tg_9NDn;wp^R!cw[;|LU"><value name="Shape"><block type="procedures_callreturn" id="BkB~E[|~RJd$[#K9IDf`"><mutation name="revolved"><arg name="profile"></arg></mutation><value name="ARG0"><block type="variables_get" id="BQR#cLJ}h1J_S(nK#/p7"><field name="VAR" id="profile">profile</field></block></value></block></value><value name="Translation"><block type="bitbybit.vector.vectorXYZ" id="D-f0{Py~WFN3Q|@9T6!6"><value name="X"><block type="math_number" id="ufK!I9!c7:S|i$17dx@B"><field name="NUM">78</field></block></value><value name="Y"><block type="math_number" id="k#5TlTekq:SX6cr1^NS^"><field name="NUM">-46</field></block></value><value name="Z"><block type="math_number" id="`/h@H7t$}WA|rmtZF^4D"><field name="NUM">0</field></block></value></block></value></block></value></block><block type="procedures_defreturn" id="spring" collapsed="true" x="0" y="19001"><field name="NAME">spring</field><comment pinned="false" h="80" w="160">Describe this function...</comment><value name="RETURN"><block type="bitbybit.occt.operations.pipeWireCylindrical" id="D{pdN/Qd-t/SR_qLDog5"><value name="Shape"><block type="bitbybit.occt.shapes.wire.createHelixWire" id="azMpZ2KScw7ulvI2R83R"><value name="Radius"><block type="math_number" id="36ZvN5*jccg,),FdPm[d"><field name="NUM">4.2</field></block></value><value name="Pitch"><block type="math_number" id="V,zb(?@g_[H|ysA%UYo@"><field name="NUM">2.8</field></block></value><value name="Height"><block type="math_number" id="=/XlEjv?P2QgYiUaEsYb"><field name="NUM">12.5</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="3d1f`B8z0b/eoxpiU$K_"><value name="X"><block type="math_number" id="|VOCF,fQ5=]X8+pARbC^"><field name="NUM">78</field></block></value><value name="Y"><block type="math_number" id="Ym(^Y,T|,*44tCB2To2("><field name="NUM">-75.8</field></block></value><value name="Z"><block type="math_number" id="3AP^{@bjH0m;3AY%v9hz"><field name="NUM">0</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="E,WfhVTF-4([NRCEw2!F"><value name="X"><block type="math_number" id="W$!:uk/2~3rt3tX=Qq!("><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="YNV#BEPf8N/@k7v;^zde"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="n++U7gi{ksVB{VUB6nkB"><field name="NUM">0</field></block></value></block></value><value name="Clockwise"><block type="logic_boolean" id="lO:`O$E*8un:2iip9X@c"><field name="BOOL">FALSE</field></block></value><value name="Tolerance"><block type="math_number" id="N?|(?OPLFeyY-_a$p1Ny"><field name="NUM">0.0001</field></block></value></block></value><value name="Radius"><block type="math_number" id="IA@h4n),GM+zsV_qK0K?"><field name="NUM">0.9</field></block></value><value name="MakeSolid"><block type="logic_boolean" id="XwTVMw~*dw(zYy*0Icon"><field name="BOOL">TRUE</field></block></value><value name="TrihedronEnum"><block type="bitbybit.occt.enums.geomFillTrihedronEnum" id="N#jiH`$s+1YW0On%ctR7"><field name="bitbybit.occt.enums.geomFillTrihedronEnum">'isCorrectedFrenet'</field></block></value><value name="ForceApproxC1"><block type="logic_boolean" id="*a)UjtKfUCxppVp+oe{["><field name="BOOL">FALSE</field></block></value></block></value></block><block type="procedures_defreturn" id="foot" collapsed="true" x="0" y="19097"><field name="NAME">foot</field><comment pinned="false" h="80" w="160">Describe this function...</comment><statement name="STACK"><block type="variables_set" id="XHzV?9k.;r|kA4Kq*$],"><field name="VAR" id="rings">rings</field><value name="VALUE"><block type="bitbybit.lists.createEmptyList" id="T~%qU_ugz^UqTT/4A$5^"></block></value><next><block type="controls_forEach" id="_E#^)LZGsBVQ{+_1u}gE"><field name="VAR" id="ring">ring</field><value name="LIST"><block type="lists_create_with" id="-uP9:}|HXeWU!z_Ex]I5"><mutation items="5"></mutation><value name="ADD0"><block type="lists_create_with" id="pr$-HGT3|0lWqwkEsvOQ"><mutation items="2"></mutation><value name="ADD0"><block type="math_number" id="o=q6]{]us3t_D%Fqj?zg"><field name="NUM">0</field></block></value><value name="ADD1"><block type="math_number" id="gfe;Y-Ew.eLVx+@W}X+l"><field name="NUM">3.2</field></block></value></block></value><value name="ADD1"><block type="lists_create_with" id="iC$C3^AS/=z]vtI`KR@#"><mutation items="2"></mutation><value name="ADD0"><block type="math_number" id="F`foOJIb;1b9SB+6G|+S"><field name="NUM">-2</field></block></value><value name="ADD1"><block type="math_number" id="MU3An;::b#wn8DVuV]f3"><field name="NUM">7</field></block></value></block></value><value name="ADD2"><block type="lists_create_with" id="KYDOT*J4YH(U}qAZ~Qg:"><mutation items="2"></mutation><value name="ADD0"><block type="math_number" id=";JI}|t-#|{0Td^1bS3=F"><field name="NUM">-5</field></block></value><value name="ADD1"><block type="math_number" id="RF~vq!q,p*WAN=8W1*$v"><field name="NUM">9.5</field></block></value></block></value><value name="ADD3"><block type="lists_create_with" id="}P7{busE;Ti6#1:uYanP"><mutation items="2"></mutation><value name="ADD0"><block type="math_number" id=",c~U,X44)tOJvIF1#H[N"><field name="NUM">-8</field></block></value><value name="ADD1"><block type="math_number" id="Zt;`W]M#)Vkq0s#FnK@9"><field name="NUM">9</field></block></value></block></value><value name="ADD4"><block type="lists_create_with" id="eDs}40PK4RgAZp9OP=HQ"><mutation items="2"></mutation><value name="ADD0"><block type="math_number" id="[}i{oocshhAkg=kLJIji"><field name="NUM">-10</field></block></value><value name="ADD1"><block type="math_number" id="q,6.el61;:4p+(].?+gs"><field name="NUM">7</field></block></value></block></value></block></value><statement name="DO"><block type="variables_set" id="XSG!|G+*ysjE?dj4|g%P"><field name="VAR" id="rings">rings</field><value name="VALUE"><block type="bitbybit.lists.addItem" id="gfNDV5wh7-7H,hq`3371"><value name="List"><block type="variables_get" id="!?SJBsa]BGxXvy[Iky}T"><field name="VAR" id="rings">rings</field></block></value><value name="Item"><block type="bitbybit.occt.shapes.wire.createCircleWire" id="H#WRvRU%fuX}**s{fv/$"><value name="Radius"><block type="bitbybit.lists.getItem" id=",;@-.3D4jPSfU7dCZRB9"><value name="List"><block type="variables_get" id="6nb?If$bicznIy/@vE;F"><field name="VAR" id="ring">ring</field></block></value><value name="Index"><block type="math_number" id="S;]A/Wm^Y?fg}zb4V1vK"><field name="NUM">1</field></block></value><value name="Clone"><block type="logic_boolean" id="1)xqoS}6,$b,z]!WZ@c)"><field name="BOOL">FALSE</field></block></value></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="L$yj3J%8p8INDPrFRm5["><value name="X"><block type="math_number" id="sH_EOL[{57/x)0i$J-E/"><field name="NUM">78</field></block></value><value name="Y"><block type="math_arithmetic" id="=R3zW9Gh^D?qW88cDv~l"><field name="OP">ADD</field><value name="A"><block type="math_number" id=";2;[t?fd92U?2H]HNaI1"><field name="NUM">-76</field></block></value><value name="B"><block type="bitbybit.lists.getItem" id=").1TfYoIJ/L5oOpbaJ,q"><value name="List"><block type="variables_get" id="Vw5{j)?Dcb|3cDDNR$fX"><field name="VAR" id="ring">ring</field></block></value><value name="Index"><block type="math_number" id="7Syt0de^mm77XGLn8_.-"><field name="NUM">0</field></block></value><value name="Clone"><block type="logic_boolean" id="bNpeH(1sK;8.?9|(tfkl"><field name="BOOL">FALSE</field></block></value></block></value></block></value><value name="Z"><block type="math_number" id="az.4YgLcGu3_x]Z?~d[)"><field name="NUM">0</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="6cw5=A@wPQbbe(W5vYpn"><value name="X"><block type="math_number" id="5TAGy@:x9v2}@zp;E0CQ"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="uHd/2*;/467?m!0?h^OZ"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="CqBeJRi8g5~x6;:j#jOC"><field name="NUM">0</field></block></value></block></value></block></value><value name="Clone"><block type="logic_boolean" id="Yr1}r@WZ+XjN:zr^L*Ql"><field name="BOOL">FALSE</field></block></value></block></value></block></statement></block></next></block></statement><value name="RETURN"><block type="bitbybit.occt.operations.loft" id="Z^Op2ezq,Y6c?Wh;M6u="><value name="Shapes"><block type="variables_get" id="RfoRC]y~d1SiI]|n|xce"><field name="VAR" id="rings">rings</field></block></value><value name="MakeSolid"><block type="logic_boolean" id="$RWBTjMk+Q1UyJG8;#Ld"><field name="BOOL">TRUE</field></block></value></block></value></block><block type="procedures_defreturn" id="legBolts" collapsed="true" x="0" y="19193"><field name="NAME">leg bolts</field><comment pinned="false" h="80" w="160">Describe this function...</comment><statement name="STACK"><block type="variables_set" id="f#BlQx*Z59-1AgKR/@8H"><field name="VAR" id="bolt">bolt</field><value name="VALUE"><block type="procedures_callreturn" id="oG](+2l(~csK_@0Ezev="><mutation name="m3 bolt"><arg name="length"></arg></mutation><value name="ARG0"><block type="math_number" id="hmGF65W;Sy$%EV?EJ?~y"><field name="NUM">8</field></block></value></block></value></block></statement><value name="RETURN"><block type="bitbybit.occt.shapes.compound.makeCompound" id=")=4_XKIvIB.xBwS.jA+R"><value name="Shapes"><block type="lists_create_with" id="|hS~]nVMW!-wOxwL/idn"><mutation items="2"></mutation><value name="ADD0"><block type="bitbybit.occt.transforms.translate" id="lF0#-H5?EI#MM/_~~/}d"><value name="Shape"><block type="variables_get" id="tmS3RCGa*U{BO+_n:215"><field name="VAR" id="bolt">bolt</field></block></value><value name="Translation"><block type="bitbybit.vector.vectorXYZ" id="O#mJcAeXBOJY1S`aow{U"><value name="X"><block type="math_number" id="jMst_+ehUPj7TXm29?Da"><field name="NUM">44.5</field></block></value><value name="Y"><block type="math_number" id="+$lQ.rN~#26eZ{d1eP|c"><field name="NUM">-3</field></block></value><value name="Z"><block type="math_number" id="0z/.y8R5B!W!I0@rk,~|"><field name="NUM">0</field></block></value></block></value></block></value><value name="ADD1"><block type="bitbybit.occt.transforms.translate" id="N70#-NQqXvY+7=r3|YLi"><value name="Shape"><block type="variables_get" id="Fcxmwt?MXzDRLH*`1{)`"><field name="VAR" id="bolt">bolt</field></block></value><value name="Translation"><block type="bitbybit.vector.vectorXYZ" id="IW67azh$+KcauQG5p#%M"><value name="X"><block type="math_number" id="uef!]0yuow!75(8uiRQu"><field name="NUM">59.5</field></block></value><value name="Y"><block type="math_number" id="/}U2*Sr5=|@3/VP`U1]_"><field name="NUM">-3</field></block></value><value name="Z"><block type="math_number" id="1yO3w$Z*If8h~]65^jEF"><field name="NUM">0</field></block></value></block></value></block></value></block></value></block></value></block><block type="procedures_defreturn" id="gimbal" collapsed="true" x="0" y="19289"><field name="NAME">gimbal</field><comment pinned="false" h="80" w="160">Describe this function...</comment><statement name="STACK"><block type="variables_set" id="])yfQN62Ih(Z~od02A~]"><field name="VAR" id="bracket">bracket</field><value name="VALUE"><block type="bitbybit.occt.operations.extrude" id="+xgi9ZL/~md_BNXtibuG"><value name="Shape"><block type="bitbybit.occt.shapes.face.createFaceFromWire" id="F[fuQp*KR^.6Gr%K*[,M"><value name="Shape"><block type="bitbybit.occt.fillets.fillet2d" id="8hZS?`zZA~?~W%lsxhYE"><value name="Shape"><block type="bitbybit.occt.shapes.wire.createPolygonWire" id="I^{/wgFb9FoDa`[T33qQ"><value name="Points"><block type="lists_create_with" id="pIy9:7B6u]_biiZ^Ru$a"><mutation items="6"></mutation><value name="ADD0"><block type="bitbybit.point.pointXYZ" id="~lDl9ux+1lHFGB*KLiI*"><value name="X"><block type="math_number" id="Jp`-}K0^!M5g017Ltp^_"><field name="NUM">-4</field></block></value><value name="Y"><block type="math_number" id="0mNs~lM}]XbhXaXkVm-G"><field name="NUM">19</field></block></value><value name="Z"><block type="math_number" id="9y6Nk4ugqe7?%Q:N5gaQ"><field name="NUM">-4</field></block></value></block></value><value name="ADD1"><block type="bitbybit.point.pointXYZ" id="f*Ow9e{jL9gc|.@])X_E"><value name="X"><block type="math_number" id="c[YanFj|;4Fqq`@M{Mvk"><field name="NUM">19.5</field></block></value><value name="Y"><block type="math_number" id="|Ma:Zvb.BnfK4;XFDd%b"><field name="NUM">19</field></block></value><value name="Z"><block type="math_number" id="L6LO+SN52srgv;#Nm_{n"><field name="NUM">-4</field></block></value></block></value><value name="ADD2"><block type="bitbybit.point.pointXYZ" id="B%_t.M1=h/fKuu*+jE)R"><value name="X"><block type="math_number" id="Znnx0Yf*eAQj6qH4crqb"><field name="NUM">19.5</field></block></value><value name="Y"><block type="math_number" id="3?I(XR0%NT#K~[2oisG2"><field name="NUM">-7</field></block></value><value name="Z"><block type="math_number" id="b#McQw6rW3n9IHeR5~V5"><field name="NUM">-4</field></block></value></block></value><value name="ADD3"><block type="bitbybit.point.pointXYZ" id="]DA){C2kpiw^;Z.uf{--"><value name="X"><block type="math_number" id="2qPK:uX3VaQ(nAm.Xj{q"><field name="NUM">14.5</field></block></value><value name="Y"><block type="math_number" id="zFQ.B_!-pE^?hm6qb@Y8"><field name="NUM">-7</field></block></value><value name="Z"><block type="math_number" id="#f8qJ!1e,p@EBHhJGx^|"><field name="NUM">-4</field></block></value></block></value><value name="ADD4"><block type="bitbybit.point.pointXYZ" id="t%Q-:q)_1Qr`+BeA}Ed#"><value name="X"><block type="math_number" id="noom17tWu]CM`fFl{hy0"><field name="NUM">14.5</field></block></value><value name="Y"><block type="math_number" id="KN]S%7zokP:6ZWZ=_z~I"><field name="NUM">15</field></block></value><value name="Z"><block type="math_number" id="oy~I-|$fjfHLwM~v?*do"><field name="NUM">-4</field></block></value></block></value><value name="ADD5"><block type="bitbybit.point.pointXYZ" id="h.+`dfWH;BomuQ51x*_t"><value name="X"><block type="math_number" id="B8*:V~ujw{SYLA.Z#~F^"><field name="NUM">-4</field></block></value><value name="Y"><block type="math_number" id="RGry.]$U7CdR)E4k79r6"><field name="NUM">15</field></block></value><value name="Z"><block type="math_number" id="uT|`k)RsuN:k87~OmA?T"><field name="NUM">-4</field></block></value></block></value></block></value></block></value><value name="Radius"><block type="math_number" id="um%=2IcYvB$$z3mw:F$2"><field name="NUM">1.5</field></block></value></block></value><value name="Planar"><block type="logic_boolean" id="F4Q+C2D:x^x{5j@W11ee"><field name="BOOL">TRUE</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="XcsCjgX;^oL)4Sfw~Qai"><value name="X"><block type="math_number" id="mALkT?(bgr:!!HHkzXOo"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="lai3a,3hlrAbn{Y;fa%^"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="!=5!hopxDW@_1n!}WKsc"><field name="NUM">8</field></block></value></block></value></block></value></block></statement><value name="RETURN"><block type="bitbybit.occt.transforms.translate" id="J;)odM{I`}*_,adqZ%y["><value name="Shape"><block type="bitbybit.occt.booleans.union" id="-7LEPfrfp+@$p_!#2T9;"><value name="Shapes"><block type="lists_create_with" id="0m}t2)AiT6X{oup.PM=7"><mutation items="3"></mutation><value name="ADD0"><block type="bitbybit.occt.shapes.solid.createCylinder" id="h](hao~fhSfAvmLt!41T"><value name="Radius"><block type="math_number" id="fmTlsV:sNZ{Y{5OKEaHL"><field name="NUM">9</field></block></value><value name="Height"><block type="math_number" id="oBG%(v={#P=bAc4-5J*I"><field name="NUM">8</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="]lTmo/F]Yl-n*}-)d-b|"><value name="X"><block type="math_number" id="Xf{G@74(=Di5-aO#}Mkn"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="UO-P^tnU:I0q;l~XG=(n"><field name="NUM">18</field></block></value><value name="Z"><block type="math_number" id="X-^Q4^1IM}k|o:?526)t"><field name="NUM">0</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="lZc||riNmw^;%QotsooX"><value name="X"><block type="math_number" id="!@$EWw4;m^6%1uci[_ve"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="w?uB@UCs)eQ.(Jy0R^s}"><field name="NUM">1</field></block></value><value name="Z"><block type="math_number" id="=~e8_Ia7%%,emHhIH+8W"><field name="NUM">0</field></block></value></block></value><value name="Angle"><block type="math_number" id="Fnl:zON(lp)XMHG[?p7z"><field name="NUM">360</field></block></value><value name="OriginOnCenter"><block type="logic_boolean" id="{XD2$9bP5{kP4Ea0;6d^"><field name="BOOL">FALSE</field></block></value></block></value><value name="ADD1"><block type="variables_get" id="g0HmYAb.SpaP5Ki0}55S"><field name="VAR" id="bracket">bracket</field></block></value><value name="ADD2"><block type="bitbybit.occt.shapes.solid.createCylinder" id="{v6F*ru[oNx=R8h}1WAh"><value name="Radius"><block type="math_number" id="=jD^)mej/Y[?[om4e*Pp"><field name="NUM">6</field></block></value><value name="Height"><block type="math_number" id="HL4o#mvv1Ps+3t.O9U[s"><field name="NUM">5</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="-2_PrNhn7Ee%mcWgU-Oy"><value name="X"><block type="math_number" id="],Eb@*T-V~nzh~E+~f0l"><field name="NUM">14.5</field></block></value><value name="Y"><block type="math_number" id="nS~~?$6dpUL`9H.LbjII"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="*zg+eyp{;z(xzV_(0^;I"><field name="NUM">0</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="sJ:0LhE%[5aIxdFdF*o5"><value name="X"><block type="math_number" id="eM~?JYBk,`*0M{J0@A;]"><field name="NUM">-1</field></block></value><value name="Y"><block type="math_number" id="0`hzNC%RNI$bMtjvDTAu"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="auKy7Z1}QpK@~Fen$3a_"><field name="NUM">0</field></block></value></block></value><value name="Angle"><block type="math_number" id="V{]B-h8.*3XQ)z-.s0b."><field name="NUM">360</field></block></value><value name="OriginOnCenter"><block type="logic_boolean" id="IJsnp[LFETKzlxW]07d}"><field name="BOOL">FALSE</field></block></value></block></value></block></value><value name="KeepEdges"><block type="logic_boolean" id="F*0|NFfAzCNiwL0s5FmJ"><field name="BOOL">FALSE</field></block></value><value name="Strategy"><block type="bitbybit.occt.enums.booleanStrategyEnum" id="!iQ1zb4a0I0g3YcIgFpo"><field name="bitbybit.occt.enums.booleanStrategyEnum">'oneAfterAnother'</field></block></value></block></value><value name="Translation"><block type="bitbybit.vector.vectorXYZ" id="svy;p@uvO,~~AQB~_FI{"><value name="X"><block type="math_number" id="z%oeobs|x63l/m^o#oSn"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="v=LL|W*19#2Ji^?%wlgG"><field name="NUM">-26</field></block></value><value name="Z"><block type="math_number" id=";:,BEs4@|%y5s${6mO,0"><field name="NUM">55</field></block></value></block></value></block></value></block><block type="procedures_defreturn" id="camera" collapsed="true" x="0" y="19385"><field name="NAME">camera</field><comment pinned="false" h="80" w="160">Describe this function...</comment><value name="RETURN"><block type="bitbybit.occt.booleans.union" id="]f0lZM*WF`Y_ZQsZL[?$"><value name="Shapes"><block type="lists_create_with" id="GNQ{smw1MVk;)zAGGuf?"><mutation items="2"></mutation><value name="ADD0"><block type="bitbybit.occt.fillets.filletEdges" id="#_+b*0=={FEP{}mhWim="><value name="Shape"><block type="bitbybit.occt.shapes.solid.createBox" id="j4x@8JMPEt)?Hjdm9SfN"><value name="Width"><block type="math_number" id="Af5Vc2~?V]bc#ib#-4=O"><field name="NUM">24</field></block></value><value name="Length"><block type="math_number" id="2kp.ub7_~hy~cXgN$P5P"><field name="NUM">20</field></block></value><value name="Height"><block type="math_number" id="oVRpy.u]FMvpl4cyuFtv"><field name="NUM">18</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="D2e{Yw[Z)/|Vf`^?i:N*"><value name="X"><block type="math_number" id="gBwFlcM~$s[3zTCutcH8"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="TO$|NI/M-,jwr}w(Br?S"><field name="NUM">-26</field></block></value><value name="Z"><block type="math_number" id="K6j5+}q,$AZF(,T|t=IA"><field name="NUM">55</field></block></value></block></value><value name="OriginOnCenter"><block type="logic_boolean" id="@L}yWr0XJp]5]]opBd6p"><field name="BOOL">TRUE</field></block></value></block></value><value name="Radius"><block type="math_number" id="-}jieM(YwswteDpaxaLJ"><field name="NUM">3</field></block></value></block></value><value name="ADD1"><block type="bitbybit.occt.shapes.solid.createCylinder" id="atFJr_n8YYUheVY$!Mh;"><value name="Radius"><block type="math_number" id="g_V[z!4Ae-~{`xkMG=FX"><field name="NUM">6.5</field></block></value><value name="Height"><block type="math_number" id="xMlV7]~RX]L=:58fdV__"><field name="NUM">9</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="WfN0Up~nD^A=akCCfxld"><value name="X"><block type="math_number" id="/0S$:NQ.{LU}/|G~tT/;"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="FUa6Rb4x8Pqd46NJjAyX"><field name="NUM">-26</field></block></value><value name="Z"><block type="math_number" id="=Re|z|Fx!0]h/YY+60J?"><field name="NUM">63</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="ES?=.3YmWPj:Q[cSSE0q"><value name="X"><block type="math_number" id="/Ct]m+Z8=I{znmw[0ZBD"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="f-q`l!3A|CsrBcp/Ph-L"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="-=wid=sf1Rl:/TJP-Fhs"><field name="NUM">1</field></block></value></block></value><value name="Angle"><block type="math_number" id="3s0dPo[]D[Ag^pVi(9I)"><field name="NUM">360</field></block></value><value name="OriginOnCenter"><block type="logic_boolean" id="7:e:Gnd$gpfRG5Gim;OE"><field name="BOOL">FALSE</field></block></value></block></value></block></value><value name="KeepEdges"><block type="logic_boolean" id="NLlvh5Y-*e*D|@]b;]hm"><field name="BOOL">FALSE</field></block></value><value name="Strategy"><block type="bitbybit.occt.enums.booleanStrategyEnum" id="_cJtMoytayHzuj*N5?G-"><field name="bitbybit.occt.enums.booleanStrategyEnum">'oneAfterAnother'</field></block></value></block></value></block><block type="procedures_defreturn" id="lens" collapsed="true" x="0" y="19481"><field name="NAME">lens</field><comment pinned="false" h="80" w="160">Describe this function...</comment><value name="RETURN"><block type="bitbybit.occt.shapes.solid.createCylinder" id="QY9X*,yoR)[}[d^b)Qhe"><value name="Radius"><block type="math_number" id="`m.Ac[0Rn-g%Srv2=T,2"><field name="NUM">5.2</field></block></value><value name="Height"><block type="math_number" id="L;A?:=%U|0HWokA}4Tl6"><field name="NUM">1.5</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="]D2Vkdo[jlc(qNeI?(q*"><value name="X"><block type="math_number" id="1xqU:%SeJ$EEC6DbH@/l"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="=%t!BqJ8XlfP6o.M_V#6"><field name="NUM">-26</field></block></value><value name="Z"><block type="math_number" id="ch;8?;EDUnGx3MzNjE|O"><field name="NUM">71.5</field></block></value></block></value><value name="Direction"><block type="bitbybit.vector.vectorXYZ" id="7f[53WSR+:E[KPADI[R."><value name="X"><block type="math_number" id="9?tt~xC}?j:um!^9n$oB"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="e!dH4F8@8KP;my#4?p70"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="68rs6G0rC2{hX)Pr|KK+"><field name="NUM">1</field></block></value></block></value><value name="Angle"><block type="math_number" id=".a+%5jR(B_U;CT152`o@"><field name="NUM">360</field></block></value><value name="OriginOnCenter"><block type="logic_boolean" id="]4Udwd1$NSRpL.,KO[OR"><field name="BOOL">FALSE</field></block></value></block></value></block><block type="procedures_defreturn" id="battery" collapsed="true" x="0" y="19577"><field name="NAME">battery</field><comment pinned="false" h="80" w="160">Describe this function...</comment><value name="RETURN"><block type="bitbybit.occt.fillets.filletEdges" id="a!o$9!~m^9.a=6KVNGZi"><value name="Shape"><block type="bitbybit.occt.shapes.solid.createBox" id=":sO-C]t{0)WDOCY%jJ-q"><value name="Width"><block type="math_number" id="9UQPsJB0la!lcd5Dr4e:"><field name="NUM">36</field></block></value><value name="Length"><block type="math_number" id="jgjbM,`Z[NGvXrko(p9W"><field name="NUM">72</field></block></value><value name="Height"><block type="math_number" id="8Aoj-d*5Eq[/[,t_g^7e"><field name="NUM">26</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="*IKaB:d6v.mdJf#zW5RM"><value name="X"><block type="math_number" id="z5r;woZ8Yq)R,~~=4#=N"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="ty~:!BP-JGg-adpDvm/V"><field name="NUM">-16</field></block></value><value name="Z"><block type="math_number" id="qTJu+ZGf1:*mNW3s-BR{"><field name="NUM">-20</field></block></value></block></value><value name="OriginOnCenter"><block type="logic_boolean" id=",e4a:eBj5Q^Q|t0s*({m"><field name="BOOL">TRUE</field></block></value></block></value><value name="Radius"><block type="math_number" id="GH/,XTOTZ^*X=sb{04JZ"><field name="NUM">3</field></block></value></block></value></block><block type="procedures_defreturn" id="straps" collapsed="true" x="0" y="19673"><field name="NAME">straps</field><comment pinned="false" h="80" w="160">Describe this function...</comment><statement name="STACK"><block type="variables_set" id=";}]F-HDFF--18I3qF8[l"><field name="VAR" id="strap">strap</field><value name="VALUE"><block type="bitbybit.occt.booleans.difference" id=")74{9XZA[TB_HON`aNIT"><value name="Shape"><block type="bitbybit.occt.shapes.solid.createBox" id="C*O62@ND3rbCgJxb}?gZ"><value name="Width"><block type="math_number" id="WP5Mt,#Q=tPSG`@VCic`"><field name="NUM">40</field></block></value><value name="Length"><block type="math_number" id="DM!sMr,hvT~,]o`OW{o,"><field name="NUM">10</field></block></value><value name="Height"><block type="math_number" id="6X#o:Y+B=x8nqO+oF%xs"><field name="NUM">30</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id=",:F5[4cE3k,id~nxceh@"><value name="X"><block type="math_number" id="$$QP]~#Q2`*S%(ul-~z@"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="/ik$ni)K:U:H]2X_m8c6"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="~qJ]aQSi@9[V[p}gq-Hi"><field name="NUM">0</field></block></value></block></value><value name="OriginOnCenter"><block type="logic_boolean" id=";0KEjS[C1mmc8cq_h%uR"><field name="BOOL">TRUE</field></block></value></block></value><value name="Shapes"><block type="lists_create_with" id="r8,JYB`cW;kuz67cTP{!"><mutation items="1"></mutation><value name="ADD0"><block type="bitbybit.occt.shapes.solid.createBox" id="II)ShY.Nv9^MGtVF?d0v"><value name="Width"><block type="math_number" id="c+q30@$J4)n_GRWB%J|7"><field name="NUM">36.5</field></block></value><value name="Length"><block type="math_number" id="IOkZYdE$hTdQ)kJa9sqc"><field name="NUM">12</field></block></value><value name="Height"><block type="math_number" id="4f-=Xn`|#iq=aW|)qMZZ"><field name="NUM">26.5</field></block></value><value name="Center"><block type="bitbybit.point.pointXYZ" id="AqITod[0ofkF3%yH@%I4"><value name="X"><block type="math_number" id="l)Jr^c`GxE:*j|^]/[Ln"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="R6a1vBa$#q8OAp!V~s-Q"><field name="NUM">0</field></block></value><value name="Z"><block type="math_number" id="?dmx:7eBd/@WE]!S^dog"><field name="NUM">0</field></block></value></block></value><value name="OriginOnCenter"><block type="logic_boolean" id="YgyxJtwx{St|]qi;/Y#s"><field name="BOOL">TRUE</field></block></value></block></value></block></value><value name="KeepEdges"><block type="logic_boolean" id="q9~9]D0):~K6VLW0SYfk"><field name="BOOL">FALSE</field></block></value><value name="Strategy"><block type="bitbybit.occt.enums.booleanStrategyEnum" id=":xdSq4iyY@N*Xs+``8lx"><field name="bitbybit.occt.enums.booleanStrategyEnum">'oneAfterAnother'</field></block></value></block></value></block></statement><value name="RETURN"><block type="bitbybit.occt.shapes.compound.makeCompound" id="6ctSspWs`5Pvx~WL$4;P"><value name="Shapes"><block type="lists_create_with" id="db6+L7tmR4Q~q!9-B`d;"><mutation items="2"></mutation><value name="ADD0"><block type="bitbybit.occt.transforms.translate" id="S,|H68PQWjC]8hx.m^GP"><value name="Shape"><block type="variables_get" id="OOKF]@G/P{_-Y01TfL[7"><field name="VAR" id="strap">strap</field></block></value><value name="Translation"><block type="bitbybit.vector.vectorXYZ" id="=hXeu}d]h,#Bd!PJ+?9,"><value name="X"><block type="math_number" id="Y^UDkN26k.GY=3h-FGq1"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="XEiA5u{K3j2C8$vivCqD"><field name="NUM">-16</field></block></value><value name="Z"><block type="math_number" id="cR_$LoIFaP;x4d!DGyZ5"><field name="NUM">-42</field></block></value></block></value></block></value><value name="ADD1"><block type="bitbybit.occt.transforms.translate" id="]k0fb`7}U5-MIJH6bb`="><value name="Shape"><block type="variables_get" id="7=#Ux^bkosW;?J],YPye"><field name="VAR" id="strap">strap</field></block></value><value name="Translation"><block type="bitbybit.vector.vectorXYZ" id="U(TQ)JBIVRYYF*[{n2(,"><value name="X"><block type="math_number" id="ck[w.zKKqR^N-CE,l7{l"><field name="NUM">0</field></block></value><value name="Y"><block type="math_number" id="(d-Y/GqBfHXA-52xtebw"><field name="NUM">-16</field></block></value><value name="Z"><block type="math_number" id="P@yQqs)wh#T9)-_E|FdR"><field name="NUM">2</field></block></value></block></value></block></value></block></value></block></value></block><block type="bitbybit.draw.drawAnyAsyncNoReturn" id="payload" x="0" y="19769"><value name="Entity"><block type="procedures_callreturn" id="tbcvkf!@m4]dIjYcR$Z:"><mutation name="gimbal"></mutation></block></value><value name="Options"><block type="variables_get" id="Z0|_Q]t(02+Gh@nZFJcQ"><field name="VAR" id="aluminium">aluminium</field></block></value><next><block type="variables_set" id="cpBk*zXqNBvQ0JoSe@oi"><field name="VAR" id="polymer">polymer</field><value name="VALUE"><block type="procedures_callreturn" id="Ps)1#1_A3ljvPF$nG8D$"><mutation name="look"><arg name="name"></arg><arg name="colour"></arg><arg name="metallic"></arg><arg name="roughness"></arg><arg name="glow"></arg><arg name="edge colour"></arg><arg name="edge width"></arg></mutation><value name="ARG0"><block type="text" id="sWP^uJT=OLE*JWott|fJ"><field name="TEXT">polymer</field></block></value><value name="ARG1"><block type="colour_picker" id="|7:hlPk~zJxb@G]3gQRX"><field name="COLOUR">#2a2d31</field></block></value><value name="ARG2"><block type="math_number" id="$EnN)*I9Z[aE6Rx;4^JI"><field name="NUM">0.05</field></block></value><value name="ARG3"><block type="math_number" id="53d,9T:1^?3R2/z!XRgo"><field name="NUM">0.4</field></block></value><value name="ARG4"><block type="colour_picker" id="TLe-K4A+//ohBVpt|%v5"><field name="COLOUR">#000000</field></block></value><value name="ARG5"><block type="colour_picker" id="?/51GShW:djj48}/H(9d"><field name="COLOUR">#f2f2f2</field></block></value><value name="ARG6"><block type="math_number" id="130zxyEE,|JF~wneoBfm"><field name="NUM">6</field></block></value></block></value><next><block type="bitbybit.draw.drawAnyAsyncNoReturn" id=":7=jG9+=ACw@@er8/Q[#"><value name="Entity"><block type="lists_create_with" id="uUFlm2m:P^DowsY=PRki"><mutation items="2"></mutation><value name="ADD0"><block type="procedures_callreturn" id="bBJVz$YJ#Gso3+lc:,?w"><mutation name="camera"></mutation></block></value><value name="ADD1"><block type="procedures_callreturn" id="uK)vU)Tm56#kEr_xR@Id"><mutation name="battery"></mutation></block></value></block></value><value name="Options"><block type="variables_get" id="_wONu=E[,/P@QJow)}hQ"><field name="VAR" id="polymer">polymer</field></block></value><next><block type="bitbybit.draw.drawAnyAsyncNoReturn" id="8D@_2r2jjK=)DgaW.iz;"><value name="Entity"><block type="procedures_callreturn" id="ALt%|^[c#p7P[)V?-9`r"><mutation name="lens"></mutation></block></value><value name="Options"><block type="procedures_callreturn" id="Z}(2sP,u1V/G!~eH5UkW"><mutation name="look"><arg name="name"></arg><arg name="colour"></arg><arg name="metallic"></arg><arg name="roughness"></arg><arg name="glow"></arg><arg name="edge colour"></arg><arg name="edge width"></arg></mutation><value name="ARG0"><block type="text" id="u!bUia+wsJlmRA-o;4n~"><field name="TEXT">glass</field></block></value><value name="ARG1"><block type="colour_picker" id="b)Te^?p[A)mv5.,%#W$q"><field name="COLOUR">#0c1522</field></block></value><value name="ARG2"><block type="math_number" id="nIV.Dccs(b(:.*98g/,,"><field name="NUM">0.1</field></block></value><value name="ARG3"><block type="math_number" id="6I]yvnWzvcbr[:KfbL%X"><field name="NUM">0.05</field></block></value><value name="ARG4"><block type="colour_picker" id="t_v*kB3q3sS9V1KrkWII"><field name="COLOUR">#000000</field></block></value><value name="ARG5"><block type="colour_picker" id="UjIU!pxQ[5|PXaj?$v:4"><field name="COLOUR">#f2f2f2</field></block></value><value name="ARG6"><block type="math_number" id="R-2p+y:M{q[sN$e(~(nt"><field name="NUM">4</field></block></value></block></value><next><block type="bitbybit.draw.drawAnyAsyncNoReturn" id="eTMBa#!|/X5GRG{SORoe"><value name="Entity"><block type="procedures_callreturn" id="VcI$x_uJxTwt,FZ.O~Q1"><mutation name="straps"></mutation></block></value><value name="Options"><block type="variables_get" id="P6h,2)^HbRG@=!D3]|7$"><field name="VAR" id="accent">accent</field></block></value></block></next></block></next></block></next></block></next></block></xml>

The finished script is also the Blockly showcase, to download and open.

Verified against the product in October 2026