Script: Preview Spaceship

Preview Spaceship picture
Type
Blockly logo indicatorblockly
Author
matas
Date Created
Mar 24, 2021, 11:54:34 AM
Last Edit Date
Oct 2, 2025, 6:40:25 PM

Project Information

Example of how to import STEP files into Bit by bit developers platform from Rhino. Rhino McNeel software is great for modeling BRep type geometry and outputs high quality stp or igs files. Now we show how you can load them online and edit through OpenCascade Technology kernel (OCCT) visual programming components.

View Full Project

Script Code

<xml xmlns="https://developers.google.com/blockly/xml">
 <block type="bitbybit.draw.drawAnyAsyncNoReturn" id="H$2viM2gMzvcIs:r9s#N" x="-835" y="-309">
  <value name="Entity">
   <block type="bitbybit.occt.io.loadSTEPorIGES" id="$OCIn4lVq@kS564=el}u">
    <value name="AssetFile">
     <block type="bitbybit.asset.getFile" id="CYR-;`~J!;O)nwlOIe[n">
      <value name="FileName">
       <block type="text" id="Vih283~n7IEbp/~qw/r,">
        <field name="TEXT">cabin.stp</field>
       </block>
      </value>
     </block>
    </value>
    <value name="AdjustZtoY">
     <block type="logic_boolean" id="=/vkwN)kX{It1^BIb5tp">
      <field name="BOOL">FALSE</field>
     </block>
    </value>
   </block>
  </value>
  <value name="Options">
   <block type="bitbybit.draw.optionsOcctShape" id=":)Q-$;H+TPb3kX8(BWzZ">
    <value name="FaceOpacity">
     <block type="math_number" id="a9G|#+DSQZP*]FW:9Z|P">
      <field name="NUM">0.9</field>
     </block>
    </value>
    <value name="EdgeOpacity">
     <block type="math_number" id="vli24RFy0Y?_rI$YJo:%">
      <field name="NUM">0.6</field>
     </block>
    </value>
    <value name="EdgeColour">
     <block type="colour_picker" id="B[$-,+-cIM..:,shzPU{">
      <field name="COLOUR">#ffffff</field>
     </block>
    </value>
    <value name="FaceColour">
     <block type="colour_picker" id="|##8N:a,EkHKzjHkHw@[">
      <field name="COLOUR">#0000ff</field>
     </block>
    </value>
    <value name="EdgeWidth">
     <block type="math_number" id="fDBbpKT6h+n-xNM8^b.K">
      <field name="NUM">10</field>
     </block>
    </value>
    <value name="DrawEdges">
     <block type="logic_boolean" id="#dQHu3XXDBE;45}h!eLL">
      <field name="BOOL">TRUE</field>
     </block>
    </value>
    <value name="DrawFaces">
     <block type="logic_boolean" id="Khm3.~]zqp[p6wfT9J.e">
      <field name="BOOL">TRUE</field>
     </block>
    </value>
    <value name="Precision">
     <block type="math_number" id="oh$pnRuuvu%~Vv_}9}S0">
      <field name="NUM">0.05</field>
     </block>
    </value>
    <value name="DrawEdgeIndexes">
     <block type="logic_boolean" id="urm|]A`FHJX(o8/|?$.e">
      <field name="BOOL">FALSE</field>
     </block>
    </value>
    <value name="EdgeIndexHeight">
     <block type="math_number" id="(ph6@?9/T,OQg%|:T71t">
      <field name="NUM">0.06</field>
     </block>
    </value>
    <value name="EdgeIndexColour">
     <block type="colour_picker" id="Y,#xt#C.6Yx1L~Fb7gDa">
      <field name="COLOUR">#bbbbff</field>
     </block>
    </value>
    <value name="DrawFaceIndexes">
     <block type="logic_boolean" id="D9Dsf!v;fO0D6#p,:9/|">
      <field name="BOOL">FALSE</field>
     </block>
    </value>
    <value name="FaceIndexHeight">
     <block type="math_number" id="vw.xs@MZ[aY@$S/RMDZx">
      <field name="NUM">0.06</field>
     </block>
    </value>
    <value name="FaceIndexColour">
     <block type="colour_picker" id="fxSE1ePMP@!m+X0ITt@^">
      <field name="COLOUR">#0000ff</field>
     </block>
    </value>
   </block>
  </value>
  <next>
   <block type="bitbybit.draw.drawAnyAsyncNoReturn" id="U63Ri|zV*8%u1#cKe^AO">
    <value name="Entity">
     <block type="bitbybit.occt.io.loadSTEPorIGES" id="=MP!3LTJhg@sH],?@z/O">
      <value name="AssetFile">
       <block type="bitbybit.asset.getFile" id="00=XldANn8cZ03;TjXw7">
        <value name="FileName">
         <block type="text" id="0hfNHTzdY-|%FbW{BB7~">
          <field name="TEXT">body.stp</field>
         </block>
        </value>
       </block>
      </value>
      <value name="AdjustZtoY">
       <block type="logic_boolean" id="]sUcE@8.;XaEatK@Vq7v">
        <field name="BOOL">FALSE</field>
       </block>
      </value>
     </block>
    </value>
    <value name="Options">
     <block type="bitbybit.draw.optionsOcctShape" id="ZdG7)5bv)GZPS+k3@j4q">
      <value name="FaceOpacity">
       <block type="math_number" id="]H_s%5OS/}K*$b_*,*K5">
        <field name="NUM">1</field>
       </block>
      </value>
      <value name="EdgeOpacity">
       <block type="math_number" id="[bk.mg1%/ERBd(CZzd|D">
        <field name="NUM">0.6</field>
       </block>
      </value>
      <value name="EdgeColour">
       <block type="colour_picker" id="sA+|~[;mF9gcD;W[w;d3">
        <field name="COLOUR">#ffffff</field>
       </block>
      </value>
      <value name="FaceColour">
       <block type="colour_picker" id="Yr{gls{1yOw1VJ#zjzxN">
        <field name="COLOUR">#6600cc</field>
       </block>
      </value>
      <value name="EdgeWidth">
       <block type="math_number" id="=@PhpMbmG]Sk#65NqrmE">
        <field name="NUM">10</field>
       </block>
      </value>
      <value name="DrawEdges">
       <block type="logic_boolean" id="tI?0*$GnGtk3,JLR;ybv">
        <field name="BOOL">TRUE</field>
       </block>
      </value>
      <value name="DrawFaces">
       <block type="logic_boolean" id="$#UF|yAk:a_hH+o5hAdv">
        <field name="BOOL">TRUE</field>
       </block>
      </value>
      <value name="Precision">
       <block type="math_number" id="_kAZRBo3;PzK+#XL,lZ[">
        <field name="NUM">0.05</field>
       </block>
      </value>
      <value name="DrawEdgeIndexes">
       <block type="logic_boolean" id="/w//D#S~e),@:mT|h{sN">
        <field name="BOOL">FALSE</field>
       </block>
      </value>
      <value name="EdgeIndexHeight">
       <block type="math_number" id="-J1k$11)#{pfeUQEhb5}">
        <field name="NUM">0.06</field>
       </block>
      </value>
      <value name="EdgeIndexColour">
       <block type="colour_picker" id="BE.%oNz+V-CDo_FOP(48">
        <field name="COLOUR">#bbbbff</field>
       </block>
      </value>
      <value name="DrawFaceIndexes">
       <block type="logic_boolean" id="K*vU~/tLxw6_dH_MqXKz">
        <field name="BOOL">FALSE</field>
       </block>
      </value>
      <value name="FaceIndexHeight">
       <block type="math_number" id="~^l8$FibCk4In32[eMzJ">
        <field name="NUM">0.06</field>
       </block>
      </value>
      <value name="FaceIndexColour">
       <block type="colour_picker" id="GoYQX5aB=xG5cpGt1}36">
        <field name="COLOUR">#0000ff</field>
       </block>
      </value>
     </block>
    </value>
    <next>
     <block type="bitbybit.draw.drawAnyAsyncNoReturn" id="2[^hC:Xt-O-kyD3)22GS">
      <value name="Entity">
       <block type="bitbybit.occt.io.loadSTEPorIGES" id="hz9k0}3XT4P~^f00(`|%">
        <value name="AssetFile">
         <block type="bitbybit.asset.getFile" id="pgh^:t~{F0KRjV~%#Oqg">
          <value name="FileName">
           <block type="text" id="J|vZ)z3)+uLr7/#Wu=5l">
            <field name="TEXT">wings.stp</field>
           </block>
          </value>
         </block>
        </value>
        <value name="AdjustZtoY">
         <block type="logic_boolean" id="$(!P_M?`+.Q6Z=(|;YSG">
          <field name="BOOL">FALSE</field>
         </block>
        </value>
       </block>
      </value>
      <value name="Options">
       <block type="bitbybit.draw.optionsOcctShape" id="Adv-NHU8-hW$U:iFja([">
        <value name="FaceOpacity">
         <block type="math_number" id="IYU~fi}E7WO0bIeaC3!0">
          <field name="NUM">1</field>
         </block>
        </value>
        <value name="EdgeOpacity">
         <block type="math_number" id="!ivp:U.wEwHa![=8koQd">
          <field name="NUM">1</field>
         </block>
        </value>
        <value name="EdgeColour">
         <block type="colour_picker" id="U2b5_Nmj3Rh(hQ`hUVhm">
          <field name="COLOUR">#000000</field>
         </block>
        </value>
        <value name="FaceColour">
         <block type="colour_picker" id="B*tG)_;Q})=2hwVf!NXT">
          <field name="COLOUR">#3333ff</field>
         </block>
        </value>
        <value name="EdgeWidth">
         <block type="math_number" id="@`_pPcmy%YiI[LYP!~ap">
          <field name="NUM">4</field>
         </block>
        </value>
        <value name="DrawEdges">
         <block type="logic_boolean" id="/eCLvXj`(#1TTMUctV=(">
          <field name="BOOL">TRUE</field>
         </block>
        </value>
        <value name="DrawFaces">
         <block type="logic_boolean" id="J%!ExvKrHE4qIB,KR}x,">
          <field name="BOOL">TRUE</field>
         </block>
        </value>
        <value name="Precision">
         <block type="math_number" id="j8IjPPp2S%#qS(]I(_TI">
          <field name="NUM">0.05</field>
         </block>
        </value>
        <value name="DrawEdgeIndexes">
         <block type="logic_boolean" id="nv=8hIGJ-iz0+iHy;FLR">
          <field name="BOOL">FALSE</field>
         </block>
        </value>
        <value name="EdgeIndexHeight">
         <block type="math_number" id="h8C`H+Xnw-r7Zv?){~_%">
          <field name="NUM">0.06</field>
         </block>
        </value>
        <value name="EdgeIndexColour">
         <block type="colour_picker" id="bD3LQq7Rr1Jf*qzo=^5%">
          <field name="COLOUR">#bbbbff</field>
         </block>
        </value>
        <value name="DrawFaceIndexes">
         <block type="logic_boolean" id="$=B.GF^iervrWVo5s+QA">
          <field name="BOOL">FALSE</field>
         </block>
        </value>
        <value name="FaceIndexHeight">
         <block type="math_number" id="-[RC+$XMVfSQHi+7-ZW+">
          <field name="NUM">0.06</field>
         </block>
        </value>
        <value name="FaceIndexColour">
         <block type="colour_picker" id="^+%L},o8pE,Ie5EI7#$I">
          <field name="COLOUR">#0000ff</field>
         </block>
        </value>
       </block>
      </value>
     </block>
    </next>
   </block>
  </next>
 </block>
</xml>
Plans & Pricing

Choose Your Plan

Editor plans for 3D development, API keys for server-side CAD algorithms

B2B

ENTERPRISE

Custom pricing

Custom software development, dedicated servers & CAD automation at scale.

CAD Automation & Software
  • Custom software development
  • Cloud CAD automation pipelines
  • 3D configurators (STEP & GLTF)
  • Batch export jobs
  • Custom algorithms & deployment
Infrastructure & Support
  • Custom compute allocation
  • Dedicated / VPS server tenants
  • Long-running computation jobs
  • Custom upload limits & overage
  • SLA & premium support