VR Example

VR Example script details
Type
Blockly logo image
blockly
App Version
0.13.0
Visibility
public
Date Created
Oct 2, 2022, 2:04:49 PM
Last Edit Date
Dec 5, 2023, 6:19:47 PM

Script Details

The Code
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="3E_7h9U^uyN|uwS$tsb4">grid</variable> <variable id="mNef4@Xk#WuSakC@{`ik">ground</variable> <variable id=".QW0#G8m,q]NP#,wN5(0">cam</variable> <variable id="QOI:`A*@R%@b[-|M3|~R">scale</variable> <variable id="M](yOm(feT@k9QK.n@v7">points</variable> <variable id="!^ry)Mtf2A_wQ[oM?wx.">bezierWires</variable> <variable id="QmQ@5]/bDkg`8DLLFwXD">bezierWires2</variable> <variable id="qHg`tK__]aWKK;Qu8uF{">i</variable> <variable id="I|K3`$`#LIcG(|Xc*T4p">pt1</variable> <variable id="kT0|~J1u{kj9Zu=Gf0LN">result</variable> <variable id="xb@=67OJK[buXgf0U`d*">pt2</variable> <variable id=";26d.0Q%g#S0pX9J4qNA">beams</variable> <variable id="yDIeg~YQ+T~)3(;rIl_R">pt3</variable> <variable id="6GMLk1j*Mfm1}|iEKA~]">j</variable> <variable id="fp|uM9i5SZ6xwdHztTQk">pt4</variable> <variable id="=`;k#@kQ/DRviI:CeHy!">moveUp</variable> <variable id="7x2%ou]1RFCN,HGY(zAl">loft</variable> <variable id="A5|v{1pYTjBamm;+8`zE">movedDown</variable> <variable id="[qryOMT@]MUgvKXHoX_[">glass</variable> </variables> <block type="variables_set" id="J@RI)KI#Ex9cEH4f+mMG" x="-2941" y="-195"> <field name="VAR" id="3E_7h9U^uyN|uwS$tsb4">grid</field> <value name="VALUE"> <block type="bitbybit.draw.drawGridMesh" id="[f6v%s9?I=6P#^9Bjtv="> <value name="Width"> <block type="math_number" id="g}{^@_+M2[=kHsWt6pDJ"> <field name="NUM">400</field> </block> </value> <value name="Height"> <block type="math_number" id="dpN,?xhl7v]aFzD,Empx"> <field name="NUM">400</field> </block> </value> <value name="Subdivisions"> <block type="math_number" id="DJ%D6!8TD/3w`lfA$6yZ"> <field name="NUM">10</field> </block> </value> <value name="MajorUnitFrequency"> <block type="math_number" id="0kdZbe.yp+bayzT)^[sS"> <field name="NUM">10</field> </block> </value> <value name="MinorUnitVisibility"> <block type="math_number" id="3Aq}{TD`4;b6T_RAbL8b"> <field name="NUM">0.45</field> </block> </value> <value name="GridRatio"> <block type="math_number" id="xixlB|R-Bz7$v0xtNtG["> <field name="NUM">0.5</field> </block> </value> <value name="Opacity"> <block type="math_number" id="T$MFy1Sg;*wH!:]H9k#N"> <field name="NUM">0.5</field> </block> </value> <value name="BackFaceCulling"> <block type="logic_boolean" id="J~8m5|B/Q$kGT.57-:0V"> <field name="BOOL">TRUE</field> </block> </value> <value name="MainColor"> <block type="colour_picker" id="MF|Mi%ABk~iHr6elVm|G"> <field name="COLOUR">#ffffff</field> </block> </value> <value name="SecondaryColor"> <block type="colour_picker" id="RV;^y.g[09aJQ;Zs6B?5"> <field name="COLOUR">#ffffff</field> </block> </value> </block> </value> <next> <block type="variables_set" id="1^6aQ:`)2e6*v2dKi%Hb"> <field name="VAR" id="mNef4@Xk#WuSakC@{`ik">ground</field> <value name="VALUE"> <block type="bitbybit.draw.drawAnyAsync" id="Rg7re1o|KtIAh,l~FD=?"> <value name="Entity"> <block type="bitbybit.jscad.shapes.cuboid" id="ecaE-gKT:.u2u$h(dpZM"> <value name="Center"> <block type="bitbybit.point.pointXYZ" id="2Em3_!0gWNF}({M6=gzu"> <value name="X"> <block type="math_number" id="?/02E*p`-X7[,|/}[#3B"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="-0/_Osz3}NAMGpYHld^I"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id="-CK)**_7$$0}Z$S;?S@7"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="Width"> <block type="math_number" id="Po1HNuKbmo+Ugsxyh.,I"> <field name="NUM">100</field> </block> </value> <value name="Length"> <block type="math_number" id="?AtPQ86x5WrXd+zga9-,"> <field name="NUM">100</field> </block> </value> <value name="Height"> <block type="math_number" id="bO,.LH5VFDll?6!MzB~D"> <field name="NUM">0.1</field> </block> </value> </block> </value> <value name="Options"> <block type="bitbybit.draw.optionsSimple" id="2bVqr=|TK-GV;(0!z.6`"> <value name="Colours"> <block type="colour_picker" id="eFNKWENgfXvyk|7z5155"> <field name="COLOUR">#666666</field> </block> </value> <value name="Size"> <block type="math_number" id="sVI4}SdirZqFKx9FP4ml"> <field name="NUM">3</field> </block> </value> <value name="Opacity"> <block type="math_number" id="AJsLBYg#r*CWh-@:o(J4"> <field name="NUM">1</field> </block> </value> <value name="Updatable"> <block type="logic_boolean" id="qtq+v%84IVnFM8q3zhdZ"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="cONSNTjT68$7q:xGWT~2"> <field name="VAR" id=".QW0#G8m,q]NP#,wN5(0">cam</field> <value name="VALUE"> <block type="bitbybit.babylon.camera.free.create" id="2wMJHMtRhwa,W7GMt[ww"> <value name="Position"> <block type="bitbybit.point.pointXYZ" id="?R}Xt~HSM#OWfm!TWe%H"> <value name="X"> <block type="math_number" id="5]uheZhY(vOjv/[S0^.("> <field name="NUM">30</field> </block> </value> <value name="Y"> <block type="math_number" id="-_H[{:n^{gADVU^bkV16"> <field name="NUM">1.8</field> </block> </value> <value name="Z"> <block type="math_number" id="5bdboo]GS)z7q7w|5l8x"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="Target"> <block type="bitbybit.point.pointXYZ" id="O[)eo7eEV8PR1~]wPBRY"> <value name="X"> <block type="math_number" id="[H[4jsDK/j;M-UT9ho]I"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="tuOUXw8N*dGJc;j,d@L|"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id=")+8tT++{^dIzLO){m,j:"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <next> <block type="bitbybit.babylon.scene.activateCamera" id="c7In5]sa@%ndv$cm@pwa"> <value name="Camera"> <block type="variables_get" id="QX8fjd!d^Ha/A3e!xc4{"> <field name="VAR" id=".QW0#G8m,q]NP#,wN5(0">cam</field> </block> </value> <next> <block type="bitbybit.babylon.webxr.createDefaultXRExperienceWithTeleportation" id="#ir~)YnmK}HJ8I_a~Aw7"> <value name="GroundMeshes"> <block type="lists_create_with" id="wH](?;;8MAtsT@-2dQc`"> <mutation items="1"> </mutation> <value name="ADD0"> <block type="variables_get" id="m_Fwy),zs4h8m@hgq?Q("> <field name="VAR" id="3E_7h9U^uyN|uwS$tsb4">grid</field> </block> </value> </block> </value> <next> <block type="bitbybit.babylon.scene.drawPointLightNoReturn" id="HVu*K~Ffu/PAK#$;}TpA"> <value name="Position"> <block type="bitbybit.point.pointXYZ" id="=nf/@Rk7QhF%klM{AeAW"> <value name="X"> <block type="math_number" id="AvSo[h^VmOXGf7Yl-qfZ"> <field name="NUM">5</field> </block> </value> <value name="Y"> <block type="math_number" id=",e3wX7:H4upY@KxL(hy@"> <field name="NUM">30</field> </block> </value> <value name="Z"> <block type="math_number" id="9X}rt5EHw-A2om(XYP`1"> <field name="NUM">5</field> </block> </value> </block> </value> <value name="Intensity"> <block type="math_number" id=";6:D?o!:R#lzsk;nC}Go"> <field name="NUM">4000</field> </block> </value> <value name="Diffuse"> <block type="colour_picker" id="y]S]26WI?^69cFv*[%+/"> <field name="COLOUR">#ffffff</field> </block> </value> <value name="Specular"> <block type="colour_picker" id="OMe]mG?6g3bxwj0eK;BX"> <field name="COLOUR">#ffffff</field> </block> </value> <value name="Radius"> <block type="math_number" id="[[S%4hDxP|Rx6v0l_cLw"> <field name="NUM">0.05</field> </block> </value> <value name="ShadowGeneratorMapSize"> <block type="math_number" id="V.@rJnehc3P5YT~m)=1f"> <field name="NUM">512</field> </block> </value> <value name="EnableShadows"> <block type="logic_boolean" id="3k|q+5n@0Z6EH(DZFhJ6"> <field name="BOOL">TRUE</field> </block> </value> <value name="ShadowDarkness"> <block type="math_number" id="]uW6|`B0U?}Kb.mO_Rgu"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="m[g}[DY__S|VgY`b8[rt"> <field name="VAR" id="QOI:`A*@R%@b[-|M3|~R">scale</field> <value name="VALUE"> <block type="math_number" id="a;@d%Jr2QBcqYYm,Zi_0"> <field name="NUM">0.3</field> </block> </value> <next> <block type="variables_set" id="T*JraYz/.Bqub2sCz5*?"> <field name="VAR" id="M](yOm(feT@k9QK.n@v7">points</field> <value name="VALUE"> <block type="lists_create_with" id="wKU8==iV,S7cT,dBc{Mp"> <mutation items="0"> </mutation> </block> </value> <next> <block type="variables_set" id="liyma2[sZJL3n+=(zi+:"> <field name="VAR" id="!^ry)Mtf2A_wQ[oM?wx.">bezierWires</field> <value name="VALUE"> <block type="lists_create_with" id="Wx1U]1-=l_;k$jRdnnD}"> <mutation items="0"> </mutation> </block> </value> <next> <block type="variables_set" id="DuMG;XlhMX;]fQ+B!~Cr"> <field name="VAR" id="QmQ@5]/bDkg`8DLLFwXD">bezierWires2</field> <value name="VALUE"> <block type="lists_create_with" id="dhbZALa*o}F$?=xMmz@]"> <mutation items="0"> </mutation> </block> </value> <next> <block type="controls_for" id="b673GnoR,x~)tGeST[5X"> <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field> <value name="FROM"> <block type="math_number" id="/n-?=XWo%YVs1]v?x?$D"> <field name="NUM">10</field> </block> </value> <value name="TO"> <block type="math_number" id="y(dHY(WqsO.b.@Ai0jH5"> <field name="NUM">40</field> </block> </value> <value name="BY"> <block type="math_number" id="?H/O[2AX?:2(r(uA#m_6"> <field name="NUM">1</field> </block> </value> <statement name="DO"> <block type="variables_set" id="Q8ffY3Q@,mFW-:_YtrZ4"> <field name="VAR" id="I|K3`$`#LIcG(|Xc*T4p">pt1</field> <value name="VALUE"> <block type="bitbybit.point.transformPoint" id="qefaorTmP=i8SUg)J4(~"> <value name="Point"> <block type="bitbybit.point.pointXYZ" id="QnKZ`)UIjw||f~{%@%kM"> <value name="X"> <block type="math_arithmetic" id="]eR_qJJp9]Ha8vm;~S-x"> <field name="OP">MULTIPLY</field> <value name="A"> <block type="variables_get" id=":rmv`ML@JISKJmZy:bMf"> <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field> </block> </value> <value name="B"> <block type="math_number" id="IHlG[E3+i5gAstFC2Dem"> <field name="NUM">0.3</field> </block> </value> </block> </value> <value name="Y"> <block type="math_arithmetic" id="!:UO4l$^BX5aQXCBb@|~"> <field name="OP">MULTIPLY</field> <value name="A"> <block type="variables_get" id="A7;B/G6EFh:vLSPR,C:a"> <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field> </block> </value> <value name="B"> <block type="math_arithmetic" id="qKSe`AF7qhTP15dvlem:"> <field name="OP">DIVIDE</field> <value name="A"> <block type="variables_get" id="0x;2A3u.lCOwgRKA2F,5"> <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field> </block> </value> <value name="B"> <block type="math_number" id="PNRH3L?q0~;e;d58]tZ*"> <field name="NUM">20</field> </block> </value> </block> </value> </block> </value> <value name="Z"> <block type="math_arithmetic" id="D,)rpZ}+NdDO2AKKLisU"> <field name="OP">MULTIPLY</field> <value name="A"> <block type="variables_get" id="CA*G`HS@_epP,)%^zM8b"> <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field> </block> </value> <value name="B"> <block type="math_number" id="9p?yCg#3_5[Seajg+OpA"> <field name="NUM">0.1</field> </block> </value> </block> </value> </block> </value> <value name="Transformation"> <block type="bitbybit.babylon.transforms.rotationCenterY" id="#-+yQWCjjU*:|/a2veK8"> <value name="Angle"> <block type="math_arithmetic" id="1iVo%CK11U)*}Dc_=c$I"> <field name="OP">MULTIPLY</field> <value name="A"> <block type="variables_get" id="n[f4AS4f;4GrF[M4ltR;"> <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field> </block> </value> <value name="B"> <block type="math_number" id="QX-TUb)ISH!*e8Qv)s%?"> <field name="NUM">30</field> </block> </value> </block> </value> <value name="Center"> <block type="bitbybit.point.pointXYZ" id="Gv~M(#+-1@zLGhp/~zFN"> <value name="X"> <block type="math_number" id="`XiI*8:;8JdT8F:3f[Ph"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="5((tJj?=X$mu|f:|k4nv"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id="PmN61x(@vb;,jvpa)rX="> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="1M~Eo#Sc6@DE4WvoixBJ"> <field name="VAR" id="xb@=67OJK[buXgf0U`d*">pt2</field> <value name="VALUE"> <block type="bitbybit.point.transformPoint" id=".@cinGt;U84JIt@Q3$.U"> <value name="Point"> <block type="bitbybit.point.pointXYZ" id="P#9Z)u8_nY(Ka]H*Els|"> <value name="X"> <block type="math_arithmetic" id="3q7(64NOR;Yc63K1mzB1"> <field name="OP">DIVIDE</field> <value name="A"> <block type="variables_get" id="WQ*oMj^K/KXZg/X}zfo3"> <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field> </block> </value> <value name="B"> <block type="math_number" id="cRw4-`j8#__1zb3$eyaK"> <field name="NUM">2</field> </block> </value> </block> </value> <value name="Y"> <block type="math_arithmetic" id=".$(NwytGr2%tzzzj5f$`"> <field name="OP">MULTIPLY</field> <value name="A"> <block type="variables_get" id="LTHnIvpP%W.^OxG;ZP1("> <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field> </block> </value> <value name="B"> <block type="math_arithmetic" id="0wPDAkGImv9w1tJ]}fGi"> <field name="OP">DIVIDE</field> <value name="A"> <block type="variables_get" id="b#O|wEa6K3%tS2N93)g|"> <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field> </block> </value> <value name="B"> <block type="math_number" id="1q6,FSm+N7r3umK+$5@I"> <field name="NUM">70</field> </block> </value> </block> </value> </block> </value> <value name="Z"> <block type="math_arithmetic" id="k3/zW7?02]U%(PeR[LwY"> <field name="OP">MULTIPLY</field> <value name="A"> <block type="variables_get" id="Wo.o1yUj1lB{8a?-AV!I"> <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field> </block> </value> <value name="B"> <block type="math_number" id="N22]QJe^dFtYKn-%SdRR"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> <value name="Transformation"> <block type="bitbybit.babylon.transforms.rotationCenterY" id="^SbqqI@P|HJ=JM]CI~5C"> <value name="Angle"> <block type="math_arithmetic" id="q1!ODV,?9E#yP^#k;7Cb"> <field name="OP">MULTIPLY</field> <value name="A"> <block type="variables_get" id="=6f=g8;nTZOzm}8z6csJ"> <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field> </block> </value> <value name="B"> <block type="math_number" id="jtxWpZ+tyPiPQTfStLXk"> <field name="NUM">30</field> </block> </value> </block> </value> <value name="Center"> <block type="bitbybit.point.pointXYZ" id="M:,xgEg@$9*SB/#-J4Db"> <value name="X"> <block type="math_number" id="#TS0{Y*pNI2|(Z?]ic2q"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="h*(zS+.dAJ)IrS;91XEC"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id="b+Kf^`wX8Rmbp9e@Ut8N"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="dEmH/e=[-Zq}r:n9=k[W"> <field name="VAR" id="yDIeg~YQ+T~)3(;rIl_R">pt3</field> <value name="VALUE"> <block type="bitbybit.point.transformPoint" id="S5DcYA7#~8O3[6X/_p{z"> <value name="Point"> <block type="bitbybit.point.pointXYZ" id="2){?Npo2_/2IlcfDo`+J"> <value name="X"> <block type="math_arithmetic" id="Z;wLdFNG*j9)DflpBf3V"> <field name="OP">MULTIPLY</field> <value name="A"> <block type="variables_get" id="M*nNMb{twTG-u79%4[Fk"> <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field> </block> </value> <value name="B"> <block type="math_number" id="6z%22/CmNBKXJ6==rRKM"> <field name="NUM">2</field> </block> </value> </block> </value> <value name="Y"> <block type="math_arithmetic" id="eO;lAwt:(q{sRbHa(`}q"> <field name="OP">MULTIPLY</field> <value name="A"> <block type="variables_get" id="rgt]LPGd[%qB-C|,a8`P"> <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field> </block> </value> <value name="B"> <block type="math_arithmetic" id="..;1SSq)3jzxLH=_aGJD"> <field name="OP">DIVIDE</field> <value name="A"> <block type="variables_get" id="o.Iga9b:Frohy$@6#~TU"> <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field> </block> </value> <value name="B"> <block type="math_number" id=".-+-jm@|{3(6$Pkio;*W"> <field name="NUM">50</field> </block> </value> </block> </value> </block> </value> <value name="Z"> <block type="math_arithmetic" id="-eIDu[)}t?#Zf7X?B!DL"> <field name="OP">MULTIPLY</field> <value name="A"> <block type="variables_get" id="K;{@Q*-$K5W`4+1D/B(5"> <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field> </block> </value> <value name="B"> <block type="math_number" id="cpl|O;-(5J~VqSyCt_w3"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> <value name="Transformation"> <block type="bitbybit.babylon.transforms.rotationCenterY" id="Jq?sn*cAXk%+]%|eP7CD"> <value name="Angle"> <block type="math_arithmetic" id="jr}F{Pc;6iANgl5XOH*X"> <field name="OP">MULTIPLY</field> <value name="A"> <block type="variables_get" id="+id/[v4._5jg]vXev0X]"> <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field> </block> </value> <value name="B"> <block type="math_number" id="vX?RI`t%R+_nu:v.uH,?"> <field name="NUM">30</field> </block> </value> </block> </value> <value name="Center"> <block type="bitbybit.point.pointXYZ" id="N|d5l;KMFWvJI9jKFqsX"> <value name="X"> <block type="math_number" id="c/[AYZ8IT`8VwDT?,ox8"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="l|Jz15(y1kvV!E,DA0!%"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id="H}-/uTOZFt3Ke_qNv.il"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="}Di*fB%y/^Gf)ePCD(79"> <field name="VAR" id="fp|uM9i5SZ6xwdHztTQk">pt4</field> <value name="VALUE"> <block type="bitbybit.point.transformPoint" id="CuD2cN(-|%hMCK^}I}J-"> <value name="Point"> <block type="bitbybit.point.pointXYZ" id="av)@HCu@Czd|WA}`hcWr"> <value name="X"> <block type="math_arithmetic" id="b,u|pvVbhl!F_CI4$GTb"> <field name="OP">MULTIPLY</field> <value name="A"> <block type="variables_get" id="D(C_BPVfO!FeB~{%b|ya"> <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field> </block> </value> <value name="B"> <block type="math_number" id="aE$xdEK1,Vqj-Mr0PB;j"> <field name="NUM">2</field> </block> </value> </block> </value> <value name="Y"> <block type="math_number" id="BaYquK7zj2DQ,LU?:!e$"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_arithmetic" id="PeueAl#ou~R4({}%6AOf"> <field name="OP">MULTIPLY</field> <value name="A"> <block type="variables_get" id=":=wZ~GWyw2hKyTXv]xus"> <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field> </block> </value> <value name="B"> <block type="math_number" id="H(C|J/l]ul[Zmvb!KVPY"> <field name="NUM">1.5</field> </block> </value> </block> </value> </block> </value> <value name="Transformation"> <block type="bitbybit.babylon.transforms.rotationCenterY" id="+gnXvx_hjAi;xySGps3N"> <value name="Angle"> <block type="math_arithmetic" id="99AU9{he$tC3(^/}PDm?"> <field name="OP">MULTIPLY</field> <value name="A"> <block type="variables_get" id="o8^YX(rzKnk7,2*XMgS~"> <field name="VAR" id="qHg`tK__]aWKK;Qu8uF{">i</field> </block> </value> <value name="B"> <block type="math_number" id="j*S26Qu+^CJ%mBt=6RB#"> <field name="NUM">30</field> </block> </value> </block> </value> <value name="Center"> <block type="bitbybit.point.pointXYZ" id="FgtV[tF4*lLQMUcId1fD"> <value name="X"> <block type="math_number" id="T*HH/hJg%[v^Sd_qyY~e"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="(`vvR%,nW$46%c6gu/P="> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id="xBWq$yppXl-5FZT=~WTI"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="lists_setIndex" id=")md!QzM)p+qr~T}C^fWO"> <mutation at="false"> </mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="=]J*0B3V[~Ufq8[NwN2/"> <field name="VAR" id="!^ry)Mtf2A_wQ[oM?wx.">bezierWires</field> </block> </value> <value name="TO"> <block type="bitbybit.occt.shapes.wire.createBSpline" id="jdsm#W2oGUEwo4]P$:vQ"> <value name="Points"> <block type="lists_create_with" id="WrO/f[qz1{-[8DNV4!6K"> <mutation items="4"> </mutation> <value name="ADD0"> <block type="variables_get" id="34~j4^-d:YhGxxlEZ/.5"> <field name="VAR" id="I|K3`$`#LIcG(|Xc*T4p">pt1</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="w?X#+O`_l2qppp3ot14;"> <field name="VAR" id="xb@=67OJK[buXgf0U`d*">pt2</field> </block> </value> <value name="ADD2"> <block type="variables_get" id="vN|jjByue?uzGWw?=8^;"> <field name="VAR" id="yDIeg~YQ+T~)3(;rIl_R">pt3</field> </block> </value> <value name="ADD3"> <block type="variables_get" id="y=DGK36xkx.lP!w*n)3y"> <field name="VAR" id="fp|uM9i5SZ6xwdHztTQk">pt4</field> </block> </value> </block> </value> <value name="Closed"> <block type="logic_boolean" id="d_pUyEX1`W$nl~QOXiRf"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="base_time_then" id="R=hIp`qKHdS`Y$jcF9o2"> <field name="Result" id="kT0|~J1u{kj9Zu=Gf0LN">result</field> <value name="Promise"> <block type="variables_get" id="Vv@s-vb*UQO!-V#nQ83B"> <field name="VAR" id="!^ry)Mtf2A_wQ[oM?wx.">bezierWires</field> </block> </value> <statement name="Then"> <block type="variables_set" id="^R^g(MKz3}++$th0zXDe"> <field name="VAR" id=";26d.0Q%g#S0pX9J4qNA">beams</field> <value name="VALUE"> <block type="lists_create_with" id="J45/_]mn(ZL)D,9`ZN#I"> <mutation items="0"> </mutation> </block> </value> <next> <block type="controls_forEach" id="HtvbPy.n8b2[4Xalti=C"> <field name="VAR" id="6GMLk1j*Mfm1}|iEKA~]">j</field> <value name="LIST"> <block type="variables_get" id="]Em0?2ZCCYNxj!laYdsa"> <field name="VAR" id="kT0|~J1u{kj9Zu=Gf0LN">result</field> </block> </value> <statement name="DO"> <block type="variables_set" id="z(5/KqsR$TojwiEH^#Yx"> <field name="VAR" id="=`;k#@kQ/DRviI:CeHy!">moveUp</field> <value name="VALUE"> <block type="bitbybit.occt.transforms.translate" id="va@w(W)8.~{rGU`(WGwK"> <value name="Shape"> <block type="variables_get" id="QCNKq)k%X3ahvrRr$MHd"> <field name="VAR" id="6GMLk1j*Mfm1}|iEKA~]">j</field> </block> </value> <value name="Translation"> <block type="bitbybit.point.pointXYZ" id="G/4ViOG8OeoG-3u%3;2B"> <value name="X"> <block type="math_number" id="g;CF840yCu)hRoCCDy;!"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="nng}iBcCn9i-e5*|.pL*"> <field name="NUM">2</field> </block> </value> <value name="Z"> <block type="math_number" id="swQF]W~O2)=Q!i-~Y_oJ"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="o~(RIJlwL);9NZe!U`C^"> <field name="VAR" id="A5|v{1pYTjBamm;+8`zE">movedDown</field> <value name="VALUE"> <block type="bitbybit.occt.transforms.translate" id="mitG]7_M?mGR,~3RtMK}"> <value name="Shape"> <block type="variables_get" id="2+CpSI-PVAeU~wP8HrLs"> <field name="VAR" id="6GMLk1j*Mfm1}|iEKA~]">j</field> </block> </value> <value name="Translation"> <block type="bitbybit.point.pointXYZ" id="#,of(~WcHJ-@c/bo)_4C"> <value name="X"> <block type="math_number" id="FiKUME=?NQb#(gS,0qNr"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="7{(d#EO_!LQ7`PWWRyUH"> <field name="NUM">-2</field> </block> </value> <value name="Z"> <block type="math_number" id=".J0itX(fpD+lWVs~B|5@"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <next> <block type="lists_setIndex" id="Pcq.zNOy[#9m[/DAzZ7)"> <mutation at="false"> </mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="4fbj:sVPz]Eip9{GXSm6"> <field name="VAR" id=";26d.0Q%g#S0pX9J4qNA">beams</field> </block> </value> <value name="TO"> <block type="bitbybit.draw.drawAnyAsync" id="!*(?Z|Bc@}kXazz:ay3$"> <value name="Entity"> <block type="bitbybit.occt.transforms.scale" id="Xj;KWKx;BJg%%%7)$A[}"> <value name="Shape"> <block type="bitbybit.occt.operations.makeThickSolidSimple" id="q|QadBCYsq]bE=`h16lQ"> <value name="Shape"> <block type="bitbybit.occt.operations.loft" id="{Cg}MEa=qoGjZ.tw6V!;"> <value name="Shapes"> <block type="lists_create_with" id="pO(`PQaeLa_oP__L,?9x"> <mutation items="2"> </mutation> <value name="ADD0"> <block type="variables_get" id="uHT;pe#8hrDfi8{|J:LR"> <field name="VAR" id="A5|v{1pYTjBamm;+8`zE">movedDown</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="P$1;C#2tnn?qO:^Z6HUa"> <field name="VAR" id="=`;k#@kQ/DRviI:CeHy!">moveUp</field> </block> </value> </block> </value> <value name="MakeSolid"> <block type="logic_boolean" id="U6F%C_+8?6_wV2JAzi?F"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <value name="Offset"> <block type="math_number" id=")X,6qS1W1V*d[azgtQ=!"> <field name="NUM">-1.5</field> </block> </value> </block> </value> <value name="Factor"> <block type="variables_get" id="/2{uKSy^cb]RBafj{!6y"> <field name="VAR" id="QOI:`A*@R%@b[-|M3|~R">scale</field> </block> </value> </block> </value> <value name="Options"> <block type="bitbybit.draw.optionsOcctShape" id=",W0`~^Grj?EAowLV~mEc"> <value name="FaceOpacity"> <block type="math_number" id="ip$%a!p8am?KyA%*D=JP"> <field name="NUM">1</field> </block> </value> <value name="EdgeOpacity"> <block type="math_number" id="(4s:/0OhI_w,S([$LHa:"> <field name="NUM">1</field> </block> </value> <value name="EdgeColour"> <block type="colour_picker" id="vJze1g#n+iy5JgCyeyPR"> <field name="COLOUR">#ffffff</field> </block> </value> <value name="FaceColour"> <block type="colour_picker" id="3$tzYoRr0[#Q(InVJ6YG"> <field name="COLOUR">#333333</field> </block> </value> <value name="EdgeWidth"> <block type="math_number" id="*u8vs]2H@bO4FJeNwisW"> <field name="NUM">2</field> </block> </value> <value name="DrawEdges"> <block type="logic_boolean" id="[IN:W`b=60;Olnm0?#C!"> <field name="BOOL">FALSE</field> </block> </value> <value name="DrawFaces"> <block type="logic_boolean" id="Firc?/DXoq,5I#F|H_,x"> <field name="BOOL">TRUE</field> </block> </value> <value name="Precision"> <block type="math_number" id="5ih+TC9hI(0F6p,|c}o+"> <field name="NUM">0.2</field> </block> </value> <value name="DrawEdgeIndexes"> <block type="logic_boolean" id=".{Dh6.Dp6l#vfgluOH~x"> <field name="BOOL">FALSE</field> </block> </value> <value name="EdgeIndexHeight"> <block type="math_number" id=":vrZ;D01OPVN5MZ*3%1-"> <field name="NUM">0.06</field> </block> </value> <value name="EdgeIndexColour"> <block type="colour_picker" id="/s=l`svOZMV((@RT0yA_"> <field name="COLOUR">#bbbbff</field> </block> </value> <value name="DrawFaceIndexes"> <block type="logic_boolean" id="4F.:MXtgV]M+Ed9kjac,"> <field name="BOOL">FALSE</field> </block> </value> <value name="FaceIndexHeight"> <block type="math_number" id="/=D^*V,2;(y7;p;VV{@6"> <field name="NUM">0.06</field> </block> </value> <value name="FaceIndexColour"> <block type="colour_picker" id="c?WZUzueF5A;jE(Qrv2x"> <field name="COLOUR">#0000ff</field> </block> </value> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="variables_set" id="=IV~coT-T!*;3j{$#^Mj"> <field name="VAR" id="7x2%ou]1RFCN,HGY(zAl">loft</field> <value name="VALUE"> <block type="bitbybit.occt.transforms.scale" id="pJx0?axAtE$t;hR(D~ZX"> <value name="Shape"> <block type="bitbybit.occt.operations.makeThickSolidSimple" id="%+AhK`AwE}.5Iqp5w2X="> <value name="Shape"> <block type="bitbybit.occt.operations.loft" id="bTf[oRG^VnGO9Qrsf%Dx"> <value name="Shapes"> <block type="variables_get" id="~EB3XJ8vNa5#6|VkR35?"> <field name="VAR" id="kT0|~J1u{kj9Zu=Gf0LN">result</field> </block> </value> <value name="MakeSolid"> <block type="logic_boolean" id="v|+$l/x9C![xtN.`zR1v"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <value name="Offset"> <block type="math_number" id="eB4Ds.pyqq`dDL+mfR0a"> <field name="NUM">0.3</field> </block> </value> </block> </value> <value name="Factor"> <block type="variables_get" id="/]V^*-9}jLP)#DAD_!CW"> <field name="VAR" id="QOI:`A*@R%@b[-|M3|~R">scale</field> </block> </value> </block> </value> <next> <block type="variables_set" id="oOy65)s)vE`G7_7Fr,.K"> <field name="VAR" id="[qryOMT@]MUgvKXHoX_[">glass</field> <value name="VALUE"> <block type="bitbybit.draw.drawAnyAsync" id="9/^ic6kxX#YRuMfC{p=s"> <value name="Entity"> <block type="variables_get" id="E_u!o.;a_z|T)D2(A8W-"> <field name="VAR" id="7x2%ou]1RFCN,HGY(zAl">loft</field> </block> </value> <value name="Options"> <block type="bitbybit.draw.optionsOcctShape" id="oW%g.XWMvaGY7`v;6Th*"> <value name="FaceOpacity"> <block type="math_number" id="!t6n]ml{+rc[%:o8A2h8"> <field name="NUM">0.9</field> </block> </value> <value name="EdgeOpacity"> <block type="math_number" id="~%;c*C`H5]XKWNp9YIv*"> <field name="NUM">1</field> </block> </value> <value name="EdgeColour"> <block type="colour_picker" id="3H~!*;%MgBwP]b06M)`j"> <field name="COLOUR">#000000</field> </block> </value> <value name="FaceColour"> <block type="colour_picker" id="2lhR*bhzZ{hrmF7,$x7s"> <field name="COLOUR">#ff6600</field> </block> </value> <value name="EdgeWidth"> <block type="math_number" id="K~b=Adz3UGLywwL`]lKu"> <field name="NUM">10</field> </block> </value> <value name="DrawEdges"> <block type="logic_boolean" id="{.@g!*E_O[km-]WGx?5I"> <field name="BOOL">FALSE</field> </block> </value> <value name="DrawFaces"> <block type="logic_boolean" id="TC4O$6^R?AwogwJ{0m;r"> <field name="BOOL">TRUE</field> </block> </value> <value name="Precision"> <block type="math_number" id="`_`uuZle|]Tb_Y@%)Ahv"> <field name="NUM">0.1</field> </block> </value> <value name="DrawEdgeIndexes"> <block type="logic_boolean" id="+oTRx90vVBvCkdx7$vh2"> <field name="BOOL">FALSE</field> </block> </value> <value name="EdgeIndexHeight"> <block type="math_number" id="F0).M:z{*)UsC^7wSt5("> <field name="NUM">0.06</field> </block> </value> <value name="EdgeIndexColour"> <block type="colour_picker" id="TlN*7J8,FplFp1{UZo%S"> <field name="COLOUR">#bbbbff</field> </block> </value> <value name="DrawFaceIndexes"> <block type="logic_boolean" id="`+gPMI%%vPbjpvwvs;!G"> <field name="BOOL">FALSE</field> </block> </value> <value name="FaceIndexHeight"> <block type="math_number" id="YNYxU5nUd%a3wnykL?Qj"> <field name="NUM">0.06</field> </block> </value> <value name="FaceIndexColour"> <block type="colour_picker" id="r$V{9]|]aR#uwDNxtZ#z"> <field name="COLOUR">#0000ff</field> </block> </value> </block> </value> </block> </value> </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> </xml>