Freeform Decorative Vase

Freeform Decorative Vase script details
Author
matas
Type
Blockly logo image
blockly
App Version
0.13.0
Visibility
public
Date Created
Dec 9, 2022, 4:09:16 PM
Last Edit Date
Dec 5, 2023, 4:44:01 PM

Script Details

The Code
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="0dvp3:dj5bz%K/6-t#s+">face</variable> <variable id="TC`ZX(-AgXb{8E~@6^u/">uvParams</variable> <variable id="2^Q-N!%M(5QY*3,SjZjY">srf</variable> <variable id="-?PFj;sqp]dunhz|[/PQ">ellipseMinor</variable> <variable id=")D|z+SUVIRkTL.Wg(m]~">ellipseMajor</variable> <variable id="#|0hz9A,rSrp.T]4,1Hk">ellipsesOnSurface</variable> <variable id="Hc+aQ,@M,j{Qx2DhN*W:">curve1</variable> <variable id="4td}#E)?F*lX^:2WOINn">i</variable> <variable id="7*^v?Y;^3SV2-Q172p$h">curve2</variable> <variable id="e/$DaRE5=XZ{x#TU~wUs">curve3</variable> <variable id="3ZsSD-.`eXDI9gfdsbxI">face1</variable> <variable id="85.A(S/.oO4yqw%tD^8|">face2</variable> <variable id="Jb}OqCmeVh~H-cDIX%{e">uvParams1</variable> <variable id="O2DS:5q7f[YJK*wE`T[P">uvParams2</variable> <variable id="DKAISb%*M~+$/_,:ECDc">ellipsesOnSurface1</variable> <variable id="6$-:{2?d3;2Ey92n.xr4">ellipsesOnSurface2</variable> <variable id="6Uobshv).d$BLqg6z[/f">toSew</variable> <variable id="APfT.`+4@$eBae(4%o(O">j</variable> <variable id="m!J4oi0a0k5gLjuS2aU2">e1</variable> <variable id="FGrDwhNZ]G{|YJ-Wwq5S">e2</variable> <variable id="EW(,TM7|IXP0/Ba}#T9.">loft</variable> </variables> <block type="bitbybit.babylon.scene.activateCamera" id="X8iymOoyK9~n6H=)%4ht" x="-911" y="-174"> <value name="Camera"> <block type="bitbybit.babylon.camera.arcRotate.create" id="RH%XM+ow_lP`-RzJrWT9"> <value name="Alpha"> <block type="math_number" id="91dStGd{KX44keVy(2b#"> <field name="NUM">42</field> </block> </value> <value name="Beta"> <block type="math_number" id="KRGZ{*0_x[.ItaJ$d+6q"> <field name="NUM">1.3</field> </block> </value> <value name="Radius"> <block type="math_number" id="YJT?-y2nT|=qO)tEJV8("> <field name="NUM">50</field> </block> </value> <value name="Target"> <block type="bitbybit.point.pointXYZ" id="-,+o3+1urZkZ@8fii[b("> <value name="X"> <block type="math_number" id="0U9f*QzBxBIE#[FjBt@P"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="Wk21Fn8BC*V59{WK-#Wl"> <field name="NUM">7</field> </block> </value> <value name="Z"> <block type="math_number" id="Z*iAC$|qp3YY2ANdPXN^"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <next> <block type="bitbybit.babylon.scene.drawDirectionalLightNoReturn" id="Nm~%j6VYLM4Z=GUXd3#!"> <value name="Direction"> <block type="bitbybit.point.pointXYZ" id="YzF?Hhhx11H+BUB%1;Mc"> <value name="X"> <block type="math_number" id="m%H)3NXjCZg=XSaXPKfX"> <field name="NUM">-100</field> </block> </value> <value name="Y"> <block type="math_number" id="DW^%T,M{3NQ$fp?UHLh."> <field name="NUM">-50</field> </block> </value> <value name="Z"> <block type="math_number" id="HAcpBHbR/(fgOR+4~I=J"> <field name="NUM">100</field> </block> </value> </block> </value> <value name="Intensity"> <block type="math_number" id="#|]KYHVOfR{Y}iR0i;J`"> <field name="NUM">0.5</field> </block> </value> <value name="Diffuse"> <block type="colour_picker" id="lh)RQ)LPhtK(`#!:eym="> <field name="COLOUR">#ffffff</field> </block> </value> <value name="Specular"> <block type="colour_picker" id="Is/rX@VuX(V!C)SRm[g5"> <field name="COLOUR">#ffffff</field> </block> </value> <value name="ShadowGeneratorMapSize"> <block type="math_number" id="9X_[BA!=fdpA=|CxMO[Y"> <field name="NUM">1024</field> </block> </value> <value name="EnableShadows"> <block type="logic_boolean" id="+I-7c[xvi7OA3t^_7z@1"> <field name="BOOL">TRUE</field> </block> </value> <value name="ShadowDarkness"> <block type="math_number" id="ynp8DBtwZZ}-^DAH[qTW"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="{(9ZKNhx;i`F/=/HdbXv"> <field name="VAR" id="Hc+aQ,@M,j{Qx2DhN*W:">curve1</field> <value name="VALUE"> <block type="bitbybit.occt.shapes.wire.interpolatePoints" id="f+wMy$*ZJOs~]L0_zpnb"> <value name="Points"> <block type="lists_create_with" id=",:^flO%|A@|XAK+cGqjk"> <mutation items="4"> </mutation> <value name="ADD0"> <block type="bitbybit.point.pointXYZ" id="e0_V^RDqE!y;{6FC=}^s"> <value name="X"> <block type="math_number" id="r-Q~d?WU4gfT/3c~+NUg"> <field name="NUM">-10</field> </block> </value> <value name="Y"> <block type="math_number" id="AeB08!CEMD-B%(*at;KD"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id="iXT;*BR[W$U3p,[SI37l"> <field name="NUM">-10</field> </block> </value> </block> </value> <value name="ADD1"> <block type="bitbybit.point.pointXYZ" id="LRudbD$CyXNbb0xg`N$V"> <value name="X"> <block type="math_number" id="17,#it,H142|o]4{EDw}"> <field name="NUM">10</field> </block> </value> <value name="Y"> <block type="math_number" id="3^:._.Y6ktKtKc{]MHi."> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id="K9aH}zcPn-2IG|,yBUBy"> <field name="NUM">-18</field> </block> </value> </block> </value> <value name="ADD2"> <block type="bitbybit.point.pointXYZ" id="V5(LR;gtr1LI=fEp=C?Y"> <value name="X"> <block type="math_number" id="i[}PfPw_=Pl@`hLfpUa_"> <field name="NUM">10</field> </block> </value> <value name="Y"> <block type="math_number" id="0am8##S^CU2T5+6f+09;"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id=",V9Jh%GIz%#L:gT!/be$"> <field name="NUM">10</field> </block> </value> </block> </value> <value name="ADD3"> <block type="bitbybit.point.pointXYZ" id="Cg_A(EVmpba9e5^SlFY9"> <value name="X"> <block type="math_number" id="vc!8Y$@w;HoQi9Uy~mc%"> <field name="NUM">-10</field> </block> </value> <value name="Y"> <block type="math_number" id="br)fhU=1e6-raM653P?!"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id="|Hu9SL+oMBsu2{VelN]B"> <field name="NUM">10</field> </block> </value> </block> </value> </block> </value> <value name="Periodic"> <block type="logic_boolean" id="X#h@[Cl16:7=Q8n@tY+{"> <field name="BOOL">TRUE</field> </block> </value> <value name="Tolerance"> <block type="math_number" id="l[:b+{SpgZuaZX!V4u@_"> <field name="NUM">1e-7</field> </block> </value> </block> </value> <next> <block type="variables_set" id="{t#D/_G{oyr~+(T_H1Qp"> <field name="VAR" id="7*^v?Y;^3SV2-Q172p$h">curve2</field> <value name="VALUE"> <block type="bitbybit.occt.shapes.wire.interpolatePoints" id="8yqHp-|Z2okR7aZ[Acej"> <value name="Points"> <block type="lists_create_with" id="2gaDCjy}q^1r1PQ-M7UG"> <mutation items="4"> </mutation> <value name="ADD0"> <block type="bitbybit.point.pointXYZ" id="?/*7xy/Zwfer2s.70dQa"> <value name="X"> <block type="math_number" id="Rqkq2isCFYdp=1OJ]u8-"> <field name="NUM">-18</field> </block> </value> <value name="Y"> <block type="math_number" id="(_y[W9T.PB|FgqZ%-oD/"> <field name="NUM">6</field> </block> </value> <value name="Z"> <block type="math_number" id="/7)|Ll#/T`hJL7$A,PC["> <field name="NUM">-14</field> </block> </value> </block> </value> <value name="ADD1"> <block type="bitbybit.point.pointXYZ" id="J`fieMeDfX5bG,hX6x+j"> <value name="X"> <block type="math_number" id="F67XzH9|jSe!gwn9luSW"> <field name="NUM">18</field> </block> </value> <value name="Y"> <block type="math_number" id="8VQDHILZ+BR+!6XtCG0="> <field name="NUM">6</field> </block> </value> <value name="Z"> <block type="math_number" id="g^+*BTLW:iGu;:n(/.)z"> <field name="NUM">-22</field> </block> </value> </block> </value> <value name="ADD2"> <block type="bitbybit.point.pointXYZ" id="yw}}$[0hw)7,=uvOJl$P"> <value name="X"> <block type="math_number" id="*BCU!*BF8`Nq-cd)Ro!0"> <field name="NUM">18</field> </block> </value> <value name="Y"> <block type="math_number" id=".A4wDq`bjKmr`mQQOTTF"> <field name="NUM">6</field> </block> </value> <value name="Z"> <block type="math_number" id="vjPx_XS|eq/LODHA5zE!"> <field name="NUM">18</field> </block> </value> </block> </value> <value name="ADD3"> <block type="bitbybit.point.pointXYZ" id="=4FEVjq0h4odhur?w_zx"> <value name="X"> <block type="math_number" id="KJxHN*rGQV;Mg`670k,h"> <field name="NUM">-18</field> </block> </value> <value name="Y"> <block type="math_number" id="z)z/981_RRUiiD_V}izs"> <field name="NUM">6</field> </block> </value> <value name="Z"> <block type="math_number" id="xC6Ee7Gj6FYg^t1?BlIV"> <field name="NUM">18</field> </block> </value> </block> </value> </block> </value> <value name="Periodic"> <block type="logic_boolean" id="z]rsGd!Ha9OVm~*Hu1fb"> <field name="BOOL">TRUE</field> </block> </value> <value name="Tolerance"> <block type="math_number" id="@CYr^kXr{:t6|y-JS6b%"> <field name="NUM">1e-7</field> </block> </value> </block> </value> <next> <block type="variables_set" id=".|z.PlNc:)4IVkPeHT)9"> <field name="VAR" id="e/$DaRE5=XZ{x#TU~wUs">curve3</field> <value name="VALUE"> <block type="bitbybit.occt.shapes.wire.interpolatePoints" id="5Q[P=oUU|r9IU]A+OI$*"> <value name="Points"> <block type="lists_create_with" id="mfU]v]W/e0-(Um!)Rn`Z"> <mutation items="4"> </mutation> <value name="ADD0"> <block type="bitbybit.point.pointXYZ" id="x3z0%Qmy/nWH;KU_-(.b"> <value name="X"> <block type="math_number" id="EfV.jD8JtT+QR;w#G[_v"> <field name="NUM">-10</field> </block> </value> <value name="Y"> <block type="math_number" id="Hxn7;)JR[.*ljQI!xoVp"> <field name="NUM">30</field> </block> </value> <value name="Z"> <block type="math_number" id="qtv(yZi$KwY~B/[GNBkN"> <field name="NUM">-10</field> </block> </value> </block> </value> <value name="ADD1"> <block type="bitbybit.point.pointXYZ" id=".5WnLr?Wa*rRF%KJ[6?9"> <value name="X"> <block type="math_number" id="erjI{=6:A#c(~-wc8n^}"> <field name="NUM">10</field> </block> </value> <value name="Y"> <block type="math_number" id="x1o%K6Pv:%gD5XWQvYr#"> <field name="NUM">26</field> </block> </value> <value name="Z"> <block type="math_number" id="0INws!wpab^$@=Ed^gjh"> <field name="NUM">-18</field> </block> </value> </block> </value> <value name="ADD2"> <block type="bitbybit.point.pointXYZ" id="X0uWq9h0^aF9OZRFs%-#"> <value name="X"> <block type="math_number" id="Y7{3=KK+=WH!*7RfjAS@"> <field name="NUM">10</field> </block> </value> <value name="Y"> <block type="math_number" id=";e7i0rIobC~lBH`[J}2*"> <field name="NUM">16</field> </block> </value> <value name="Z"> <block type="math_number" id="d(gu;mdB{+P?eYQ5eo]b"> <field name="NUM">10</field> </block> </value> </block> </value> <value name="ADD3"> <block type="bitbybit.point.pointXYZ" id="?P/#}D@U#I`=iGqU0@M%"> <value name="X"> <block type="math_number" id="[7SSj#^T*ei96K,?Y^!X"> <field name="NUM">-10</field> </block> </value> <value name="Y"> <block type="math_number" id="B3D(.F7l;5xrYz;3ac*A"> <field name="NUM">18</field> </block> </value> <value name="Z"> <block type="math_number" id=".]LY,J%S3Pf_5!7RVK8a"> <field name="NUM">10</field> </block> </value> </block> </value> </block> </value> <value name="Periodic"> <block type="logic_boolean" id="JKK0S{iL8;pCi~rg_N*8"> <field name="BOOL">TRUE</field> </block> </value> <value name="Tolerance"> <block type="math_number" id="08K_U9rFDzcBc}%*cMys"> <field name="NUM">1e-7</field> </block> </value> </block> </value> <next> <block type="variables_set" id="m}0}z@9js0|1+J=Pog3p"> <field name="VAR" id="3ZsSD-.`eXDI9gfdsbxI">face1</field> <value name="VALUE"> <block type="bitbybit.occt.shapes.face.getFace" id="RDGiuF=dzOLjPr7j[0q~"> <value name="Shape"> <block type="bitbybit.occt.shapes.face.reversedFace" id=",*Sp}GXkfouYMM+6d?,X"> <value name="Shape"> <block type="bitbybit.occt.operations.loft" id="wb3Q1XK=1avd?nCoWM@e"> <value name="Shapes"> <block type="lists_create_with" id="Q9AqF)TdK}471F20(Kys"> <mutation items="3"> </mutation> <value name="ADD0"> <block type="variables_get" id="ake%jO/3EHWyYQMta2?-"> <field name="VAR" id="Hc+aQ,@M,j{Qx2DhN*W:">curve1</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="EJm+h*$d)]lbTPg~wT$n"> <field name="VAR" id="7*^v?Y;^3SV2-Q172p$h">curve2</field> </block> </value> <value name="ADD2"> <block type="variables_get" id="Qp)(cfl4*Kxc*HX#4Rwk"> <field name="VAR" id="e/$DaRE5=XZ{x#TU~wUs">curve3</field> </block> </value> </block> </value> <value name="MakeSolid"> <block type="logic_boolean" id="i}*Lo7!b|M(|;GZvNm31"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <value name="Index"> <block type="math_number" id="rQRZJ.P;69(!_^y)L=Y/"> <field name="NUM">0</field> </block> </value> </block> </value> <next> <block type="variables_set" id="97Sy6e45@X/oZiGm3[-M"> <field name="VAR" id="85.A(S/.oO4yqw%tD^8|">face2</field> <value name="VALUE"> <block type="bitbybit.occt.shapes.face.getFace" id="dB;0OTc@[9a@G)7#d)#J"> <value name="Shape"> <block type="bitbybit.occt.operations.offset" id="*:)}Ewjd-zC^Njw8`6zU"> <value name="Shape"> <block type="variables_get" id="6DGdA?q22vc)A@c[2g60"> <field name="VAR" id="3ZsSD-.`eXDI9gfdsbxI">face1</field> </block> </value> <value name="Distance"> <block type="math_number" id="i)sl+qKX?zVC/X;~3frg"> <field name="NUM">-0.5</field> </block> </value> <value name="Tolerance"> <block type="math_number" id="WQj]#]@gKGZork?bk^52"> <field name="NUM">0.1</field> </block> </value> </block> </value> <value name="Index"> <block type="math_number" id="0?sy/^d@)v;-s6ju`QnH"> <field name="NUM">0</field> </block> </value> </block> </value> <next> <block type="bitbybit.draw.drawAnyAsyncNoReturn" id="}:HUBP)z{.a.Ay(G/!7J"> <value name="Entity"> <block type="bitbybit.occt.transforms.translate" id=")r.KP948J2BV/qVJp(XW"> <value name="Shape"> <block type="bitbybit.occt.transforms.scale" id="GWi?Q+Z#lus:KleJCNPT"> <value name="Shape"> <block type="bitbybit.occt.shapes.face.reversedFace" id="abKFh|~bkT|UwGiy6N%:"> <value name="Shape"> <block type="bitbybit.occt.shapes.face.createFaceFromWire" id="tnBKS$up)t!L2J~C6*SP"> <value name="Shape"> <block type="variables_get" id="xwm*3HL7v60o:;*P8_xt"> <field name="VAR" id="Hc+aQ,@M,j{Qx2DhN*W:">curve1</field> </block> </value> <value name="Planar"> <block type="logic_boolean" id="jSh2:Hntv[Fy3CzdRs*@"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <value name="Factor"> <block type="math_number" id="wLzPGQrwWf*:8*.yAPw?"> <field name="NUM">4</field> </block> </value> </block> </value> <value name="Translation"> <block type="bitbybit.point.pointXYZ" id="+YdV(t[}_u#ZmU|/Q?ae"> <value name="X"> <block type="math_number" id="*fiXvazx[Oki,MchVI_0"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="@HX+1tC].mg9}R@_]@Q,"> <field name="NUM">-0.4</field> </block> </value> <value name="Z"> <block type="math_number" id="O%2SED3Rn@S*y8;9c!(u"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <value name="Options"> <block type="bitbybit.draw.optionsOcctShapeSimple" id="C!?]bYOFGL|,jhdIxNG#"> <value name="Precision"> <block type="math_number" id="3hM*zhRIb7t=$Cuu!Ygy"> <field name="NUM">0.05</field> </block> </value> <value name="DrawFaces"> <block type="logic_boolean" id="NLBNZJ(KtA0^A%68/=TR"> <field name="BOOL">TRUE</field> </block> </value> <value name="FaceColour"> <block type="colour_picker" id="tp?RwYNo]tzn2deS`RvY"> <field name="COLOUR">#6600cc</field> </block> </value> <value name="DrawEdges"> <block type="logic_boolean" id="EwpHYXNb4,B:79[?ruh!"> <field name="BOOL">TRUE</field> </block> </value> <value name="EdgeColour"> <block type="colour_picker" id="?R62:``@gp1U=Ba9F2Nl"> <field name="COLOUR">#bbbbff</field> </block> </value> <value name="EdgeWidth"> <block type="math_number" id="O4paSQjh.b~YI:[|*q$v"> <field name="NUM">2</field> </block> </value> </block> </value> <next> <block type="base_time_async_context" id="3$45oKj+o(0tf|FOsF0l"> <statement name="Then"> <block type="variables_set" id="(BCHY3hYZ|WI5b?|KnGF"> <field name="VAR" id="Jb}OqCmeVh~H-cDIX%{e">uvParams1</field> <value name="VALUE"> <block type="base_time_await_return" id="tYk.MFyw:$.RVQZjeEW)"> <value name="Promise"> <block type="procedures_callreturn" id="A%;yhiuPVG2AXAdT_b?d"> <mutation name="makeUvParams"> <arg name="face"> </arg> </mutation> <value name="ARG0"> <block type="variables_get" id="A]%pKmuwuR#D;.a4*-3p"> <field name="VAR" id="3ZsSD-.`eXDI9gfdsbxI">face1</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="N}ZXGB~;ow.]{?:d)XDM"> <field name="VAR" id="O2DS:5q7f[YJK*wE`T[P">uvParams2</field> <value name="VALUE"> <block type="base_time_await_return" id="a7dz5W1F5@J0-=a[K()F"> <value name="Promise"> <block type="procedures_callreturn" id="VCi_P24c9hsKjx+)rKED"> <mutation name="makeUvParams"> <arg name="face"> </arg> </mutation> <value name="ARG0"> <block type="variables_get" id="!$yrdQ=/$s5(e(lH%(6$"> <field name="VAR" id="85.A(S/.oO4yqw%tD^8|">face2</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="mTN,`HfUA*M~6/pkO|4D"> <field name="VAR" id="DKAISb%*M~+$/_,:ECDc">ellipsesOnSurface1</field> <value name="VALUE"> <block type="base_time_await_return" id="+Bgyh^LFn|*HR2Lu,hic"> <value name="Promise"> <block type="procedures_callreturn" id="egx6Wh$kLkS.LaQjwk_3"> <mutation name="ellipsesOnSurface"> <arg name="uvParams"> </arg> <arg name="srf"> </arg> <arg name="ellipseMinor"> </arg> <arg name="ellipseMajor"> </arg> </mutation> <value name="ARG0"> <block type="variables_get" id="Hf`(]MO$!twV=Icmbjt:"> <field name="VAR" id="Jb}OqCmeVh~H-cDIX%{e">uvParams1</field> </block> </value> <value name="ARG1"> <block type="bitbybit.occt.geom.surfaces.surfaceFromFace" id=",=dVi{P,Zy0je,NnP|-+"> <value name="Shape"> <block type="variables_get" id="#a~5]u]EfCfPq%pKQ0p^"> <field name="VAR" id="3ZsSD-.`eXDI9gfdsbxI">face1</field> </block> </value> </block> </value> <value name="ARG2"> <block type="math_number" id=",~rqhJ:g^yo%~+tS:`~n"> <field name="NUM">0.02</field> </block> </value> <value name="ARG3"> <block type="math_number" id="J73fz:2qEvYwx(G:%1Qr"> <field name="NUM">0.04</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="QtU#z!cz`chcz^w+TdPm"> <field name="VAR" id="6$-:{2?d3;2Ey92n.xr4">ellipsesOnSurface2</field> <value name="VALUE"> <block type="base_time_await_return" id="t!EtPPP+uSV5.iTNY7?C"> <value name="Promise"> <block type="procedures_callreturn" id="FxdCpHKXe,pf}9]qZ`?p"> <mutation name="ellipsesOnSurface"> <arg name="uvParams"> </arg> <arg name="srf"> </arg> <arg name="ellipseMinor"> </arg> <arg name="ellipseMajor"> </arg> </mutation> <value name="ARG0"> <block type="variables_get" id="zR?i`(J:.B}YsdU~q#5f"> <field name="VAR" id="O2DS:5q7f[YJK*wE`T[P">uvParams2</field> </block> </value> <value name="ARG1"> <block type="bitbybit.occt.geom.surfaces.surfaceFromFace" id="RPy7Bux5B4kpl0I@tgg5"> <value name="Shape"> <block type="variables_get" id="I]xhwturSkmkG!bh1cJ3"> <field name="VAR" id="85.A(S/.oO4yqw%tD^8|">face2</field> </block> </value> </block> </value> <value name="ARG2"> <block type="math_number" id="^0B34{d}[a5GefT0p%|{"> <field name="NUM">0.01</field> </block> </value> <value name="ARG3"> <block type="math_number" id="6P,-_|Pcf?i0*5/VCAMz"> <field name="NUM">0.01</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="R1t+=kG}{ie4xNDhhg/c"> <field name="VAR" id="6Uobshv).d$BLqg6z[/f">toSew</field> <value name="VALUE"> <block type="lists_create_with" id="Y?]J?8PEu_H:W?Y2Z}Or"> <mutation items="0"> </mutation> </block> </value> <next> <block type="controls_for" id=",,J#W@pUp|RL{Dmi:mR}"> <field name="VAR" id="APfT.`+4@$eBae(4%o(O">j</field> <value name="FROM"> <block type="math_number" id="kBdk1*[_o?S?sTo:GrDK"> <field name="NUM">1</field> </block> </value> <value name="TO"> <block type="lists_length" id="%oGUe]Vl/q`@+]OShH$c"> <value name="VALUE"> <block type="variables_get" id="|sNrqwr8GzQ3KB7BQ[+R"> <field name="VAR" id="DKAISb%*M~+$/_,:ECDc">ellipsesOnSurface1</field> </block> </value> </block> </value> <value name="BY"> <block type="math_number" id="]8mupjBLaBtyzeS}/gFQ"> <field name="NUM">1</field> </block> </value> <statement name="DO"> <block type="variables_set" id="9b4/W(pY*P6~/BdgsDdX"> <field name="VAR" id="m!J4oi0a0k5gLjuS2aU2">e1</field> <value name="VALUE"> <block type="lists_getIndex" id="ZauN.m1R^C2,YziXrYLt"> <mutation statement="false" at="true"> </mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="{)hs^coS(ocNLn:0-aFv"> <field name="VAR" id="DKAISb%*M~+$/_,:ECDc">ellipsesOnSurface1</field> </block> </value> <value name="AT"> <block type="variables_get" id="l*M9`a3]GpigKdt~0+a1"> <field name="VAR" id="APfT.`+4@$eBae(4%o(O">j</field> </block> </value> </block> </value> <next> <block type="variables_set" id="8s`R?K!)@8ZHEgaVQ-M~"> <field name="VAR" id="FGrDwhNZ]G{|YJ-Wwq5S">e2</field> <value name="VALUE"> <block type="lists_getIndex" id="2J02n_`m@GVoum#(ur)H"> <mutation statement="false" at="true"> </mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="xk0nKlw$QHU+)L?qkjV$"> <field name="VAR" id="6$-:{2?d3;2Ey92n.xr4">ellipsesOnSurface2</field> </block> </value> <value name="AT"> <block type="variables_get" id="9I5yzp,ndCz/r15XV8/`"> <field name="VAR" id="APfT.`+4@$eBae(4%o(O">j</field> </block> </value> </block> </value> <next> <block type="variables_set" id="Ne8K;=RFvC;jiC`Yh?Au"> <field name="VAR" id="EW(,TM7|IXP0/Ba}#T9.">loft</field> <value name="VALUE"> <block type="bitbybit.occt.operations.loft" id="uaNP4_XvRHhSRys^76;_"> <value name="Shapes"> <block type="lists_create_with" id="}[h](/UU^l_Ho1x!A]mC"> <mutation items="2"> </mutation> <value name="ADD0"> <block type="variables_get" id="6;)qkqR#{(,O*%;3*!EK"> <field name="VAR" id="m!J4oi0a0k5gLjuS2aU2">e1</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="RC^~6UCS7b:fD89eS_t]"> <field name="VAR" id="FGrDwhNZ]G{|YJ-Wwq5S">e2</field> </block> </value> </block> </value> <value name="MakeSolid"> <block type="logic_boolean" id="=_?cU[++$4HGF`:A6Nu/"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <next> <block type="lists_setIndex" id="i3#W`zB8@i$WOOpvZb9^"> <mutation at="false"> </mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="?odelcd?b*S,kaC8+D_H"> <field name="VAR" id="6Uobshv).d$BLqg6z[/f">toSew</field> </block> </value> <value name="TO"> <block type="variables_get" id="L(keG)|uedex*LgbU:%H"> <field name="VAR" id="EW(,TM7|IXP0/Ba}#T9.">loft</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="lists_setIndex" id="jkzI)587G*KvOOW~KPtg"> <mutation at="false"> </mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="5)fD?%#@pj9w{rY;)^HR"> <field name="VAR" id="6Uobshv).d$BLqg6z[/f">toSew</field> </block> </value> <value name="TO"> <block type="bitbybit.occt.shapes.face.reversedFace" id="_JE@lg:TH@6-n.xbGYN7"> <value name="Shape"> <block type="bitbybit.occt.shapes.face.getFace" id="-QW]s);GJm2Hx+/kDndM"> <value name="Shape"> <block type="bitbybit.occt.operations.splitShapeWithShapes" id="JD!8nW~F]0s-Z(pP=+t-"> <value name="Shape"> <block type="variables_get" id=":v{x5X[muP+-Rl7ln3f]"> <field name="VAR" id="3ZsSD-.`eXDI9gfdsbxI">face1</field> </block> </value> <value name="Shapes"> <block type="variables_get" id="x8D8LW,B7SE+Fpe%du%h"> <field name="VAR" id="DKAISb%*M~+$/_,:ECDc">ellipsesOnSurface1</field> </block> </value> </block> </value> <value name="Index"> <block type="math_arithmetic" id="K#|!V12X:5c2KF/$}%^L"> <field name="OP">MINUS</field> <value name="A"> <block type="lists_length" id="R85IM-GWE=Ai^w`yEG#x"> <value name="VALUE"> <block type="variables_get" id="s3#|q*Rs/Dc/uKQ*}-Q~"> <field name="VAR" id="DKAISb%*M~+$/_,:ECDc">ellipsesOnSurface1</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="ZyK7*yp-40HUQ9V4SP.G"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="lists_setIndex" id="bb:Th$y`#@?f=`=R`SFT"> <mutation at="false"> </mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="~MK!GvAjp|wi}.wupcns"> <field name="VAR" id="6Uobshv).d$BLqg6z[/f">toSew</field> </block> </value> <value name="TO"> <block type="bitbybit.occt.shapes.face.createFaceFromWire" id="#(2m|%H_m;DYFmIN|J[."> <value name="Shape"> <block type="variables_get" id="Pl(Mt*6-IkXiX-`xcDA$"> <field name="VAR" id="Hc+aQ,@M,j{Qx2DhN*W:">curve1</field> </block> </value> <value name="Planar"> <block type="logic_boolean" id="?%v}-FM*{}ld/_T)Qa!o"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <next> <block type="bitbybit.draw.drawAnyAsyncNoReturn" id="_/4BHHAR0|NDx/jiphbs"> <value name="Entity"> <block type="bitbybit.occt.operations.makeThickSolidSimple" id="#ru0BJeQV$.`$s{zS^PM"> <value name="Shape"> <block type="bitbybit.occt.fillets.filletEdges" id="N-L2n=/y#*4D5Pbse9q["> <value name="Shape"> <block type="bitbybit.occt.shapes.shell.sewFaces" id="Uk40VNCvG-ol1mZ-4O(8"> <value name="Shapes"> <block type="variables_get" id="P:_PNdiJTDV@.1SX%(5x"> <field name="VAR" id="6Uobshv).d$BLqg6z[/f">toSew</field> </block> </value> <value name="Tolerance"> <block type="math_number" id="$2O+2LyKURmb5E]R9C99"> <field name="NUM">0.001</field> </block> </value> </block> </value> <value name="Radius"> <block type="math_number" id="/MMBpi(us7#1S,e{a)]L"> <field name="NUM">0.65</field> </block> </value> </block> </value> <value name="Offset"> <block type="math_number" id="sEoIRG*:-+pSVLlNH8}T"> <field name="NUM">-0.2</field> </block> </value> </block> </value> <value name="Options"> <block type="bitbybit.draw.optionsOcctShapeMaterial" id="`c:MG]n)x4NwT7~YZrzw"> <value name="Precision"> <block type="math_number" id="!4[3BQOBk84[6p4:/oVd"> <field name="NUM">0.1</field> </block> </value> <value name="FaceMaterial"> <block type="bitbybit.babylon.material.pbrMetallicRoughness.create" id="BPQRGva8aPQS#nL(oZzj"> <value name="Name"> <block type="text" id="/4hY):vy^ZDF/-;wGQv~"> <field name="TEXT">MyMaterial</field> </block> </value> <value name="BaseColor"> <block type="colour_picker" id="!LD2A|*zOpnJQE[{nz!?"> <field name="COLOUR">#cc33cc</field> </block> </value> <value name="Metallic"> <block type="math_number" id="ryGQgSUOAxJ9.-UJn}x}"> <field name="NUM">1</field> </block> </value> <value name="Roughness"> <block type="math_number" id="O(Ljk},esz0i7#C^WGzW"> <field name="NUM">0.2</field> </block> </value> <value name="Alpha"> <block type="math_number" id="D:%fWp90u=uM_5NU/!pg"> <field name="NUM">1</field> </block> </value> <value name="BackFaceCulling"> <block type="logic_boolean" id="?1Vq|!UxQ!8@`~Nh+jrv"> <field name="BOOL">TRUE</field> </block> </value> <value name="ZOffset"> <block type="math_number" id="#=`GmYgriBI8,fUN@eu?"> <field name="NUM">2</field> </block> </value> </block> </value> <value name="DrawEdges"> <block type="logic_boolean" id="7@qVc:h.[KtAHHNv;u:h"> <field name="BOOL">TRUE</field> </block> </value> <value name="EdgeColour"> <block type="colour_picker" id="`n4#B?VvrA-GrUw?JGaR"> <field name="COLOUR">#ffffff</field> </block> </value> <value name="EdgeWidth"> <block type="math_number" id="?r:AQkGQo@y~!CJZR_E@"> <field name="NUM">2</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defreturn" id="U-ZYLrri*D+08,.93-Z)" x="549" y="114"> <mutation> <arg name="face" varid="0dvp3:dj5bz%K/6-t#s+"> </arg> </mutation> <field name="NAME">makeUvParams</field> <comment pinned="false" h="80" w="160">Describe this function...</comment> <statement name="STACK"> <block type="variables_set" id="N;:rIBL-{t$/5u`PlgYW"> <field name="VAR" id="TC`ZX(-AgXb{8E~@6^u/">uvParams</field> <value name="VALUE"> <block type="bitbybit.occt.shapes.face.subdivideToUV" id="{J(e+p(c[K~Di|``TrI9"> <value name="Shape"> <block type="variables_get" id="P|E/j~fY#2{pKscBO)~7"> <field name="VAR" id="0dvp3:dj5bz%K/6-t#s+">face</field> </block> </value> <value name="NrDivisionsU"> <block type="math_number" id="cU?P#~wDiBNZ)2YD)WEL"> <field name="NUM">20</field> </block> </value> <value name="NrDivisionsV"> <block type="math_number" id="|4qY-H!iudk7V|r:]N,+"> <field name="NUM">8</field> </block> </value> <value name="ShiftHalfStepU"> <block type="logic_boolean" id="a3/7Xf4vyfoC;BobF?U-"> <field name="BOOL">TRUE</field> </block> </value> <value name="RemoveStartEdgeU"> <block type="logic_boolean" id="TV:PlQS#^ZoAUY]nt1EV"> <field name="BOOL">FALSE</field> </block> </value> <value name="RemoveEndEdgeU"> <block type="logic_boolean" id="Q]Pd5S[3It[ur;?i1x2a"> <field name="BOOL">TRUE</field> </block> </value> <value name="ShiftHalfStepV"> <block type="logic_boolean" id="2I.*c*)kAaw[*w2Ky?a+"> <field name="BOOL">FALSE</field> </block> </value> <value name="RemoveStartEdgeV"> <block type="logic_boolean" id="3^j.z#zaF_YVAQ^V%NVN"> <field name="BOOL">TRUE</field> </block> </value> <value name="RemoveEndEdgeV"> <block type="logic_boolean" id="MYHk03,Tz(Se?O2nxCf["> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </statement> <value name="RETURN"> <block type="variables_get" id="1fu=4hb,I!WlU/oJ|!ef"> <field name="VAR" id="TC`ZX(-AgXb{8E~@6^u/">uvParams</field> </block> </value> </block> <block type="procedures_defreturn" id="nn1,}s5IR`5TwM:]a9~w" x="559" y="808"> <mutation> <arg name="uvParams" varid="TC`ZX(-AgXb{8E~@6^u/"> </arg> <arg name="srf" varid="2^Q-N!%M(5QY*3,SjZjY"> </arg> <arg name="ellipseMinor" varid="-?PFj;sqp]dunhz|[/PQ"> </arg> <arg name="ellipseMajor" varid=")D|z+SUVIRkTL.Wg(m]~"> </arg> </mutation> <field name="NAME">ellipsesOnSurface</field> <comment pinned="false" h="80" w="160">Describe this function...</comment> <statement name="STACK"> <block type="variables_set" id="%0HWfzU[dP@9YcsApSl~"> <field name="VAR" id="#|0hz9A,rSrp.T]4,1Hk">ellipsesOnSurface</field> <value name="VALUE"> <block type="lists_create_with" id="jW%SV@V./kHxu!9Z)I7J"> <mutation items="0"> </mutation> </block> </value> <next> <block type="controls_forEach" id="-#RYa+#?a~;(ng0$U!g9"> <field name="VAR" id="4td}#E)?F*lX^:2WOINn">i</field> <value name="LIST"> <block type="variables_get" id=":P5B=zk_b[,p2Fh|r}=["> <field name="VAR" id="TC`ZX(-AgXb{8E~@6^u/">uvParams</field> </block> </value> <statement name="DO"> <block type="lists_setIndex" id="q!zb1Q{hGFAAJDbS5Bx/"> <mutation at="false"> </mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="Tti($kT@~#=WW{FlYp1y"> <field name="VAR" id="#|0hz9A,rSrp.T]4,1Hk">ellipsesOnSurface</field> </block> </value> <value name="TO"> <block type="bitbybit.occt.shapes.wire.combineEdgesAndWiresIntoAWire" id="!DqS]1}9Sss[=LjRBMot"> <value name="Shapes"> <block type="lists_create_with" id="b,rzV)(=v{vIB%pL=[zx"> <mutation items="1"> </mutation> <value name="ADD0"> <block type="bitbybit.occt.shapes.edge.makeEdgeFromGeom2dCurveAndSurface" id="=`oNnzI9T}4,ASv{/;[q"> <value name="Curve"> <block type="bitbybit.occt.geom.curves.geom2dEllipse" id="B]l2{Q[S4=tMGQL{fS45"> <value name="Center"> <block type="variables_get" id="JCbe93HRt%QSKb%Olpk/"> <field name="VAR" id="4td}#E)?F*lX^:2WOINn">i</field> </block> </value> <value name="Direction"> <block type="bitbybit.vector.vectorXY" id="-{E/pK6+g0c8bY~.WA~^"> <value name="X"> <block type="math_number" id="f=Ny_j6y-wC5l%bufL@4"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="7Ilu8s8RKl,bRTHM0#!;"> <field name="NUM">1</field> </block> </value> </block> </value> <value name="RadiusMinor"> <block type="variables_get" id="V,JU?0yl#TRO~{:2eoki"> <field name="VAR" id="-?PFj;sqp]dunhz|[/PQ">ellipseMinor</field> </block> </value> <value name="RadiusMajor"> <block type="variables_get" id="-WFWNf=0q(NJtGttzY8v"> <field name="VAR" id=")D|z+SUVIRkTL.Wg(m]~">ellipseMajor</field> </block> </value> <value name="Sense"> <block type="logic_boolean" id="yCyI|(Q)rO-Bij#4uXf9"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="Surface"> <block type="variables_get" id="J=eyRwnTcQ[JI/Z8ffTg"> <field name="VAR" id="2^Q-N!%M(5QY*3,SjZjY">srf</field> </block> </value> </block> </value> </block> </value> </block> </value> </block> </statement> </block> </next> </block> </statement> <value name="RETURN"> <block type="variables_get" id="cr!}`xNk^Y~NY:k+Y~#="> <field name="VAR" id="#|0hz9A,rSrp.T]4,1Hk">ellipsesOnSurface</field> </block> </value> </block> </xml>