Small Pavillion Modelling Example

Small Pavillion Modelling Example script details
Type
Blockly logo image
blockly
App Version
0.13.0
Visibility
public
Date Created
Dec 10, 2022, 6:09:37 PM
Last Edit Date
Dec 5, 2023, 5:27:48 PM

Script Details

The Code
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="Wj,v?RS_d63{xAhrOHn5">points1</variable> <variable id="it}]_2]fh!Ps.E6gqht!">points2</variable> <variable id="Ia;bFe:^X8r@56hK)?tv">points3</variable> <variable id="ZSs+~t2X0Ora;a[:Z65r">crv1</variable> <variable id="f]kNsRn(3SE.]dD(Y_8g">crv2</variable> <variable id="hnr0`v*sUTVOm,Z?.A^K">crv3</variable> <variable id="rt1iVg$l-qrTzx}aI{_p">face1</variable> <variable id="bg.?0vA#5|6TUS^s-S7O">loft</variable> <variable id="$viQ]3^0$#RJ00kk_$]E">half</variable> <variable id="RY/xm*{$bUXY_PxtaknX">mirrored</variable> <variable id="9Bl:vn8zr=S@7S/X?F*y">facesMirrored</variable> <variable id="zIIA0/nf@}|aUh1AJ_u3">facesFirstHalf</variable> <variable id="r/c;2ho+tMI~?N#7+?-~">allFaces</variable> <variable id="X;Z8-G69EovG5*^)2/zO">i</variable> <variable id="/7lnGQo5iLMA#bZXfCp+">j</variable> <variable id="~H97HH6!CLB*VvLc?SCH">finalShape</variable> <variable id="8=3cW$e96!W|mj;A1{iB">ground</variable> <variable id="xNL=rfomO2om!X)}Gex6">drawnPoints1</variable> <variable id="UNOO|hja2c0m*fpQzRY@">drawnPoints2</variable> <variable id="DCDlbD3Q#$PWPSGP}j3.">drawnObject</variable> <variable id="*![r]sgpifD/Iq)*$PFH">timeElapsedFromPreviousFrame</variable> </variables> <block type="bitbybit.babylon.scene.drawDirectionalLightNoReturn" id="scUqH87Z9Se{lm{;m1I#" x="489" y="-1461"> <value name="Direction"> <block type="bitbybit.point.pointXYZ" id="DWI|kRAfUv},BVEidJ3v"> <value name="X"> <block type="math_number" id="4p2`KoFW:ACbLoe0koA["> <field name="NUM">100</field> </block> </value> <value name="Y"> <block type="math_number" id="~?W]QdqMwg3s,,Q2|J6?"> <field name="NUM">-50</field> </block> </value> <value name="Z"> <block type="math_number" id="zUQnX,a=lbp|NT6Esm9-"> <field name="NUM">-100</field> </block> </value> </block> </value> <value name="Intensity"> <block type="math_number" id="Wuj1rr|{#2R$[vI=rw]5"> <field name="NUM">1</field> </block> </value> <value name="Diffuse"> <block type="colour_picker" id="u}`D,#j,sR+@u0Rd%qLG"> <field name="COLOUR">#ffffff</field> </block> </value> <value name="Specular"> <block type="colour_picker" id="-!#*ep1YUZXn0LkC]_m/"> <field name="COLOUR">#ffffff</field> </block> </value> <value name="ShadowGeneratorMapSize"> <block type="math_number" id="IkU9WbBzPH5Ky%7IIl(E"> <field name="NUM">1024</field> </block> </value> <value name="EnableShadows"> <block type="logic_boolean" id="KtySfeq,7oVM*nKLHKx#"> <field name="BOOL">TRUE</field> </block> </value> <value name="ShadowDarkness"> <block type="math_number" id="eP.w9wR*k_4e8s-]UR^?"> <field name="NUM">0</field> </block> </value> <next> <block type="bitbybit.babylon.scene.activateCamera" id="*_@+NL.FX3!O)[O0lB/Q"> <value name="Camera"> <block type="bitbybit.babylon.camera.arcRotate.create" id="i`M2xcJfXd4hkPC14wC-"> <value name="Alpha"> <block type="math_number" id=".Giz.Kdq:!X5gIj8KHQA"> <field name="NUM">-0.3</field> </block> </value> <value name="Beta"> <block type="math_number" id="A+mSJejvmk9-X*f41qdM"> <field name="NUM">1.3</field> </block> </value> <value name="Radius"> <block type="math_number" id="H|7o-_7P#Hdsn~L0$,+Z"> <field name="NUM">20</field> </block> </value> <value name="Target"> <block type="bitbybit.point.pointXYZ" id="to8rbOqM+m$IEobqTAYZ"> <value name="X"> <block type="math_number" id="dar.6x7nmF(-Zh@y^X@n"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="}L{BiS5vm,`nCk4,t3%v"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id="h|jYXc.(Nahu2C:h@T{9"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="rC=@(c,@4`_a)0S(?*RQ"> <field name="VAR" id="Wj,v?RS_d63{xAhrOHn5">points1</field> <value name="VALUE"> <block type="lists_create_with" id="p.Z6EG?1P+9VT}Y8;mYT"> <mutation items="6"> </mutation> <value name="ADD0"> <block type="bitbybit.point.pointXYZ" id="OE`7@ER{Qk=y*~1?j`t]"> <value name="X"> <block type="math_number" id="g._*=uA_Q+@m;}Y:rR]y"> <field name="NUM">1</field> </block> </value> <value name="Y"> <block type="math_number" id="WIK6v3`6,0(4u[uio}(P"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id="qcRiA;5;o{ci6)_!VDG["> <field name="NUM">3.2</field> </block> </value> </block> </value> <value name="ADD1"> <block type="bitbybit.point.pointXYZ" id="h7+:W`U/Ci@72jkn#Cjd"> <value name="X"> <block type="math_number" id="A2df8sDo6rpL#L]Zn^-X"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id=",Bb#_B`e[wXvoW63!uKS"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id="TF3`Y;|R;O*_?_CXTn[="> <field name="NUM">3</field> </block> </value> </block> </value> <value name="ADD2"> <block type="bitbybit.point.pointXYZ" id="fIH+,|a/^i+EY*ADIW7f"> <value name="X"> <block type="math_number" id="9;l/N),%`yrl0bm|Hr+B"> <field name="NUM">-1</field> </block> </value> <value name="Y"> <block type="math_number" id="mr,]Yf`X@ye0E:ybGv9D"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id="(n_uT^m]4MO`np?h;{QQ"> <field name="NUM">3.2</field> </block> </value> </block> </value> <value name="ADD3"> <block type="bitbybit.point.pointXYZ" id="?/NOzioXFtkmC:{,5@v|"> <value name="X"> <block type="math_number" id="XSKb6E@u@pA0l?(wHvt_"> <field name="NUM">-3.5</field> </block> </value> <value name="Y"> <block type="math_number" id="W;9U^;fL.A+E.)FA_T9("> <field name="NUM">0.5</field> </block> </value> <value name="Z"> <block type="math_number" id="1HAaApW1H3,o^8%8$o0%"> <field name="NUM">8</field> </block> </value> </block> </value> <value name="ADD4"> <block type="bitbybit.point.pointXYZ" id="Xlf48V{mgBnG^5Y{vk;*"> <value name="X"> <block type="math_number" id="a4J*(XNkWTwa(;+|;-l+"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="LZ#o9m~|@m-P,1`wyMQY"> <field name="NUM">3</field> </block> </value> <value name="Z"> <block type="math_number" id="j-,Ch|Q.!X5g!f$AfN_h"> <field name="NUM">3.5</field> </block> </value> </block> </value> <value name="ADD5"> <block type="bitbybit.point.pointXYZ" id="E[0EX]F[OmmXHlFMruY|"> <value name="X"> <block type="math_number" id="jlnK9Kuvp)/j3L%2P}O]"> <field name="NUM">3.5</field> </block> </value> <value name="Y"> <block type="math_number" id="kNNmlz*h9vZb^Xu0wJwY"> <field name="NUM">0.5</field> </block> </value> <value name="Z"> <block type="math_number" id="d-kdUAt[ujX1x/vR=YKM"> <field name="NUM">8</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id=";!Tb)hwb571t$01#-:!)"> <field name="VAR" id="it}]_2]fh!Ps.E6gqht!">points2</field> <value name="VALUE"> <block type="lists_create_with" id="GV$I[#lI7S%WCH,m!zcR"> <mutation items="6"> </mutation> <value name="ADD0"> <block type="bitbybit.point.pointXYZ" id="+K^Z+R^gV$aG;:Jg5hB+"> <value name="X"> <block type="math_number" id="=LmOTd@6W2mho^L$Fi94"> <field name="NUM">1</field> </block> </value> <value name="Y"> <block type="math_number" id="Y/H{]-2xryCpT]6zoThw"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id=".1waQxHtRx`lOkKIMZ[6"> <field name="NUM">1.8</field> </block> </value> </block> </value> <value name="ADD1"> <block type="bitbybit.point.pointXYZ" id="BJ@WkOvckfmJK+AKs*:q"> <value name="X"> <block type="math_number" id="r01YFk2I~Qu{ItB;}Hx/"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="Ju=-vYTzz|+FpxZFdaEY"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id="Jzd%Vnf!t+4hBq-Q/v}D"> <field name="NUM">2</field> </block> </value> </block> </value> <value name="ADD2"> <block type="bitbybit.point.pointXYZ" id="PJVi.2WtjKhJvr8^#%|c"> <value name="X"> <block type="math_number" id="r7_i4#i9a.I=c/KlH4!@"> <field name="NUM">-1</field> </block> </value> <value name="Y"> <block type="math_number" id="1M8#b]B3skzhW(x$pAm*"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id="}]mzdQ/SW10q)7YH,f!?"> <field name="NUM">1.8</field> </block> </value> </block> </value> <value name="ADD3"> <block type="bitbybit.point.pointXYZ" id="j]`Ey_/3u;]B9BsvuS|T"> <value name="X"> <block type="math_number" id="V+2*_QT^5XJ!v#pw}a-;"> <field name="NUM">-7</field> </block> </value> <value name="Y"> <block type="math_number" id="Lvw^r#O]YHMrQiGNX]V#"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id="tEv412da3g9k((~AKzTJ"> <field name="NUM">6</field> </block> </value> </block> </value> <value name="ADD4"> <block type="bitbybit.point.pointXYZ" id="WcmWU*zY;BJ{1]2Kvt7X"> <value name="X"> <block type="math_number" id=")N*X6%o#gd;SHwBrlB3."> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="J2%x)NZ8jP[{lBA65E2Q"> <field name="NUM">3</field> </block> </value> <value name="Z"> <block type="math_number" id="@|)-[*wvhriJ#eL#4M6+"> <field name="NUM">2</field> </block> </value> </block> </value> <value name="ADD5"> <block type="bitbybit.point.pointXYZ" id="~m/1+u,tMxJShct_#9Lp"> <value name="X"> <block type="math_number" id="k#t^FgzW=~2*3IF5:G,t"> <field name="NUM">7</field> </block> </value> <value name="Y"> <block type="math_number" id="chnN3wHH*T.L6JE%sMSB"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id="S|t1?PZK~E8Vr$+kZ0Hp"> <field name="NUM">6</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="@eNRNFtASy$4dl(3rCvz"> <field name="VAR" id="Ia;bFe:^X8r@56hK)?tv">points3</field> <value name="VALUE"> <block type="lists_create_with" id="[Vj7w|_k8Vp/RU}39Ra("> <mutation items="6"> </mutation> <value name="ADD0"> <block type="bitbybit.point.pointXYZ" id="idPv66%2[xX/N.=0Kq0j"> <value name="X"> <block type="math_number" id="C%/%5kj:S2)h1!`.kAf%"> <field name="NUM">1</field> </block> </value> <value name="Y"> <block type="math_number" id="m1_u44aY!BmTiR(/`$Kx"> <field name="NUM">0.5</field> </block> </value> <value name="Z"> <block type="math_number" id="sl9ZR||%PE#M+mZYg`Fd"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="ADD1"> <block type="bitbybit.point.pointXYZ" id="],ycju[RkK,kYR6oxkt="> <value name="X"> <block type="math_number" id="DHb(/1miR^O|0uw;RGv8"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="DQ.aFn+1Nvu(nX3gS#OF"> <field name="NUM">0.5</field> </block> </value> <value name="Z"> <block type="math_number" id="M9-z3L}~|^MWghPTF8c8"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="ADD2"> <block type="bitbybit.point.pointXYZ" id="{eFsrP3[Je@L!jsC-3uX"> <value name="X"> <block type="math_number" id=",XhlHjdNp.MY(M5B+S!b"> <field name="NUM">-1</field> </block> </value> <value name="Y"> <block type="math_number" id="Ni!!vxK83,1aC,Nnw.09"> <field name="NUM">0.5</field> </block> </value> <value name="Z"> <block type="math_number" id="nG@jyGy.nTP~=_]OUq`D"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="ADD3"> <block type="bitbybit.point.pointXYZ" id="Jr/bi@Kn~ngdFI(x6GYg"> <value name="X"> <block type="math_number" id="IZ`Lbt-~UNhuj~^pzD~v"> <field name="NUM">-4</field> </block> </value> <value name="Y"> <block type="math_number" id="J[Ivb{SsNvqNqjsHOV:o"> <field name="NUM">0.5</field> </block> </value> <value name="Z"> <block type="math_number" id="=4?1r=sm$1v)-^ZFq4ah"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="ADD4"> <block type="bitbybit.point.pointXYZ" id="M|PjoPvb=AG/Qm)51E!U"> <value name="X"> <block type="math_number" id="83lW`WzB`yIW[lw!SBJ?"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="83Rm1tN#{2[WsHj/5=e*"> <field name="NUM">2</field> </block> </value> <value name="Z"> <block type="math_number" id="nR@y}IKp:ZA%hO}H6Osz"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="ADD5"> <block type="bitbybit.point.pointXYZ" id="G^MQB!zE0FA).JhPM97-"> <value name="X"> <block type="math_number" id="iGfuFX^CuR;aY4_,WVWH"> <field name="NUM">4</field> </block> </value> <value name="Y"> <block type="math_number" id="uyiX;lx3+dZ=*B(UD^yG"> <field name="NUM">0.5</field> </block> </value> <value name="Z"> <block type="math_number" id="kNW#V3!U{@6Kg5CR_,or"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="vDFn6OC69/~e)9)[j-A+"> <field name="VAR" id="ZSs+~t2X0Ora;a[:Z65r">crv1</field> <value name="VALUE"> <block type="bitbybit.occt.shapes.wire.interpolatePoints" id="29#uR-$?)+:bH_3yu5ye"> <value name="Points"> <block type="variables_get" id="clTW8g%U8*r1JgjDhc:n"> <field name="VAR" id="Wj,v?RS_d63{xAhrOHn5">points1</field> </block> </value> <value name="Periodic"> <block type="logic_boolean" id="pGxPCv`7raG^uQT:$0UY"> <field name="BOOL">TRUE</field> </block> </value> <value name="Tolerance"> <block type="math_number" id="@d9*iy`W8M#ZpN$2TqY#"> <field name="NUM">0.1</field> </block> </value> </block> </value> <next> <block type="variables_set" id="+RoSGq%CX-Lc~SMl@r|Q"> <field name="VAR" id="f]kNsRn(3SE.]dD(Y_8g">crv2</field> <value name="VALUE"> <block type="bitbybit.occt.shapes.wire.interpolatePoints" id="AQ_G?o/64;LaQcRo-uf7"> <value name="Points"> <block type="variables_get" id="lDQ~F|k]0~O;bA|2`x16"> <field name="VAR" id="it}]_2]fh!Ps.E6gqht!">points2</field> </block> </value> <value name="Periodic"> <block type="logic_boolean" id="30nc(K9o_0%8i:2W,JBa"> <field name="BOOL">TRUE</field> </block> </value> <value name="Tolerance"> <block type="math_number" id="MBff4b_)@u!prIjYJQc|"> <field name="NUM">0.1</field> </block> </value> </block> </value> <next> <block type="variables_set" id="~1mD8t-YAF8X!-}G$8r/"> <field name="VAR" id="hnr0`v*sUTVOm,Z?.A^K">crv3</field> <value name="VALUE"> <block type="bitbybit.occt.shapes.wire.interpolatePoints" id=")/tS8x69p-!gW$d6MATX"> <value name="Points"> <block type="variables_get" id="[)}/-h/5KuK!uy1#E#$P"> <field name="VAR" id="Ia;bFe:^X8r@56hK)?tv">points3</field> </block> </value> <value name="Periodic"> <block type="logic_boolean" id="g@UE6yR=:ZWdXGy%(_0o"> <field name="BOOL">TRUE</field> </block> </value> <value name="Tolerance"> <block type="math_number" id="4-uNcCkM2XDsE$0fJea0"> <field name="NUM">0.1</field> </block> </value> </block> </value> <next> <block type="variables_set" id="gn}(gOs9iN-?y098bPzB"> <field name="VAR" id="rt1iVg$l-qrTzx}aI{_p">face1</field> <value name="VALUE"> <block type="bitbybit.occt.shapes.face.createFaceFromWire" id="jVas)hy+p@hi5I#LObZE"> <value name="Shape"> <block type="variables_get" id="JR1_lpj2mcrgt93lgM8^"> <field name="VAR" id="ZSs+~t2X0Ora;a[:Z65r">crv1</field> </block> </value> <value name="Planar"> <block type="logic_boolean" id="M?Do@:,,fqVHvgHRK$Z["> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <next> <block type="variables_set" id="Hj)5*rBg4X1T/jb0|D#{"> <field name="VAR" id="bg.?0vA#5|6TUS^s-S7O">loft</field> <value name="VALUE"> <block type="bitbybit.occt.operations.loft" id="K?z/;C$Ys!G9S%PLAQ$Y"> <value name="Shapes"> <block type="lists_create_with" id="RDKBJh7Sw5iE(5|]^7)#"> <mutation items="3"> </mutation> <value name="ADD0"> <block type="variables_get" id="8)^BVw/?w]xX3b!aPw18"> <field name="VAR" id="ZSs+~t2X0Ora;a[:Z65r">crv1</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="q-(`RaRQ?VS7xIX^)Z?U"> <field name="VAR" id="f]kNsRn(3SE.]dD(Y_8g">crv2</field> </block> </value> <value name="ADD2"> <block type="variables_get" id="F~Zu{AU?B2it+d`7nmuP"> <field name="VAR" id="hnr0`v*sUTVOm,Z?.A^K">crv3</field> </block> </value> </block> </value> <value name="MakeSolid"> <block type="logic_boolean" id="xA,rpWFOLFN20CL.SKRF"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <next> <block type="variables_set" id="skjMuc`oYO-ouP02oqqw"> <field name="VAR" id="$viQ]3^0$#RJ00kk_$]E">half</field> <value name="VALUE"> <block type="bitbybit.occt.fillets.filletEdges" id="O0%nl]}I2=Dj4^zm5*0:"> <value name="Shape"> <block type="bitbybit.occt.shapes.shell.sewFaces" id="Eh];Y6mzp1ZLK}YBN9QE"> <value name="Shapes"> <block type="lists_create_with" id="[5Eo2;b/im|95*-CAJ:i"> <mutation items="2"> </mutation> <value name="ADD0"> <block type="variables_get" id="3E|zU0b-RC.csE=^1nN!"> <field name="VAR" id="bg.?0vA#5|6TUS^s-S7O">loft</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="Y1qMtVVNmAT?~Y0!:DWZ"> <field name="VAR" id="rt1iVg$l-qrTzx}aI{_p">face1</field> </block> </value> </block> </value> <value name="Tolerance"> <block type="math_number" id="s+XsZz1dmTJvzesX;!zp"> <field name="NUM">1e-7</field> </block> </value> </block> </value> <value name="Radius"> <block type="math_number" id="V?PpyjV#a9bO`sZ~.,f%"> <field name="NUM">0.08</field> </block> </value> <value name="Indexes"> <block type="lists_create_with" id="9I-IL{jTFj~n-08J;3l9"> <mutation items="1"> </mutation> <value name="ADD0"> <block type="math_number" id="hE5+zSF/:L_[I;S0XlQy"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="Ce6Z6=1*:Ii.O(,LiG?{"> <field name="VAR" id="RY/xm*{$bUXY_PxtaknX">mirrored</field> <value name="VALUE"> <block type="bitbybit.occt.transforms.mirrorAlongNormal" id="zws[HnP)(XnHaQKOp8Z6"> <value name="Shape"> <block type="variables_get" id="1|QbhDt-F[P~i9cTeyao"> <field name="VAR" id="$viQ]3^0$#RJ00kk_$]E">half</field> </block> </value> <value name="Origin"> <block type="bitbybit.point.pointXYZ" id="K%yc?U8h2?y}9m%UB+ws"> <value name="X"> <block type="math_number" id="vwoOgY@..7=)=_+,a2*G"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="-8:t61h}h9D@:`7*~~+-"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id="bL{JC{|WdGE$R7}oEebu"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="Normal"> <block type="bitbybit.point.pointXYZ" id="1NmSlwLfg^)N$/Ax[~pt"> <value name="X"> <block type="math_number" id="bT:(_#`F^G4_1J()4?$U"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="xm*5$+PY}BO:=fIqN^9I"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id="Whf])TN:S9:p6(0d}^D9"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> <next> <block type="base_time_async_context" id="s$Ffq32vE9R9FdO5UVC~"> <statement name="Then"> <block type="variables_set" id="-8ZJw5SA-R88RCBzQcV+"> <field name="VAR" id="9Bl:vn8zr=S@7S/X?F*y">facesMirrored</field> <value name="VALUE"> <block type="base_time_await_return" id="7~N/|Q_1Q7$)*SC0n=g2"> <value name="Promise"> <block type="bitbybit.occt.shapes.face.getFaces" id="@Fli1Q6f9q=q5nZr/XNk"> <value name="Shape"> <block type="variables_get" id="zkuF%HtnU?RT,hVwd1jW"> <field name="VAR" id="RY/xm*{$bUXY_PxtaknX">mirrored</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="_ncu$[?H]/iT[[O7u/`*"> <field name="VAR" id="zIIA0/nf@}|aUh1AJ_u3">facesFirstHalf</field> <value name="VALUE"> <block type="base_time_await_return" id="K5|WJ=JM@cyQt2dB-%29"> <value name="Promise"> <block type="bitbybit.occt.shapes.face.getFaces" id="4r0.oy*X_7;Ewu.m(4yX"> <value name="Shape"> <block type="variables_get" id="fD/;3U_BCr]%Qk:a2H5@"> <field name="VAR" id="$viQ]3^0$#RJ00kk_$]E">half</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="}_52[:#zcqgldXJcHNVD"> <field name="VAR" id="r/c;2ho+tMI~?N#7+?-~">allFaces</field> <value name="VALUE"> <block type="lists_create_with" id="0vkRZkl_t6?~!69MmxAL"> <mutation items="0"> </mutation> </block> </value> <next> <block type="controls_forEach" id="r/%jER=-)L%Xh5(@+h.E"> <field name="VAR" id="X;Z8-G69EovG5*^)2/zO">i</field> <value name="LIST"> <block type="variables_get" id="1bdcW@yzr-MjFVN2eG{Z"> <field name="VAR" id="9Bl:vn8zr=S@7S/X?F*y">facesMirrored</field> </block> </value> <statement name="DO"> <block type="lists_setIndex" id="r9bY4Pcqi2?~o2(Uj!-W"> <mutation at="false"> </mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="tPTJ}^k5_/{gx)BeaUGd"> <field name="VAR" id="r/c;2ho+tMI~?N#7+?-~">allFaces</field> </block> </value> <value name="TO"> <block type="variables_get" id="hua#Q%ezlew{EounAZ3["> <field name="VAR" id="X;Z8-G69EovG5*^)2/zO">i</field> </block> </value> </block> </statement> <next> <block type="controls_forEach" id="jk6a4_hBMLoV^[^`V$[%"> <field name="VAR" id="/7lnGQo5iLMA#bZXfCp+">j</field> <value name="LIST"> <block type="variables_get" id="6z`c+d7P#j~!H,Vr~*G#"> <field name="VAR" id="zIIA0/nf@}|aUh1AJ_u3">facesFirstHalf</field> </block> </value> <statement name="DO"> <block type="lists_setIndex" id="fk8G8q/Xn3nOj%5=.!oj"> <mutation at="false"> </mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="6ap#K.1ZQ{U*O2@R=Fq5"> <field name="VAR" id="r/c;2ho+tMI~?N#7+?-~">allFaces</field> </block> </value> <value name="TO"> <block type="variables_get" id="UuAXOJMB9-J+1+d_vMe1"> <field name="VAR" id="/7lnGQo5iLMA#bZXfCp+">j</field> </block> </value> </block> </statement> <next> <block type="variables_set" id="on|kw*fT3H)r5n4a2~Mi"> <field name="VAR" id="~H97HH6!CLB*VvLc?SCH">finalShape</field> <value name="VALUE"> <block type="bitbybit.occt.shapes.shell.sewFaces" id="ry^,wzl;=0q;xG,o`[9}"> <value name="Shapes"> <block type="variables_get" id="=$Orqn^:f)v:!-OgISf("> <field name="VAR" id="r/c;2ho+tMI~?N#7+?-~">allFaces</field> </block> </value> <value name="Tolerance"> <block type="math_number" id="*E,4NEn_bAOorqQ8SGh8"> <field name="NUM">1e-7</field> </block> </value> </block> </value> <next> <block type="variables_set" id="T=lk(_vN$^Hks)_6U0(Y"> <field name="VAR" id="8=3cW$e96!W|mj;A1{iB">ground</field> <value name="VALUE"> <block type="base_time_await_return" id="{P?w+Vt9~Z@}Ck331@]Z"> <value name="Promise"> <block type="bitbybit.draw.drawAnyAsync" id="n.,-T5+E1m:G7`ntYHmX"> <value name="Entity"> <block type="bitbybit.occt.shapes.face.createCircleFace" id="JNJ(D5lzj]GOgXjBI?sX"> <value name="Radius"> <block type="math_number" id="%gUU!B3S7`^12Uk#Z(:g"> <field name="NUM">15</field> </block> </value> <value name="Center"> <block type="bitbybit.point.pointXYZ" id="2P^jU5i45giobvjv6jo@"> <value name="X"> <block type="math_number" id="lBr7Z53q,W0U#ICO8R1`"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="crsx9`t(Zp[Z{X0c!c?."> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id="@:*s8QyIU.+Kw*$Uz}v$"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="Direction"> <block type="bitbybit.point.pointXYZ" id="#N%/v%[)[l-}wp%U5mPl"> <value name="X"> <block type="math_number" id="1pFXh6yr+hgRSd8q^OKV"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="zwZKeena])aHR[Y}tQBX"> <field name="NUM">1</field> </block> </value> <value name="Z"> <block type="math_number" id="gd?U+cSfh|$4zT*/]|y}"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="}^Umg|Bd4~hMK9|Uk~v%"> <field name="VAR" id="xNL=rfomO2om!X)}Gex6">drawnPoints1</field> <value name="VALUE"> <block type="base_time_await_return" id="JMFa[A,e7MV%GOPtfTh,"> <value name="Promise"> <block type="bitbybit.draw.drawAnyAsync" id="ao:3Bg|-o0J5AIloucMO"> <value name="Entity"> <block type="bitbybit.occt.shapes.face.subdivideToPoints" id="T(Wn=+GQ1~q)eJ./xsv^"> <value name="Shape"> <block type="bitbybit.occt.shapes.face.getFace" id="3{y}3)HzwodBiHLt@aa{"> <value name="Shape"> <block type="variables_get" id="H,hPDxVy-B|LT%l7J7%W"> <field name="VAR" id="~H97HH6!CLB*VvLc?SCH">finalShape</field> </block> </value> <value name="Index"> <block type="math_number" id="?TIv[!2b|Mn*xs[2WF.s"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="NrDivisionsU"> <block type="math_number" id="2VaI:jOhiLRq+B}Ru]$@"> <field name="NUM">200</field> </block> </value> <value name="NrDivisionsV"> <block type="math_number" id="QoMt|T2[xc[:#c%Z_z}?"> <field name="NUM">15</field> </block> </value> <value name="ShiftHalfStepU"> <block type="logic_boolean" id="2=!klakV,-7LcoXsR~:Y"> <field name="BOOL">TRUE</field> </block> </value> <value name="RemoveStartEdgeU"> <block type="logic_boolean" id="TXufxhC]:5[LSVw0c.P;"> <field name="BOOL">FALSE</field> </block> </value> <value name="RemoveEndEdgeU"> <block type="logic_boolean" id="GhisjoNv]s!}}kspgy?V"> <field name="BOOL">TRUE</field> </block> </value> <value name="ShiftHalfStepV"> <block type="logic_boolean" id="=E-MyjyeJ:r#V?q]8@W)"> <field name="BOOL">FALSE</field> </block> </value> <value name="RemoveStartEdgeV"> <block type="logic_boolean" id="iFL^RmJ(~%CB7!59O[}:"> <field name="BOOL">TRUE</field> </block> </value> <value name="RemoveEndEdgeV"> <block type="logic_boolean" id="MH^wbwNo|N_mXI$}nNUn"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="Options"> <block type="bitbybit.draw.optionsSimple" id="y.iq@UMks6}aJ.WU;@Z_"> <value name="Colours"> <block type="colour_picker" id="f@VI(k,r8ZXZ$@.F}.Sf"> <field name="COLOUR">#ffffff</field> </block> </value> <value name="Size"> <block type="math_number" id="$,5`dKLY%Ji{TpP)VLFp"> <field name="NUM">0.1</field> </block> </value> <value name="Opacity"> <block type="math_number" id="$w:43$y=j.XfFS=}PiJP"> <field name="NUM">1</field> </block> </value> <value name="Updatable"> <block type="logic_boolean" id="qc).}m}COKVJ$(O=lgrM"> <field name="BOOL">FALSE</field> </block> </value> <value name="Hidden"> <block type="logic_boolean" id="AWck|-R+:RiG]AtSB:Eo"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="cHcuUCsPls$~m@VN`%%3"> <field name="VAR" id="UNOO|hja2c0m*fpQzRY@">drawnPoints2</field> <value name="VALUE"> <block type="base_time_await_return" id="XAoAVjr/)/CIZpoZB?Hp"> <value name="Promise"> <block type="bitbybit.draw.drawAnyAsync" id="Jr]op*R;-H{q{O[U*RzC"> <value name="Entity"> <block type="bitbybit.occt.shapes.face.subdivideToPoints" id="]l`jU0%,a7D/4+XC#j-B"> <value name="Shape"> <block type="bitbybit.occt.shapes.face.getFace" id="{}6[nKWd(?C$N@XIa0Ru"> <value name="Shape"> <block type="variables_get" id="G,QGQSfTpPW26SD20+j7"> <field name="VAR" id="~H97HH6!CLB*VvLc?SCH">finalShape</field> </block> </value> <value name="Index"> <block type="math_number" id="|J4[izIeBdqi,SQsJeJ9"> <field name="NUM">3</field> </block> </value> </block> </value> <value name="NrDivisionsU"> <block type="math_number" id="yASLv{C$N~L3_idmt9oV"> <field name="NUM">200</field> </block> </value> <value name="NrDivisionsV"> <block type="math_number" id="xGujrQBRr-@,C6!C]v1#"> <field name="NUM">15</field> </block> </value> <value name="ShiftHalfStepU"> <block type="logic_boolean" id="1)h;{qT9M?#.vA#2,6N-"> <field name="BOOL">TRUE</field> </block> </value> <value name="RemoveStartEdgeU"> <block type="logic_boolean" id="0;2Y{o(U(59b5npW}zC@"> <field name="BOOL">FALSE</field> </block> </value> <value name="RemoveEndEdgeU"> <block type="logic_boolean" id="};oJi*pt#I]8[u54(4#R"> <field name="BOOL">TRUE</field> </block> </value> <value name="ShiftHalfStepV"> <block type="logic_boolean" id="6@-F9OJAfT?#j)Qe%b-N"> <field name="BOOL">FALSE</field> </block> </value> <value name="RemoveStartEdgeV"> <block type="logic_boolean" id="~H7F6M.e+|FvEzGe@y%W"> <field name="BOOL">TRUE</field> </block> </value> <value name="RemoveEndEdgeV"> <block type="logic_boolean" id="LZ8-u5FiisvU.1)Z|v@R"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="Options"> <block type="bitbybit.draw.optionsSimple" id="d[dxmG)09EC1/;T6*q)}"> <value name="Colours"> <block type="colour_picker" id="=ly0e;Y7SF%Hg91]N%f`"> <field name="COLOUR">#ffffff</field> </block> </value> <value name="Size"> <block type="math_number" id="iTo~u3+F}asr$Tx0_`GP"> <field name="NUM">0.1</field> </block> </value> <value name="Opacity"> <block type="math_number" id="VVK}QL[xFhaY@8YF]WSG"> <field name="NUM">1</field> </block> </value> <value name="Updatable"> <block type="logic_boolean" id="u;3oB51`sg_3H9eV*bWE"> <field name="BOOL">FALSE</field> </block> </value> <value name="Hidden"> <block type="logic_boolean" id="[d#0I=0/NN{gedgbG8Nz"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="yl%n,V?IwQ3V3T4CL1w/"> <field name="VAR" id="DCDlbD3Q#$PWPSGP}j3.">drawnObject</field> <value name="VALUE"> <block type="base_time_await_return" id="os/XeY%ClVo0M07Y0|+2"> <value name="Promise"> <block type="bitbybit.draw.drawAnyAsync" id="=T8WrEQo1iCC?Eai*~dI"> <value name="Entity"> <block type="variables_get" id="nN*zB:|o=5f)Ym6+!r47"> <field name="VAR" id="~H97HH6!CLB*VvLc?SCH">finalShape</field> </block> </value> <value name="Options"> <block type="bitbybit.draw.optionsOcctShapeMaterial" id="xa(QKpr]Jc`5dp6f|qqz"> <value name="Precision"> <block type="math_number" id="05YLh2)7U10;lp+P?4/C"> <field name="NUM">0.005</field> </block> </value> <value name="FaceMaterial"> <block type="bitbybit.babylon.material.pbrMetallicRoughness.create" id="hsY7=t$($=Mmi%YYIl,H"> <value name="Name"> <block type="text" id="f$?uZ?az=Zk@tcbn*,/f"> <field name="TEXT">Custom Name</field> </block> </value> <value name="BaseColor"> <block type="colour_picker" id="];s3ztOL!WWgQL~R4W1f"> <field name="COLOUR">#ff0000</field> </block> </value> <value name="Metallic"> <block type="math_number" id="1D7c~-?I#B8pj2Cx03SK"> <field name="NUM">0.4</field> </block> </value> <value name="Roughness"> <block type="math_number" id="BSrbyIM?g/`N(5XZcCtg"> <field name="NUM">0.6</field> </block> </value> <value name="Alpha"> <block type="math_number" id="{;b7^El(={l^YI=fYKxm"> <field name="NUM">1</field> </block> </value> <value name="BackFaceCulling"> <block type="logic_boolean" id="X{Oop:Jb.gRK?fAoH$Mi"> <field name="BOOL">TRUE</field> </block> </value> <value name="ZOffset"> <block type="math_number" id="-}OwtOi0a949.}d(BZ@T"> <field name="NUM">2</field> </block> </value> </block> </value> <value name="DrawEdges"> <block type="logic_boolean" id="Y{zlG2rB?s;H{[2:Q_7-"> <field name="BOOL">TRUE</field> </block> </value> <value name="EdgeColour"> <block type="colour_picker" id="Z}-T{;EP4Q2)A69)x*(X"> <field name="COLOUR">#ffffff</field> </block> </value> <value name="EdgeWidth"> <block type="math_number" id="5AIJ)hJGaokosG?_Ij,I"> <field name="NUM">3</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="bitbybit.babylon.mesh.setParent" id="E|n+s_BW@i~%FpMy=SaQ"> <value name="BabylonMesh"> <block type="variables_get" id="12I1%)Ba,F}m%+]=WQQd"> <field name="VAR" id="xNL=rfomO2om!X)}Gex6">drawnPoints1</field> </block> </value> <value name="ParentMesh"> <block type="variables_get" id="Xi$cLRZTBl0|WJOCXmcB"> <field name="VAR" id="8=3cW$e96!W|mj;A1{iB">ground</field> </block> </value> <next> <block type="bitbybit.babylon.mesh.setParent" id="k,{0m:~rTZ%kP,!Qx=~X"> <value name="BabylonMesh"> <block type="variables_get" id="AX~GKU-a#bu5te1jrf/Y"> <field name="VAR" id="UNOO|hja2c0m*fpQzRY@">drawnPoints2</field> </block> </value> <value name="ParentMesh"> <block type="variables_get" id="MC4gn+?g.s!#=GfV0e7P"> <field name="VAR" id="8=3cW$e96!W|mj;A1{iB">ground</field> </block> </value> <next> <block type="bitbybit.babylon.mesh.setParent" id="@^m6nW:nQJ+D-9!3{GAz"> <value name="BabylonMesh"> <block type="variables_get" id=":LbDlQu6_M2`sV!kFCi2"> <field name="VAR" id="DCDlbD3Q#$PWPSGP}j3.">drawnObject</field> </block> </value> <value name="ParentMesh"> <block type="variables_get" id="%|bl;,;2O?7501?3E^gU"> <field name="VAR" id="8=3cW$e96!W|mj;A1{iB">ground</field> </block> </value> <next> <block type="base_time_update" id="Ahz6-L!C1nIMOxf!kFi6"> <field name="TimePassedMs" id="*![r]sgpifD/Iq)*$PFH">timeElapsedFromPreviousFrame</field> <statement name="Update"> <block type="bitbybit.babylon.mesh.yaw" id="`EnE/5K~FbKbOf_8ihL7"> <value name="BabylonMesh"> <block type="variables_get" id="BxUj{Q|v4/D3PI0(`9t["> <field name="VAR" id="8=3cW$e96!W|mj;A1{iB">ground</field> </block> </value> <value name="Rotate"> <block type="math_number" id="Ly;0ufl{biC]L9eEL%I5"> <field name="NUM">0.05</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> </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> </xml>