
blocklyLet's celebrate the Christmas of 2022 by making 3D star decoration. This 3D model of a star is made by using some of the latest algorithms that we included in our platform. You can find a variable switch in the script that is called saveStl to true. Then if you click the play button, you will be able to download the STL file to your downloads folder. 3D print the star and hang it on your tree.
<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable id="Y1VV):{*F{PH*i2H%Hj,">saveStl</variable>
<variable id="s}55-sJv{SxlAecw}F1`">filletRadius</variable>
<variable id="S1L0,$u1[UUr9hH;dtBW">numberRays</variable>
<variable id="G6-{aE?8wr;iTYgCX@%o">star1</variable>
<variable id=":sv%?Ri_/:|Evye;Vo+(">star2</variable>
<variable id="9Do8~3cWW%T@[V#LF3vu">star3</variable>
<variable id="k^U=,eW_XCuwK2yopr|O">star4</variable>
<variable id="k:S{n;KmwCAMCJlV!%{O">star5</variable>
<variable id="QmDDZwzxwLi+91~;l9}0">loft</variable>
<variable id="@Z=5s5d%9fQR$$zf#.|)">mirroredLoft</variable>
<variable id="_rMxcybIj?Y-qkC`My3y">star</variable>
</variables>
<block type="bitbybit.babylon.scene.drawDirectionalLightNoReturn" id="pi$3:R5T^[PnOyy8-5ml" x="-2516" y="-435">
<value name="Direction">
<block type="bitbybit.point.pointXYZ" id="J`oadcEk#b$)@488P:7W">
<value name="X">
<block type="math_number" id="rd|fz4NyxbqyvAQQ.1u%">
<field name="NUM">100</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="EMc3$Ga9J9JhWf#2SzO8">
<field name="NUM">-100</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="P,w:jgY%G40F:PMr`zzR">
<field name="NUM">100</field>
</block>
</value>
</block>
</value>
<value name="Intensity">
<block type="math_number" id="p1T*cd{2dr@Vl0U+.ZK{">
<field name="NUM">0.7</field>
</block>
</value>
<value name="Diffuse">
<block type="colour_picker" id="iks2?h)=zw4D$#?39o/P">
<field name="COLOUR">#ffffff</field>
</block>
</value>
<value name="Specular">
<block type="colour_picker" id="ory,Ww`B`zDZm(fyX|n/">
<field name="COLOUR">#ffffff</field>
</block>
</value>
<value name="ShadowGeneratorMapSize">
<block type="math_number" id="c;C%67:bHp=asixzp.4R">
<field name="NUM">1024</field>
</block>
</value>
<value name="EnableShadows">
<block type="logic_boolean" id="rMh_ox[m=sfK(vV/:a,n">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="ShadowDarkness">
<block type="math_number" id="kGXzHXrVUo`GrVFh$j;{">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="variables_set" id="v$Q8)jiAHeuDS~0:m^;#">
<field name="VAR" id="Y1VV):{*F{PH*i2H%Hj,">saveStl</field>
<value name="VALUE">
<block type="logic_boolean" id="C1i#.Ap4j2Z,)9!N0067">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="variables_set" id="_u~G{M|4vj@BgW+gp@g+">
<field name="VAR" id="s}55-sJv{SxlAecw}F1`">filletRadius</field>
<value name="VALUE">
<block type="math_number" id="[nGhYaR^H-mTl84wsz+Q">
<field name="NUM">0.1</field>
</block>
</value>
<next>
<block type="variables_set" id="n0h|i;1$dfQ:-JmeY!KI">
<field name="VAR" id="S1L0,$u1[UUr9hH;dtBW">numberRays</field>
<value name="VALUE">
<block type="math_number" id="Ff{@EHYv9+y/hjhoIpL8">
<field name="NUM">12</field>
</block>
</value>
<next>
<block type="variables_set" id="LF1-I@N^{CMPZ_qaKBff">
<field name="VAR" id="G6-{aE?8wr;iTYgCX@%o">star1</field>
<value name="VALUE">
<block type="bitbybit.occt.fillets.fillet2d" id="su?E*2FV:2ZFQE~Pxie=">
<value name="Shape">
<block type="bitbybit.occt.shapes.wire.createStarWire" id="r3T%@%-iePp5Y$72fE~2">
<value name="Center">
<block type="bitbybit.point.pointXYZ" id=";09nEPPxy+!D]-y#gCt)">
<value name="X">
<block type="math_number" id="L_hA`^=0akwpm.9UYDQR">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="C!vduhmW?t%]Qfd4s](b">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="4vbnG3CVG*?k/qJOO_b0">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="Direction">
<block type="bitbybit.point.pointXYZ" id="EHmovGS=kn4,Ul7o|--1">
<value name="X">
<block type="math_number" id="YEI9Q#yCfexa9TJqgou~">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="udkLRi(KY4V#CTtMt+yC">
<field name="NUM">1</field>
</block>
</value>
<value name="Z">
<block type="math_number" id=":var54ah5p(xa0+(x*Qx">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="NumRays">
<block type="variables_get" id="sXB3@n3xe?uZU-:_]J!}">
<field name="VAR" id="S1L0,$u1[UUr9hH;dtBW">numberRays</field>
</block>
</value>
<value name="OuterRadius">
<block type="math_number" id="q?R]S~+csJy4qQkeV$.E">
<field name="NUM">2</field>
</block>
</value>
<value name="InnerRadius">
<block type="math_number" id="sG7UemPy1!n03CnEjxf]">
<field name="NUM">1</field>
</block>
</value>
<value name="Half">
<block type="logic_boolean" id="Np(dK;EZ.G@e|=f%drMw">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
<value name="Radius">
<block type="variables_get" id="0ssYh}oFr_TSWBDu$S%L">
<field name="VAR" id="s}55-sJv{SxlAecw}F1`">filletRadius</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="@)!.Ec@tLg-:U;Q_*j9h">
<field name="VAR" id=":sv%?Ri_/:|Evye;Vo+(">star2</field>
<value name="VALUE">
<block type="bitbybit.occt.fillets.fillet2d" id="4L`BXsU4Y]|9t[r~jNCB">
<value name="Shape">
<block type="bitbybit.occt.shapes.wire.createStarWire" id="*7l_Dm6kwiKTu|aKM53d">
<value name="Center">
<block type="bitbybit.point.pointXYZ" id="M-IvILcXMACV9logiEOw">
<value name="X">
<block type="math_number" id="T^:hbk7{~cLb(vCzsj=f">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="~KUZpuS#G-WtBNmI4DlX">
<field name="NUM">0.6</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="nz{_o4+6X3BiMGi.b@~?">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="Direction">
<block type="bitbybit.point.pointXYZ" id="cG6K6rMk:AvveFmQ?xxL">
<value name="X">
<block type="math_number" id="}d;Eji=,GCt#+32)7-}!">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id=";L~b5N3S{#xmpJy@dMuR">
<field name="NUM">1</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="$c|?158+lbc=vD`[*$YI">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="NumRays">
<block type="variables_get" id="32w8:kc!Mjm8t??kfg7c">
<field name="VAR" id="S1L0,$u1[UUr9hH;dtBW">numberRays</field>
</block>
</value>
<value name="OuterRadius">
<block type="math_number" id="@PCBXQI!gAdx=m+1iV02">
<field name="NUM">4</field>
</block>
</value>
<value name="InnerRadius">
<block type="math_number" id="-Dpx5MT-Dw{Cxe.UX;[$">
<field name="NUM">2</field>
</block>
</value>
<value name="Half">
<block type="logic_boolean" id="zcDQ}WBD#~R=br}XT=O1">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
<value name="Radius">
<block type="variables_get" id=")Mr%qc`T+D|wH:ab2o!.">
<field name="VAR" id="s}55-sJv{SxlAecw}F1`">filletRadius</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="2V3rv+@TmYZ9EWs%DIXz">
<field name="VAR" id="9Do8~3cWW%T@[V#LF3vu">star3</field>
<value name="VALUE">
<block type="bitbybit.occt.fillets.fillet2d" id="x!jaiKdIt_UA|H)jMffG">
<value name="Shape">
<block type="bitbybit.occt.shapes.wire.createStarWire" id="kR%Lvz7vA4)gO9xN:DLD">
<value name="Center">
<block type="bitbybit.point.pointXYZ" id="Dq)b]v?X3BVOYu8j(A.7">
<value name="X">
<block type="math_number" id="Q3,m;OT4*,FnxYVV.n:9">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="`4^DMKH=W5EBYI36+/pc">
<field name="NUM">0.25</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="~HK-vVwAAncDNIiy|O3q">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="Direction">
<block type="bitbybit.point.pointXYZ" id="LoA_KTbH|(!d5kk~WOUN">
<value name="X">
<block type="math_number" id="+6tKDzzm)P+(ch~W=(k/">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="}G/E74ts,9J$5BH{!K..">
<field name="NUM">1</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="@1|/Ic=c}mFbKEkNllt(">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="NumRays">
<block type="variables_get" id="Pr1s)Osm/H!v~nT4gN7+">
<field name="VAR" id="S1L0,$u1[UUr9hH;dtBW">numberRays</field>
</block>
</value>
<value name="OuterRadius">
<block type="math_number" id="s.S,T4T#oq#t5Cy-2r7K">
<field name="NUM">6</field>
</block>
</value>
<value name="InnerRadius">
<block type="math_number" id="7U=j3m^j7`IZOCh/z7qf">
<field name="NUM">3</field>
</block>
</value>
<value name="Half">
<block type="logic_boolean" id="nM0pg1UKQ`[b7YDpjnv%">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
<value name="Radius">
<block type="variables_get" id="FXZTB5I~+!8R7Hc9}hl(">
<field name="VAR" id="s}55-sJv{SxlAecw}F1`">filletRadius</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="|yBv)-c7QNyb#BbO~j]`">
<field name="VAR" id="k^U=,eW_XCuwK2yopr|O">star4</field>
<value name="VALUE">
<block type="bitbybit.occt.fillets.fillet2d" id="Kqk|7/@Qf]K3xr;Yud/Q">
<value name="Shape">
<block type="bitbybit.occt.shapes.wire.createStarWire" id="C8+]I~^/{Fb+3B:v*@Wo">
<value name="Center">
<block type="bitbybit.point.pointXYZ" id="DGD)rD(u%73OeDs{D;LX">
<value name="X">
<block type="math_number" id="oM0XV9e*|Of:0en}gHhC">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="Uhs$bCO_|TPxGJ,;6Lrj">
<field name="NUM">0.3</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="SxVywm/l%fMd]rj=Q+XQ">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="Direction">
<block type="bitbybit.point.pointXYZ" id="oFAUp4z|%y)!9^|1j8-v">
<value name="X">
<block type="math_number" id="@[V`-`),LLK6E|.Etb/8">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="O[/o86Sf$NVG?bPTyact">
<field name="NUM">1</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="6;ecO,Kc#Y;0uTPg~}#s">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="NumRays">
<block type="variables_get" id="WPmMVmeV)s~]+#]2*hYK">
<field name="VAR" id="S1L0,$u1[UUr9hH;dtBW">numberRays</field>
</block>
</value>
<value name="OuterRadius">
<block type="math_number" id="Z,b9(6;G[xM$wsG`jk]7">
<field name="NUM">8</field>
</block>
</value>
<value name="InnerRadius">
<block type="math_number" id="`W$1.Tf?5+])KRS;z5WZ">
<field name="NUM">4</field>
</block>
</value>
<value name="Half">
<block type="logic_boolean" id="mSwruw+*|HbD.i(ch;%f">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
<value name="Radius">
<block type="variables_get" id="X:A{{z+cr3-4]J~bXk3F">
<field name="VAR" id="s}55-sJv{SxlAecw}F1`">filletRadius</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id=":K)vH=QP*%V.DAg|H_EC">
<field name="VAR" id="k:S{n;KmwCAMCJlV!%{O">star5</field>
<value name="VALUE">
<block type="bitbybit.occt.fillets.fillet2d" id="Ou]lH3Oc%QNciI9iH/e}">
<value name="Shape">
<block type="bitbybit.occt.shapes.wire.createStarWire" id="}RW*hT@M`yItN!=V-C`g">
<value name="Center">
<block type="bitbybit.point.pointXYZ" id="M{Y1a[ZTvRNsBB[SnB`V">
<value name="X">
<block type="math_number" id="]oA3HMp0Jcle!qbD,}*p">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="vr|nSIE2z0T2##``qv/:">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="~5x*IggB6fa;M,9Y.pd8">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="Direction">
<block type="bitbybit.point.pointXYZ" id="H{pH3n2NZ~@N_ezz{R}|">
<value name="X">
<block type="math_number" id="))F6InO2A^(5zqR~~UX3">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="M.EQ=j]$WBWSZmHzOi4O">
<field name="NUM">1</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="prfG/jS6o6D1~/Sp7r1s">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="NumRays">
<block type="variables_get" id="!ZFWTDd+PF8J*Nl0x}W:">
<field name="VAR" id="S1L0,$u1[UUr9hH;dtBW">numberRays</field>
</block>
</value>
<value name="OuterRadius">
<block type="math_number" id="Gyp8PcU3X,;M5BI~,q8X">
<field name="NUM">10</field>
</block>
</value>
<value name="InnerRadius">
<block type="math_number" id="1,9AtA9xJY)bs4eG%GY{">
<field name="NUM">6</field>
</block>
</value>
<value name="Half">
<block type="logic_boolean" id="d{slGca_:`HB@nOG!_[-">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
<value name="Radius">
<block type="variables_get" id="cXKG~!z#S=dh{D4fA/Ae">
<field name="VAR" id="s}55-sJv{SxlAecw}F1`">filletRadius</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="=;x[/GP_`m5H6|AtXpi~">
<field name="VAR" id="QmDDZwzxwLi+91~;l9}0">loft</field>
<value name="VALUE">
<block type="bitbybit.occt.operations.loft" id="E[pe$qz%,MD.)4=,x3r9">
<value name="Shapes">
<block type="lists_create_with" id="?v8~citDPn_EdW~IK}~1">
<mutation items="5">
</mutation>
<value name="ADD0">
<block type="variables_get" id=";JZr5BN?Weq9a|z)K$BW">
<field name="VAR" id="G6-{aE?8wr;iTYgCX@%o">star1</field>
</block>
</value>
<value name="ADD1">
<block type="variables_get" id="T]x.d($6#`eK!+/nq(c=">
<field name="VAR" id=":sv%?Ri_/:|Evye;Vo+(">star2</field>
</block>
</value>
<value name="ADD2">
<block type="variables_get" id="L$sz@i{^--8(J6=u~v0A">
<field name="VAR" id="9Do8~3cWW%T@[V#LF3vu">star3</field>
</block>
</value>
<value name="ADD3">
<block type="variables_get" id="QSCu4*vZz/EhcDa$z!Uz">
<field name="VAR" id="k^U=,eW_XCuwK2yopr|O">star4</field>
</block>
</value>
<value name="ADD4">
<block type="variables_get" id="mW]ARjn;27`|Hh~9^7iT">
<field name="VAR" id="k:S{n;KmwCAMCJlV!%{O">star5</field>
</block>
</value>
</block>
</value>
<value name="MakeSolid">
<block type="logic_boolean" id="t_F:]X|rV063J.?pl-pN">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="2N3:ev^F6,hAw,E:[eP~">
<field name="VAR" id="@Z=5s5d%9fQR$$zf#.|)">mirroredLoft</field>
<value name="VALUE">
<block type="bitbybit.occt.transforms.mirrorAlongNormal" id="*wZ8MZMMnj{p`(?2r]qI">
<value name="Shape">
<block type="variables_get" id="t)j3}TB=X%xIWNnZbX;L">
<field name="VAR" id="QmDDZwzxwLi+91~;l9}0">loft</field>
</block>
</value>
<value name="Origin">
<block type="bitbybit.point.pointXYZ" id="?vQjh}JY$!nC*G6(VP+/">
<value name="X">
<block type="math_number" id="a8ljlB5}ge*:}f+y@aIC">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="He`(.sdg-I1C}93iJuk,">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="wQx=+bL:wl!Wi[dT?7/f">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="Normal">
<block type="bitbybit.point.pointXYZ" id=";F20^$L;cB`[m5NgR$uh">
<value name="X">
<block type="math_number" id="D_hWdZjXuT25-UVH7#dC">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="L(,yD*UecYLfpI5~J,7T">
<field name="NUM">1</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="dfUPxbYB|V]ufRh~Aa6n">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="bitbybit.draw.drawAnyAsyncNoReturn" id="yF!-N4g5|G/fr}ojW*9G">
<value name="Entity">
<block type="bitbybit.occt.shapes.face.createFaceFromWire" id="[|!W3gjdT{4^PHZ!npK:">
<value name="Shape">
<block type="bitbybit.occt.shapes.wire.createStarWire" id="YYb*PK,7]9,:*0NpKv#p">
<value name="Center">
<block type="bitbybit.point.pointXYZ" id="~h8h#nyk,h/$j]|s?@*~">
<value name="X">
<block type="math_number" id="Vq:ByJ?5,}JCzSM*|Qrh">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id=")S8vZ=i].Kkv*oq(k2nK">
<field name="NUM">-2</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="S+R{B-e?O7.xv]Hsim09">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="Direction">
<block type="bitbybit.point.pointXYZ" id="9JgPt7p[xCL:$k`_x#8C">
<value name="X">
<block type="math_number" id=";#)DMsM4pJ=Yih-W~VN_">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="54X6(fo!yBCz]_Tt[f1_">
<field name="NUM">1</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="6^ub1iJ{PL!+D!QMRH3G">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="NumRays">
<block type="variables_get" id="*=%O!JtX5]x~eE{g1SV@">
<field name="VAR" id="S1L0,$u1[UUr9hH;dtBW">numberRays</field>
</block>
</value>
<value name="OuterRadius">
<block type="math_number" id="JHc63pcFY%/b!~0[Bs_s">
<field name="NUM">40</field>
</block>
</value>
<value name="InnerRadius">
<block type="math_number" id="]Q;|$z]0Vx]QLl=`PPwK">
<field name="NUM">20</field>
</block>
</value>
<value name="Half">
<block type="logic_boolean" id="luf2838tf{r;G98x:mpP">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
<value name="Planar">
<block type="logic_boolean" id=";$gzcyt$+[m|UUIo93[I">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="jcn^|_8t~Y/uFS{n]]T5">
<field name="VAR" id="_rMxcybIj?Y-qkC`My3y">star</field>
<value name="VALUE">
<block type="bitbybit.occt.shapes.shell.sewFaces" id="Q`/3eQy3$@n0ikwcZk_*">
<value name="Shapes">
<block type="lists_create_with" id="%;4;Zt.Fn#jzV*E|h]VO">
<mutation items="2">
</mutation>
<value name="ADD0">
<block type="variables_get" id="ON950g?yi(vPpw6Kwk(J">
<field name="VAR" id="QmDDZwzxwLi+91~;l9}0">loft</field>
</block>
</value>
<value name="ADD1">
<block type="variables_get" id="#1jq~e#|ea!}pPb)P2Zj">
<field name="VAR" id="@Z=5s5d%9fQR$$zf#.|)">mirroredLoft</field>
</block>
</value>
</block>
</value>
<value name="Tolerance">
<block type="math_number" id="(]=PB9tUMwOR/kHJjor@">
<field name="NUM">1e-7</field>
</block>
</value>
</block>
</value>
<next>
<block type="bitbybit.draw.drawAnyAsyncNoReturn" id="TW+4~s{E+-GML/|E!$t-">
<value name="Entity">
<block type="variables_get" id="44T3P@EK[cKQZZt?L9Z.">
<field name="VAR" id="_rMxcybIj?Y-qkC`My3y">star</field>
</block>
</value>
<value name="Options">
<block type="bitbybit.draw.optionsOcctShapeSimple" id="G~CvJAV.0Gbsl{~R20Fv">
<value name="Precision">
<block type="math_number" id="~0{~w#)ic|@T_D83|:ZP">
<field name="NUM">0.005</field>
</block>
</value>
<value name="DrawFaces">
<block type="logic_boolean" id=":ye_r$!0lBy@5Lf|}h%B">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="FaceColour">
<block type="colour_picker" id="NcVUk^PezSa=XRA8gUXS">
<field name="COLOUR">#cc0000</field>
</block>
</value>
<value name="DrawEdges">
<block type="logic_boolean" id="R*za+P$@,_iVM+,:=k6B">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="EdgeColour">
<block type="colour_picker" id="V+pX~H.D5%1`uyU(?v{e">
<field name="COLOUR">#ffffff</field>
</block>
</value>
<value name="EdgeWidth">
<block type="math_number" id="E=v06Sd`MyZtO_0C_s[=">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<next>
<block type="controls_if" id="V4_=b,%@oiSx5YhlgJnk">
<value name="IF0">
<block type="variables_get" id="/~^oiEuAWzR9[S32,cBg">
<field name="VAR" id="Y1VV):{*F{PH*i2H%Hj,">saveStl</field>
</block>
</value>
<statement name="DO0">
<block type="bitbybit.occt.io.saveShapeStl" id="ku5[7+*VD$EQdA:R]04i">
<value name="Shape">
<block type="variables_get" id="di_qfTTm+cz78Iqseu{(">
<field name="VAR" id="_rMxcybIj?Y-qkC`My3y">star</field>
</block>
</value>
<value name="FileName">
<block type="text" id="~zsCs=xu82CY4z9ohdm/">
<field name="TEXT">bitbybit-star</field>
</block>
</value>
<value name="Precision">
<block type="math_number" id="yG^*p@To:|+B43bC[`pj">
<field name="NUM">0.005</field>
</block>
</value>
<value name="AdjustYtoZ">
<block type="logic_boolean" id="z+8J-PdhDWf4{VfT{R~)">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</xml>
Editor plans for 3D development, API keys for server-side CAD algorithms
Cloud storage, private projects & 3D algorithms for Bitbybit editors
Run CAD algorithms on managed cloud servers from your own backend applications
Custom software development, dedicated servers & CAD automation at scale.