Script: Example in Blockly

Example in Blockly picture
Type
Blockly logo indicatorblockly
Date Created
Mar 19, 2021, 10:41:30 AM
Last Edit Date
Dec 5, 2023, 8:15:33 PM

Project Information

This example demonstrates the transformation of a circle. Simple iteration applies rotation and scale transformations to create beautiful shell like structural elements.

View Full Project

Script Code

<xml xmlns="https://developers.google.com/blockly/xml">
 <variables>
  <variable id="#m#?`4B/fIGB5f^ctze!">circles</variable>
  <variable id="_K.Y}_:Z}Kr^6#P(R.}c">i</variable>
 </variables>
 <block type="variables_set" id="AD|+IhFM/R,|G~K}OUB`" x="-2024" y="61">
  <field name="VAR" id="#m#?`4B/fIGB5f^ctze!">circles</field>
  <value name="VALUE">
   <block type="lists_create_with" id="/EPm)Z8HKO2RGz}:P.W@">
    <mutation items="0">
    </mutation>
   </block>
  </value>
  <next>
   <block type="controls_for" id="CUJyz{Mz/s|[b9@BQ;9#">
    <field name="VAR" id="_K.Y}_:Z}Kr^6#P(R.}c">i</field>
    <value name="FROM">
     <block type="math_number" id=")2eo=W)n2):(A]*q~k.D">
      <field name="NUM">0</field>
     </block>
    </value>
    <value name="TO">
     <block type="math_number" id="/-_?{L8D?b3SwsKxoM2;">
      <field name="NUM">20</field>
     </block>
    </value>
    <value name="BY">
     <block type="math_number" id="4XWT1Jh4fG`a*YBBW}+t">
      <field name="NUM">0.2</field>
     </block>
    </value>
    <statement name="DO">
     <block type="lists_setIndex" id=",9f-s]aJJBnQ^PsujJ2D">
      <mutation at="false">
      </mutation>
      <field name="MODE">INSERT</field>
      <field name="WHERE">LAST</field>
      <value name="LIST">
       <block type="variables_get" id="Qc9uyI+i}Dm8lh5M7t+s">
        <field name="VAR" id="#m#?`4B/fIGB5f^ctze!">circles</field>
       </block>
      </value>
      <value name="TO">
       <block type="bitbybit.verb.curve.transform" id="RUMe7R+X^_UhLY*,3Eq?">
        <value name="Curve">
         <block type="bitbybit.verb.curve.transform" id="2u@YCa+v}lEun,8kP,[`">
          <value name="Curve">
           <block type="bitbybit.verb.curve.circle.createCircle" id="^bG6FS(mTWzCdD4vaNAC">
            <value name="XAxis">
             <block type="bitbybit.point.pointXYZ" id="tB8KB22f?SS[J4p;7DUR">
              <value name="X">
               <block type="math_number" id="=#ZL@ibCL!Q2#;7T_{xN">
                <field name="NUM">1</field>
               </block>
              </value>
              <value name="Y">
               <block type="math_number" id="jxrg!G@S=V9pgyCQ~B`i">
                <field name="NUM">0</field>
               </block>
              </value>
              <value name="Z">
               <block type="math_number" id="+4bp0!G*)v1z$gguEhio">
                <field name="NUM">0</field>
               </block>
              </value>
             </block>
            </value>
            <value name="YAxis">
             <block type="bitbybit.point.pointXYZ" id="GOkl}e_eOu$:=Z$E}NEB">
              <value name="X">
               <block type="math_number" id="H(s;1$.)w|,]s91pG-Zh">
                <field name="NUM">0</field>
               </block>
              </value>
              <value name="Y">
               <block type="math_number" id="alGniX|j4;v#Q)xD.Gi3">
                <field name="NUM">1</field>
               </block>
              </value>
              <value name="Z">
               <block type="math_number" id="9n)(E!dxdCqys`Mf]$m@">
                <field name="NUM">0</field>
               </block>
              </value>
             </block>
            </value>
            <value name="Radius">
             <block type="math_number" id="7@W_5}$DiI{z{+O?SAep">
              <field name="NUM">1</field>
             </block>
            </value>
            <value name="Center">
             <block type="bitbybit.point.pointXYZ" id="*GEY}y*2y!Gh`_E3qHU6">
              <value name="X">
               <block type="math_number" id="(5/lSX.AjX~ywKr8|3d(">
                <field name="NUM">0</field>
               </block>
              </value>
              <value name="Y">
               <block type="math_number" id="{MjH?Q1K.]FSk)d7b`av">
                <field name="NUM">1</field>
               </block>
              </value>
              <value name="Z">
               <block type="math_number" id="hridLbl#y8)VVy;fMLwM">
                <field name="NUM">0</field>
               </block>
              </value>
             </block>
            </value>
           </block>
          </value>
          <value name="Transformation">
           <block type="bitbybit.babylon.transforms.scaleCenterXYZ" id="G7.746h;TtDFex?Wb:x0">
            <value name="Center">
             <block type="bitbybit.vector.vectorXYZ" id="afYl/=A*D8Y#)8#Z1do@">
              <value name="X">
               <block type="math_number" id="oM0C{DA27EMB7XK=A.JX">
                <field name="NUM">0</field>
               </block>
              </value>
              <value name="Y">
               <block type="math_arithmetic" id="pMD/c9o~!X%aM#aQcDtA">
                <field name="OP">ADD</field>
                <value name="A">
                 <block type="math_number" id="ZvS9]63U2PpFEP56(u`8">
                  <field name="NUM">1</field>
                 </block>
                </value>
                <value name="B">
                 <block type="math_arithmetic" id="6u9D:c,.#K(r;:f.-*IW">
                  <field name="OP">DIVIDE</field>
                  <value name="A">
                   <block type="variables_get" id="ZH)fep/bnUC9#WGE49q6">
                    <field name="VAR" id="_K.Y}_:Z}Kr^6#P(R.}c">i</field>
                   </block>
                  </value>
                  <value name="B">
                   <block type="math_number" id="ific4PN.jUzb!A(xa[Sq">
                    <field name="NUM">-100</field>
                   </block>
                  </value>
                 </block>
                </value>
               </block>
              </value>
              <value name="Z">
               <block type="math_number" id="xFG6I|Q.(NPI2rdF2tUb">
                <field name="NUM">0</field>
               </block>
              </value>
             </block>
            </value>
            <value name="ScaleXyz">
             <block type="bitbybit.vector.vectorXYZ" id="wD-Mrx/WEj6a=BVtUjj9">
              <value name="X">
               <block type="variables_get" id="U:D9-!zM%j!x1FWDIBqU">
                <field name="VAR" id="_K.Y}_:Z}Kr^6#P(R.}c">i</field>
               </block>
              </value>
              <value name="Y">
               <block type="variables_get" id="V,HvDH+%drZzk:7l1T$E">
                <field name="VAR" id="_K.Y}_:Z}Kr^6#P(R.}c">i</field>
               </block>
              </value>
              <value name="Z">
               <block type="variables_get" id="|*I3?6C3kAOR++U5=3.6">
                <field name="VAR" id="_K.Y}_:Z}Kr^6#P(R.}c">i</field>
               </block>
              </value>
             </block>
            </value>
           </block>
          </value>
         </block>
        </value>
        <value name="Transformation">
         <block type="bitbybit.babylon.transforms.rotationCenterAxis" id="sD$Gao,r9,o:fhdX+T]6">
          <value name="Angle">
           <block type="math_arithmetic" id="ghVq^f]([xk85]rj{MF2">
            <field name="OP">MULTIPLY</field>
            <value name="A">
             <block type="variables_get" id="BZOI}U[1#N,GwB]IG_As">
              <field name="VAR" id="_K.Y}_:Z}Kr^6#P(R.}c">i</field>
             </block>
            </value>
            <value name="B">
             <block type="variables_get" id="SLEu~UqFeR1zJ+,Yk2aE">
              <field name="VAR" id="_K.Y}_:Z}Kr^6#P(R.}c">i</field>
             </block>
            </value>
           </block>
          </value>
          <value name="Axis">
           <block type="bitbybit.vector.vectorXYZ" id="q|dY|pWxcE:!A5.p]RI1">
            <value name="X">
             <block type="math_number" id="Gem3=,$KCqbpS0:-,k:+">
              <field name="NUM">0</field>
             </block>
            </value>
            <value name="Y">
             <block type="math_number" id="qc8]@+(gT.c}FG^UizSg">
              <field name="NUM">1</field>
             </block>
            </value>
            <value name="Z">
             <block type="math_number" id="uM:B6tih$`z)_@xq(:V4">
              <field name="NUM">0</field>
             </block>
            </value>
           </block>
          </value>
          <value name="Center">
           <block type="bitbybit.vector.vectorXYZ" id="`xRJ,-qD$?*SBj5@|=1d">
            <value name="X">
             <block type="math_number" id="U3|Wu)uSfN$=G88,@{Pn">
              <field name="NUM">0</field>
             </block>
            </value>
            <value name="Y">
             <block type="math_number" id="kkEn?JS6Y{:xP0@*ucC%">
              <field name="NUM">0</field>
             </block>
            </value>
            <value name="Z">
             <block type="math_number" id="P)a;rmUnd8vR%^brQ/IZ">
              <field name="NUM">0</field>
             </block>
            </value>
           </block>
          </value>
         </block>
        </value>
       </block>
      </value>
     </block>
    </statement>
    <next>
     <block type="bitbybit.draw.drawAnyAsyncNoReturn" id="C4ML7`YJ?2O$@1Qc?_-b">
      <value name="Entity">
       <block type="variables_get" id="_:mVOXsXw@I,[r?Iw;#f">
        <field name="VAR" id="#m#?`4B/fIGB5f^ctze!">circles</field>
       </block>
      </value>
      <value name="Options">
       <block type="bitbybit.draw.optionsSimple" id=":[LNP/TY)3MHk]V:bEza">
        <value name="Colours">
         <block type="colour_picker" id="S/$/pYDwYC9Gj{}-8[^Y">
          <field name="COLOUR">#ffffff</field>
         </block>
        </value>
        <value name="Size">
         <block type="math_number" id="3;6o7d`,)b|m=}AkVYir">
          <field name="NUM">3</field>
         </block>
        </value>
        <value name="Opacity">
         <block type="math_number" id="~Uq}32d.jCgBcPe@(386">
          <field name="NUM">1</field>
         </block>
        </value>
        <value name="Updatable">
         <block type="logic_boolean" id=",em`=P1;1:)J$OE$WTV[">
          <field name="BOOL">FALSE</field>
         </block>
        </value>
       </block>
      </value>
     </block>
    </next>
   </block>
  </next>
 </block>
</xml>