Skip to content

Commit 9ed5437

Browse files
Merge pull request #121 from bitbybit-dev/test-mig
updates to docs
2 parents 58c7371 + 0b78601 commit 9ed5437

File tree

16 files changed

+848
-180
lines changed

16 files changed

+848
-180
lines changed

docs/blog/2026-01-21-release-v1-rc0.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
slug: bitbybit-v1-release-candidate-0
33
title: "Bitbybit v1.0.0 Release Candidate 0 - A New Foundation for 3D CAD on the Web"
44
authors: [ubarevicius]
5-
tags: [bitbybit, cad, occt, release]
5+
tags: [bitbybit, cad, occt]
66
description: "After nearly 100 releases in the 0.x.x range, version 1.0.0 Release Candidate 0 is now available. This milestone brings a completely rebuilt core on top of native OCCT, significant performance improvements, and exciting new features."
77
---
88

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
---
2+
slug: step-assembly-support-v1-rc1
3+
title: "STEP Assembly Support: Load, Parse, and Export Professional CAD Files"
4+
authors: [ubarevicius]
5+
tags: [occt, assembly, step, gltf, cad, freecad]
6+
description: "Bitbybit v1.0.0-rc.1 introduces STEP assembly support - load complex CAD files, parse part hierarchies, extract components, preserve colors, and export to GLTF or STEP formats."
7+
image: https://ik.imagekit.io/bitbybit/app/assets/blog/step-assembly-support/step-assembly-support-occt-bitbybit.webp
8+
---
9+
10+
![Bitbybit STEP Assembly Support](https://ik.imagekit.io/bitbybit/app/assets/blog/step-assembly-support/step-assembly-support-occt-bitbybit.webp "Bitbybit STEP Assembly Support")
11+
12+
import Tabs from '@theme/Tabs';
13+
import TabItem from '@theme/TabItem';
14+
15+
If you've ever tried to load, edit or create a complex STEP assembly in a web browser, you know how tricky it can be. STEP is the standard format engineers use to share CAD models, but browsers don't understand it natively. You usually need desktop software or a server to convert it.
16+
17+
With **Bitbybit v1.0.0-rc.1**, that changes. You can now load STEP assemblies directly in the browser, explore their structure, extract individual parts, and export to web-friendly formats. Everything runs locally using Bitbybit OCCT WebAssembly.
18+
19+
<!-- truncate -->
20+
21+
## What Can You Do?
22+
23+
You can load a STEP file and see its full assembly tree, just like you would in FreeCAD or SolidWorks. Each part has a label (something like `0:1:1:3`) that you can use to extract that specific piece.
24+
25+
![FarmBot STEP Assembly of Soil Sensor in FreeCAD](https://ik.imagekit.io/bitbybit/app/assets/blog/step-assembly-support/freecad-step-assembly.webp "FarmBot STEP Assembly of Soil Sensor in FreeCAD")
26+
![FarmBot STEP Assembly of Soil Sensor in Bitbybit](https://ik.imagekit.io/bitbybit/app/assets/blog/step-assembly-support/farmbot-soil-sensor-step-assembly-in-bitbybit.webp "FarmBot STEP Assembly of Soil Sensor in Bitbybit")
27+
28+
Colors are parsed too. Regular STEP exports lose color data, but we use OCCT's XCAF format to embed colors into the assembly structure. This also works if users export a colored model from Bitbybit and open it in FreeCAD or other CAD software.
29+
30+
You can also convert assemblies to GLTF/GLB format for use in games, web viewers, or AR applications. And since everything happens in your browser, your files never leave your computer.
31+
32+
![Simple Workflow to convert STEP to GLTF](https://ik.imagekit.io/bitbybit/app/assets/blog/step-assembly-support/step-to-gltf-in-bitbybit-rete-editor.webp "Simple Workflow to convert STEP to GLTF")
33+
34+
## Parametric Scripts to STEP Assemblies
35+
36+
This is where the workflow really shines. You can build parametric geometry in Bitbybit - using visual programming or TypeScript - and export it directly to STEP format with colors preserved. Change a parameter, re-run the script, and download a new STEP file ready for manufacturing or further CAD work.
37+
38+
Imagine a product configurator where customers adjust dimensions, then download a professional CAD file they can send to a machine shop. Or a design tool that generates custom brackets based on user inputs. The geometry is created algorithmically, but the output is the same format that engineers use in SolidWorks or Fusion 360.
39+
40+
Furthermore - part instances and colors are supported, so users of third party CAD applications will be able to load these optimized assets in efficient manner.
41+
42+
![Create OCCT STEP Assembly in Bitbybit](https://ik.imagekit.io/bitbybit/app/assets/blog/step-assembly-support/create-occt-step-assembly-in-bitbybit.webp "Create OCCT STEP Assembly in Bitbybit")
43+
44+
![Open Bitbybit OCCT STEP Assembly in FreeCAD](https://ik.imagekit.io/bitbybit/app/assets/blog/step-assembly-support/bitbybit-assembly-opened-in-freecad-with-structure.webp "Open Bitbybit OCCT STEP Assembly in FreeCAD")
45+
46+
## Why Does This Matter?
47+
48+
Real products aren't single shapes. A bicycle has wheels, a frame, handlebars. An electronic device has a case, buttons, internal components. Engineers design each part separately, then assemble them digitally.
49+
50+
STEP files preserve this structure. When you load one, you get the full hierarchy of parts and sub-assemblies, along with names, colors, and positions. This is useful for building product configurators, design review tools, or documentation systems where you need to work with individual components.
51+
52+
## The API
53+
54+
There are two groups of methods. The **Manager** methods let you build and export assemblies: `createPart`, `createAssemblyNode`, `createInstanceNode`, `combineStructure`, `buildAssemblyDocument`, `exportDocumentToStep`, and `exportDocumentToGltf`.
55+
56+
The **Query** methods let you inspect existing documents: `getDocumentParts`, `getAssemblyHierarchy`, `getShapeFromLabel`, `getLabelColor`, `getLabelTransform`, and `getLabelInfo`.
57+
58+
![Create STEP Assemblies in Rete](https://ik.imagekit.io/bitbybit/app/assets/blog/step-assembly-support/occt-step-assembly-creation-components.webp "Create STEP Assemblies in Rete")
59+
60+
## Visual Programming
61+
62+
If you use Rete or Blockly, we've added components for all of this. The hierarchy preview is especially handy - it shows the assembly tree and lets you click on any item to see its label, which you can then use to extract that part.
63+
64+
## Your Files Stay Private
65+
66+
Everything runs in your browser. OCCT is compiled to WebAssembly, so parsing and exporting happens locally. Your files are never uploaded anywhere. This matters if you're working with proprietary designs.
67+
68+
:::warning Memory Note
69+
Large assemblies need memory. The standard build supports up to 2GB. For complex models, use the 64-bit version (up to 16GB).
70+
:::
71+
72+
## Tutorials
73+
74+
We have step-by-step tutorials to get you started:
75+
76+
- [Introduction to Assemblies](/learn/code/common/occt/assembly/intro) - the basics
77+
- [Convert STEP to GLTF](/learn/code/common/occt/assembly/step-to-gltf) - for web viewing
78+
- [Parse Assembly Structure](/learn/code/common/occt/assembly/assembly-structure) - explore parts
79+
- [Build and Export Assemblies](/learn/code/common/occt/assembly/create-assembly) - create from scratch
80+
- [Export Shapes with Color](/learn/code/common/occt/assembly/shape-to-step-with-color-assembly) - preserve colors
81+
82+
Each one has examples in Rete, Blockly, and TypeScript.
83+
84+
## Example: Load and Display a STEP Assembly
85+
86+
Here's the simplest workflow - load a STEP file and display it in the browser:
87+
88+
```typescript
89+
// Fetch the STEP file
90+
const stepData = await bitbybit.asset.fetchFile({
91+
url: "https://learn.bitbybit.dev/files/3d/Soil-Sensor.stpZ"
92+
});
93+
94+
// Convert to GLTF for display
95+
const glbData = await bitbybit.occt.io.convertStepToGltf({
96+
stepData,
97+
meshPrecision: 0.05
98+
});
99+
100+
// Load into the 3D scene
101+
await bitbybit.babylon.io.loadGlbFromArrayBuffer({
102+
glbData,
103+
fileName: "model.glb"
104+
});
105+
```
106+
107+
That's it - three function calls to go from a STEP file to 3D model in the browser.
108+
109+
## What's Next?
110+
111+
This is a release candidate. We're still adding features and improving coordinate system handling for different CAD conventions. If you find issues or have ideas, let us know on [Discord](https://discord.gg/GSe3VMe).
112+
113+
## Credits
114+
115+
The soil sensor model in our tutorials comes from [FarmBot](https://genesis.farm.bot/v1.5/Extras/cad.html), an open-source CNC farming robot. Their CAD files are public domain.
116+
117+
---
118+
119+
**Ready to try it?** Head to the [assembly tutorials](/learn/code/common/occt/assembly) and load your first STEP file.

docs/blog/tags.yml

Lines changed: 38 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,89 @@
11
bitbybit:
22
label: Bitbybit
33
permalink: /bitbybit
4-
description: Blog posts about Bitbybit
4+
description: Platform updates, new features, and tutorials for the Bitbybit visual programming environment.
55

66
cloud:
77
label: Cloud
88
permalink: /cloud
9-
description: Blog posts about Cloud
9+
description: Cloud, server-side services, and scalable 3D workflows.
1010

1111
ai:
1212
label: AI
1313
permalink: /ai
14-
description: Blog posts about Artificial Intelligence
14+
description: Using AI assistants and machine learning with 3D modeling and CAD automation.
1515

1616
cad:
1717
label: CAD
1818
permalink: /cad
19-
description: Blog posts about Computer-Aided Design
19+
description: Computer-Aided Design techniques, precision modeling, and engineering workflows.
2020

2121
xr:
2222
label: XR
2323
permalink: /xr
24-
description: Blog posts about Extended Reality
24+
description: Extended Reality experiences combining AR, VR, and mixed reality with 3D content.
2525

2626
vr:
2727
label: VR
2828
permalink: /vr
29-
description: Blog posts about Virtual Reality
29+
description: Virtual Reality applications for immersive 3D visualization and interaction.
3030

3131
3d-bits:
3232
label: 3D Bits
3333
permalink: /3d-bits
34-
description: Blog posts about 3D Bits app for Shopify and its use cases
34+
description: Our Shopify app for embedding interactive 3D product configurators in online stores.
3535

3636
shopify:
3737
label: Shopify
3838
permalink: /shopify
39-
description: Blog posts about Shopify integrations via 3D Bits app
39+
description: E-commerce integrations, product visualization, and 3D configurators for Shopify stores.
4040

4141
case-study:
4242
label: Case Study
4343
permalink: /case-study
44-
description: Case studies related to Bitbybit, 3D Bits and Shopify
44+
description: Real-world examples of how businesses use Bitbybit and 3D Bits to solve problems.
4545

4646
fitness-equipment:
4747
label: Fitness Equipment
4848
permalink: /fitness-equipment
49-
description: Blog posts about fitness equipment industry and 3D visualization
49+
description: 3D visualization and configuration solutions for gym and fitness equipment retailers.
5050

5151
babylonjs:
5252
label: BabylonJS
5353
permalink: /babylonjs
54-
description: Blog posts about Babylon.js 3D engine
54+
description: Using the Babylon.js WebGL engine for real-time 3D graphics in the browser.
5555

5656
threejs:
5757
label: ThreeJS
5858
permalink: /threejs
59-
description: Blog posts about Three.js 3D library
59+
description: Working with Three.js for lightweight 3D scenes and custom rendering pipelines.
6060

6161
playcanvas:
6262
label: PlayCanvas
6363
permalink: /playcanvas
64-
description: Blog posts about PlayCanvas 3D engine
64+
description: PlayCanvas engine integration for game-like 3D experiences and interactive apps.
65+
66+
occt:
67+
label: OCCT
68+
permalink: /occt
69+
description: OpenCASCADE Technology - the open-source CAD kernel powering our geometry operations.
70+
71+
assembly:
72+
label: Assembly
73+
permalink: /assembly
74+
description: Working with multi-part CAD assemblies, hierarchies, and component structures.
75+
76+
step:
77+
label: STEP
78+
permalink: /step
79+
description: The ISO 10303 standard format for exchanging CAD data between different software.
80+
81+
gltf:
82+
label: GLTF
83+
permalink: /gltf
84+
description: The web-optimized 3D format for fast loading and rendering in browsers and apps.
85+
86+
freecad:
87+
label: FreeCAD
88+
permalink: /freecad
89+
description: Interoperability with FreeCAD, the popular open-source parametric CAD modeler.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"label": "Assembly",
3+
"position": 7,
4+
"link": {
5+
"type": "generated-index",
6+
"title": "OCCT Assembly",
7+
"description": "Work with OCCT assemblies: load STEP files, export to GLTF, parse hierarchy, create multi-part models, and preserve colors for CAD visualization.",
8+
"slug": "/code/common/occt/assembly"
9+
}
10+
}

0 commit comments

Comments
 (0)