Script: Example in Blockly

Example in Blockly picture
Type
Blockly logo indicatorblockly
Date Created
Mar 19, 2021, 10:18:19 AM
Last Edit Date
Dec 5, 2023, 8:14:26 PM

Project Information

The NURBS curve gets created by using 7 control points. That curve is then subdivided into 20 equally distanced points. The result is visualised.

View Full Project

Script Code

<xml xmlns="https://developers.google.com/blockly/xml">
 <variables>
  <variable id="BjoR;N@wj!gy!nCn^l[L">curveThroughPoints</variable>
 </variables>
 <block type="bitbybit.draw.drawGridMeshNoReturn" id="08T,QURc`Ley.Q|*3;$|" x="-465" y="-281">
  <value name="Width">
   <block type="math_number" id=";dde+#^F0B+x@DZ|_P8~">
    <field name="NUM">400</field>
   </block>
  </value>
  <value name="Height">
   <block type="math_number" id="|]%9`uWOaP@IM]V7U(K#">
    <field name="NUM">400</field>
   </block>
  </value>
  <value name="Subdivisions">
   <block type="math_number" id="yu=jh|!Xj~u6r)/|@.)C">
    <field name="NUM">10</field>
   </block>
  </value>
  <value name="MajorUnitFrequency">
   <block type="math_number" id=",0/@UQ1x!Ha%7vP[aW-+">
    <field name="NUM">10</field>
   </block>
  </value>
  <value name="MinorUnitVisibility">
   <block type="math_number" id="wEXf=|S@/`dPoy5pV3~l">
    <field name="NUM">0.45</field>
   </block>
  </value>
  <value name="GridRatio">
   <block type="math_number" id="nl$zfQzD^9V)KZ#ClfYZ">
    <field name="NUM">0.5</field>
   </block>
  </value>
  <value name="Opacity">
   <block type="math_number" id="0aU:An44JM+;W?@ty[#x">
    <field name="NUM">0.5</field>
   </block>
  </value>
  <value name="BackFaceCulling">
   <block type="logic_boolean" id="R{A$tjg2_59oVZ8m@W{9">
    <field name="BOOL">FALSE</field>
   </block>
  </value>
  <value name="MainColor">
   <block type="colour_picker" id="1mn0a4g?(gpQCdHz4PB}">
    <field name="COLOUR">#ffffff</field>
   </block>
  </value>
  <value name="SecondaryColor">
   <block type="colour_picker" id="34+|x0GhujT)#Rb_8i?1">
    <field name="COLOUR">#ffffff</field>
   </block>
  </value>
  <next>
   <block type="variables_set" id="gZdZJfMY/.2W(yeHX|;Y">
    <field name="VAR" id="BjoR;N@wj!gy!nCn^l[L">curveThroughPoints</field>
    <value name="VALUE">
     <block type="bitbybit.verb.curve.createCurveByPoints" id="?nmC{;tDo)7Dh@)*!iNW">
      <value name="Degree">
       <block type="math_number" id="+]H#l5l9P4]/Pve$mpbZ">
        <field name="NUM">3</field>
       </block>
      </value>
      <value name="Points">
       <block type="lists_create_with" id="!Y7pd/(aHP+dN^EL0iw[">
        <mutation items="7">
        </mutation>
        <value name="ADD0">
         <block type="bitbybit.point.pointXYZ" id="{Nq~wX3X+k$)0wuY@umZ">
          <value name="X">
           <block type="math_number" id="$Zk#HZI1cAV-ay!z)|yP">
            <field name="NUM">0</field>
           </block>
          </value>
          <value name="Y">
           <block type="math_number" id="hb(-A}H9P]go$IYF9:?R">
            <field name="NUM">0</field>
           </block>
          </value>
          <value name="Z">
           <block type="math_number" id="gcgGy1N[_KgaUiaN@hMK">
            <field name="NUM">0</field>
           </block>
          </value>
         </block>
        </value>
        <value name="ADD1">
         <block type="bitbybit.point.pointXYZ" id="fW79@y=jY.$YWw#D]znx">
          <value name="X">
           <block type="math_number" id="Gwz/N_PCMt08m|fm06jn">
            <field name="NUM">1</field>
           </block>
          </value>
          <value name="Y">
           <block type="math_number" id="CVnlu@1eC/r;t|?wGb?l">
            <field name="NUM">2</field>
           </block>
          </value>
          <value name="Z">
           <block type="math_number" id="uA1,}]Pr=Y]J/.`S38UM">
            <field name="NUM">-2</field>
           </block>
          </value>
         </block>
        </value>
        <value name="ADD2">
         <block type="bitbybit.point.pointXYZ" id="D5v+V{rElCHQQH%,l;t2">
          <value name="X">
           <block type="math_number" id="r8r}Lg=P-=9gGm@yyvbt">
            <field name="NUM">-2</field>
           </block>
          </value>
          <value name="Y">
           <block type="math_number" id="-][@T+_UbkbJ^9gp:0,_">
            <field name="NUM">3</field>
           </block>
          </value>
          <value name="Z">
           <block type="math_number" id="(LFAI*0Kf!W_.B~C{/_V">
            <field name="NUM">-1</field>
           </block>
          </value>
         </block>
        </value>
        <value name="ADD3">
         <block type="bitbybit.point.pointXYZ" id="y+jIv;E$Fr(c}{`@;wlP">
          <value name="X">
           <block type="math_number" id="kU?0qrD:wx/}v@E^2^[F">
            <field name="NUM">0</field>
           </block>
          </value>
          <value name="Y">
           <block type="math_number" id="w0i)sYfA!SAjqMNPa{/`">
            <field name="NUM">4</field>
           </block>
          </value>
          <value name="Z">
           <block type="math_number" id="4vF*)j{H_2|%R-jQq9tC">
            <field name="NUM">2</field>
           </block>
          </value>
         </block>
        </value>
        <value name="ADD4">
         <block type="bitbybit.point.pointXYZ" id="]HxR~M|aszC;lwQ(HD)n">
          <value name="X">
           <block type="math_number" id="b/pB6pBO-~~APWIp%l5#">
            <field name="NUM">2</field>
           </block>
          </value>
          <value name="Y">
           <block type="math_number" id=".CWfS@%Z-[}f++~iC7mX">
            <field name="NUM">2</field>
           </block>
          </value>
          <value name="Z">
           <block type="math_number" id="@Z%ifFGjFZId,S)vtb6R">
            <field name="NUM">0</field>
           </block>
          </value>
         </block>
        </value>
        <value name="ADD5">
         <block type="bitbybit.point.pointXYZ" id="IWzN-DUBj%OY*VL9Cuz+">
          <value name="X">
           <block type="math_number" id="be7-VH4)%:6UZa)RJ3Q2">
            <field name="NUM">2</field>
           </block>
          </value>
          <value name="Y">
           <block type="math_number" id="j}M(Lm~@c-;!]rG^(2#a">
            <field name="NUM">3</field>
           </block>
          </value>
          <value name="Z">
           <block type="math_number" id="f;U`.wcvA#aKw9s0$XAN">
            <field name="NUM">0</field>
           </block>
          </value>
         </block>
        </value>
        <value name="ADD6">
         <block type="bitbybit.point.pointXYZ" id="WkxVNzlW_3,nC*kQ9eek">
          <value name="X">
           <block type="math_number" id="Om1oS=hWdY#omRMf:65E">
            <field name="NUM">0</field>
           </block>
          </value>
          <value name="Y">
           <block type="math_number" id="yz(mGxc:/7MN:!oRh^0(">
            <field name="NUM">0</field>
           </block>
          </value>
          <value name="Z">
           <block type="math_number" id="Dbr%+v5x=G}/V}DGiWAI">
            <field name="NUM">1</field>
           </block>
          </value>
         </block>
        </value>
       </block>
      </value>
     </block>
    </value>
    <next>
     <block type="bitbybit.draw.drawAnyAsyncNoReturn" id="^!Y,i|I77x*^4p*JjSh0">
      <value name="Entity">
       <block type="variables_get" id="`9gNs4.3#C8u|gMt]OYq">
        <field name="VAR" id="BjoR;N@wj!gy!nCn^l[L">curveThroughPoints</field>
       </block>
      </value>
      <value name="Options">
       <block type="bitbybit.draw.optionsSimple" id="#R.}.o3[gQZfdZgOgAjx">
        <value name="Colours">
         <block type="colour_picker" id="4ezK$@Fu4|#z8N;^2HJW">
          <field name="COLOUR">#ff9900</field>
         </block>
        </value>
        <value name="Size">
         <block type="math_number" id="ccP1?)`grKv%4QY]THx0">
          <field name="NUM">5</field>
         </block>
        </value>
        <value name="Opacity">
         <block type="math_number" id="9b:]@#c:D^Mz-!40u@Lv">
          <field name="NUM">1</field>
         </block>
        </value>
        <value name="Updatable">
         <block type="logic_boolean" id="oMNEq}Ep:eQ;r=%1Njbr">
          <field name="BOOL">FALSE</field>
         </block>
        </value>
       </block>
      </value>
      <next>
       <block type="bitbybit.draw.drawAnyAsyncNoReturn" id="(5vk}(Jr;Ws|MN=XsGbD">
        <value name="Entity">
         <block type="bitbybit.verb.curve.divideByEqualArcLengthToPoints" id="KnB+}4lK82MWi},WE`Y(">
          <value name="Curve">
           <block type="variables_get" id="x}zp$NHv~CG_zbNpeAxY">
            <field name="VAR" id="BjoR;N@wj!gy!nCn^l[L">curveThroughPoints</field>
           </block>
          </value>
          <value name="Subdivision">
           <block type="math_number" id="(@@g|SBf_Z#/mCDS#7Y(">
            <field name="NUM">20</field>
           </block>
          </value>
         </block>
        </value>
        <value name="Options">
         <block type="bitbybit.draw.optionsSimple" id="RJ4]yqq|*$d_u7#Ptvjr">
          <value name="Colours">
           <block type="colour_picker" id="R^{J3Eu#P*1MS_!z_3Z}">
            <field name="COLOUR">#ffffff</field>
           </block>
          </value>
          <value name="Size">
           <block type="math_number" id="QpVCi(#Aw,?s#n4zIKOP">
            <field name="NUM">0.1</field>
           </block>
          </value>
          <value name="Opacity">
           <block type="math_number" id="EZRQFD{I;4^A|12h(1fx">
            <field name="NUM">1</field>
           </block>
          </value>
          <value name="Updatable">
           <block type="logic_boolean" id="2E.7`5%MiC:BhlGJc8vy">
            <field name="BOOL">FALSE</field>
           </block>
          </value>
         </block>
        </value>
       </block>
      </next>
     </block>
    </next>
   </block>
  </next>
 </block>
</xml>