Script: 3D Text Blockly Example

3D Text Blockly Example picture
Type
Blockly logo indicatorblockly
Project
3D Texts
Author
matas
Date Created
Sep 15, 2023, 7:37:47 PM
Last Edit Date
Dec 5, 2023, 6:23:33 PM

Project Information

Example of how to create a 3D text in bitbybit.dev

View Full Project

Script Code

<xml xmlns="https://developers.google.com/blockly/xml">
 <variables>
  <variable id="Pn9}KYX~pZE|%~95T;.:">font</variable>
  <variable id="2}hE6T9p6i2#4.hjVLJz">drawOptions</variable>
  <variable id="mR+V`B1v.n^2**!bPYRh">text1</variable>
  <variable id="rhYS=aXC/,7Y[C4SZ$!a">text2</variable>
 </variables>
 <block type="bitbybit.babylon.scene.drawDirectionalLightNoReturn" id="nSQ,=WJ6R`V;@+K/8frO" x="-1039" y="-780">
  <value name="Direction">
   <block type="bitbybit.point.pointXYZ" id="N.}{pA4@CNHfRzMD#=tX">
    <value name="X">
     <block type="math_number" id="ypL!H1KduqxAOM^Ds%:5">
      <field name="NUM">-100</field>
     </block>
    </value>
    <value name="Y">
     <block type="math_number" id="}s48HsjpIMiK]gzh|4M4">
      <field name="NUM">-100</field>
     </block>
    </value>
    <value name="Z">
     <block type="math_number" id=":6Yfb7];;5tIv5b#:I/0">
      <field name="NUM">-100</field>
     </block>
    </value>
   </block>
  </value>
  <value name="Intensity">
   <block type="math_number" id="mT[={,XWaX1PCoWzV$qC">
    <field name="NUM">0.5</field>
   </block>
  </value>
  <value name="Diffuse">
   <block type="colour_picker" id="S%~Dn1E*t/dA0oA#NY+^">
    <field name="COLOUR">#ffffff</field>
   </block>
  </value>
  <value name="Specular">
   <block type="colour_picker" id="yTMVn0mb9jK~q|B:Uwv#">
    <field name="COLOUR">#ffffff</field>
   </block>
  </value>
  <value name="ShadowGeneratorMapSize">
   <block type="math_number" id="Gy(VD2%8;k`]~krn,_fi">
    <field name="NUM">1024</field>
   </block>
  </value>
  <value name="EnableShadows">
   <block type="logic_boolean" id="`+`TpJt7jSkcyXvoS.R^">
    <field name="BOOL">TRUE</field>
   </block>
  </value>
  <value name="ShadowDarkness">
   <block type="math_number" id="L^r/?|{T1t@EGfDD;ZzQ">
    <field name="NUM">0</field>
   </block>
  </value>
  <next>
   <block type="variables_set" id="@cwMJBSL,EKg0Dj=:7Fk">
    <field name="VAR" id="Pn9}KYX~pZE|%~95T;.:">font</field>
    <value name="VALUE">
     <block type="bitbybit.advanced.text3d.fontsEnum" id="kHBF@vG;L+lR[=/Zj3@|">
      <field name="bitbybit.advanced.text3d.fontsEnum">'Tektur'</field>
     </block>
    </value>
    <next>
     <block type="variables_set" id="!_LvwtgqRxEYog7D9N#@">
      <field name="VAR" id="2}hE6T9p6i2#4.hjVLJz">drawOptions</field>
      <value name="VALUE">
       <block type="bitbybit.draw.optionsOcctShapeSimple" id="ea$Ug!I7L:gJyMkZd[;@">
        <value name="Precision">
         <block type="math_number" id="i#+GR=Dm!ttSPyj_a;=@">
          <field name="NUM">0.05</field>
         </block>
        </value>
        <value name="DrawFaces">
         <block type="logic_boolean" id="2l1]AvTij0yzC]e;0$#S">
          <field name="BOOL">TRUE</field>
         </block>
        </value>
        <value name="FaceColour">
         <block type="colour_picker" id="*]QLu*rSp07|-eyg4I-Q">
          <field name="COLOUR">#3366ff</field>
         </block>
        </value>
        <value name="DrawEdges">
         <block type="logic_boolean" id="Qi8OLcY!Cut,RLObHzkS">
          <field name="BOOL">TRUE</field>
         </block>
        </value>
        <value name="EdgeColour">
         <block type="colour_picker" id="g8|WZ(WdD=Sjz:5wa2i`">
          <field name="COLOUR">#bbbbff</field>
         </block>
        </value>
        <value name="EdgeWidth">
         <block type="math_number" id="]0iqruIwGG}^]~5A-aa_">
          <field name="NUM">2</field>
         </block>
        </value>
       </block>
      </value>
      <next>
       <block type="base_time_async_context" id="WR3.KJogn*SiNX/DIqy-">
        <statement name="Then">
         <block type="variables_set" id="VB*9{Z(G`XGwZ}R?WQ^J">
          <field name="VAR" id="mR+V`B1v.n^2**!bPYRh">text1</field>
          <value name="VALUE">
           <block type="base_time_await_return" id="YRO,Eob]!bB6A;@?k~x$">
            <value name="Promise">
             <block type="bitbybit.advanced.text3d.create" id="$vh1vCCZRgh7JJSYr1Xj">
              <value name="Text">
               <block type="text" id="9b`x-__6XGta_^d,~q:d">
                <field name="TEXT">bitbybit.dev</field>
               </block>
              </value>
              <value name="FontType">
               <block type="variables_get" id="aS3#Ap.KrecET2jr;[{C">
                <field name="VAR" id="Pn9}KYX~pZE|%~95T;.:">font</field>
               </block>
              </value>
              <value name="FontVariant">
               <block type="bitbybit.advanced.text3d.fontVariantsEnum" id="F,+pTcCC3Qqrv?Wc+6fy">
                <field name="bitbybit.advanced.text3d.fontVariantsEnum">'Regular'</field>
               </block>
              </value>
              <value name="FontSize">
               <block type="math_number" id="d:o$H5+*Iw![$-K`}?^D">
                <field name="NUM">1.5</field>
               </block>
              </value>
              <value name="Height">
               <block type="math_number" id="FtVnF|bc|A=0#JQIf9]P">
                <field name="NUM">0.2</field>
               </block>
              </value>
              <value name="Rotation">
               <block type="math_number" id="/xhh@}Rm}I!n?oP[T_{1">
                <field name="NUM">-90</field>
               </block>
              </value>
              <value name="Origin">
               <block type="bitbybit.point.pointXYZ" id=";qJ;ad]!D|3J.PD9v7-S">
                <value name="X">
                 <block type="math_number" id="22FY;qfJ-tR0g`O=-8Ah">
                  <field name="NUM">0</field>
                 </block>
                </value>
                <value name="Y">
                 <block type="math_number" id="_a-h~cU.7fiJmPK@Zf4L">
                  <field name="NUM">0</field>
                 </block>
                </value>
                <value name="Z">
                 <block type="math_number" id="(-/r~C`D=mlikkCi8?.t">
                  <field name="NUM">1</field>
                 </block>
                </value>
               </block>
              </value>
              <value name="Direction">
               <block type="bitbybit.point.pointXYZ" id="W@SXpd[iQpGj`)%gFt32">
                <value name="X">
                 <block type="math_number" id="]^yq=|]#V3sxf_TM|*9r">
                  <field name="NUM">0</field>
                 </block>
                </value>
                <value name="Y">
                 <block type="math_number" id="!z$^;ilXf,pR.lEC@dba">
                  <field name="NUM">0</field>
                 </block>
                </value>
                <value name="Z">
                 <block type="math_number" id="8H8ysSt|?2_*,nVLKo!E">
                  <field name="NUM">1</field>
                 </block>
                </value>
               </block>
              </value>
             </block>
            </value>
           </block>
          </value>
          <next>
           <block type="bitbybit.draw.drawAnyAsyncNoReturn" id="9(BU_ZI%h79HZoKK|?_Y">
            <value name="Entity">
             <block type="lists_getIndex" id="-N.e1_L,,:?=P]1ZQp]r">
              <mutation statement="false" at="false">
              </mutation>
              <field name="MODE">GET</field>
              <field name="WHERE">FIRST</field>
              <value name="VALUE">
               <block type="bitbybit.json.query" id="6k@.soz[bN2MX6_?[O+`">
                <value name="Json">
                 <block type="variables_get" id="RTP9=0#;6nz/#fr!z+cM">
                  <field name="VAR" id="mR+V`B1v.n^2**!bPYRh">text1</field>
                 </block>
                </value>
                <value name="Query">
                 <block type="text" id="xMh]dCJy%EYoyB5[BYR2">
                  <field name="TEXT">$.compound</field>
                 </block>
                </value>
               </block>
              </value>
             </block>
            </value>
            <value name="Options">
             <block type="variables_get" id="Y#S7q%28tV@Th0b*@W)c">
              <field name="VAR" id="2}hE6T9p6i2#4.hjVLJz">drawOptions</field>
             </block>
            </value>
            <next>
             <block type="variables_set" id="=.PhskFpUL,44qdlP(Hv">
              <field name="VAR" id="rhYS=aXC/,7Y[C4SZ$!a">text2</field>
              <value name="VALUE">
               <block type="base_time_await_return" id="c;Jjk3uV4:q$dO{jQH(O">
                <value name="Promise">
                 <block type="bitbybit.advanced.text3d.create" id="KfF]^}IGK3F+r-;;-Ryk">
                  <value name="Text">
                   <block type="text" id="OPjk:bA%uV`Xojul/tz.">
                    <field name="TEXT">bitbybit.dev</field>
                   </block>
                  </value>
                  <value name="FontType">
                   <block type="variables_get" id="W~E8}=bCK*wPQ,DP,=Qf">
                    <field name="VAR" id="Pn9}KYX~pZE|%~95T;.:">font</field>
                   </block>
                  </value>
                  <value name="FontVariant">
                   <block type="bitbybit.advanced.text3d.fontVariantsEnum" id="I8H)r+]%o()yn!YtDk?o">
                    <field name="bitbybit.advanced.text3d.fontVariantsEnum">'Regular'</field>
                   </block>
                  </value>
                  <value name="FontSize">
                   <block type="math_number" id="FIB!HoIa?J)v60k~=sya">
                    <field name="NUM">1.5</field>
                   </block>
                  </value>
                  <value name="Height">
                   <block type="math_number" id="O5r#2{rj[i`lBHw7g|_o">
                    <field name="NUM">0.2</field>
                   </block>
                  </value>
                  <value name="Rotation">
                   <block type="math_number" id="LbQ$F^j`J_s|ix-ct4O?">
                    <field name="NUM">-90</field>
                   </block>
                  </value>
                  <value name="Origin">
                   <block type="bitbybit.point.pointXYZ" id="3g[LdG_IgCm,v8=nC^b3">
                    <value name="X">
                     <block type="math_number" id="AaM;r`TzU0v_X=V8@7k7">
                      <field name="NUM">0</field>
                     </block>
                    </value>
                    <value name="Y">
                     <block type="math_number" id="E{{+~Fp[o:Kl,l{aPdG9">
                      <field name="NUM">0</field>
                     </block>
                    </value>
                    <value name="Z">
                     <block type="math_number" id="p$!XuO5,?HU0}?x$|b_P">
                      <field name="NUM">-1</field>
                     </block>
                    </value>
                   </block>
                  </value>
                  <value name="Direction">
                   <block type="bitbybit.point.pointXYZ" id="o0O8g.^}H;SWXq^|)BNk">
                    <value name="X">
                     <block type="math_number" id=";LS]T|]_|(!Wp[`qic_j">
                      <field name="NUM">0</field>
                     </block>
                    </value>
                    <value name="Y">
                     <block type="math_number" id="%a(RsK@XoF?GNxag^]A}">
                      <field name="NUM">0</field>
                     </block>
                    </value>
                    <value name="Z">
                     <block type="math_number" id="*wKx*$U?IBb?F*_9-.!O">
                      <field name="NUM">-1</field>
                     </block>
                    </value>
                   </block>
                  </value>
                 </block>
                </value>
               </block>
              </value>
              <next>
               <block type="bitbybit.draw.drawAnyAsyncNoReturn" id="5u.=]MTrr=.h(s[79.W7">
                <value name="Entity">
                 <block type="lists_getIndex" id="BHv-Iny{7cWK|bE8pPc#">
                  <mutation statement="false" at="false">
                  </mutation>
                  <field name="MODE">GET</field>
                  <field name="WHERE">FIRST</field>
                  <value name="VALUE">
                   <block type="bitbybit.json.query" id="j1AW`z*hM_[:~]MyT-c]">
                    <value name="Json">
                     <block type="variables_get" id="|WDKJBEgTm!5~T8,6H~n">
                      <field name="VAR" id="rhYS=aXC/,7Y[C4SZ$!a">text2</field>
                     </block>
                    </value>
                    <value name="Query">
                     <block type="text" id="Gk`S!W~,WegC:4+F%Bw=">
                      <field name="TEXT">$.compound</field>
                     </block>
                    </value>
                   </block>
                  </value>
                 </block>
                </value>
                <value name="Options">
                 <block type="variables_get" id="s#Zdj/m}hs?9z)o]N@pd">
                  <field name="VAR" id="2}hE6T9p6i2#4.hjVLJz">drawOptions</field>
                 </block>
                </value>
               </block>
              </next>
             </block>
            </next>
           </block>
          </next>
         </block>
        </statement>
        <next>
         <block type="bitbybit.draw.drawAnyAsyncNoReturn" id="QhG*y(Cmm,+|zXHJg2vU">
          <value name="Entity">
           <block type="bitbybit.advanced.text3d.create" id="(3H]*d^iI-jW*7ov$b;S">
            <value name="Text">
             <block type="text" id="5@kJdrq(is^xJndWSmAI">
              <field name="TEXT">bitbybit.dev</field>
             </block>
            </value>
            <value name="FontType">
             <block type="variables_get" id="n%_`v4[$@JpVYKksjqd#">
              <field name="VAR" id="Pn9}KYX~pZE|%~95T;.:">font</field>
             </block>
            </value>
            <value name="FontVariant">
             <block type="bitbybit.advanced.text3d.fontVariantsEnum" id="E2.(I:$d+!GBJvgwNPha">
              <field name="bitbybit.advanced.text3d.fontVariantsEnum">'Regular'</field>
             </block>
            </value>
            <value name="FontSize">
             <block type="math_number" id="o6L@1Ur@kYJpnlzzscRa">
              <field name="NUM">1.5</field>
             </block>
            </value>
            <value name="Height">
             <block type="math_number" id="?WJ%N[1K[~W#W)umhj!Y">
              <field name="NUM">0.2</field>
             </block>
            </value>
            <value name="Rotation">
             <block type="math_number" id="ot({}~]DgomT-}$P0J@$">
              <field name="NUM">90</field>
             </block>
            </value>
            <value name="Origin">
             <block type="bitbybit.point.pointXYZ" id="Sce:adPo]/_.Tn7f[kHg">
              <value name="X">
               <block type="math_number" id="7vzvQ$Xt-$7/XSe*Eq:L">
                <field name="NUM">1</field>
               </block>
              </value>
              <value name="Y">
               <block type="math_number" id="#eqd9Kr)qco6NvAz:wGt">
                <field name="NUM">0</field>
               </block>
              </value>
              <value name="Z">
               <block type="math_number" id=";V@Sn,^oF36jv|FO5I+v">
                <field name="NUM">0</field>
               </block>
              </value>
             </block>
            </value>
            <value name="Direction">
             <block type="bitbybit.point.pointXYZ" id="T/djB@q@kY!%8%jr?F;)">
              <value name="X">
               <block type="math_number" id="[X/[NJwFuH}p{z74.!K,">
                <field name="NUM">1</field>
               </block>
              </value>
              <value name="Y">
               <block type="math_number" id="(/Ol]e5?:~*pC~9JtUD[">
                <field name="NUM">0</field>
               </block>
              </value>
              <value name="Z">
               <block type="math_number" id=".sirg[;,?C)H8SvDC/9c">
                <field name="NUM">0</field>
               </block>
              </value>
             </block>
            </value>
           </block>
          </value>
          <next>
           <block type="bitbybit.draw.drawAnyAsyncNoReturn" id="66YYnsuM8=%Q|-oRH5~]">
            <value name="Entity">
             <block type="bitbybit.advanced.text3d.create" id="E6|c3BU|bZRE,lfm}17p">
              <value name="Text">
               <block type="text" id="];N[F%3VqYN.+l#i=!OR">
                <field name="TEXT">bitbybit.dev</field>
               </block>
              </value>
              <value name="FontType">
               <block type="variables_get" id="L0zCs8p0C`J{F0qi8!;x">
                <field name="VAR" id="Pn9}KYX~pZE|%~95T;.:">font</field>
               </block>
              </value>
              <value name="FontVariant">
               <block type="bitbybit.advanced.text3d.fontVariantsEnum" id="7:6RaQ(d_s0pt5`$U6$:">
                <field name="bitbybit.advanced.text3d.fontVariantsEnum">'Regular'</field>
               </block>
              </value>
              <value name="FontSize">
               <block type="math_number" id="[,(}XeBD@]j#ka1q(Yfi">
                <field name="NUM">1.5</field>
               </block>
              </value>
              <value name="Height">
               <block type="math_number" id="YkjvC~lyR*B.NH6=O/`t">
                <field name="NUM">0.2</field>
               </block>
              </value>
              <value name="Rotation">
               <block type="math_number" id="]V=zLECKA8!za4MuC`$}">
                <field name="NUM">90</field>
               </block>
              </value>
              <value name="Origin">
               <block type="bitbybit.point.pointXYZ" id="/YnpE#fQ;znSYL2IUDVO">
                <value name="X">
                 <block type="math_number" id="tW%hDMJ;=th_smU[{ARo">
                  <field name="NUM">-1</field>
                 </block>
                </value>
                <value name="Y">
                 <block type="math_number" id="qr3^q7n+q[Fsl/X8gDqP">
                  <field name="NUM">0</field>
                 </block>
                </value>
                <value name="Z">
                 <block type="math_number" id="[yY|YITS)ERk$8)[{ZZ:">
                  <field name="NUM">0</field>
                 </block>
                </value>
               </block>
              </value>
              <value name="Direction">
               <block type="bitbybit.point.pointXYZ" id="E/jpHkAV@_r#_h#AYf5^">
                <value name="X">
                 <block type="math_number" id="[ap3[%2B}uHeKIsE;f;X">
                  <field name="NUM">-1</field>
                 </block>
                </value>
                <value name="Y">
                 <block type="math_number" id="}PtWX@8jW2FD3yyY%G~S">
                  <field name="NUM">0</field>
                 </block>
                </value>
                <value name="Z">
                 <block type="math_number" id="Y.?kL`ZIPRVH$^Zq:WAa">
                  <field name="NUM">0</field>
                 </block>
                </value>
               </block>
              </value>
             </block>
            </value>
            <next>
             <block type="bitbybit.draw.drawAnyAsyncNoReturn" id="H-jowAU}j3naI-fH/_eZ">
              <value name="Entity">
               <block type="bitbybit.occt.shapes.face.createCircleFace" id="9kM+DDYB{@8h)4}jmr97">
                <value name="Radius">
                 <block type="math_number" id="l80iNrVB5hG3V:^R*/~Q">
                  <field name="NUM">10</field>
                 </block>
                </value>
                <value name="Center">
                 <block type="bitbybit.point.pointXYZ" id=":g20RCMAW2()j=^wr:(E">
                  <value name="X">
                   <block type="math_number" id="N;g#`PGkb4Q|.86WTW_:">
                    <field name="NUM">0</field>
                   </block>
                  </value>
                  <value name="Y">
                   <block type="math_number" id="tdG)a`M@S]5Zl8U#vLl6">
                    <field name="NUM">-0.2</field>
                   </block>
                  </value>
                  <value name="Z">
                   <block type="math_number" id="@`G95C8BqVq0F,w+}30l">
                    <field name="NUM">0</field>
                   </block>
                  </value>
                 </block>
                </value>
                <value name="Direction">
                 <block type="bitbybit.point.pointXYZ" id="f0+K|7Fr?3L0$B3:WYxl">
                  <value name="X">
                   <block type="math_number" id="k8Z41#niO,i`:Z73wz5~">
                    <field name="NUM">0</field>
                   </block>
                  </value>
                  <value name="Y">
                   <block type="math_number" id="Fg=?XwZ`xX+gmIiu/NkE">
                    <field name="NUM">1</field>
                   </block>
                  </value>
                  <value name="Z">
                   <block type="math_number" id="YM@-}r?JG}e_L:o/t$(z">
                    <field name="NUM">0</field>
                   </block>
                  </value>
                 </block>
                </value>
               </block>
              </value>
              <value name="Options">
               <block type="bitbybit.draw.optionsOcctShapeSimple" id="a!%j$3^)L.,4Zk6ex7Us">
                <value name="Precision">
                 <block type="math_number" id="K|`orbznskepI)r!%^HL">
                  <field name="NUM">0.05</field>
                 </block>
                </value>
                <value name="DrawFaces">
                 <block type="logic_boolean" id="yEYgbI|Nvnh=z,3Z?SJS">
                  <field name="BOOL">TRUE</field>
                 </block>
                </value>
                <value name="FaceColour">
                 <block type="colour_picker" id="8F*+PXL$zzQ!v#u~iyt-">
                  <field name="COLOUR">#ffffff</field>
                 </block>
                </value>
                <value name="DrawEdges">
                 <block type="logic_boolean" id="+e+~m^]Glu`BFvf-8TYA">
                  <field name="BOOL">TRUE</field>
                 </block>
                </value>
                <value name="EdgeColour">
                 <block type="colour_picker" id="U#Q_37gye_(/j2Oed@}8">
                  <field name="COLOUR">#bbbbff</field>
                 </block>
                </value>
                <value name="EdgeWidth">
                 <block type="math_number" id="7h8+LdWGUFwG6U)+5RPK">
                  <field name="NUM">2</field>
                 </block>
                </value>
               </block>
              </value>
             </block>
            </next>
           </block>
          </next>
         </block>
        </next>
       </block>
      </next>
     </block>
    </next>
   </block>
  </next>
 </block>
</xml>