
blocklyExample 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.
<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>
Editor plans for 3D development, API keys for server-side CAD algorithms
Cloud storage, private projects & 3D algorithms for Bitbybit editors
Run CAD algorithms on managed cloud servers from your own backend applications
Custom software development, dedicated servers & CAD automation at scale.