From cb365698bba358a6f6b35e95a4a40ea898c1918a Mon Sep 17 00:00:00 2001 From: Matas Ubarevicius Date: Wed, 4 Feb 2026 18:27:00 +0200 Subject: [PATCH 1/7] New tutorials that explain OCCT Assembly --- .../code/common/occt/assembly/_category_.json | 10 ++ .../occt/assembly/assembly-structure.mdx | 149 ++++++++++++++++++ .../common/occt/assembly/create-assembly.mdx | 88 +++++++++++ .../learn/code/common/occt/assembly/intro.mdx | 93 +++++++++++ .../common/occt/assembly/step-to-gltf.mdx | 115 ++++++++++++++ docs/learn/tags.yml | 10 ++ docs/learn/using-ai-with-bitbybit/intro.md | 2 +- docs/src/pages/index.tsx | 2 +- docs/static/files/3d/LICENSE.md | 4 + docs/static/files/3d/Soil-Sensor.stpZ | Bin 0 -> 284139 bytes .../dev/base/lib/api/services/text.test.ts | 5 + 11 files changed, 476 insertions(+), 2 deletions(-) create mode 100644 docs/learn/code/common/occt/assembly/_category_.json create mode 100644 docs/learn/code/common/occt/assembly/assembly-structure.mdx create mode 100644 docs/learn/code/common/occt/assembly/create-assembly.mdx create mode 100644 docs/learn/code/common/occt/assembly/intro.mdx create mode 100644 docs/learn/code/common/occt/assembly/step-to-gltf.mdx create mode 100644 docs/static/files/3d/LICENSE.md create mode 100644 docs/static/files/3d/Soil-Sensor.stpZ diff --git a/docs/learn/code/common/occt/assembly/_category_.json b/docs/learn/code/common/occt/assembly/_category_.json new file mode 100644 index 00000000..73ac4831 --- /dev/null +++ b/docs/learn/code/common/occt/assembly/_category_.json @@ -0,0 +1,10 @@ +{ + "label": "Assembly", + "position": 7, + "link": { + "type": "generated-index", + "title": "OCCT Assembly", + "description": "Learn how to create OCCT assemblies and manage complex parts.", + "slug": "/code/common/occt/assembly" + } +} \ No newline at end of file diff --git a/docs/learn/code/common/occt/assembly/assembly-structure.mdx b/docs/learn/code/common/occt/assembly/assembly-structure.mdx new file mode 100644 index 00000000..a6eba94d --- /dev/null +++ b/docs/learn/code/common/occt/assembly/assembly-structure.mdx @@ -0,0 +1,149 @@ +--- +sidebar_position: 3 +title: "Structure" +sidebar_label: Structure +description: Learn how to analyze the structure of assembly. Bitbybit probides dedicated preview components for Visual Programmers. +tags: [occt, assembly, step, gltf, cad] +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import BitByBitRenderCanvas from '@site/src/components/BitByBitRenderCanvas'; + +# OCCT Assembly Structure + +OCCT category icon with a stylized logo representation + +Understanding assembly structure is essential when working with CAD models. Think of an assembly like a family tree for 3D parts - it shows how different components are organized and related to each other. Let's explore how to navigate this structure and extract the parts you need. + +## What is Assembly Structure? + +When engineers design complex products (like machines, robots, or buildings), they don't create one giant 3D shape. Instead, they build **assemblies** - collections of individual parts organized in a hierarchy. Each part has: + +- A **label** (like an address): `0:1:1:3` tells you exactly where the part lives in the structure +- A **name**: Human-readable identifier like "Mounting Plate" or "Screw" +- **Properties**: Colors, materials, and other metadata + +The hierarchy preview component shows this structure visually, making it easy to find the labels you need. + +## The Workflow + +Here's what happens in the examples below: + +1. **Fetch the STEP file** - Download the compressed CAD model from a URL +2. **Load into a document** - Parse the file into an OCCT document structure +3. **Get the hierarchy** - Extract the tree structure showing all parts +4. **Preview the hierarchy** - Display it so you can see labels and names +5. **Extract shapes by label** - Use the labels to get specific parts +6. **Draw with custom styling** - Render each part with your chosen colors + +:::tip Understanding Labels +Labels like `0:1:1:1:6` work like folder paths on your computer. The numbers represent levels in the hierarchy: +- `0:1` - Root level +- `0:1:1` - First sub-assembly +- `0:1:1:1` - Component within that sub-assembly +- `0:1:1:1:6` - Specific shape within that component + +Click on items in the hierarchy preview to see their full labels! +::: + +## Extract a Single Shape + +This first example shows the basic workflow - loading a STEP file and extracting one specific shape using its label. + + + + + + + stepDatadocumenthierarchyshapebgstepDatahttps://learn.bitbybit.dev/files/3d/Soil-Sensor.stpZdocumentstepDatahierarchydocumenthierarchyshapedocument0:1:1:1:6shape11#ffffff#ff0000#ff00ff100.03TRUETRUEFALSE0.03FALSE0.06#ff00ffFALSE0.06#0000ffTRUE#0000ff1015100-100-1003#ffffff#ffffff1024TRUE0TRUE0.20.0010.02100007050700-50117910001000100010003bg#1a1c1f#93aacd'to top'0100","type":"blockly"}} + title="Parsing STEP OCCT Assembly Structure" + /> + + + + {\n // Setup two-color gradient background\n const backgroundOpt = new SceneTwoColorLinearGradientDto();\n backgroundOpt.colorFrom = \"#1a1c1f\";\n backgroundOpt.colorTo = \"#93aacd\";\n backgroundOpt.direction = gradientDirectionEnum.toTop;\n backgroundOpt.stopFrom = 0;\n backgroundOpt.stopTo = 100;\n scene.twoColorLinearGradientBackground(backgroundOpt);\n\n // Setup directional light with shadows\n const dirLightOpt = new DirectionalLightDto();\n dirLightOpt.direction = [100, -100, -100] as Vector3;\n dirLightOpt.intensity = 3;\n dirLightOpt.diffuse = \"#ffffff\";\n dirLightOpt.specular = \"#ffffff\";\n dirLightOpt.shadowGeneratorMapSize = 1024;\n dirLightOpt.enableShadows = true;\n dirLightOpt.shadowDarkness = 0;\n dirLightOpt.shadowUsePercentageCloserFiltering = true;\n dirLightOpt.shadowContactHardeningLightSizeUVRatio = 0.2;\n dirLightOpt.shadowBias = 0.001;\n dirLightOpt.shadowNormalBias = 0.02;\n dirLightOpt.shadowMaxZ = 1000;\n dirLightOpt.shadowMinZ = 0;\n scene.drawDirectionalLight(dirLightOpt);\n\n // Adjust camera position and settings\n const cameraOpt = new CameraConfigurationDto();\n cameraOpt.position = [70, 50, 70] as Point3;\n cameraOpt.lookAt = [0, -5, 0] as Point3;\n cameraOpt.lowerBetaLimit = 1;\n cameraOpt.upperBetaLimit = 179;\n cameraOpt.angularSensibilityX = 1000;\n cameraOpt.angularSensibilityY = 1000;\n cameraOpt.maxZ = 1000;\n cameraOpt.panningSensibility = 1000;\n cameraOpt.wheelPrecision = 3;\n scene.adjustActiveArcRotateCamera(cameraOpt);\n\n // Fetch the STEP file from URL\n const stepData = await asset.fetchFile({\n url: \"https://learn.bitbybit.dev/files/3d/Soil-Sensor.stpZ\"\n });\n\n // Load STEP data into an OCCT document\n const loadDocOpt = new LoadStepToDocDto();\n loadDocOpt.stepData = stepData;\n const document = await manager.loadStepToDoc(loadDocOpt);\n\n // Get assembly hierarchy (useful for understanding structure)\n const hierarchyOpt = new DocumentQueryDto();\n hierarchyOpt.document = document;\n const hierarchy = await query.getAssemblyHierarchy(hierarchyOpt);\n console.log(\"Assembly Hierarchy:\", hierarchy);\n\n // Get a specific shape from the assembly using its label\n const shapeOpt = new DocumentLabelQueryDto();\n shapeOpt.document = document;\n shapeOpt.label = \"0:1:1:1:6\";\n const shape = await query.getShapeFromLabel(shapeOpt);\n\n // Draw the extracted shape with custom styling\n const drawOpt = new Bit.Inputs.Draw.DrawOcctShapeOptions();\n drawOpt.precision = 0.1;\n drawOpt.drawEdges = true;\n drawOpt.edgeColour = \"#ffffff\";\n drawOpt.edgeWidth = 10;\n drawOpt.edgeOpacity = 1;\n drawOpt.drawFaces = true;\n drawOpt.faceColour = \"#ff0000\";\n drawOpt.faceOpacity = 1;\n drawOpt.drawVertices = false;\n\n await bitbybit.draw.drawAnyAsync({\n entity: shape,\n options: drawOpt\n });\n}\n\n// Execute the main function\nstart();","type":"typescript"}} + title="Parsing STEP OCCT Assembly Structure" + /> + + + +## Parse more parts + +Once you understand the basics, you can extract multiple parts and style them independently. This is where things get exciting — you can create custom visualizations that highlight different components, use original colors from the CAD model, or apply your own color schemes. + +### What's New in This Example? + +This advanced example introduces several important concepts: + +1. **Right-handed coordinate system** - Some CAD software exports models with a different orientation (Y-Up). We use `useRightHandedSystem` to ensure the model displays correctly. + +2. **Multiple shape extraction** - Instead of one shape, we extract four different parts using their labels. + +3. **Original colors from CAD** - The `getLabelColor` function retrieves the color assigned to a part in the original CAD software, preserving the designer's intent. + +4. **Color conversion** - CAD colors are stored as RGB objects (with values 0-1). We convert them to hex format (`#ff0000`) using `rgbObjToHex` for use in drawing options. + +5. **Batch rendering** - Multiple shapes can be drawn with the same styling by passing them as an array. + +### Why This Matters + +Understanding assembly structure unlocks powerful capabilities: + +- **Selective visualization** - Show only the parts that matter for your use case +- **Interactive configurators** - Let users click to select and customize individual components +- **Assembly analysis** - Check if all required parts are present +- **Documentation** - Generate exploded views or highlight specific components +- **Performance optimization** - Load and display only the parts you need + +:::info Coordinate System Note +BabylonJS uses a left-handed coordinate system by default, which causes Y-Up models to appear mirrored. We use `useRightHandedSystem` to compensate for this. This will be improved in the next release. +::: + + + + + + + stepDatadocumenthierarchyshape1shape2shape3shape4labelColorhexColorbgTRUEstepDatahttps://app-store.bitbybit.dev/files/Soil-Sensor-Y-Up.stpZdocumentstepDatahierarchydocumenthierarchyshape1document0:1:1:3shape2document0:1:1:5shape3document0:1:1:1:6shape4document0:1:1:1:7labelColordocument0:1:1:3hexColorlabelColor01shape10.1TRUEhexColorTRUE#ffffff10TRUE#0000ff1shape2shape40.01TRUE#fb05ffTRUE#00000010TRUE#0000ff1shape30.01TRUE#0011ffTRUE#ffffff10TRUE#0000ff1100-100-1003#ffffff#ffffff1024TRUE0TRUE0.20.0010.02100007050700-50117910001000100010003bg#1a1c1f#93aacd'to top'0100","type":"blockly"}} + title="Parsing STEP OCCT Assembly Structure Parts" + /> + + + + {\n // Enable right-handed coordinate system\n const rhsOpt = new UseRightHandedSystemDto();\n rhsOpt.use = true;\n scene.useRightHandedSystem(rhsOpt);\n\n // Setup two-color gradient background\n const backgroundOpt = new SceneTwoColorLinearGradientDto();\n backgroundOpt.colorFrom = \"#1a1c1f\";\n backgroundOpt.colorTo = \"#93aacd\";\n backgroundOpt.direction = gradientDirectionEnum.toTop;\n backgroundOpt.stopFrom = 0;\n backgroundOpt.stopTo = 100;\n scene.twoColorLinearGradientBackground(backgroundOpt);\n\n // Setup directional light with shadows\n const dirLightOpt = new DirectionalLightDto();\n dirLightOpt.direction = [100, -100, -100] as Vector3;\n dirLightOpt.intensity = 3;\n dirLightOpt.diffuse = \"#ffffff\";\n dirLightOpt.specular = \"#ffffff\";\n dirLightOpt.shadowGeneratorMapSize = 1024;\n dirLightOpt.enableShadows = true;\n dirLightOpt.shadowDarkness = 0;\n dirLightOpt.shadowUsePercentageCloserFiltering = true;\n dirLightOpt.shadowContactHardeningLightSizeUVRatio = 0.2;\n dirLightOpt.shadowBias = 0.001;\n dirLightOpt.shadowNormalBias = 0.02;\n dirLightOpt.shadowMaxZ = 1000;\n dirLightOpt.shadowMinZ = 0;\n scene.drawDirectionalLight(dirLightOpt);\n\n // Adjust camera position and settings\n const cameraOpt = new CameraConfigurationDto();\n cameraOpt.position = [70, 50, 70] as Point3;\n cameraOpt.lookAt = [0, -5, 0] as Point3;\n cameraOpt.lowerBetaLimit = 1;\n cameraOpt.upperBetaLimit = 179;\n cameraOpt.angularSensibilityX = 1000;\n cameraOpt.angularSensibilityY = 1000;\n cameraOpt.maxZ = 1000;\n cameraOpt.panningSensibility = 1000;\n cameraOpt.wheelPrecision = 3;\n scene.adjustActiveArcRotateCamera(cameraOpt);\n\n // Fetch the STEP file from URL (Y-Up version for right-handed system)\n const stepData = await asset.fetchFile({\n url: \"https://app-store.bitbybit.dev/files/Soil-Sensor-Y-Up.stpZ\"\n });\n\n // Load STEP data into an OCCT document\n const loadDocOpt = new LoadStepToDocDto();\n loadDocOpt.stepData = stepData;\n const document = await manager.loadStepToDoc(loadDocOpt);\n\n // Get assembly hierarchy (useful for understanding structure)\n const hierarchyOpt = new DocumentQueryDto();\n hierarchyOpt.document = document;\n const hierarchy = await query.getAssemblyHierarchy(hierarchyOpt);\n console.log(\"Assembly Hierarchy:\", hierarchy);\n\n // Get multiple shapes from the assembly using their labels\n const shapeOpt1 = new DocumentLabelQueryDto();\n shapeOpt1.document = document;\n shapeOpt1.label = \"0:1:1:3\";\n const shape1 = await query.getShapeFromLabel(shapeOpt1);\n\n const shapeOpt2 = new DocumentLabelQueryDto();\n shapeOpt2.document = document;\n shapeOpt2.label = \"0:1:1:5\";\n const shape2 = await query.getShapeFromLabel(shapeOpt2);\n\n const shapeOpt3 = new DocumentLabelQueryDto();\n shapeOpt3.document = document;\n shapeOpt3.label = \"0:1:1:1:6\";\n const shape3 = await query.getShapeFromLabel(shapeOpt3);\n\n const shapeOpt4 = new DocumentLabelQueryDto();\n shapeOpt4.document = document;\n shapeOpt4.label = \"0:1:1:1:7\";\n const shape4 = await query.getShapeFromLabel(shapeOpt4);\n\n // Get the color from a label in the assembly\n const colorOpt = new DocumentLabelQueryDto();\n colorOpt.document = document;\n colorOpt.label = \"0:1:1:3\";\n const labelColor = await query.getLabelColor(colorOpt);\n\n // Convert RGB object to hex color\n const hexColor = color.rgbObjToHex({\n rgb: labelColor,\n min: 0,\n max: 1\n });\n\n // Draw shape1 with color from assembly\n const drawOpt1 = new Bit.Inputs.Draw.DrawOcctShapeSimpleOptions();\n drawOpt1.precision = 0.1;\n drawOpt1.drawEdges = true;\n drawOpt1.edgeColour = \"#ffffff\";\n drawOpt1.edgeWidth = 10;\n drawOpt1.drawFaces = true;\n drawOpt1.faceColour = hexColor;\n drawOpt1.drawTwoSided = true;\n drawOpt1.backFaceColour = \"#0000ff\";\n drawOpt1.backFaceOpacity = 1;\n\n await bitbybit.draw.drawAnyAsync({\n entity: shape1,\n options: drawOpt1\n });\n\n // Draw shapes 2 and 4 with magenta color\n const drawOpt2 = new Bit.Inputs.Draw.DrawOcctShapeSimpleOptions();\n drawOpt2.precision = 0.01;\n drawOpt2.drawEdges = true;\n drawOpt2.edgeColour = \"#000000\";\n drawOpt2.edgeWidth = 10;\n drawOpt2.drawFaces = true;\n drawOpt2.faceColour = \"#fb05ff\";\n drawOpt2.drawTwoSided = true;\n drawOpt2.backFaceColour = \"#0000ff\";\n drawOpt2.backFaceOpacity = 1;\n\n await bitbybit.draw.drawAnyAsync({\n entity: [shape2, shape4],\n options: drawOpt2\n });\n\n // Draw shape3 with blue color\n const drawOpt3 = new Bit.Inputs.Draw.DrawOcctShapeSimpleOptions();\n drawOpt3.precision = 0.01;\n drawOpt3.drawEdges = true;\n drawOpt3.edgeColour = \"#ffffff\";\n drawOpt3.edgeWidth = 10;\n drawOpt3.drawFaces = true;\n drawOpt3.faceColour = \"#0011ff\";\n drawOpt3.drawTwoSided = true;\n drawOpt3.backFaceColour = \"#0000ff\";\n drawOpt3.backFaceOpacity = 1;\n\n await bitbybit.draw.drawAnyAsync({\n entity: shape3,\n options: drawOpt3\n });\n}\n\n// Execute the main function\nstart();","type":"typescript"}} + title="Parsing STEP OCCT Assembly Structure Parts" + /> + + + +## Conclusion + +You've learned the fundamentals of working with OCCT assembly structures! Here's a quick recap: + +- **Assemblies are hierarchical** - Parts are organized in a tree structure with unique labels +- **Labels are addresses** - Use them to pinpoint and extract specific shapes +- **Colors can be preserved** - Extract original CAD colors using `getLabelColor` +- **Coordinate systems matter** - Use `useRightHandedSystem` when models appear incorrectly oriented + +With these skills, you can now build interactive 3D viewers, product configurators, and CAD visualization tools that work with professional engineering files. Try experimenting with your own STEP files to see how different assemblies are structured! \ No newline at end of file diff --git a/docs/learn/code/common/occt/assembly/create-assembly.mdx b/docs/learn/code/common/occt/assembly/create-assembly.mdx new file mode 100644 index 00000000..c31f33ae --- /dev/null +++ b/docs/learn/code/common/occt/assembly/create-assembly.mdx @@ -0,0 +1,88 @@ +--- +sidebar_position: 4 +title: "Create Assembly" +sidebar_label: Creating Assembly +description: Learn how to create OCCT assembly documents with parts, instances, and hierarchies. Export structured STEP files compatible with FreeCAD, Fusion 360, SolidWorks, and other CAD software. +tags: [occt, assembly, step, gltf, cad] +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import BitByBitRenderCanvas from '@site/src/components/BitByBitRenderCanvas'; + +# OCCT Assembly Structure + +OCCT category icon with a stylized logo representation + +## What is an Assembly Document? + +An **assembly document** is a structured CAD file format that organizes your 3D model into a hierarchy of **parts** and **instances**. Unlike a flat shape export where all geometry is merged into a single blob, an assembly preserves the logical structure of your design. + +Think of it like building a car: +- **Parts** are the unique component designs (e.g., a wheel, a door, an engine) +- **Instances** are the actual placements of those parts in your model (e.g., "put a wheel at each corner of the chassis") +- **Assembly nodes** are containers that group related instances together (e.g., "the drivetrain" containing engine and transmission) + +## Why Create an Assembly? + +You can simply export flat BRep shapes to STEP files, but it's worth creating an assembly before you hit that export button. Here's why: + +### 1. Preserved Structure in CAD Software +When you open the exported STEP file in professional CAD software like **FreeCAD**, **Fusion 360**, **SolidWorks**, **CATIA**, or **Onshape**, you'll see: +- Each part listed separately in the model tree +- Individual instances that can be selected, modified, or replaced +- The full hierarchy of your assembly + +### 2. Efficient File Size +When you have multiple copies of the same shape (like the 14 plugs in our example), the assembly stores the geometry once and references it multiple times with different transformations. This makes files smaller and faster to load. + +### 3. Part Metadata +Each part and instance can have: +- A unique **ID** for programmatic access +- A human-readable **name** that appears in CAD software +- **Colors** that are preserved in the STEP export +- **Author** and **organization** information embedded in the file + +### 4. Professional Workflow Compatibility +STEP files with assembly structure are the industry standard for exchanging CAD data between different software packages. Your colleagues using different CAD tools can open and work with your designs seamlessly. + +## STEP File Format + +The **STEP** (Standard for the Exchange of Product Data) format is an ISO standard (ISO 10303) widely supported by virtually all CAD software. When you export with the `.stpZ` extension, the file is compressed for faster downloads and smaller storage. + +## Example: Base with Plugs Assembly + +In the example below, we create an assembly with: +- A **base part** with holes arranged in a circle +- A **plug part** that fits into the holes +- **14 instances** of the plug positioned around the base + +After running the script, download the generated `.stpZ` file and open it in your favorite CAD software to see the full assembly structure! + + + + + + + mainRadiusfromOuterRadiusbginnerRadiusplugRadiusouterCircleWireinnerCircleWiredividedPointspointsListptsmallCircleWirereversedWiretranslatedWiresingonWirewiresListbaseFacebaseExtrudedbaseChamferedplugFaceplugExtrudedplugChamferedtranslatedPlugsbasePartplugPartassemblyNodebaseInstanceNodeplugInstanceNodespartsListnodesListstructuredocumentexportedDocmainRadius13.3fromOuterRadius4innerRadiusMINUSmainRadiusfromOuterRadiusplugRadiusDIVIDEfromOuterRadius3outerCircleWiremainRadius000010innerCircleWireinnerRadius000010dividedPointsinnerCircleWire14FALSETRUEpointsListptdividedPointsINSERTLASTpointsListptsmallCircleWireplugRadius000010reversedWiresmallCircleWiretranslatedWiresi1pointsList1INSERTLASTtranslatedWiresreversedWireGETFROM_STARTpointsListingonWire00001064wiresListouterCircleWirengonWirepttranslatedWiresINSERTLASTwiresListptbaseFacewiresListTRUEbaseExtrudedbaseFace010baseChamferedbaseExtruded0.4plugFaceplugRadius0-1.50010plugExtrudedplugFace040plugChamferedplugExtruded0.4translatedPlugsi1pointsList1INSERTLASTtranslatedPlugsplugChamferedGETFROM_STARTpointsListibaseChamfered0.01TRUE#3333ffTRUE#ffffff2FALSE#0000ff1translatedPlugs0.01TRUE#33ff33TRUE#ffffff2TRUE#0000ff1basePartbase-with-holesbaseChamferedBase With HolesplugPartplugplugChamferedPlugassemblyNodeassembly-nodeBitbybit Assembly ExamplebaseInstanceNodebase-with-holes-idbase-with-holesBase With Holes Instance0000001#0000ff01plugInstanceNodesi1pointsList1INSERTLASTplugInstanceNodesplug-id-iplugPlugGETFROM_STARTpointsListi0001#33ff3301partsListbasePartplugPartnodesListassemblyNodebaseInstanceNodeptplugInstanceNodesINSERTLASTnodesListptstructurepartsListnodesListFALSEdocumentstructureexportedDocdocumentBitbybit Assembly.stpZBitbybit userBitbybitTRUETRUE-20-20-203#ffffff#ffffff2056TRUE0TRUEFALSE0.20.00010.0021000023bg#1a1c1f#93aacd'to top'0100","version":"1.0.0-rc.1","type":"blockly"}} + title="Creating STEP OCCT Assembly" + /> + + + {\n // Parameters\n const mainRadius = 13.3;\n const fromOuterRadius = 4;\n const innerRadius = mainRadius - fromOuterRadius;\n const plugRadius = fromOuterRadius / 3;\n\n // Setup gradient background\n const bgOpt = new SceneTwoColorLinearGradientDto();\n bgOpt.direction = gradientDirectionEnum.toTop;\n scene.twoColorLinearGradientBackground(bgOpt);\n\n // Setup directional light\n const dirLightOpt = new DirectionalLightDto();\n dirLightOpt.direction = [-20, -20, -20] as Vector3;\n dirLightOpt.intensity = 3;\n scene.drawDirectionalLight(dirLightOpt);\n\n // Create outer circle wire\n const outerCircleOpt = new CircleDto();\n outerCircleOpt.radius = mainRadius;\n outerCircleOpt.center = [0, 0, 0];\n outerCircleOpt.direction = [0, 1, 0];\n const outerCircleWire = await wire.createCircleWire(outerCircleOpt);\n\n // Create inner circle wire for dividing points\n const innerCircleOpt = new CircleDto();\n innerCircleOpt.radius = innerRadius;\n innerCircleOpt.center = [0, 0, 0];\n innerCircleOpt.direction = [0, 1, 0];\n const innerCircleWire = await wire.createCircleWire(innerCircleOpt);\n\n // Divide inner wire to get points for plug placement\n const divideOpt = new DivideDto();\n divideOpt.shape = innerCircleWire;\n divideOpt.nrOfDivisions = 14;\n divideOpt.removeStartPoint = false;\n divideOpt.removeEndPoint = true;\n const dividedPoints = await wire.divideWireByParamsToPoints(divideOpt);\n\n // Flatten points list\n const pointsList: Point3[] = [];\n for (const pt of dividedPoints) {\n pointsList.push(pt);\n }\n\n // Create small circle wire for holes\n const smallCircleOpt = new CircleDto();\n smallCircleOpt.radius = plugRadius;\n smallCircleOpt.center = [0, 0, 0];\n smallCircleOpt.direction = [0, 1, 0];\n const smallCircleWire = await wire.createCircleWire(smallCircleOpt);\n\n // Reverse the wire for creating holes\n const reverseOpt = new ShapeDto();\n reverseOpt.shape = smallCircleWire;\n const reversedWire = await wire.reversedWire(reverseOpt);\n\n // Translate reversed wire to each point position\n const translatedWires: TopoDSWirePointer[] = [];\n for (const pt of pointsList) {\n const translateOpt = new TranslateDto();\n translateOpt.shape = reversedWire;\n translateOpt.translation = pt;\n const translated = await transforms.translate(translateOpt);\n translatedWires.push(translated as TopoDSWirePointer);\n }\n\n // Create hexagon wire in the center\n const ngonOpt = new NGonWireDto();\n ngonOpt.center = [0, 0, 0];\n ngonOpt.direction = [0, 1, 0];\n ngonOpt.nrCorners = 6;\n ngonOpt.radius = 4;\n const ngonWire = await wire.createNGonWire(ngonOpt);\n\n // Create wires list for face creation\n const wiresList: TopoDSWirePointer[] = [outerCircleWire, ngonWire, ...translatedWires];\n\n // Create base face from wires\n const faceFromWiresOpt = new FaceFromWiresDto();\n faceFromWiresOpt.shapes = wiresList;\n faceFromWiresOpt.planar = true;\n const baseFace = await face.createFaceFromWires(faceFromWiresOpt);\n\n // Extrude base face\n const extrudeBaseOpt = new ExtrudeDto();\n extrudeBaseOpt.shape = baseFace;\n extrudeBaseOpt.direction = [0, 1, 0];\n const baseExtruded = await operations.extrude(extrudeBaseOpt);\n\n // Chamfer base edges\n const chamferBaseOpt = new ChamferDto();\n chamferBaseOpt.shape = baseExtruded;\n chamferBaseOpt.distance = 0.4;\n const baseChamfered = await fillets.chamferEdges(chamferBaseOpt);\n\n // Create plug face\n const plugFaceOpt = new CircleDto();\n plugFaceOpt.radius = plugRadius;\n plugFaceOpt.center = [0, -1.5, 0];\n plugFaceOpt.direction = [0, 1, 0];\n const plugFace = await face.createCircleFace(plugFaceOpt);\n\n // Extrude plug\n const extrudePlugOpt = new ExtrudeDto();\n extrudePlugOpt.shape = plugFace;\n extrudePlugOpt.direction = [0, 4, 0];\n const plugExtruded = await operations.extrude(extrudePlugOpt);\n\n // Chamfer plug edges\n const chamferPlugOpt = new ChamferDto();\n chamferPlugOpt.shape = plugExtruded;\n chamferPlugOpt.distance = 0.4;\n const plugChamfered = await fillets.chamferEdges(chamferPlugOpt);\n\n // Translate plugs to each point position\n const translatedPlugs: TopoDSShapePointer[] = [];\n for (const pt of pointsList) {\n const translatePlugOpt = new TranslateDto();\n translatePlugOpt.shape = plugChamfered;\n translatePlugOpt.translation = pt;\n const translated = await transforms.translate(translatePlugOpt);\n translatedPlugs.push(translated);\n }\n\n // Draw base with blue color\n const baseDrawOpt = new DrawOcctShapeSimpleOptions();\n baseDrawOpt.precision = 0.01;\n baseDrawOpt.faceColour = \"#3333ff\";\n baseDrawOpt.edgeColour = \"#ffffff\";\n baseDrawOpt.edgeWidth = 2;\n await bitbybit.draw.drawAnyAsync({ entity: baseChamfered, options: baseDrawOpt });\n\n // Draw plugs with green color\n const plugDrawOpt = new DrawOcctShapeSimpleOptions();\n plugDrawOpt.precision = 0.01;\n plugDrawOpt.faceColour = \"#33ff33\";\n plugDrawOpt.edgeColour = \"#ffffff\";\n plugDrawOpt.edgeWidth = 2;\n plugDrawOpt.drawTwoSided = true;\n await bitbybit.draw.drawAnyAsync({ entity: translatedPlugs, options: plugDrawOpt });\n\n // Create base part\n const basePartOpt = new CreateAssemblyPartDto();\n basePartOpt.id = \"base-with-holes\";\n basePartOpt.shape = baseChamfered;\n basePartOpt.name = \"Base With Holes\";\n const basePart = await manager.createPart(basePartOpt);\n\n // Create plug part\n const plugPartOpt = new CreateAssemblyPartDto();\n plugPartOpt.id = \"plug\";\n plugPartOpt.shape = plugChamfered;\n plugPartOpt.name = \"Plug\";\n const plugPart = await manager.createPart(plugPartOpt);\n\n // Create assembly node\n const assemblyNodeOpt = new CreateAssemblyNodeDto();\n assemblyNodeOpt.id = \"assembly-node\";\n assemblyNodeOpt.name = \"Bitbybit Assembly Example\";\n assemblyNodeOpt.parentId = \"\";\n const assemblyNode = await manager.createAssemblyNode(assemblyNodeOpt);\n\n // Create base instance node\n const baseInstanceOpt = new CreateInstanceNodeDto();\n baseInstanceOpt.id = \"base-with-holes-id\";\n baseInstanceOpt.partId = \"base-with-holes\";\n baseInstanceOpt.name = \"Base With Holes Instance\";\n baseInstanceOpt.parentId = \"\";\n baseInstanceOpt.translation = [0, 0, 0];\n baseInstanceOpt.rotation = [0, 0, 0];\n baseInstanceOpt.scale = 1;\n baseInstanceOpt.colorRgba = { r: 0, g: 0, b: 1, a: 1 };\n const baseInstanceNode = await manager.createInstanceNode(baseInstanceOpt);\n\n // Create plug instance nodes for each position\n const plugInstanceNodes = [];\n for (let i = 0; i < pointsList.length; i++) {\n const plugInstanceOpt = new CreateInstanceNodeDto();\n plugInstanceOpt.id = `plug-id-${i + 1}`;\n plugInstanceOpt.partId = \"plug\";\n plugInstanceOpt.name = \"Plug\";\n plugInstanceOpt.parentId = \"\";\n plugInstanceOpt.translation = pointsList[i];\n plugInstanceOpt.rotation = [0, 0, 0];\n plugInstanceOpt.scale = 1;\n plugInstanceOpt.colorRgba = { r: 0, g: 1, b: 0, a: 1 };\n const plugInstance = await manager.createInstanceNode(plugInstanceOpt);\n plugInstanceNodes.push(plugInstance);\n }\n\n // Combine parts and nodes\n const partsList = [basePart, plugPart];\n const nodesList = [assemblyNode, baseInstanceNode, ...plugInstanceNodes];\n\n // Create assembly structure\n const combineOpt = new CombineAssemblyStructureDto();\n combineOpt.parts = partsList;\n combineOpt.nodes = nodesList;\n combineOpt.removals = [];\n combineOpt.partUpdates = [];\n combineOpt.clearDocument = false;\n const structure = await manager.combineStructure(combineOpt);\n\n // Build assembly document\n const buildDocOpt = new BuildAssemblyDocumentDto();\n buildDocOpt.structure = structure;\n const document = await manager.buildAssemblyDocument(buildDocOpt);\n\n // Export to STEP file\n const exportOpt = new ExportDocumentToStepDto();\n exportOpt.document = document;\n exportOpt.fileName = \"Bitbybit Assembly.stpZ\";\n exportOpt.author = \"Bitbybit user\";\n exportOpt.organization = \"Bitbybit\";\n exportOpt.compress = true;\n exportOpt.tryDownload = true;\n await manager.exportDocumentToStep(exportOpt);\n}\n\nstart();\n","version":"1.0.0-rc.1","type":"typescript"}} + title="Creating STEP OCCT Assembly" + /> + + diff --git a/docs/learn/code/common/occt/assembly/intro.mdx b/docs/learn/code/common/occt/assembly/intro.mdx new file mode 100644 index 00000000..2cc11bd5 --- /dev/null +++ b/docs/learn/code/common/occt/assembly/intro.mdx @@ -0,0 +1,93 @@ +--- +sidebar_position: 1 +title: "Intro OCCT Assemblies" +sidebar_label: Introduction +description: Learn how to work with OCCT assemblies in Bitbybit - load STEP files, convert CAD data to glTF for web display, parse assembly structure, and build interactive 3D CAD viewers with examples in Rete, Blockly, and TypeScript. +tags: [occt, assembly, step, gltf, cad] +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import BitByBitRenderCanvas from '@site/src/components/BitByBitRenderCanvas'; + +# OCCT Assemblies: Manage Professional CAD Assets + +OCCT category icon with a stylized logo representation + +## What Are Assemblies? + +If you've ever worked with CAD software like SolidWorks, Fusion 360, or FreeCAD, you've likely encountered assemblies. An **assembly** is simply a collection of individual parts that come together to form a complete product. Think of a bicycle - it's made up of wheels, a frame, handlebars, pedals, and countless other components. Each part is designed separately, but they all fit together in a structured way to create the final product. + +In the CAD world, assemblies are essential because real-world products are rarely made from a single piece. Instead, engineers and designers create individual components and then assemble them digitally to verify that everything fits correctly, moves as expected, and can be manufactured efficiently. + +## Why Are STEP Files Important? + +**STEP** (Standard for the Exchange of Product Data) is the most widely used file format for sharing 3D CAD models between different software applications. When you export an assembly from professional CAD software, it's often saved as a STEP file because: + +- **Universal compatibility** – Almost every CAD program can read and write STEP files +- **Preserves geometry** – The exact shapes, dimensions, and relationships between parts are maintained +- **Industry standard** – It's the go-to format for manufacturing, engineering, and product design workflows + +However, STEP files are designed for precision CAD work, not for web visualization. That's where Bitbybit comes in - we help you bridge the gap between engineering-grade CAD data and interactive 3D experiences in the browser. + +## What You'll Learn in This Section + +Throughout these tutorials, you'll discover how to work with OCCT assemblies in Bitbybit. We'll cover: + +- **Loading and previewing** – Import STEP files and display them in your 3D scene +- **Format conversion** – Transform CAD data into web-friendly formats like glTF +- **Parsing structure** – Extract individual parts, names, colors, and hierarchy information +- **Creating assemblies** – Build your own multi-part models from scratch +- **Editing and transforming** – Modify positions, rotations, and properties of assembly components + +Whether you're building a product configurator, an interactive documentation viewer, or a design review tool, understanding assemblies is fundamental to working with professional CAD data. + +## Your First Assembly Preview + +Let's start with something practical! The example below demonstrates the core workflow for loading a STEP file and displaying it in the browser. Click the play button to see a real CAD assembly - a soil sensor device - rendered in 3D. + +**How the script works:** + +1. **Fetch the file** – We download a compressed STEP file (`.stpZ`) from a URL using the `fetchFile` function +2. **Convert to glTF** – The STEP data is processed by OCCT and converted to glTF/GLB format, which is optimized for real-time 3D rendering. The `meshPrecision` parameter controls the quality of the mesh - lower values mean finer detail but larger file sizes +3. **Load into scene** – The converted GLB is loaded into a BabylonJS scene where you can rotate, zoom, and explore the model +4. **Scene setup** – We configure lighting, camera position, and a gradient background to make the model look polished + +This simple pattern - fetch, convert, display - is the foundation for everything else you'll learn about assemblies. Once you understand this workflow, you can build upon it to create sophisticated CAD viewers and interactive applications. + + + + + + + bghttps://learn.bitbybit.dev/files/3d/Soil-Sensor.stpZ0.05model.glbFALSE40-40-403#ffffff#ffffff3000TRUE0TRUEFALSE0.20.010.02100067050700-50117910001000100010003bg#1a1c1f#93aacd'to top'0100","type":"blockly"}} + title="STEP OCCT Assembly to gLTF Preview" + /> + + + + {\n // Setup two-color gradient background\n const backgroundOpt = new SceneTwoColorLinearGradientDto();\n backgroundOpt.colorFrom = \"#1a1c1f\";\n backgroundOpt.colorTo = \"#93aacd\";\n backgroundOpt.direction = gradientDirectionEnum.toTop;\n backgroundOpt.stopFrom = 0;\n backgroundOpt.stopTo = 100;\n scene.twoColorLinearGradientBackground(backgroundOpt);\n\n // Setup directional light with shadows\n const dirLightOpt = new DirectionalLightDto();\n dirLightOpt.direction = [40, -40, -40] as Vector3;\n dirLightOpt.intensity = 3;\n dirLightOpt.diffuse = \"#ffffff\";\n dirLightOpt.specular = \"#ffffff\";\n dirLightOpt.shadowGeneratorMapSize = 6000;\n dirLightOpt.enableShadows = true;\n dirLightOpt.shadowDarkness = 0;\n dirLightOpt.shadowUsePercentageCloserFiltering = true;\n dirLightOpt.shadowContactHardeningLightSizeUVRatio = 0.2;\n dirLightOpt.shadowBias = 0.01;\n dirLightOpt.shadowNormalBias = 0.02;\n dirLightOpt.shadowMaxZ = 100;\n dirLightOpt.shadowMinZ = 0;\n dirLightOpt.shadowRefreshRate = 6;\n scene.drawDirectionalLight(dirLightOpt);\n\n // Adjust camera position and settings\n const cameraOpt = new CameraConfigurationDto();\n cameraOpt.position = [70, 50, 70] as Point3;\n cameraOpt.lookAt = [0, -5, 0] as Point3;\n cameraOpt.lowerBetaLimit = 1;\n cameraOpt.upperBetaLimit = 179;\n cameraOpt.angularSensibilityX = 1000;\n cameraOpt.angularSensibilityY = 1000;\n cameraOpt.maxZ = 1000;\n cameraOpt.panningSensibility = 1000;\n cameraOpt.wheelPrecision = 3;\n scene.adjustActiveArcRotateCamera(cameraOpt);\n\n // Fetch the STEP file from URL\n const stepData = await asset.fetchFile({\n url: \"https://learn.bitbybit.dev/files/3d/Soil-Sensor.stpZ\"\n });\n\n // Convert STEP to GLTF format\n const convertOpt = new ConvertStepToGltfDto();\n convertOpt.stepData = stepData;\n convertOpt.meshPrecision = 0.05;\n const glbData = await bitbybit.occt.io.convertStepToGltf(convertOpt);\n\n // Load the GLB model into the scene\n await io.loadGlbFromArrayBuffer({\n glbData: glbData,\n fileName: \"model.glb\",\n hidden: false\n });\n}\n\n// Execute the main function\nstart();","type":"typescript"}} + title="STEP OCCT Assembly to gLTF Preview" + /> + + + +### About the Model + +The soil sensor assembly used in this example comes from [FarmBot](https://genesis.farm.bot/v1.5/Extras/cad.html) - an open-source CNC farming robot project. FarmBot is unique in the hardware world because they release all their CAD files under the **CC0 Public Domain Dedication**, meaning you can use, modify, and share these files freely without any restrictions. + +This makes FarmBot's models perfect for learning and experimentation. Feel free to download the file and use it in your own projects! + +**📥 Download:** [Soil-Sensor.stpZ](/files/3d/Soil-Sensor.stpZ) diff --git a/docs/learn/code/common/occt/assembly/step-to-gltf.mdx b/docs/learn/code/common/occt/assembly/step-to-gltf.mdx new file mode 100644 index 00000000..7cfc4ff0 --- /dev/null +++ b/docs/learn/code/common/occt/assembly/step-to-gltf.mdx @@ -0,0 +1,115 @@ +--- +sidebar_position: 2 +title: "STEP to GLTF" +sidebar_label: STEP to GLTF +description: While displaying GLTF model is very useful, you can use Bitbybit browser based algorithms for conversions too. In this tutorial you'll learn how to do that. +tags: [occt, assembly, step, gltf, cad] +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import BitByBitRenderCanvas from '@site/src/components/BitByBitRenderCanvas'; + +# Exporting GLTF files produced from STEP files + +OCCT category icon with a stylized logo representation + +Converting STEP files to GLTF is one of the most practical operations you can perform with CAD data. This tutorial shows you how to transform engineering CAD files into web-friendly 3D formats - all running directly in your browser! + +## Why Convert STEP to GLTF? + +**STEP files** are the gold standard for exchanging CAD data between professional engineering software. They preserve exact geometry, assembly structure, colors, and metadata. However, they're not designed for web viewing. + +**GLTF (GL Transmission Format)** is the "JPEG of 3D" - a lightweight, web-optimized format that loads quickly in browsers, game engines, and 3D viewers. The binary version (**.glb**) packages everything into a single file. + +By converting STEP to GLTF, you get the best of both worlds: +- ✅ Start with precise engineering data +- ✅ End with a fast-loading web-ready model +- ✅ Preserve colors and structure from the original CAD file + +## Browser-Based Conversion + +All conversions happen **entirely in your browser** — no files are uploaded to any cloud servers. This has important implications: + +### Privacy Advantage +Your CAD files never leave your computer. While you do need to use Bitbybit editors to run these conversions, your files are processed locally and are not uploaded to any cloud servers. This is critical for confidential engineering data, proprietary designs, or any situation where data privacy matters. + +:::tip Local File Storage +If you cannot host your files on publicly accessible hosting providers, you can upload them to local browser storage instead. Learn more about this option in our [Local Assets guide](/learn/getting-started/basics/assets/local/intro). +::: + +### Performance Considerations +Since everything runs locally, conversion speed depends on your device's hardware. For most models, this works great. However, for large or complex STEP files, you may encounter memory limitations. + +:::warning Memory Limits for Large Models +The standard 32-bit version of Bitbybit can use up to **2 GB of RAM**, which may not be enough for larger STEP files. If you're working with complex assemblies or high-detail models, consider using the **64-bit version** which supports up to **16 GB of RAM**. This makes a significant difference for industrial-scale CAD data. +::: + +## The Conversion Process + +The workflow is simple: + +1. **Fetch the STEP file** - Download the compressed `.stpZ` file from a URL +2. **Load into OCCT document** - Parse it using OpenCASCADE's assembly parser +3. **Export to GLTF** - Convert the document to binary GLB format with automatic download + +## Export Settings Explained + +| Setting | Value | Purpose | +|---------|-------|---------| +| `meshDeflection` | 0.05 | Controls mesh accuracy - smaller = more triangles, higher quality | +| `meshAngle` | 0.5 | Angular tolerance for curved surfaces (in radians) | +| `mergeFaces` | false | Keep faces separate (useful for per-part coloring) | +| `forceUVExport` | true | Include texture coordinates for future texturing | +| `fileName` | "assembly.glb" | Output filename with `.glb` extension for binary format | +| `tryDownload` | true | Automatically trigger browser download when complete | + +:::tip Mesh Quality vs. File Size +Lower `meshDeflection` values create smoother, more accurate meshes but result in larger files. For web use, values between 0.01 and 0.1 usually provide a good balance. Start with 0.05 and adjust based on your needs. + +For **larger models**, use higher precision values (e.g., 0.1 or higher) to reduce mesh complexity, processing time, and output file size. This helps prevent memory issues and speeds up the conversion. +::: + + + + + + + stepDatadocumentgltfstepDatahttps://learn.bitbybit.dev/files/3d/Soil-Sensor.stpZdocumentstepDatagltfdocument0.050.5FALSETRUEassembly.glbTRUE","type":"blockly"}} + title="STEP to gLTF Export" + /> + + + + {\n // Fetch the STEP file from URL\n const stepData = await asset.fetchFile({\n url: \"https://learn.bitbybit.dev/files/3d/Soil-Sensor.stpZ\"\n });\n\n // Load STEP data into an OCCT document\n const loadDocOpt = new LoadStepToDocDto();\n loadDocOpt.stepData = stepData;\n const document = await manager.loadStepToDoc(loadDocOpt);\n\n // Export the document to GLTF (binary GLB format)\n const exportOpt = new ExportDocumentToGltfDto();\n exportOpt.document = document;\n exportOpt.meshDeflection = 0.05;\n exportOpt.meshAngle = 0.5;\n exportOpt.mergeFaces = false;\n exportOpt.forceUVExport = true;\n exportOpt.fileName = \"assembly.glb\";\n exportOpt.tryDownload = true;\n\n const gltfData = await manager.exportDocumentToGltf(exportOpt);\n console.log(\"GLTF exported successfully!\", gltfData);\n}\n\n// Execute the main function\nstart();","type":"typescript"}} + title="STEP to gLTF Export" + /> + + + +## What Happens After Export? + +When you run these examples with `tryDownload: true`, your browser will automatically download the GLB file. You can then: + +- **View it** in any GLTF viewer (like [gltf-viewer.donmccurdy.com](https://gltf-viewer.donmccurdy.com/)) +- **Use it** in game engines like Unity, Unreal, or Godot +- **Embed it** in websites using Three.js, BabylonJS, or model-viewer +- **Share it** with clients who don't have CAD software + +## Conclusion + +You've learned how to convert STEP files to GLTF directly in the browser - no server or desktop software required! This opens up powerful possibilities for CAD visualization, e-commerce product displays, and engineering documentation. + +The key takeaway: Bitbybit brings industrial-grade CAD processing to the web, making it easy to bridge the gap between engineering data and modern 3D experiences. diff --git a/docs/learn/tags.yml b/docs/learn/tags.yml index f8277d3b..459505b3 100644 --- a/docs/learn/tags.yml +++ b/docs/learn/tags.yml @@ -43,6 +43,16 @@ occt: permalink: /occt description: Open CASCADE Technology (OCCT) is a kernel for 3D CAD, CAM, CAE, and more. +step: + label: STEP + permalink: /step + description: STEP is a standard for the exchange of product model data, widely used in CAD applications. + +assembly: + label: Assembly + permalink: /assembly + description: Assembly is a category in Bitbybit OCCT kernel that deals with assembling multiple parts into a single model. + vector: label: Vector permalink: /vector diff --git a/docs/learn/using-ai-with-bitbybit/intro.md b/docs/learn/using-ai-with-bitbybit/intro.md index b0badf7e..b920b719 100644 --- a/docs/learn/using-ai-with-bitbybit/intro.md +++ b/docs/learn/using-ai-with-bitbybit/intro.md @@ -8,7 +8,7 @@ tags: [ai] # AI-Powered 3D Development -Bitbybit has 1300+ API functions across three CAD kernels. That's a lot to remember. AI coding assistants can help you write Bitbybit code faster and more accurately - if you give them the right context. +Bitbybit has 1400+ API functions across three CAD kernels. That's a lot to remember. AI coding assistants can help you write Bitbybit code faster and more accurately - if you give them the right context. ## The Challenge diff --git a/docs/src/pages/index.tsx b/docs/src/pages/index.tsx index 3921d766..b8c67d7c 100644 --- a/docs/src/pages/index.tsx +++ b/docs/src/pages/index.tsx @@ -186,7 +186,7 @@ function HeroSection() { CAD Kernels
- 1300+ + 1400+ API Functions
diff --git a/docs/static/files/3d/LICENSE.md b/docs/static/files/3d/LICENSE.md new file mode 100644 index 00000000..d07ff9c9 --- /dev/null +++ b/docs/static/files/3d/LICENSE.md @@ -0,0 +1,4 @@ +## Soil-Sensor.stpZ - CC0 Public Domain Dedication +Downloaded from https://genesis.farm.bot/v1.5/Extras/cad.html + +FarmBot is an open-source CNC farming robot. They are unique because they release their CAD files under CC0 (Public Domain) diff --git a/docs/static/files/3d/Soil-Sensor.stpZ b/docs/static/files/3d/Soil-Sensor.stpZ new file mode 100644 index 0000000000000000000000000000000000000000..24cd5cc3d90f217c2b0f32ed04b2d4a05d625269 GIT binary patch literal 284139 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%0A88vDDTv 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

3)5<+~s*e=+4C? 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

+Be=~eS>eTxpEld7oq)m^X>EDrh7dJW6?qO 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 Vs`Q2T>+}BqQqG(c?kI>c001gy3xxmx literal 0 HcmV?d00001 diff --git a/packages/dev/base/lib/api/services/text.test.ts b/packages/dev/base/lib/api/services/text.test.ts index 2e06620b..258d4869 100644 --- a/packages/dev/base/lib/api/services/text.test.ts +++ b/packages/dev/base/lib/api/services/text.test.ts @@ -119,6 +119,11 @@ describe("Text unit tests", () => { expect(result).toEqual("Hello World, Matas"); }); + it("should format strings 10 and 11", () => { + const result = text.format({ text: "Hello {0}, {1}", values: ["10", "11"] }); + expect(result).toEqual("Hello 10, 11"); + }); + it("should not format string if there are no values", () => { const result = text.format({ text: "Hello {0}, {1}", values: [] }); expect(result).toEqual("Hello {0}, {1}"); From fea8fed4d24e9c8fdbd9ad85648fadb2308dd895 Mon Sep 17 00:00:00 2001 From: Matas Ubarevicius Date: Wed, 4 Feb 2026 18:31:49 +0200 Subject: [PATCH 2/7] update url, add asset directly --- .../occt/assembly/assembly-structure.mdx | 6 +++--- docs/static/files/3d/Soil-Sensor-Y-Up.stpZ | Bin 0 -> 284867 bytes 2 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 docs/static/files/3d/Soil-Sensor-Y-Up.stpZ diff --git a/docs/learn/code/common/occt/assembly/assembly-structure.mdx b/docs/learn/code/common/occt/assembly/assembly-structure.mdx index a6eba94d..916fed6f 100644 --- a/docs/learn/code/common/occt/assembly/assembly-structure.mdx +++ b/docs/learn/code/common/occt/assembly/assembly-structure.mdx @@ -116,14 +116,14 @@ BabylonJS uses a left-handed coordinate system by default, which causes Y-Up mod stepDatadocumenthierarchyshape1shape2shape3shape4labelColorhexColorbgTRUEstepDatahttps://app-store.bitbybit.dev/files/Soil-Sensor-Y-Up.stpZdocumentstepDatahierarchydocumenthierarchyshape1document0:1:1:3shape2document0:1:1:5shape3document0:1:1:1:6shape4document0:1:1:1:7labelColordocument0:1:1:3hexColorlabelColor01shape10.1TRUEhexColorTRUE#ffffff10TRUE#0000ff1shape2shape40.01TRUE#fb05ffTRUE#00000010TRUE#0000ff1shape30.01TRUE#0011ffTRUE#ffffff10TRUE#0000ff1100-100-1003#ffffff#ffffff1024TRUE0TRUE0.20.0010.02100007050700-50117910001000100010003bg#1a1c1f#93aacd'to top'0100","type":"blockly"}} + script={{"script":"stepDatadocumenthierarchyshape1shape2shape3shape4labelColorhexColorbgTRUEstepDatahttps://learn.bitbybit.dev/files/3d/Soil-Sensor-Y-Up.stpZdocumentstepDatahierarchydocumenthierarchyshape1document0:1:1:3shape2document0:1:1:5shape3document0:1:1:1:6shape4document0:1:1:1:7labelColordocument0:1:1:3hexColorlabelColor01shape10.1TRUEhexColorTRUE#ffffff10TRUE#0000ff1shape2shape40.01TRUE#fb05ffTRUE#00000010TRUE#0000ff1shape30.01TRUE#0011ffTRUE#ffffff10TRUE#0000ff1100-100-1003#ffffff#ffffff1024TRUE0TRUE0.20.0010.02100007050700-50117910001000100010003bg#1a1c1f#93aacd'to top'0100","type":"blockly"}} title="Parsing STEP OCCT Assembly Structure Parts" /> @@ -131,7 +131,7 @@ BabylonJS uses a left-handed coordinate system by default, which causes Y-Up mod {\n // Enable right-handed coordinate system\n const rhsOpt = new UseRightHandedSystemDto();\n rhsOpt.use = true;\n scene.useRightHandedSystem(rhsOpt);\n\n // Setup two-color gradient background\n const backgroundOpt = new SceneTwoColorLinearGradientDto();\n backgroundOpt.colorFrom = \"#1a1c1f\";\n backgroundOpt.colorTo = \"#93aacd\";\n backgroundOpt.direction = gradientDirectionEnum.toTop;\n backgroundOpt.stopFrom = 0;\n backgroundOpt.stopTo = 100;\n scene.twoColorLinearGradientBackground(backgroundOpt);\n\n // Setup directional light with shadows\n const dirLightOpt = new DirectionalLightDto();\n dirLightOpt.direction = [100, -100, -100] as Vector3;\n dirLightOpt.intensity = 3;\n dirLightOpt.diffuse = \"#ffffff\";\n dirLightOpt.specular = \"#ffffff\";\n dirLightOpt.shadowGeneratorMapSize = 1024;\n dirLightOpt.enableShadows = true;\n dirLightOpt.shadowDarkness = 0;\n dirLightOpt.shadowUsePercentageCloserFiltering = true;\n dirLightOpt.shadowContactHardeningLightSizeUVRatio = 0.2;\n dirLightOpt.shadowBias = 0.001;\n dirLightOpt.shadowNormalBias = 0.02;\n dirLightOpt.shadowMaxZ = 1000;\n dirLightOpt.shadowMinZ = 0;\n scene.drawDirectionalLight(dirLightOpt);\n\n // Adjust camera position and settings\n const cameraOpt = new CameraConfigurationDto();\n cameraOpt.position = [70, 50, 70] as Point3;\n cameraOpt.lookAt = [0, -5, 0] as Point3;\n cameraOpt.lowerBetaLimit = 1;\n cameraOpt.upperBetaLimit = 179;\n cameraOpt.angularSensibilityX = 1000;\n cameraOpt.angularSensibilityY = 1000;\n cameraOpt.maxZ = 1000;\n cameraOpt.panningSensibility = 1000;\n cameraOpt.wheelPrecision = 3;\n scene.adjustActiveArcRotateCamera(cameraOpt);\n\n // Fetch the STEP file from URL (Y-Up version for right-handed system)\n const stepData = await asset.fetchFile({\n url: \"https://app-store.bitbybit.dev/files/Soil-Sensor-Y-Up.stpZ\"\n });\n\n // Load STEP data into an OCCT document\n const loadDocOpt = new LoadStepToDocDto();\n loadDocOpt.stepData = stepData;\n const document = await manager.loadStepToDoc(loadDocOpt);\n\n // Get assembly hierarchy (useful for understanding structure)\n const hierarchyOpt = new DocumentQueryDto();\n hierarchyOpt.document = document;\n const hierarchy = await query.getAssemblyHierarchy(hierarchyOpt);\n console.log(\"Assembly Hierarchy:\", hierarchy);\n\n // Get multiple shapes from the assembly using their labels\n const shapeOpt1 = new DocumentLabelQueryDto();\n shapeOpt1.document = document;\n shapeOpt1.label = \"0:1:1:3\";\n const shape1 = await query.getShapeFromLabel(shapeOpt1);\n\n const shapeOpt2 = new DocumentLabelQueryDto();\n shapeOpt2.document = document;\n shapeOpt2.label = \"0:1:1:5\";\n const shape2 = await query.getShapeFromLabel(shapeOpt2);\n\n const shapeOpt3 = new DocumentLabelQueryDto();\n shapeOpt3.document = document;\n shapeOpt3.label = \"0:1:1:1:6\";\n const shape3 = await query.getShapeFromLabel(shapeOpt3);\n\n const shapeOpt4 = new DocumentLabelQueryDto();\n shapeOpt4.document = document;\n shapeOpt4.label = \"0:1:1:1:7\";\n const shape4 = await query.getShapeFromLabel(shapeOpt4);\n\n // Get the color from a label in the assembly\n const colorOpt = new DocumentLabelQueryDto();\n colorOpt.document = document;\n colorOpt.label = \"0:1:1:3\";\n const labelColor = await query.getLabelColor(colorOpt);\n\n // Convert RGB object to hex color\n const hexColor = color.rgbObjToHex({\n rgb: labelColor,\n min: 0,\n max: 1\n });\n\n // Draw shape1 with color from assembly\n const drawOpt1 = new Bit.Inputs.Draw.DrawOcctShapeSimpleOptions();\n drawOpt1.precision = 0.1;\n drawOpt1.drawEdges = true;\n drawOpt1.edgeColour = \"#ffffff\";\n drawOpt1.edgeWidth = 10;\n drawOpt1.drawFaces = true;\n drawOpt1.faceColour = hexColor;\n drawOpt1.drawTwoSided = true;\n drawOpt1.backFaceColour = \"#0000ff\";\n drawOpt1.backFaceOpacity = 1;\n\n await bitbybit.draw.drawAnyAsync({\n entity: shape1,\n options: drawOpt1\n });\n\n // Draw shapes 2 and 4 with magenta color\n const drawOpt2 = new Bit.Inputs.Draw.DrawOcctShapeSimpleOptions();\n drawOpt2.precision = 0.01;\n drawOpt2.drawEdges = true;\n drawOpt2.edgeColour = \"#000000\";\n drawOpt2.edgeWidth = 10;\n drawOpt2.drawFaces = true;\n drawOpt2.faceColour = \"#fb05ff\";\n drawOpt2.drawTwoSided = true;\n drawOpt2.backFaceColour = \"#0000ff\";\n drawOpt2.backFaceOpacity = 1;\n\n await bitbybit.draw.drawAnyAsync({\n entity: [shape2, shape4],\n options: drawOpt2\n });\n\n // Draw shape3 with blue color\n const drawOpt3 = new Bit.Inputs.Draw.DrawOcctShapeSimpleOptions();\n drawOpt3.precision = 0.01;\n drawOpt3.drawEdges = true;\n drawOpt3.edgeColour = \"#ffffff\";\n drawOpt3.edgeWidth = 10;\n drawOpt3.drawFaces = true;\n drawOpt3.faceColour = \"#0011ff\";\n drawOpt3.drawTwoSided = true;\n drawOpt3.backFaceColour = \"#0000ff\";\n drawOpt3.backFaceOpacity = 1;\n\n await bitbybit.draw.drawAnyAsync({\n entity: shape3,\n options: drawOpt3\n });\n}\n\n// Execute the main function\nstart();","type":"typescript"}} + script={{"script":"// Import required DTOs for scene setup and assembly operations\nconst { SceneTwoColorLinearGradientDto, DirectionalLightDto, CameraConfigurationDto, UseRightHandedSystemDto } = Bit.Inputs.BabylonScene;\nconst { LoadStepToDocDto, DocumentLabelQueryDto, DocumentQueryDto } = Bit.Inputs.OCCT;\nconst { gradientDirectionEnum } = Bit.Inputs.Base;\n\n// Import type definitions for type safety\ntype Point3 = Bit.Inputs.Base.Point3;\ntype Vector3 = Bit.Inputs.Base.Vector3;\n\n// Get access to modules\nconst { scene } = bitbybit.babylon;\nconst { asset, color } = bitbybit;\nconst { manager, query } = bitbybit.occt.assembly;\n\nconst start = async () => {\n // Enable right-handed coordinate system\n const rhsOpt = new UseRightHandedSystemDto();\n rhsOpt.use = true;\n scene.useRightHandedSystem(rhsOpt);\n\n // Setup two-color gradient background\n const backgroundOpt = new SceneTwoColorLinearGradientDto();\n backgroundOpt.colorFrom = \"#1a1c1f\";\n backgroundOpt.colorTo = \"#93aacd\";\n backgroundOpt.direction = gradientDirectionEnum.toTop;\n backgroundOpt.stopFrom = 0;\n backgroundOpt.stopTo = 100;\n scene.twoColorLinearGradientBackground(backgroundOpt);\n\n // Setup directional light with shadows\n const dirLightOpt = new DirectionalLightDto();\n dirLightOpt.direction = [100, -100, -100] as Vector3;\n dirLightOpt.intensity = 3;\n dirLightOpt.diffuse = \"#ffffff\";\n dirLightOpt.specular = \"#ffffff\";\n dirLightOpt.shadowGeneratorMapSize = 1024;\n dirLightOpt.enableShadows = true;\n dirLightOpt.shadowDarkness = 0;\n dirLightOpt.shadowUsePercentageCloserFiltering = true;\n dirLightOpt.shadowContactHardeningLightSizeUVRatio = 0.2;\n dirLightOpt.shadowBias = 0.001;\n dirLightOpt.shadowNormalBias = 0.02;\n dirLightOpt.shadowMaxZ = 1000;\n dirLightOpt.shadowMinZ = 0;\n scene.drawDirectionalLight(dirLightOpt);\n\n // Adjust camera position and settings\n const cameraOpt = new CameraConfigurationDto();\n cameraOpt.position = [70, 50, 70] as Point3;\n cameraOpt.lookAt = [0, -5, 0] as Point3;\n cameraOpt.lowerBetaLimit = 1;\n cameraOpt.upperBetaLimit = 179;\n cameraOpt.angularSensibilityX = 1000;\n cameraOpt.angularSensibilityY = 1000;\n cameraOpt.maxZ = 1000;\n cameraOpt.panningSensibility = 1000;\n cameraOpt.wheelPrecision = 3;\n scene.adjustActiveArcRotateCamera(cameraOpt);\n\n // Fetch the STEP file from URL (Y-Up version for right-handed system)\n const stepData = await asset.fetchFile({\n url: \"https://learn.bitbybit.dev/files/3d/Soil-Sensor-Y-Up.stpZ\"\n });\n\n // Load STEP data into an OCCT document\n const loadDocOpt = new LoadStepToDocDto();\n loadDocOpt.stepData = stepData;\n const document = await manager.loadStepToDoc(loadDocOpt);\n\n // Get assembly hierarchy (useful for understanding structure)\n const hierarchyOpt = new DocumentQueryDto();\n hierarchyOpt.document = document;\n const hierarchy = await query.getAssemblyHierarchy(hierarchyOpt);\n console.log(\"Assembly Hierarchy:\", hierarchy);\n\n // Get multiple shapes from the assembly using their labels\n const shapeOpt1 = new DocumentLabelQueryDto();\n shapeOpt1.document = document;\n shapeOpt1.label = \"0:1:1:3\";\n const shape1 = await query.getShapeFromLabel(shapeOpt1);\n\n const shapeOpt2 = new DocumentLabelQueryDto();\n shapeOpt2.document = document;\n shapeOpt2.label = \"0:1:1:5\";\n const shape2 = await query.getShapeFromLabel(shapeOpt2);\n\n const shapeOpt3 = new DocumentLabelQueryDto();\n shapeOpt3.document = document;\n shapeOpt3.label = \"0:1:1:1:6\";\n const shape3 = await query.getShapeFromLabel(shapeOpt3);\n\n const shapeOpt4 = new DocumentLabelQueryDto();\n shapeOpt4.document = document;\n shapeOpt4.label = \"0:1:1:1:7\";\n const shape4 = await query.getShapeFromLabel(shapeOpt4);\n\n // Get the color from a label in the assembly\n const colorOpt = new DocumentLabelQueryDto();\n colorOpt.document = document;\n colorOpt.label = \"0:1:1:3\";\n const labelColor = await query.getLabelColor(colorOpt);\n\n // Convert RGB object to hex color\n const hexColor = color.rgbObjToHex({\n rgb: labelColor,\n min: 0,\n max: 1\n });\n\n // Draw shape1 with color from assembly\n const drawOpt1 = new Bit.Inputs.Draw.DrawOcctShapeSimpleOptions();\n drawOpt1.precision = 0.1;\n drawOpt1.drawEdges = true;\n drawOpt1.edgeColour = \"#ffffff\";\n drawOpt1.edgeWidth = 10;\n drawOpt1.drawFaces = true;\n drawOpt1.faceColour = hexColor;\n drawOpt1.drawTwoSided = true;\n drawOpt1.backFaceColour = \"#0000ff\";\n drawOpt1.backFaceOpacity = 1;\n\n await bitbybit.draw.drawAnyAsync({\n entity: shape1,\n options: drawOpt1\n });\n\n // Draw shapes 2 and 4 with magenta color\n const drawOpt2 = new Bit.Inputs.Draw.DrawOcctShapeSimpleOptions();\n drawOpt2.precision = 0.01;\n drawOpt2.drawEdges = true;\n drawOpt2.edgeColour = \"#000000\";\n drawOpt2.edgeWidth = 10;\n drawOpt2.drawFaces = true;\n drawOpt2.faceColour = \"#fb05ff\";\n drawOpt2.drawTwoSided = true;\n drawOpt2.backFaceColour = \"#0000ff\";\n drawOpt2.backFaceOpacity = 1;\n\n await bitbybit.draw.drawAnyAsync({\n entity: [shape2, shape4],\n options: drawOpt2\n });\n\n // Draw shape3 with blue color\n const drawOpt3 = new Bit.Inputs.Draw.DrawOcctShapeSimpleOptions();\n drawOpt3.precision = 0.01;\n drawOpt3.drawEdges = true;\n drawOpt3.edgeColour = \"#ffffff\";\n drawOpt3.edgeWidth = 10;\n drawOpt3.drawFaces = true;\n drawOpt3.faceColour = \"#0011ff\";\n drawOpt3.drawTwoSided = true;\n drawOpt3.backFaceColour = \"#0000ff\";\n drawOpt3.backFaceOpacity = 1;\n\n await bitbybit.draw.drawAnyAsync({\n entity: shape3,\n options: drawOpt3\n });\n}\n\n// Execute the main function\nstart();","type":"typescript"}} title="Parsing STEP OCCT Assembly Structure Parts" /> diff --git a/docs/static/files/3d/Soil-Sensor-Y-Up.stpZ b/docs/static/files/3d/Soil-Sensor-Y-Up.stpZ new file mode 100644 index 0000000000000000000000000000000000000000..ff031a6310707fee3142714968c080d7b63750a8 GIT binary patch literal 284867 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 wkgWAl@9tU^<&G-Kk}AIc{Pz3%*Y^JL Date: Wed, 4 Feb 2026 21:59:32 +0200 Subject: [PATCH 3/7] shape to step --- .../shape-to-step-with-color-assembly.mdx | 97 +++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 docs/learn/code/common/occt/assembly/shape-to-step-with-color-assembly.mdx diff --git a/docs/learn/code/common/occt/assembly/shape-to-step-with-color-assembly.mdx b/docs/learn/code/common/occt/assembly/shape-to-step-with-color-assembly.mdx new file mode 100644 index 00000000..d0e95297 --- /dev/null +++ b/docs/learn/code/common/occt/assembly/shape-to-step-with-color-assembly.mdx @@ -0,0 +1,97 @@ +--- +sidebar_position: 4 +title: "Shape With Color to STEP" +sidebar_label: Shape with color to STEP +description: Learn +tags: [occt, assembly, step, gltf, cad] +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import BitByBitRenderCanvas from '@site/src/components/BitByBitRenderCanvas'; + +# OCCT Assembly Structure + +OCCT category icon with a stylized logo representation + +## Preserving Colors + +In order to preserve colors in your STEP files, you have to use assemblies. While fundamental, this was always one of the most requested features of our users, but it required full Assembly support in order to function properly. It's nice that it finally arrived. + +## What These Scripts Do + +The examples below demonstrate how to create a 3D shape in Bitbybit and export it as a STEP file with color information preserved. The exported file can then be opened in other CAD software like **FreeCAD**, **Fusion 360**, **SolidWorks**, or **Blender** with the assigned colors intact. + +### Script Breakdown + +**1. Scene Setup** +- Configures directional lighting with shadows for realistic preview +- Sets up a radial gradient background for visual appeal +- Enables a hidden skybox to provide environment-based lighting + +**2. Geometry Creation** +The scripts build a "pod shell" shape through several OCCT operations: +- **Points & Wires**: Defines 5 key points and creates 4 polygon wires connecting them +- **Faces**: Converts wires into planar faces +- **Face with Hole**: Offsets a wire inward, fillets the corners, reverses it, and uses it to create a face with a cutout +- **Shell Assembly**: Sews all faces together into a single shell +- **Mirror**: Duplicates the shell across the Z-axis to create symmetry +- **Fillet Edges**: Rounds the sharp edges where the two halves meet +- **Thick Solid**: Adds wall thickness to convert the shell into a solid + +**3. Visual Rendering** +- Creates a PBR (Physically Based Rendering) metallic material +- Draws the solid with black edge outlines for better visibility + +**4. Assembly & Color Assignment** +This is where the color preservation happens: +- **Create Part**: Registers the shape as a named part (`pod-shell`) +- **Create Assembly Node**: Creates a container for organizing parts (`Pod Assembly`) +- **Create Instance Node**: Places the part in the assembly with a **white color** (RGB: 1, 1, 1) +- **Combine Structure**: Merges parts and nodes into a complete assembly structure +- **Build Document**: Generates the XCAF document that stores shapes with their colors + +**5. STEP Export** +- Exports the assembly document to a `.stpZ` file (compressed STEP format) +- The file includes the white color assigned to the instance +- When opened in FreeCAD or other CAD software, the shape will display with the correct color + +### Why Use Assemblies for Color? + +Standard STEP files store only geometry—no color information. However, the XCAF (Extended CAD Application Framework) format used by OCCT can embed colors into assembly structures. By wrapping your shape in an assembly with color-assigned instances, you ensure that: + +- Colors transfer correctly to other CAD applications +- You can assign different colors to different instances of the same part +- The file structure is compatible with professional CAD software workflows + +### Try It Yourself + +Run the script, and a `pods.stpZ` file will download automatically. Open it in FreeCAD (File → Import), and you'll see the pod shape rendered in white—exactly as specified in the script. + + + + + + + pt1pt2pt3pt4polygonWire1polygonWire2polygonWire3polygonWire4face1face2face3offsetWirefilletWirereversedWirefaceWithHoleshell1mirroredShellcombinedShellfilletedShellthickSolidpbrMaterialpodPartassemblyNodeinstanceNodepartsListnodesListstructuredocumentexportedDocbg-20-20-203#ffffff#ffffff2056TRUE0TRUEFALSE0.20.0010.02100001bg#8194b1#1c1e21center0100circle'city'10000.10.7TRUEpt11500pt2060pt3-316pt4-122.450polygonWire1pt1pt2pt3polygonWire2pt4pt3pt2face1polygonWire2TRUEpolygonWire3pt3pt43-20face2polygonWire3TRUEpolygonWire4pt1pt33-20face3polygonWire4TRUEoffsetWirepolygonWire1-0.60.0001filletWireoffsetWire0.2reversedWirefilletWirefaceWithHolepolygonWire1reversedWireTRUEshell1faceWithHoleface1face2face30.0000001mirroredShellshell1000001combinedShellshell1mirroredShell0.0000001filletedShellcombinedShell0.1thickSolidfilletedShell0.2pbrMaterialCustom Material#a3a3a3#0000000.80.81FALSE2thickSolid0.01TRUE#0000001pbrMaterialpodPartpod-shellthickSolidPod ShellassemblyNodepod-assemblyPod AssemblyinstanceNodepod-instancepod-shellpodpod-assembly0000001#ffffff01partsListpodPartnodesListassemblyNodeinstanceNodestructurepartsListnodesListFALSEdocumentstructureexportedDocdocumentpods.stpZBitbybit userBitbybitTRUETRUE","type":"blockly"}} + title="Shape with Color to STEP Export" + /> + + + {\n // Setup directional light\n const dirLightOpt = new DirectionalLightDto();\n dirLightOpt.direction = [-20, -20, -20] as Vector3;\n dirLightOpt.intensity = 3;\n dirLightOpt.shadowGeneratorMapSize = 2056;\n dirLightOpt.enableShadows = true;\n dirLightOpt.shadowBias = 0.001;\n dirLightOpt.shadowNormalBias = 0.02;\n scene.drawDirectionalLight(dirLightOpt);\n\n // Setup radial gradient background\n const bgOpt = new SceneTwoColorRadialGradientDto();\n bgOpt.colorFrom = \"#8194b1\";\n bgOpt.colorTo = \"#1c1e21\";\n bgOpt.position = gradientPositionEnum.center;\n bgOpt.shape = gradientShapeEnum.circle;\n scene.twoColorRadialGradientBackground(bgOpt);\n\n // Enable skybox (hidden but provides environment lighting)\n const skyboxOpt = new SkyboxDto();\n skyboxOpt.skybox = skyboxEnum.city;\n skyboxOpt.size = 1000;\n skyboxOpt.blur = 0.1;\n skyboxOpt.environmentIntensity = 0.7;\n skyboxOpt.hideSkybox = true;\n scene.enableSkybox(skyboxOpt);\n\n // Define the 4 key points for the pod shell geometry\n const pt1: Point3 = [15, 0, 0];\n const pt2: Point3 = [0, 6, 0];\n const pt3: Point3 = [-3, 1, 6];\n const pt4: Point3 = [-12, 2.45, 0];\n const pt5: Point3 = [3, -2, 0];\n\n // Create polygon wire 1 (pt1, pt2, pt3)\n const poly1Opt = new PolygonDto();\n poly1Opt.points = [pt1, pt2, pt3];\n const polygonWire1 = await wire.createPolygonWire(poly1Opt);\n\n // Create polygon wire 2 (pt4, pt3, pt2)\n const poly2Opt = new PolygonDto();\n poly2Opt.points = [pt4, pt3, pt2];\n const polygonWire2 = await wire.createPolygonWire(poly2Opt);\n\n // Create face 1 from polygonWire2\n const face1Opt = new FaceFromWireDto();\n face1Opt.shape = polygonWire2;\n face1Opt.planar = true;\n const face1 = await face.createFaceFromWire(face1Opt);\n\n // Create polygon wire 3 (pt3, pt4, pt5)\n const poly3Opt = new PolygonDto();\n poly3Opt.points = [pt3, pt4, pt5];\n const polygonWire3 = await wire.createPolygonWire(poly3Opt);\n\n // Create face 2 from polygonWire3\n const face2Opt = new FaceFromWireDto();\n face2Opt.shape = polygonWire3;\n face2Opt.planar = true;\n const face2 = await face.createFaceFromWire(face2Opt);\n\n // Create polygon wire 4 (pt1, pt3, pt5)\n const poly4Opt = new PolygonDto();\n poly4Opt.points = [pt1, pt3, pt5];\n const polygonWire4 = await wire.createPolygonWire(poly4Opt);\n\n // Create face 3 from polygonWire4\n const face3Opt = new FaceFromWireDto();\n face3Opt.shape = polygonWire4;\n face3Opt.planar = true;\n const face3 = await face.createFaceFromWire(face3Opt);\n\n // Offset polygonWire1 to create inner wire for the hole\n const offsetOpt = new OffsetDto();\n offsetOpt.shape = polygonWire1;\n offsetOpt.distance = -0.6;\n offsetOpt.tolerance = 0.0001;\n const offsetWire = await operations.offset(offsetOpt);\n\n // Fillet the offset wire corners\n const fillet2dOpt = new FilletDto();\n fillet2dOpt.shape = offsetWire as TopoDSWirePointer;\n fillet2dOpt.radius = 0.2;\n const filletWire = await fillets.fillet2d(fillet2dOpt);\n\n // Reverse the filleted wire for hole creation\n const reverseOpt = new ShapeDto();\n reverseOpt.shape = filletWire as TopoDSWirePointer;\n const reversedWire = await wire.reversedWire(reverseOpt);\n\n // Create face with hole from polygonWire1 (outer) and reversedWire (hole)\n const faceWithHoleOpt = new FaceFromWiresDto();\n faceWithHoleOpt.shapes = [polygonWire1, reversedWire];\n faceWithHoleOpt.planar = true;\n const faceWithHole = await face.createFaceFromWires(faceWithHoleOpt);\n\n // Sew all faces into a shell\n const sew1Opt = new SewDto();\n sew1Opt.shapes = [faceWithHole, face1, face2, face3] as TopoDSFacePointer[];\n sew1Opt.tolerance = 0.0000001;\n const shell1 = await shell.sewFaces(sew1Opt);\n\n // Mirror the shell along Z normal to create the other half\n const mirrorOpt = new MirrorAlongNormalDto();\n mirrorOpt.shape = shell1;\n mirrorOpt.origin = [0, 0, 0];\n mirrorOpt.normal = [0, 0, 1];\n const mirroredShell = await transforms.mirrorAlongNormal(mirrorOpt);\n\n // Sew both shells together\n const sew2Opt = new SewDto();\n sew2Opt.shapes = [shell1, mirroredShell];\n sew2Opt.tolerance = 0.0000001;\n const combinedShell = await shell.sewFaces(sew2Opt);\n\n // Fillet edges of the combined shell\n const filletEdgesOpt = new FilletDto();\n filletEdgesOpt.shape = combinedShell;\n filletEdgesOpt.radius = 0.1;\n const filletedShell = await fillets.filletEdges(filletEdgesOpt);\n\n // Make thick solid from the shell\n const thickSolidOpt = new ThisckSolidSimpleDto();\n thickSolidOpt.shape = filletedShell;\n thickSolidOpt.offset = 0.2;\n const thickSolid = await operations.makeThickSolidSimple(thickSolidOpt);\n\n // Create PBR material for rendering\n const pbrOpt = new PBRMetallicRoughnessDto();\n pbrOpt.name = \"Custom Material\";\n pbrOpt.baseColor = \"#a3a3a3\";\n pbrOpt.emissiveColor = \"#000000\";\n pbrOpt.metallic = 0.8;\n pbrOpt.roughness = 0.8;\n pbrOpt.alpha = 1;\n pbrOpt.backFaceCulling = false;\n pbrOpt.zOffset = 2;\n const pbrMaterial = material.pbrMetallicRoughness.create(pbrOpt);\n\n // Draw the shape with material\n const drawOpt = new DrawOcctShapeMaterialOptions();\n drawOpt.precision = 0.01;\n drawOpt.drawEdges = true;\n drawOpt.edgeColour = \"#000000\";\n drawOpt.edgeWidth = 1;\n drawOpt.faceMaterial = pbrMaterial;\n await bitbybit.draw.drawAnyAsync({ entity: thickSolid, options: drawOpt });\n\n // Create the pod part for the assembly\n const podPartOpt = new CreateAssemblyPartDto();\n podPartOpt.id = \"pod-shell\";\n podPartOpt.shape = thickSolid;\n podPartOpt.name = \"Pod Shell\";\n const podPart = await manager.createPart(podPartOpt);\n\n // Create assembly node\n const assemblyNodeOpt = new CreateAssemblyNodeDto();\n assemblyNodeOpt.id = \"pod-assembly\";\n assemblyNodeOpt.name = \"Pod Assembly\";\n assemblyNodeOpt.parentId = \"\";\n const assemblyNode = await manager.createAssemblyNode(assemblyNodeOpt);\n\n // Create instance node with white color\n const instanceNodeOpt = new CreateInstanceNodeDto();\n instanceNodeOpt.id = \"pod-instance\";\n instanceNodeOpt.partId = \"pod-shell\";\n instanceNodeOpt.name = \"pod\";\n instanceNodeOpt.parentId = \"pod-assembly\";\n instanceNodeOpt.translation = [0, 0, 0];\n instanceNodeOpt.rotation = [0, 0, 0];\n instanceNodeOpt.scale = 1;\n instanceNodeOpt.colorRgba = { r: 1, g: 1, b: 1, a: 1 };\n const instanceNode = await manager.createInstanceNode(instanceNodeOpt);\n\n // Combine parts and nodes into structure\n const partsList = [podPart];\n const nodesList = [assemblyNode, instanceNode];\n\n const combineOpt = new CombineAssemblyStructureDto();\n combineOpt.parts = partsList;\n combineOpt.nodes = nodesList;\n combineOpt.removals = [];\n combineOpt.partUpdates = [];\n combineOpt.clearDocument = false;\n const structure = await manager.combineStructure(combineOpt);\n\n // Build assembly document\n const buildDocOpt = new BuildAssemblyDocumentDto();\n buildDocOpt.structure = structure;\n const document = await manager.buildAssemblyDocument(buildDocOpt);\n\n // Export to STEP file with color preserved\n const exportOpt = new ExportDocumentToStepDto();\n exportOpt.document = document;\n exportOpt.fileName = \"pods.stpZ\";\n exportOpt.author = \"Bitbybit user\";\n exportOpt.organization = \"Bitbybit\";\n exportOpt.compress = true;\n exportOpt.tryDownload = true;\n await manager.exportDocumentToStep(exportOpt);\n}\n\nstart();\n","type":"typescript"}} + title="Shape with Color to STEP Export" + /> + + From 28846adb347e8b0fe6b962e5afbdaae80d9b867e Mon Sep 17 00:00:00 2001 From: Matas Ubarevicius Date: Wed, 4 Feb 2026 22:04:19 +0200 Subject: [PATCH 4/7] adjustments to assembly tutorials --- .../code/common/occt/assembly/_category_.json | 2 +- .../occt/assembly/assembly-structure.mdx | 12 ++++++------ .../common/occt/assembly/create-assembly.mdx | 14 +++++++------- .../learn/code/common/occt/assembly/intro.mdx | 4 ++-- .../shape-to-step-with-color-assembly.mdx | 14 ++++++++------ .../common/occt/assembly/step-to-gltf.mdx | 19 ++++++------------- 6 files changed, 30 insertions(+), 35 deletions(-) diff --git a/docs/learn/code/common/occt/assembly/_category_.json b/docs/learn/code/common/occt/assembly/_category_.json index 73ac4831..842f9367 100644 --- a/docs/learn/code/common/occt/assembly/_category_.json +++ b/docs/learn/code/common/occt/assembly/_category_.json @@ -4,7 +4,7 @@ "link": { "type": "generated-index", "title": "OCCT Assembly", - "description": "Learn how to create OCCT assemblies and manage complex parts.", + "description": "Work with OCCT assemblies: load STEP files, export to GLTF, parse hierarchy, create multi-part models, and preserve colors for CAD visualization.", "slug": "/code/common/occt/assembly" } } \ No newline at end of file diff --git a/docs/learn/code/common/occt/assembly/assembly-structure.mdx b/docs/learn/code/common/occt/assembly/assembly-structure.mdx index 916fed6f..1e232749 100644 --- a/docs/learn/code/common/occt/assembly/assembly-structure.mdx +++ b/docs/learn/code/common/occt/assembly/assembly-structure.mdx @@ -1,8 +1,8 @@ --- sidebar_position: 3 -title: "Structure" +title: "Parse Assembly Structure" sidebar_label: Structure -description: Learn how to analyze the structure of assembly. Bitbybit probides dedicated preview components for Visual Programmers. +description: Extract and navigate assembly hierarchy from STEP files - find part labels, retrieve shapes, and apply custom styling to individual components. tags: [occt, assembly, step, gltf, cad] --- @@ -10,7 +10,7 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import BitByBitRenderCanvas from '@site/src/components/BitByBitRenderCanvas'; -# OCCT Assembly Structure +# Navigate and Extract Assembly Parts OCCT category icon with a stylized logo representation -Understanding assembly structure is essential when working with CAD models. Think of an assembly like a family tree for 3D parts - it shows how different components are organized and related to each other. Let's explore how to navigate this structure and extract the parts you need. +When you need to access individual parts from a STEP file, understanding the assembly structure is key. This tutorial shows you how to explore the hierarchy, find specific parts using their labels, and render them with custom colors. -## What is Assembly Structure? +## How the Hierarchy Works -When engineers design complex products (like machines, robots, or buildings), they don't create one giant 3D shape. Instead, they build **assemblies** - collections of individual parts organized in a hierarchy. Each part has: +Assemblies organize parts in a tree structure. Each part has: - A **label** (like an address): `0:1:1:3` tells you exactly where the part lives in the structure - A **name**: Human-readable identifier like "Mounting Plate" or "Screw" diff --git a/docs/learn/code/common/occt/assembly/create-assembly.mdx b/docs/learn/code/common/occt/assembly/create-assembly.mdx index c31f33ae..a02cf68e 100644 --- a/docs/learn/code/common/occt/assembly/create-assembly.mdx +++ b/docs/learn/code/common/occt/assembly/create-assembly.mdx @@ -1,8 +1,8 @@ --- -sidebar_position: 4 -title: "Create Assembly" +sidebar_position: 5 +title: "Build and Export Assemblies" sidebar_label: Creating Assembly -description: Learn how to create OCCT assembly documents with parts, instances, and hierarchies. Export structured STEP files compatible with FreeCAD, Fusion 360, SolidWorks, and other CAD software. +description: Create structured CAD assemblies with parts, instances, and hierarchies. Export STEP files compatible with FreeCAD, Fusion 360, and SolidWorks. tags: [occt, assembly, step, gltf, cad] --- @@ -10,7 +10,7 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import BitByBitRenderCanvas from '@site/src/components/BitByBitRenderCanvas'; -# OCCT Assembly Structure +# Build Multi-Part Assemblies from Scratch OCCT category icon with a stylized logo representation -## What is an Assembly Document? +This tutorial demonstrates how to create an assembly programmatically using parts and instances, then export it as a structured STEP file. -An **assembly document** is a structured CAD file format that organizes your 3D model into a hierarchy of **parts** and **instances**. Unlike a flat shape export where all geometry is merged into a single blob, an assembly preserves the logical structure of your design. +## Parts, Instances, and Nodes -Think of it like building a car: +An **assembly document** organizes your 3D model into a hierarchy: - **Parts** are the unique component designs (e.g., a wheel, a door, an engine) - **Instances** are the actual placements of those parts in your model (e.g., "put a wheel at each corner of the chassis") - **Assembly nodes** are containers that group related instances together (e.g., "the drivetrain" containing engine and transmission) diff --git a/docs/learn/code/common/occt/assembly/intro.mdx b/docs/learn/code/common/occt/assembly/intro.mdx index 2cc11bd5..30c6e7c3 100644 --- a/docs/learn/code/common/occt/assembly/intro.mdx +++ b/docs/learn/code/common/occt/assembly/intro.mdx @@ -1,8 +1,8 @@ --- sidebar_position: 1 -title: "Intro OCCT Assemblies" +title: "Introduction to Assemblies" sidebar_label: Introduction -description: Learn how to work with OCCT assemblies in Bitbybit - load STEP files, convert CAD data to glTF for web display, parse assembly structure, and build interactive 3D CAD viewers with examples in Rete, Blockly, and TypeScript. +description: Understand what OCCT assemblies are, why STEP files matter for CAD workflows, and preview your first assembly model in the browser. tags: [occt, assembly, step, gltf, cad] --- diff --git a/docs/learn/code/common/occt/assembly/shape-to-step-with-color-assembly.mdx b/docs/learn/code/common/occt/assembly/shape-to-step-with-color-assembly.mdx index d0e95297..f1b61234 100644 --- a/docs/learn/code/common/occt/assembly/shape-to-step-with-color-assembly.mdx +++ b/docs/learn/code/common/occt/assembly/shape-to-step-with-color-assembly.mdx @@ -1,8 +1,8 @@ --- sidebar_position: 4 -title: "Shape With Color to STEP" -sidebar_label: Shape with color to STEP -description: Learn +title: "Export Shapes with Color" +sidebar_label: Shape with Color to STEP +description: Export OCCT shapes to STEP files with preserved colors using the assembly document structure for CAD software compatibility. tags: [occt, assembly, step, gltf, cad] --- @@ -10,7 +10,7 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import BitByBitRenderCanvas from '@site/src/components/BitByBitRenderCanvas'; -# OCCT Assembly Structure +# Preserve Colors in STEP Exports OCCT category icon with a stylized logo representation -## Preserving Colors +Standard STEP files store only geometry — no color information. To preserve colors, you need to use the assembly document structure. This was one of our most requested features, and it's finally available! -In order to preserve colors in your STEP files, you have to use assemblies. While fundamental, this was always one of the most requested features of our users, but it required full Assembly support in order to function properly. It's nice that it finally arrived. +## Why Colors Require Assemblies + +The XCAF (Extended CAD Application Framework) format used by OCCT can embed colors into assembly structures. By wrapping shapes in an assembly with color-assigned instances, you ensure colors transfer correctly to other CAD applications. ## What These Scripts Do diff --git a/docs/learn/code/common/occt/assembly/step-to-gltf.mdx b/docs/learn/code/common/occt/assembly/step-to-gltf.mdx index 7cfc4ff0..ae72ada7 100644 --- a/docs/learn/code/common/occt/assembly/step-to-gltf.mdx +++ b/docs/learn/code/common/occt/assembly/step-to-gltf.mdx @@ -1,8 +1,8 @@ --- sidebar_position: 2 -title: "STEP to GLTF" +title: "Convert STEP to GLTF" sidebar_label: STEP to GLTF -description: While displaying GLTF model is very useful, you can use Bitbybit browser based algorithms for conversions too. In this tutorial you'll learn how to do that. +description: Convert STEP files to web-optimized GLTF/GLB format directly in the browser with privacy-preserving local processing. tags: [occt, assembly, step, gltf, cad] --- @@ -10,7 +10,7 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import BitByBitRenderCanvas from '@site/src/components/BitByBitRenderCanvas'; -# Exporting GLTF files produced from STEP files +# Export STEP Files to GLTF OCCT category icon with a stylized logo representation -Converting STEP files to GLTF is one of the most practical operations you can perform with CAD data. This tutorial shows you how to transform engineering CAD files into web-friendly 3D formats - all running directly in your browser! +This tutorial shows you how to convert STEP files to web-optimized GLTF/GLB format — with all processing happening directly in your browser. -## Why Convert STEP to GLTF? +## Why Export to GLTF? -**STEP files** are the gold standard for exchanging CAD data between professional engineering software. They preserve exact geometry, assembly structure, colors, and metadata. However, they're not designed for web viewing. - -**GLTF (GL Transmission Format)** is the "JPEG of 3D" - a lightweight, web-optimized format that loads quickly in browsers, game engines, and 3D viewers. The binary version (**.glb**) packages everything into a single file. - -By converting STEP to GLTF, you get the best of both worlds: -- ✅ Start with precise engineering data -- ✅ End with a fast-loading web-ready model -- ✅ Preserve colors and structure from the original CAD file +STEP files preserve precise CAD geometry but aren't optimized for web viewing. GLTF (the "JPEG of 3D") loads quickly in browsers and 3D engines while preserving colors and structure from the original file. ## Browser-Based Conversion From 75e00a113a13a53879d38316ac53d33a1724bb0c Mon Sep 17 00:00:00 2001 From: Matas Ubarevicius Date: Wed, 4 Feb 2026 22:06:40 +0200 Subject: [PATCH 5/7] update to script ids --- .../assembly/shape-to-step-with-color-assembly.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/learn/code/common/occt/assembly/shape-to-step-with-color-assembly.mdx b/docs/learn/code/common/occt/assembly/shape-to-step-with-color-assembly.mdx index f1b61234..1bd4fb7c 100644 --- a/docs/learn/code/common/occt/assembly/shape-to-step-with-color-assembly.mdx +++ b/docs/learn/code/common/occt/assembly/shape-to-step-with-color-assembly.mdx @@ -74,22 +74,22 @@ Standard STEP files store only geometry—no color information. However, the XCA Run the script, and a `pods.stpZ` file will download automatically. Open it in FreeCAD (File → Import), and you'll see the pod shape rendered in white—exactly as specified in the script. - - + + - + pt1pt2pt3pt4polygonWire1polygonWire2polygonWire3polygonWire4face1face2face3offsetWirefilletWirereversedWirefaceWithHoleshell1mirroredShellcombinedShellfilletedShellthickSolidpbrMaterialpodPartassemblyNodeinstanceNodepartsListnodesListstructuredocumentexportedDocbg-20-20-203#ffffff#ffffff2056TRUE0TRUEFALSE0.20.0010.02100001bg#8194b1#1c1e21center0100circle'city'10000.10.7TRUEpt11500pt2060pt3-316pt4-122.450polygonWire1pt1pt2pt3polygonWire2pt4pt3pt2face1polygonWire2TRUEpolygonWire3pt3pt43-20face2polygonWire3TRUEpolygonWire4pt1pt33-20face3polygonWire4TRUEoffsetWirepolygonWire1-0.60.0001filletWireoffsetWire0.2reversedWirefilletWirefaceWithHolepolygonWire1reversedWireTRUEshell1faceWithHoleface1face2face30.0000001mirroredShellshell1000001combinedShellshell1mirroredShell0.0000001filletedShellcombinedShell0.1thickSolidfilletedShell0.2pbrMaterialCustom Material#a3a3a3#0000000.80.81FALSE2thickSolid0.01TRUE#0000001pbrMaterialpodPartpod-shellthickSolidPod ShellassemblyNodepod-assemblyPod AssemblyinstanceNodepod-instancepod-shellpodpod-assembly0000001#ffffff01partsListpodPartnodesListassemblyNodeinstanceNodestructurepartsListnodesListFALSEdocumentstructureexportedDocdocumentpods.stpZBitbybit userBitbybitTRUETRUE","type":"blockly"}} title="Shape with Color to STEP Export" /> - + {\n // Setup directional light\n const dirLightOpt = new DirectionalLightDto();\n dirLightOpt.direction = [-20, -20, -20] as Vector3;\n dirLightOpt.intensity = 3;\n dirLightOpt.shadowGeneratorMapSize = 2056;\n dirLightOpt.enableShadows = true;\n dirLightOpt.shadowBias = 0.001;\n dirLightOpt.shadowNormalBias = 0.02;\n scene.drawDirectionalLight(dirLightOpt);\n\n // Setup radial gradient background\n const bgOpt = new SceneTwoColorRadialGradientDto();\n bgOpt.colorFrom = \"#8194b1\";\n bgOpt.colorTo = \"#1c1e21\";\n bgOpt.position = gradientPositionEnum.center;\n bgOpt.shape = gradientShapeEnum.circle;\n scene.twoColorRadialGradientBackground(bgOpt);\n\n // Enable skybox (hidden but provides environment lighting)\n const skyboxOpt = new SkyboxDto();\n skyboxOpt.skybox = skyboxEnum.city;\n skyboxOpt.size = 1000;\n skyboxOpt.blur = 0.1;\n skyboxOpt.environmentIntensity = 0.7;\n skyboxOpt.hideSkybox = true;\n scene.enableSkybox(skyboxOpt);\n\n // Define the 4 key points for the pod shell geometry\n const pt1: Point3 = [15, 0, 0];\n const pt2: Point3 = [0, 6, 0];\n const pt3: Point3 = [-3, 1, 6];\n const pt4: Point3 = [-12, 2.45, 0];\n const pt5: Point3 = [3, -2, 0];\n\n // Create polygon wire 1 (pt1, pt2, pt3)\n const poly1Opt = new PolygonDto();\n poly1Opt.points = [pt1, pt2, pt3];\n const polygonWire1 = await wire.createPolygonWire(poly1Opt);\n\n // Create polygon wire 2 (pt4, pt3, pt2)\n const poly2Opt = new PolygonDto();\n poly2Opt.points = [pt4, pt3, pt2];\n const polygonWire2 = await wire.createPolygonWire(poly2Opt);\n\n // Create face 1 from polygonWire2\n const face1Opt = new FaceFromWireDto();\n face1Opt.shape = polygonWire2;\n face1Opt.planar = true;\n const face1 = await face.createFaceFromWire(face1Opt);\n\n // Create polygon wire 3 (pt3, pt4, pt5)\n const poly3Opt = new PolygonDto();\n poly3Opt.points = [pt3, pt4, pt5];\n const polygonWire3 = await wire.createPolygonWire(poly3Opt);\n\n // Create face 2 from polygonWire3\n const face2Opt = new FaceFromWireDto();\n face2Opt.shape = polygonWire3;\n face2Opt.planar = true;\n const face2 = await face.createFaceFromWire(face2Opt);\n\n // Create polygon wire 4 (pt1, pt3, pt5)\n const poly4Opt = new PolygonDto();\n poly4Opt.points = [pt1, pt3, pt5];\n const polygonWire4 = await wire.createPolygonWire(poly4Opt);\n\n // Create face 3 from polygonWire4\n const face3Opt = new FaceFromWireDto();\n face3Opt.shape = polygonWire4;\n face3Opt.planar = true;\n const face3 = await face.createFaceFromWire(face3Opt);\n\n // Offset polygonWire1 to create inner wire for the hole\n const offsetOpt = new OffsetDto();\n offsetOpt.shape = polygonWire1;\n offsetOpt.distance = -0.6;\n offsetOpt.tolerance = 0.0001;\n const offsetWire = await operations.offset(offsetOpt);\n\n // Fillet the offset wire corners\n const fillet2dOpt = new FilletDto();\n fillet2dOpt.shape = offsetWire as TopoDSWirePointer;\n fillet2dOpt.radius = 0.2;\n const filletWire = await fillets.fillet2d(fillet2dOpt);\n\n // Reverse the filleted wire for hole creation\n const reverseOpt = new ShapeDto();\n reverseOpt.shape = filletWire as TopoDSWirePointer;\n const reversedWire = await wire.reversedWire(reverseOpt);\n\n // Create face with hole from polygonWire1 (outer) and reversedWire (hole)\n const faceWithHoleOpt = new FaceFromWiresDto();\n faceWithHoleOpt.shapes = [polygonWire1, reversedWire];\n faceWithHoleOpt.planar = true;\n const faceWithHole = await face.createFaceFromWires(faceWithHoleOpt);\n\n // Sew all faces into a shell\n const sew1Opt = new SewDto();\n sew1Opt.shapes = [faceWithHole, face1, face2, face3] as TopoDSFacePointer[];\n sew1Opt.tolerance = 0.0000001;\n const shell1 = await shell.sewFaces(sew1Opt);\n\n // Mirror the shell along Z normal to create the other half\n const mirrorOpt = new MirrorAlongNormalDto();\n mirrorOpt.shape = shell1;\n mirrorOpt.origin = [0, 0, 0];\n mirrorOpt.normal = [0, 0, 1];\n const mirroredShell = await transforms.mirrorAlongNormal(mirrorOpt);\n\n // Sew both shells together\n const sew2Opt = new SewDto();\n sew2Opt.shapes = [shell1, mirroredShell];\n sew2Opt.tolerance = 0.0000001;\n const combinedShell = await shell.sewFaces(sew2Opt);\n\n // Fillet edges of the combined shell\n const filletEdgesOpt = new FilletDto();\n filletEdgesOpt.shape = combinedShell;\n filletEdgesOpt.radius = 0.1;\n const filletedShell = await fillets.filletEdges(filletEdgesOpt);\n\n // Make thick solid from the shell\n const thickSolidOpt = new ThisckSolidSimpleDto();\n thickSolidOpt.shape = filletedShell;\n thickSolidOpt.offset = 0.2;\n const thickSolid = await operations.makeThickSolidSimple(thickSolidOpt);\n\n // Create PBR material for rendering\n const pbrOpt = new PBRMetallicRoughnessDto();\n pbrOpt.name = \"Custom Material\";\n pbrOpt.baseColor = \"#a3a3a3\";\n pbrOpt.emissiveColor = \"#000000\";\n pbrOpt.metallic = 0.8;\n pbrOpt.roughness = 0.8;\n pbrOpt.alpha = 1;\n pbrOpt.backFaceCulling = false;\n pbrOpt.zOffset = 2;\n const pbrMaterial = material.pbrMetallicRoughness.create(pbrOpt);\n\n // Draw the shape with material\n const drawOpt = new DrawOcctShapeMaterialOptions();\n drawOpt.precision = 0.01;\n drawOpt.drawEdges = true;\n drawOpt.edgeColour = \"#000000\";\n drawOpt.edgeWidth = 1;\n drawOpt.faceMaterial = pbrMaterial;\n await bitbybit.draw.drawAnyAsync({ entity: thickSolid, options: drawOpt });\n\n // Create the pod part for the assembly\n const podPartOpt = new CreateAssemblyPartDto();\n podPartOpt.id = \"pod-shell\";\n podPartOpt.shape = thickSolid;\n podPartOpt.name = \"Pod Shell\";\n const podPart = await manager.createPart(podPartOpt);\n\n // Create assembly node\n const assemblyNodeOpt = new CreateAssemblyNodeDto();\n assemblyNodeOpt.id = \"pod-assembly\";\n assemblyNodeOpt.name = \"Pod Assembly\";\n assemblyNodeOpt.parentId = \"\";\n const assemblyNode = await manager.createAssemblyNode(assemblyNodeOpt);\n\n // Create instance node with white color\n const instanceNodeOpt = new CreateInstanceNodeDto();\n instanceNodeOpt.id = \"pod-instance\";\n instanceNodeOpt.partId = \"pod-shell\";\n instanceNodeOpt.name = \"pod\";\n instanceNodeOpt.parentId = \"pod-assembly\";\n instanceNodeOpt.translation = [0, 0, 0];\n instanceNodeOpt.rotation = [0, 0, 0];\n instanceNodeOpt.scale = 1;\n instanceNodeOpt.colorRgba = { r: 1, g: 1, b: 1, a: 1 };\n const instanceNode = await manager.createInstanceNode(instanceNodeOpt);\n\n // Combine parts and nodes into structure\n const partsList = [podPart];\n const nodesList = [assemblyNode, instanceNode];\n\n const combineOpt = new CombineAssemblyStructureDto();\n combineOpt.parts = partsList;\n combineOpt.nodes = nodesList;\n combineOpt.removals = [];\n combineOpt.partUpdates = [];\n combineOpt.clearDocument = false;\n const structure = await manager.combineStructure(combineOpt);\n\n // Build assembly document\n const buildDocOpt = new BuildAssemblyDocumentDto();\n buildDocOpt.structure = structure;\n const document = await manager.buildAssemblyDocument(buildDocOpt);\n\n // Export to STEP file with color preserved\n const exportOpt = new ExportDocumentToStepDto();\n exportOpt.document = document;\n exportOpt.fileName = \"pods.stpZ\";\n exportOpt.author = \"Bitbybit user\";\n exportOpt.organization = \"Bitbybit\";\n exportOpt.compress = true;\n exportOpt.tryDownload = true;\n await manager.exportDocumentToStep(exportOpt);\n}\n\nstart();\n","type":"typescript"}} From 271bad246541b243857d9c677638567d44eb5ff0 Mon Sep 17 00:00:00 2001 From: Matas Ubarevicius Date: Thu, 5 Feb 2026 09:51:37 +0200 Subject: [PATCH 6/7] step assembly support blog post, docs, update tags --- docs/blog/2026-01-21-release-v1-rc0.md | 2 +- .../blog/2026-02-04-step-assembly-support.mdx | 119 +++++++ docs/blog/tags.yml | 51 ++- .../occt/assembly/assembly-structure.mdx | 2 +- .../shape-to-step-with-color-assembly.mdx | 56 +-- .../common/occt/assembly/step-to-gltf.mdx | 4 +- docs/learn/tags.yml | 332 +++++++++--------- 7 files changed, 334 insertions(+), 232 deletions(-) create mode 100644 docs/blog/2026-02-04-step-assembly-support.mdx diff --git a/docs/blog/2026-01-21-release-v1-rc0.md b/docs/blog/2026-01-21-release-v1-rc0.md index 7aea9e7e..5be20515 100644 --- a/docs/blog/2026-01-21-release-v1-rc0.md +++ b/docs/blog/2026-01-21-release-v1-rc0.md @@ -2,7 +2,7 @@ slug: bitbybit-v1-release-candidate-0 title: "Bitbybit v1.0.0 Release Candidate 0 - A New Foundation for 3D CAD on the Web" authors: [ubarevicius] -tags: [bitbybit, cad, occt, release] +tags: [bitbybit, cad, occt] 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." --- diff --git a/docs/blog/2026-02-04-step-assembly-support.mdx b/docs/blog/2026-02-04-step-assembly-support.mdx new file mode 100644 index 00000000..cc6fb353 --- /dev/null +++ b/docs/blog/2026-02-04-step-assembly-support.mdx @@ -0,0 +1,119 @@ +--- +slug: step-assembly-support-v1-rc1 +title: "STEP Assembly Support: Load, Parse, and Export Professional CAD Files" +authors: [ubarevicius] +tags: [occt, assembly, step, gltf, cad, freecad] +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." +image: https://ik.imagekit.io/bitbybit/app/assets/blog/step-assembly-support/step-assembly-support-occt-bitbybit.webp +--- + +![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") + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +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. + +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. + + + +## What Can You Do? + +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. + +![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") +![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") + +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. + +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. + +![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") + +## Parametric Scripts to STEP Assemblies + +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. + +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. + +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. + +![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") + +![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") + +## Why Does This Matter? + +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. + +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. + +## The API + +There are two groups of methods. The **Manager** methods let you build and export assemblies: `createPart`, `createAssemblyNode`, `createInstanceNode`, `combineStructure`, `buildAssemblyDocument`, `exportDocumentToStep`, and `exportDocumentToGltf`. + +The **Query** methods let you inspect existing documents: `getDocumentParts`, `getAssemblyHierarchy`, `getShapeFromLabel`, `getLabelColor`, `getLabelTransform`, and `getLabelInfo`. + +![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") + +## Visual Programming + +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. + +## Your Files Stay Private + +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. + +:::warning Memory Note +Large assemblies need memory. The standard build supports up to 2GB. For complex models, use the 64-bit version (up to 16GB). +::: + +## Tutorials + +We have step-by-step tutorials to get you started: + +- [Introduction to Assemblies](/learn/code/common/occt/assembly/intro) - the basics +- [Convert STEP to GLTF](/learn/code/common/occt/assembly/step-to-gltf) - for web viewing +- [Parse Assembly Structure](/learn/code/common/occt/assembly/assembly-structure) - explore parts +- [Build and Export Assemblies](/learn/code/common/occt/assembly/create-assembly) - create from scratch +- [Export Shapes with Color](/learn/code/common/occt/assembly/shape-to-step-with-color-assembly) - preserve colors + +Each one has examples in Rete, Blockly, and TypeScript. + +## Example: Load and Display a STEP Assembly + +Here's the simplest workflow - load a STEP file and display it in the browser: + +```typescript +// Fetch the STEP file +const stepData = await bitbybit.asset.fetchFile({ + url: "https://learn.bitbybit.dev/files/3d/Soil-Sensor.stpZ" +}); + +// Convert to GLTF for display +const glbData = await bitbybit.occt.io.convertStepToGltf({ + stepData, + meshPrecision: 0.05 +}); + +// Load into the 3D scene +await bitbybit.babylon.io.loadGlbFromArrayBuffer({ + glbData, + fileName: "model.glb" +}); +``` + +That's it - three function calls to go from a STEP file to 3D model in the browser. + +## What's Next? + +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). + +## Credits + +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. + +--- + +**Ready to try it?** Head to the [assembly tutorials](/learn/code/common/occt/assembly) and load your first STEP file. diff --git a/docs/blog/tags.yml b/docs/blog/tags.yml index ae1adc25..f979769b 100644 --- a/docs/blog/tags.yml +++ b/docs/blog/tags.yml @@ -1,64 +1,89 @@ bitbybit: label: Bitbybit permalink: /bitbybit - description: Blog posts about Bitbybit + description: Platform updates, new features, and tutorials for the Bitbybit visual programming environment. cloud: label: Cloud permalink: /cloud - description: Blog posts about Cloud + description: Cloud, server-side services, and scalable 3D workflows. ai: label: AI permalink: /ai - description: Blog posts about Artificial Intelligence + description: Using AI assistants and machine learning with 3D modeling and CAD automation. cad: label: CAD permalink: /cad - description: Blog posts about Computer-Aided Design + description: Computer-Aided Design techniques, precision modeling, and engineering workflows. xr: label: XR permalink: /xr - description: Blog posts about Extended Reality + description: Extended Reality experiences combining AR, VR, and mixed reality with 3D content. vr: label: VR permalink: /vr - description: Blog posts about Virtual Reality + description: Virtual Reality applications for immersive 3D visualization and interaction. 3d-bits: label: 3D Bits permalink: /3d-bits - description: Blog posts about 3D Bits app for Shopify and its use cases + description: Our Shopify app for embedding interactive 3D product configurators in online stores. shopify: label: Shopify permalink: /shopify - description: Blog posts about Shopify integrations via 3D Bits app + description: E-commerce integrations, product visualization, and 3D configurators for Shopify stores. case-study: label: Case Study permalink: /case-study - description: Case studies related to Bitbybit, 3D Bits and Shopify + description: Real-world examples of how businesses use Bitbybit and 3D Bits to solve problems. fitness-equipment: label: Fitness Equipment permalink: /fitness-equipment - description: Blog posts about fitness equipment industry and 3D visualization + description: 3D visualization and configuration solutions for gym and fitness equipment retailers. babylonjs: label: BabylonJS permalink: /babylonjs - description: Blog posts about Babylon.js 3D engine + description: Using the Babylon.js WebGL engine for real-time 3D graphics in the browser. threejs: label: ThreeJS permalink: /threejs - description: Blog posts about Three.js 3D library + description: Working with Three.js for lightweight 3D scenes and custom rendering pipelines. playcanvas: label: PlayCanvas permalink: /playcanvas - description: Blog posts about PlayCanvas 3D engine \ No newline at end of file + description: PlayCanvas engine integration for game-like 3D experiences and interactive apps. + +occt: + label: OCCT + permalink: /occt + description: OpenCASCADE Technology - the open-source CAD kernel powering our geometry operations. + +assembly: + label: Assembly + permalink: /assembly + description: Working with multi-part CAD assemblies, hierarchies, and component structures. + +step: + label: STEP + permalink: /step + description: The ISO 10303 standard format for exchanging CAD data between different software. + +gltf: + label: GLTF + permalink: /gltf + description: The web-optimized 3D format for fast loading and rendering in browsers and apps. + +freecad: + label: FreeCAD + permalink: /freecad + description: Interoperability with FreeCAD, the popular open-source parametric CAD modeler. diff --git a/docs/learn/code/common/occt/assembly/assembly-structure.mdx b/docs/learn/code/common/occt/assembly/assembly-structure.mdx index 1e232749..e2154ce3 100644 --- a/docs/learn/code/common/occt/assembly/assembly-structure.mdx +++ b/docs/learn/code/common/occt/assembly/assembly-structure.mdx @@ -82,7 +82,7 @@ This first example shows the basic workflow - loading a STEP file and extracting ## Parse more parts -Once you understand the basics, you can extract multiple parts and style them independently. This is where things get exciting — you can create custom visualizations that highlight different components, use original colors from the CAD model, or apply your own color schemes. +Once you understand the basics, you can extract multiple parts and style them independently. This is where things get exciting - you can create custom visualizations that highlight different components, use original colors from the CAD model, or apply your own color schemes. ### What's New in This Example? diff --git a/docs/learn/code/common/occt/assembly/shape-to-step-with-color-assembly.mdx b/docs/learn/code/common/occt/assembly/shape-to-step-with-color-assembly.mdx index 1bd4fb7c..4653b848 100644 --- a/docs/learn/code/common/occt/assembly/shape-to-step-with-color-assembly.mdx +++ b/docs/learn/code/common/occt/assembly/shape-to-step-with-color-assembly.mdx @@ -18,61 +18,19 @@ import BitByBitRenderCanvas from '@site/src/components/BitByBitRenderCanvas'; alt="OCCT category icon with a stylized logo representation" title="OCCT category icon" /> -Standard STEP files store only geometry — no color information. To preserve colors, you need to use the assembly document structure. This was one of our most requested features, and it's finally available! +When you export a shape to a regular STEP file, it loses all color information. The geometry is preserved, but open that file in FreeCAD or Fusion 360 and everything will be gray. That's just how STEP files work. -## Why Colors Require Assemblies +To keep colors, you need to wrap your shapes in an assembly document. This uses OCCT's XCAF format, which stores both geometry and appearance data. It's an extra step, but it means your colors will show up correctly in other CAD software. -The XCAF (Extended CAD Application Framework) format used by OCCT can embed colors into assembly structures. By wrapping shapes in an assembly with color-assigned instances, you ensure colors transfer correctly to other CAD applications. +## What This Example Does -## What These Scripts Do +The scripts below create a "pod shell" shape and export it as a colored STEP file. The geometry part uses several OCCT operations (points, wires, faces, mirrors, fillets) to build an interesting 3D solid. But the important part for this tutorial is at the end. -The examples below demonstrate how to create a 3D shape in Bitbybit and export it as a STEP file with color information preserved. The exported file can then be opened in other CAD software like **FreeCAD**, **Fusion 360**, **SolidWorks**, or **Blender** with the assigned colors intact. +Once we have the shape, we create an assembly structure around it. We define a part, put it inside an assembly, and assign it a white color. Then we export the whole thing to a `.stpZ` file (compressed STEP format). When you open that file in FreeCAD, the shape appears in white, just as we specified. -### Script Breakdown +## Try It Yourself -**1. Scene Setup** -- Configures directional lighting with shadows for realistic preview -- Sets up a radial gradient background for visual appeal -- Enables a hidden skybox to provide environment-based lighting - -**2. Geometry Creation** -The scripts build a "pod shell" shape through several OCCT operations: -- **Points & Wires**: Defines 5 key points and creates 4 polygon wires connecting them -- **Faces**: Converts wires into planar faces -- **Face with Hole**: Offsets a wire inward, fillets the corners, reverses it, and uses it to create a face with a cutout -- **Shell Assembly**: Sews all faces together into a single shell -- **Mirror**: Duplicates the shell across the Z-axis to create symmetry -- **Fillet Edges**: Rounds the sharp edges where the two halves meet -- **Thick Solid**: Adds wall thickness to convert the shell into a solid - -**3. Visual Rendering** -- Creates a PBR (Physically Based Rendering) metallic material -- Draws the solid with black edge outlines for better visibility - -**4. Assembly & Color Assignment** -This is where the color preservation happens: -- **Create Part**: Registers the shape as a named part (`pod-shell`) -- **Create Assembly Node**: Creates a container for organizing parts (`Pod Assembly`) -- **Create Instance Node**: Places the part in the assembly with a **white color** (RGB: 1, 1, 1) -- **Combine Structure**: Merges parts and nodes into a complete assembly structure -- **Build Document**: Generates the XCAF document that stores shapes with their colors - -**5. STEP Export** -- Exports the assembly document to a `.stpZ` file (compressed STEP format) -- The file includes the white color assigned to the instance -- When opened in FreeCAD or other CAD software, the shape will display with the correct color - -### Why Use Assemblies for Color? - -Standard STEP files store only geometry—no color information. However, the XCAF (Extended CAD Application Framework) format used by OCCT can embed colors into assembly structures. By wrapping your shape in an assembly with color-assigned instances, you ensure that: - -- Colors transfer correctly to other CAD applications -- You can assign different colors to different instances of the same part -- The file structure is compatible with professional CAD software workflows - -### Try It Yourself - -Run the script, and a `pods.stpZ` file will download automatically. Open it in FreeCAD (File → Import), and you'll see the pod shape rendered in white—exactly as specified in the script. +Run the script and a `pods.stpZ` file will download automatically. Open it in FreeCAD (File → Import) and you'll see the pod shape with its white color intact. diff --git a/docs/learn/code/common/occt/assembly/step-to-gltf.mdx b/docs/learn/code/common/occt/assembly/step-to-gltf.mdx index ae72ada7..495f5e09 100644 --- a/docs/learn/code/common/occt/assembly/step-to-gltf.mdx +++ b/docs/learn/code/common/occt/assembly/step-to-gltf.mdx @@ -18,7 +18,7 @@ import BitByBitRenderCanvas from '@site/src/components/BitByBitRenderCanvas'; alt="OCCT category icon with a stylized logo representation" title="OCCT category icon" /> -This tutorial shows you how to convert STEP files to web-optimized GLTF/GLB format — with all processing happening directly in your browser. +This tutorial shows you how to convert STEP files to web-optimized GLTF/GLB format - with all processing happening directly in your browser. ## Why Export to GLTF? @@ -26,7 +26,7 @@ STEP files preserve precise CAD geometry but aren't optimized for web viewing. G ## Browser-Based Conversion -All conversions happen **entirely in your browser** — no files are uploaded to any cloud servers. This has important implications: +All conversions happen **entirely in your browser** - no files are uploaded to any cloud servers. This has important implications: ### Privacy Advantage Your CAD files never leave your computer. While you do need to use Bitbybit editors to run these conversions, your files are processed locally and are not uploaded to any cloud servers. This is critical for confidential engineering data, proprietary designs, or any situation where data privacy matters. diff --git a/docs/learn/tags.yml b/docs/learn/tags.yml index 459505b3..1c4f1fbf 100644 --- a/docs/learn/tags.yml +++ b/docs/learn/tags.yml @@ -1,829 +1,829 @@ getting-started: label: Getting Started permalink: /getting-started - description: Getting started with Bitbybit, a platform for building and sharing 3D applications. + description: First steps with Bitbybit - setting up your account, creating projects, and building your first 3D application. rete: label: Rete permalink: /rete - description: Rete is a visual-programming environment for building parametric 3D models and applications. + description: Node-based visual programming with drag-and-drop components for building parametric 3D models. blockly: label: Blockly permalink: /blockly - description: Blockly is a visual programming library for building web applications with a block-based interface. + description: Beginner-friendly block-based programming, great for learning 3D logic without typing code. typescript: label: TypeScript permalink: /typescript - description: TypeScript is a superset of JavaScript that adds static types, enhancing code quality and maintainability. + description: Writing code with full type safety, autocompletion, and access to all Bitbybit APIs. monaco: label: Monaco Editor permalink: /monaco-editor - description: Monaco Editor is a powerful code editor that provides rich editing features for web applications. + description: The code editor powering Bitbybit's TypeScript environment, same as VS Code. threejs: label: Three.js permalink: /threejs - description: Three.js is a JavaScript library that simplifies the creation of 3D graphics in the browser. + description: Rendering 3D scenes with the popular Three.js library for lightweight web graphics. babylonjs: label: Babylon.js permalink: /babylonjs - description: Babylon.js is a powerful, beautiful, simple, and open game and rendering engine packed into a friendly JavaScript framework. + description: Full-featured 3D engine with advanced rendering, physics, and post-processing effects. playcanvas: label: PlayCanvas permalink: /playcanvas - description: PlayCanvas is a web-based game engine and development platform for building 3D applications. + description: Game-engine style 3D development for interactive experiences and applications. occt: label: OCCT permalink: /occt - description: Open CASCADE Technology (OCCT) is a kernel for 3D CAD, CAM, CAE, and more. + description: OpenCASCADE geometry kernel for precise CAD operations like booleans, fillets, and STEP export. step: label: STEP permalink: /step - description: STEP is a standard for the exchange of product model data, widely used in CAD applications. + description: ISO standard CAD format for exchanging engineering data with desktop software. assembly: label: Assembly permalink: /assembly - description: Assembly is a category in Bitbybit OCCT kernel that deals with assembling multiple parts into a single model. + description: Multi-part CAD models with hierarchies, instances, and preserved colors. vector: label: Vector permalink: /vector - description: Vector is a category in Bitbybit that deals with vectors and operations on vectors. + description: Direction and magnitude operations - normalize, dot product, cross product, angles. point: label: Point permalink: /point - description: Point is a category in Bitbybit that deals with points and operations on points. + description: 3D coordinate operations - distances, midpoints, transformations, grids. math: label: Math permalink: /math - description: Math is a category in Bitbybit that deals with mathematical operations and functions. + description: Numeric functions - rounding, clamping, trigonometry, random values, sequences. color: label: Color permalink: /color - description: Color is a category in Bitbybit that deals with colors and color operations. + description: Color creation and conversion between hex, RGB, HSL, and other formats. logic: label: Logic permalink: /logic - description: Logic is a category in Bitbybit that deals with logical operations and boolean algebra. + description: Boolean operations, conditionals, comparisons, and flow control. mesh: label: Mesh permalink: /mesh - description: Mesh is a category in Bitbybit that deals with 3D meshes and operations on meshes. + description: Triangle-based 3D geometry for fast rendering and game-engine compatibility. lists: label: Lists permalink: /lists - description: Lists is a category in Bitbybit that deals with lists and operations on lists. + description: Array operations - sorting, filtering, mapping, grouping, flattening. text: label: Text permalink: /text - description: Text is a category in Bitbybit that deals with text manipulation and operations. + description: String manipulation - splitting, joining, formatting, parsing. dates: label: Dates permalink: /dates - description: Dates is a category in Bitbybit that deals with date and time operations. + description: Date and time formatting, calculations, and timezone handling. line: label: Line permalink: /line - description: Line is a category in Bitbybit that deals with lines and operations on lines. + description: Straight line geometry - creation, intersection, projection, subdivision. polyline: label: Polyline permalink: /polyline - description: Polyline is a category in Bitbybit that deals with polylines and operations on polylines. + description: Connected line segments forming paths, profiles, and wire-frame geometry. manifold: label: Manifold permalink: /manifold - description: Manifold is a geometry kernel for building 3D geometries and applications. + description: Fast CSG geometry kernel optimized for boolean operations and 3D printing. jscad: label: JSCAD permalink: /jscad - description: JSCAD is a JavaScript-based CSG modeling kernel for creating 3D models programmatically. + description: JavaScript-based solid modeling with CSG primitives and operations. npm-packages: label: NPM Packages permalink: /npm-packages - description: NPM packages are reusable Bitbybit code modules that can be shared and used in JavaScript & TypeScript applications. + description: Publishing and using Bitbybit scripts as reusable NPM modules. configurators: label: Configurators permalink: /configurators - description: Configurators are 3D applications that allow users to customize and configure products interactively. + description: Interactive 3D product customizers for e-commerce and sales tools. github: label: GitHub permalink: /github - description: GitHub is a platform for version control and collaboration, allowing developers to work together on projects. + description: Connecting Bitbybit projects to GitHub repositories for version control. projects: label: Projects permalink: /projects - description: Category that discusses how to manage projects inside Bitbybit + description: Creating, organizing, and managing your Bitbybit projects and files. scripts: label: Scripts permalink: /scripts - description: Category that discusses how to manage script inside Bitbybit projects + description: Writing and organizing executable code files within projects. assets: label: Assets permalink: /assets - description: Assets are usually files that you can upload to Bitbybit and use in your projects, such as images, 3D models, and other media. + description: Uploading and managing images, 3D models, textures, and other media files. runners: label: Runners permalink: /runners - description: The Runner is a tool for executing scripts and automating tasks in Bitbybit projects. + description: Executing scripts in different environments - browser, server, or embedded. unit-tests: label: Unit Tests permalink: /unit-tests - description: Unit tests are automated tests that verify the functionality of individual components in Bitbybit projects. + description: Automated testing to verify your scripts work correctly as you make changes. development: label: Development permalink: /development - description: Development refers to the process of creating and maintaining Bitbybit projects, including coding, testing, and deployment. + description: Local development setup, debugging, and integrating Bitbybit into your workflow. code: label: Code permalink: /code - description: Code examples and snippets for Bit by Bit projects. + description: Programming examples and patterns for common 3D tasks. base: label: Base permalink: /base - description: Base is a category in Bitbybit that provides foundational components such as math, vector, point, color and other. + description: Foundational utilities - math, vectors, points, colors, and data transformations. draw: label: Draw permalink: /draw - description: Explains Bitbybit coding category called "draw" + description: Rendering geometry to the 3D viewport with materials, colors, and edge styling. shopify: label: Shopify permalink: /shopify - description: Shopify is an e-commerce platform that allows you to create and manage online stores. + description: Integrating 3D configurators and viewers into Shopify stores. 3d-bits: label: 3D Bits permalink: /3d-bits - description: 3D Bits is application that Bitbybit has developed for Shopify merchants - it can be installed on their webshops. + description: Our Shopify app for adding interactive 3D product visualization to online stores. open-source: label: Open Source permalink: /open-source - description: Open source refers to software whose source code is available for anyone to view, use, modify, and distribute. + description: Bitbybit's open-source libraries and how to contribute. licensing: label: Licensing permalink: /licensing - description: Licensing refers to the legal permissions and restrictions associated with using, modifying, and distributing software. + description: Understanding license terms for Bitbybit libraries and commercial use. ai: label: AI permalink: /ai - description: AI refers to artificial intelligence technologies and applications, including machine learning and natural language processing. + description: Using AI assistants to generate and modify 3D scripts with natural language prompts. viewer-editor: label: Viewer Editor permalink: /viewer-editor - description: Viewer Editor is powerful No-Code eCommerce solution + description: No-code tool for configuring 3D product viewers without writing any scripts. canvas: label: Canvas permalink: /canvas - description: Canvas refers to the 3D viewport and rendering area in Bitbybit applications. + description: The 3D viewport where models are rendered and users interact with the scene. styling: label: Styling permalink: /styling - description: Styling refers to customizing the visual appearance of 3D elements and UI components. + description: Customizing colors, materials, and visual appearance of 3D elements. layout: label: Layout permalink: /layout - description: Layout refers to the arrangement and organization of UI elements and 3D scenes. + description: Arranging UI panels, controls, and 3D viewports in your application. architecture: label: Architecture permalink: /architecture - description: Architecture refers to the technical design and structure of Bitbybit applications. + description: How Bitbybit apps are structured and best practices for organizing code. security: label: Security permalink: /security - description: Security refers to protecting data, assets, and user information in Bitbybit applications. + description: Protecting scripts, assets, and user data in production applications. advanced: label: Advanced permalink: /advanced - description: Advanced features and techniques for experienced Bitbybit users. + description: Complex techniques for experienced users pushing beyond the basics. rotation: label: Rotation permalink: /rotation - description: Rotation refers to rotating 3D objects and camera movements in 3D space. + description: Spinning objects and controlling orientation in 3D space. animation: label: Animation permalink: /animation - description: Animation refers to creating motion and transitions in 3D scenes. + description: Creating movement, transitions, and dynamic behavior in 3D scenes. auto-rotate: label: Auto-Rotate permalink: /auto-rotate - description: Auto-rotate refers to automatic rotation of 3D models for showcasing products. + description: Automatic spinning of products when users aren't interacting. idle: label: Idle permalink: /idle - description: Idle state refers to automatic behaviors when users are not interacting with the application. + description: Behaviors triggered after a period of user inactivity. multiple-models: label: Multiple Models permalink: /multiple-models - description: Working with multiple 3D models in a single scene. + description: Loading and managing several 3D models in one scene. scene-management: label: Scene Management permalink: /scene-management - description: Managing and organizing complex 3D scenes with multiple objects. + description: Organizing objects, lights, and cameras in complex 3D scenes. performance: label: Performance permalink: /performance - description: Performance optimization techniques for faster loading and rendering. + description: Making your 3D applications load faster and render smoothly. organization: label: Organization permalink: /organization - description: Organizing and structuring projects, files, and 3D assets. + description: Structuring projects, naming conventions, and file management. options: label: Options permalink: /options - description: Product options and configuration settings for eCommerce configurators. + description: Product configuration choices that users can select. mapping: label: Mapping permalink: /mapping - description: Mapping between different data structures and naming conventions. + description: Connecting user selections to 3D changes like materials or visibility. compatibility: label: Compatibility permalink: /compatibility - description: Ensuring compatibility across different platforms and versions. + description: Ensuring apps work across browsers, devices, and platforms. maintenance: label: Maintenance permalink: /maintenance - description: Maintaining and updating applications over time. + description: Updating and maintaining applications after deployment. tutorial: label: Tutorial permalink: /tutorial - description: Step-by-step tutorials for learning Bitbybit features. + description: Step-by-step guides walking through specific features or projects. interface: label: Interface permalink: /interface - description: User interface components and interactions. + description: Bitbybit's user interface and how to navigate it. ui: label: UI permalink: /ui - description: User interface design and components. + description: Building user interface elements and controls for your apps. overview: label: Overview permalink: /overview - description: Overview and introduction to Bitbybit features. + description: High-level introductions to Bitbybit concepts and capabilities. no-code: label: No-Code permalink: /no-code - description: No-code tools and visual programming interfaces. + description: Building 3D applications without writing any code. toolbar: label: Toolbar permalink: /toolbar - description: Toolbar buttons and controls in Bitbybit applications. + description: Toolbar controls and actions available in the editor. reference: label: Reference permalink: /reference - description: Reference documentation and API guides. + description: Technical documentation and API details for developers. dimensions: label: Dimensions permalink: /dimensions - description: Dimension annotations and measurements on 3D models. + description: Adding measurement labels and size annotations to 3D models. angular: label: Angular permalink: /angular - description: Angular dimensions for measuring angles. + description: Angle measurements between edges or surfaces. angles: label: Angles permalink: /angles - description: Angle measurements and calculations. + description: Working with angular values and rotations. measurements: label: Measurements permalink: /measurements - description: Measurements and dimension annotations. + description: Displaying sizes, distances, and dimensions on models. degrees: label: Degrees permalink: /degrees - description: Degree units for angle measurements. + description: Angle units and degree-based calculations. bounding-box: label: Bounding Box permalink: /bounding-box - description: Bounding box dimensions showing overall product size. + description: Overall dimensions showing how much space a model occupies. overall-size: label: Overall Size permalink: /overall-size - description: Overall dimensions of products. + description: Total width, height, and depth of configured products. shipping: label: Shipping permalink: /shipping - description: Shipping dimensions and logistics information. + description: Package dimensions and logistics information for e-commerce. space-planning: label: Space Planning permalink: /space-planning - description: Space planning and room layout visualization. + description: Visualizing how products fit in rooms or spaces. diametral: label: Diametral permalink: /diametral - description: Diametral dimensions for measuring diameters. + description: Diameter annotations for circular features. diameter: label: Diameter permalink: /diameter - description: Diameter measurements of circular features. + description: Measuring across circular shapes. circles: label: Circles permalink: /circles - description: Circular shapes and features. + description: Circular geometry and arc-based shapes. cylinders: label: Cylinders permalink: /cylinders - description: Cylindrical shapes and objects. + description: Cylindrical shapes and tube-like geometry. annotations: label: Annotations permalink: /annotations - description: Annotations and labels on 3D models. + description: Text labels, callouts, and markers on 3D models. technical: label: Technical permalink: /technical - description: Technical specifications and documentation. + description: Detailed technical specifications and engineering data. professional: label: Professional permalink: /professional - description: Professional tier features and capabilities. + description: Features available on the Professional subscription tier. enterprise: label: Enterprise permalink: /enterprise - description: Enterprise tier features and capabilities. + description: Features available on the Enterprise subscription tier. linear: label: Linear permalink: /linear - description: Linear dimensions for straight-line measurements. + description: Straight-line distance measurements. width: label: Width permalink: /width - description: Width measurements. + description: Horizontal size measurements. height: label: Height permalink: /height - description: Height measurements. + description: Vertical size measurements. depth: label: Depth permalink: /depth - description: Depth measurements. + description: Front-to-back size measurements. ordinate: label: Ordinate permalink: /ordinate - description: Ordinate dimensions with coordinate-based measurements. + description: Coordinate-based dimension chains from a reference point. coordinates: label: Coordinates permalink: /coordinates - description: Coordinate systems and positioning. + description: X, Y, Z positioning and coordinate systems. cad: label: CAD permalink: /cad - description: Computer-Aided Design tools and formats. + description: Computer-Aided Design techniques and file formats. radial: label: Radial permalink: /radial - description: Radial dimensions for measuring radii. + description: Radius measurements from center to edge. radius: label: Radius permalink: /radius - description: Radius measurements of curved features. + description: Distance from circle center to circumference. curves: label: Curves permalink: /curves - description: Curved shapes and bezier curves. + description: Bezier curves, splines, and smooth paths. export: label: Export permalink: /export - description: Exporting data and configurations. + description: Saving data, configurations, or 3D files for external use. json: label: JSON permalink: /json - description: JSON data format and configurations. + description: JSON data format for configurations and data exchange. deployment: label: Deployment permalink: /deployment - description: Deploying applications to production. + description: Publishing apps to production environments. integration: label: Integration permalink: /integration - description: Integration with external platforms and services. + description: Connecting Bitbybit with external platforms and services. ecommerce: label: eCommerce permalink: /ecommerce - description: eCommerce platforms and online stores. + description: Online store integrations and product visualization. metafields: label: Metafields permalink: /metafields - description: Shopify metafields for storing custom data. + description: Shopify custom data fields for storing configuration data. validation: label: Validation permalink: /validation - description: Data validation and error checking. + description: Checking user inputs and ensuring valid configurations. errors: label: Errors permalink: /errors - description: Error handling and troubleshooting. + description: Understanding and handling error messages. debugging: label: Debugging permalink: /debugging - description: Debugging techniques and tools. + description: Finding and fixing problems in your scripts. quality-assurance: label: Quality Assurance permalink: /quality-assurance - description: Quality assurance and testing processes. + description: Testing and verifying applications work correctly. gltf: label: GLTF permalink: /gltf - description: GLTF 3D model format. + description: Web-optimized 3D format for fast loading in browsers. nodes: label: Nodes permalink: /nodes - description: Node-based structure in 3D models. + description: Individual objects and hierarchy in 3D scenes. visibility: label: Visibility permalink: /visibility - description: Controlling visibility of 3D objects. + description: Showing and hiding objects based on user selections. structure: label: Structure permalink: /structure - description: Structure and organization of data and files. + description: How data and files are organized. optimization: label: Optimization permalink: /optimization - description: Optimization techniques for performance. + description: Improving speed, memory usage, and file sizes. management: label: Management permalink: /management - description: Managing projects and resources. + description: Organizing and maintaining projects and assets. materials: label: Materials permalink: /materials - description: Materials and textures for 3D models. + description: Surface appearance - colors, textures, metallic, roughness. variants: label: Variants permalink: /variants - description: Product variants and configurations. + description: Different versions of products or materials. KHR_materials_variants: label: KHR Materials Variants permalink: /khr-materials-variants - description: GLTF extension for material variants. + description: GLTF extension for switching between material sets. models: label: Models permalink: /models - description: 3D models and assets. + description: 3D model files and geometry assets. glb: label: GLB permalink: /glb - description: GLB binary 3D model format. + description: Binary GLTF format - compact, single-file 3D models. properties: label: Properties permalink: /properties - description: Properties and attributes of objects. + description: Object attributes like position, name, and custom data. transform: label: Transform permalink: /transform - description: Transform operations like position, rotation, and scale. + description: Position, rotation, and scale changes. formats: label: Formats permalink: /formats - description: File formats and data structures. + description: File types and data formats supported by Bitbybit. navigation: label: Navigation permalink: /navigation - description: Navigation controls and camera movement. + description: Moving around 3D scenes with pan, zoom, and rotate. camera: label: Camera permalink: /camera - description: Camera controls and settings. + description: Viewpoint settings, angles, and camera controls. animations: label: Animations permalink: /animations - description: Animations and motion in 3D scenes. + description: Motion, transitions, and dynamic visual effects. transitions: label: Transitions permalink: /transitions - description: Smooth transitions and animations. + description: Smooth changes between states or camera positions. easing: label: Easing permalink: /easing - description: Easing functions for smooth animations. + description: Animation curves that control acceleration and deceleration. poi: label: POI permalink: /poi - description: Points of Interest for guided product tours. + description: Points of Interest for camera focus and guided tours. points-of-interest: label: Points of Interest permalink: /points-of-interest - description: Points of Interest for guided product tours. + description: Saved camera positions highlighting product features. hotspots: label: Hotspots permalink: /hotspots - description: Interactive hotspots on 3D models. + description: Clickable markers on 3D models showing information. tours: label: Tours permalink: /tours - description: Guided tours and walkthroughs. + description: Guided sequences moving through points of interest. customization: label: Customization permalink: /customization - description: Customizing appearance and behavior. + description: Tailoring appearance and behavior to your needs. branding: label: Branding permalink: /branding - description: Branding and visual identity. + description: Applying brand colors, logos, and visual identity. background: label: Background permalink: /background - description: Background colors and images. + description: Scene backgrounds - colors, gradients, or images. scene: label: Scene permalink: /scene - description: 3D scene setup and configuration. + description: The 3D environment containing objects, lights, and cameras. colors: label: Colors permalink: /colors - description: Colors and color palettes. + description: Color values, palettes, and color-related operations. gradients: label: Gradients permalink: /gradients - description: Color gradients and transitions. + description: Smooth color transitions for backgrounds and materials. images: label: Images permalink: /images - description: Images and textures. + description: Texture images, backgrounds, and image processing. arc-rotate: label: Arc Rotate permalink: /arc-rotate - description: Arc rotate camera for 3D navigation. + description: Orbital camera that rotates around a target point. controls: label: Controls permalink: /controls - description: User controls and interactions. + description: User input handling - mouse, touch, keyboard. zoom: label: Zoom permalink: /zoom - description: Zoom controls and settings. + description: Camera zoom levels and magnification controls. interaction: label: Interaction permalink: /interaction - description: User interaction and controls. + description: How users interact with 3D objects and UI. lighting: label: Lighting permalink: /lighting - description: Lighting setup and configuration. + description: Light sources that illuminate 3D scenes. directional-light: label: Directional Light permalink: /directional-light - description: Directional light sources. + description: Parallel light rays simulating distant sources like the sun. shadows: label: Shadows permalink: /shadows - description: Shadow rendering and settings. + description: Dynamic shadows cast by objects in the scene. intensity: label: Intensity permalink: /intensity - description: Light intensity and brightness. + description: Brightness levels for lights and effects. loading: label: Loading permalink: /loading - description: Loading screens and progress indicators. + description: Asset loading, progress indicators, and initialization. progress: label: Progress permalink: /progress - description: Progress indicators and loading states. + description: Loading progress bars and status indicators. user-experience: label: User Experience permalink: /user-experience - description: User experience design and optimization. + description: Making apps intuitive and pleasant to use. skybox: label: Skybox permalink: /skybox - description: Skybox environments for 3D scenes. + description: 360-degree environment surrounding the scene. hdr: label: HDR permalink: /hdr - description: High Dynamic Range imaging. + description: High Dynamic Range images for realistic lighting. environment: label: Environment permalink: /environment - description: Environment maps and lighting. + description: Surrounding imagery that affects lighting and reflections. reflections: label: Reflections permalink: /reflections - description: Reflections and mirror effects. + description: Mirror-like surface effects on shiny materials. pbr: label: PBR permalink: /pbr - description: Physically Based Rendering. + description: Physically Based Rendering for realistic material appearance. subscription: label: Subscription permalink: /subscription - description: Subscription plans and tiers. + description: Bitbybit subscription plans and account tiers. plans: label: Plans permalink: /plans - description: Pricing plans and packages. + description: Available subscription options and what they include. pricing: label: Pricing permalink: /pricing - description: Pricing information and tiers. + description: Costs and pricing information for Bitbybit services. troubleshooting: label: Troubleshooting permalink: /troubleshooting - description: Troubleshooting guides and solutions. + description: Solving common problems and finding fixes. faq: label: FAQ permalink: /faq - description: Frequently Asked Questions. + description: Answers to frequently asked questions. help: label: Help permalink: /help - description: Help and support resources. + description: Getting support and finding documentation. mobile: label: Mobile permalink: /mobile - description: Mobile devices and responsive design. + description: Mobile device support and responsive design. loading-speed: label: Loading Speed permalink: /loading-speed - description: Loading speed and optimization. + description: How fast your 3D content loads for users. fps: label: FPS permalink: /fps - description: Frames per second and performance. + description: Frames per second - measuring rendering smoothness. advanced-matching: label: Advanced Matching permalink: /advanced-matching - description: Advanced variant matching with complex logic. + description: Complex logic for mapping options to 3D changes. expressions: label: Expressions permalink: /expressions - description: Expressions and conditional logic. + description: Formulas and conditional logic in configurations. simple-matching: label: Simple Matching permalink: /simple-matching - description: Simple variant matching with equality. + description: Basic one-to-one mapping between options and 3D states. product-options: label: Product Options permalink: /product-options - description: Product options and configurations. + description: Configurable choices customers can make. cdn: label: CDN permalink: /cdn - description: Content Delivery Network and caching. + description: Content Delivery Networks for fast global asset loading. hosting: label: Hosting permalink: /hosting - description: Web hosting and server management. + description: Where your 3D assets and applications are served from. coverage: label: Coverage permalink: /coverage - description: Unit test coverage + description: How much of your code is tested by unit tests. From 0b78601d5819705edf40652d44d3b86b275f109b Mon Sep 17 00:00:00 2001 From: Matas Ubarevicius Date: Thu, 5 Feb 2026 10:08:30 +0200 Subject: [PATCH 7/7] adjusted shape to step with color tutorial to use red color --- docs/learn/code/common/occt/assembly/create-assembly.mdx | 4 ++-- .../occt/assembly/shape-to-step-with-color-assembly.mdx | 6 +++--- docs/learn/code/common/occt/assembly/step-to-gltf.mdx | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/learn/code/common/occt/assembly/create-assembly.mdx b/docs/learn/code/common/occt/assembly/create-assembly.mdx index a02cf68e..302417e1 100644 --- a/docs/learn/code/common/occt/assembly/create-assembly.mdx +++ b/docs/learn/code/common/occt/assembly/create-assembly.mdx @@ -74,14 +74,14 @@ After running the script, download the generated `.stpZ` file and open it in you mainRadiusfromOuterRadiusbginnerRadiusplugRadiusouterCircleWireinnerCircleWiredividedPointspointsListptsmallCircleWirereversedWiretranslatedWiresingonWirewiresListbaseFacebaseExtrudedbaseChamferedplugFaceplugExtrudedplugChamferedtranslatedPlugsbasePartplugPartassemblyNodebaseInstanceNodeplugInstanceNodespartsListnodesListstructuredocumentexportedDocmainRadius13.3fromOuterRadius4innerRadiusMINUSmainRadiusfromOuterRadiusplugRadiusDIVIDEfromOuterRadius3outerCircleWiremainRadius000010innerCircleWireinnerRadius000010dividedPointsinnerCircleWire14FALSETRUEpointsListptdividedPointsINSERTLASTpointsListptsmallCircleWireplugRadius000010reversedWiresmallCircleWiretranslatedWiresi1pointsList1INSERTLASTtranslatedWiresreversedWireGETFROM_STARTpointsListingonWire00001064wiresListouterCircleWirengonWirepttranslatedWiresINSERTLASTwiresListptbaseFacewiresListTRUEbaseExtrudedbaseFace010baseChamferedbaseExtruded0.4plugFaceplugRadius0-1.50010plugExtrudedplugFace040plugChamferedplugExtruded0.4translatedPlugsi1pointsList1INSERTLASTtranslatedPlugsplugChamferedGETFROM_STARTpointsListibaseChamfered0.01TRUE#3333ffTRUE#ffffff2FALSE#0000ff1translatedPlugs0.01TRUE#33ff33TRUE#ffffff2TRUE#0000ff1basePartbase-with-holesbaseChamferedBase With HolesplugPartplugplugChamferedPlugassemblyNodeassembly-nodeBitbybit Assembly ExamplebaseInstanceNodebase-with-holes-idbase-with-holesBase With Holes Instance0000001#0000ff01plugInstanceNodesi1pointsList1INSERTLASTplugInstanceNodesplug-id-iplugPlugGETFROM_STARTpointsListi0001#33ff3301partsListbasePartplugPartnodesListassemblyNodebaseInstanceNodeptplugInstanceNodesINSERTLASTnodesListptstructurepartsListnodesListFALSEdocumentstructureexportedDocdocumentBitbybit Assembly.stpZBitbybit userBitbybitTRUETRUE-20-20-203#ffffff#ffffff2056TRUE0TRUEFALSE0.20.00010.0021000023bg#1a1c1f#93aacd'to top'0100","version":"1.0.0-rc.1","type":"blockly"}} + script={{"script":"mainRadiusfromOuterRadiusbginnerRadiusplugRadiusouterCircleWireinnerCircleWiredividedPointspointsListptsmallCircleWirereversedWiretranslatedWiresingonWirewiresListbaseFacebaseExtrudedbaseChamferedplugFaceplugExtrudedplugChamferedtranslatedPlugsbasePartplugPartassemblyNodebaseInstanceNodeplugInstanceNodespartsListnodesListstructuredocumentexportedDocmainRadius13.3fromOuterRadius4innerRadiusMINUSmainRadiusfromOuterRadiusplugRadiusDIVIDEfromOuterRadius3outerCircleWiremainRadius000010innerCircleWireinnerRadius000010dividedPointsinnerCircleWire14FALSETRUEpointsListptdividedPointsINSERTLASTpointsListptsmallCircleWireplugRadius000010reversedWiresmallCircleWiretranslatedWiresi1pointsList1INSERTLASTtranslatedWiresreversedWireGETFROM_STARTpointsListingonWire00001064wiresListouterCircleWirengonWirepttranslatedWiresINSERTLASTwiresListptbaseFacewiresListTRUEbaseExtrudedbaseFace010baseChamferedbaseExtruded0.4plugFaceplugRadius0-1.50010plugExtrudedplugFace040plugChamferedplugExtruded0.4translatedPlugsi1pointsList1INSERTLASTtranslatedPlugsplugChamferedGETFROM_STARTpointsListibaseChamfered0.01TRUE#3333ffTRUE#ffffff2FALSE#0000ff1translatedPlugs0.01TRUE#33ff33TRUE#ffffff2TRUE#0000ff1basePartbase-with-holesbaseChamferedBase With HolesplugPartplugplugChamferedPlugassemblyNodeassembly-nodeBitbybit Assembly ExamplebaseInstanceNodebase-with-holes-idbase-with-holesBase With Holes Instance0000001#0000ff01plugInstanceNodesi1pointsList1INSERTLASTplugInstanceNodesplug-id-iplugPlugGETFROM_STARTpointsListi0001#33ff3301partsListbasePartplugPartnodesListassemblyNodebaseInstanceNodeptplugInstanceNodesINSERTLASTnodesListptstructurepartsListnodesListFALSEdocumentstructureexportedDocdocumentBitbybit Assembly.stpZBitbybit userBitbybitTRUETRUE-20-20-203#ffffff#ffffff2056TRUE0TRUEFALSE0.20.00010.0021000023bg#1a1c1f#93aacd'to top'0100","type":"blockly"}} title="Creating STEP OCCT Assembly" /> {\n // Parameters\n const mainRadius = 13.3;\n const fromOuterRadius = 4;\n const innerRadius = mainRadius - fromOuterRadius;\n const plugRadius = fromOuterRadius / 3;\n\n // Setup gradient background\n const bgOpt = new SceneTwoColorLinearGradientDto();\n bgOpt.direction = gradientDirectionEnum.toTop;\n scene.twoColorLinearGradientBackground(bgOpt);\n\n // Setup directional light\n const dirLightOpt = new DirectionalLightDto();\n dirLightOpt.direction = [-20, -20, -20] as Vector3;\n dirLightOpt.intensity = 3;\n scene.drawDirectionalLight(dirLightOpt);\n\n // Create outer circle wire\n const outerCircleOpt = new CircleDto();\n outerCircleOpt.radius = mainRadius;\n outerCircleOpt.center = [0, 0, 0];\n outerCircleOpt.direction = [0, 1, 0];\n const outerCircleWire = await wire.createCircleWire(outerCircleOpt);\n\n // Create inner circle wire for dividing points\n const innerCircleOpt = new CircleDto();\n innerCircleOpt.radius = innerRadius;\n innerCircleOpt.center = [0, 0, 0];\n innerCircleOpt.direction = [0, 1, 0];\n const innerCircleWire = await wire.createCircleWire(innerCircleOpt);\n\n // Divide inner wire to get points for plug placement\n const divideOpt = new DivideDto();\n divideOpt.shape = innerCircleWire;\n divideOpt.nrOfDivisions = 14;\n divideOpt.removeStartPoint = false;\n divideOpt.removeEndPoint = true;\n const dividedPoints = await wire.divideWireByParamsToPoints(divideOpt);\n\n // Flatten points list\n const pointsList: Point3[] = [];\n for (const pt of dividedPoints) {\n pointsList.push(pt);\n }\n\n // Create small circle wire for holes\n const smallCircleOpt = new CircleDto();\n smallCircleOpt.radius = plugRadius;\n smallCircleOpt.center = [0, 0, 0];\n smallCircleOpt.direction = [0, 1, 0];\n const smallCircleWire = await wire.createCircleWire(smallCircleOpt);\n\n // Reverse the wire for creating holes\n const reverseOpt = new ShapeDto();\n reverseOpt.shape = smallCircleWire;\n const reversedWire = await wire.reversedWire(reverseOpt);\n\n // Translate reversed wire to each point position\n const translatedWires: TopoDSWirePointer[] = [];\n for (const pt of pointsList) {\n const translateOpt = new TranslateDto();\n translateOpt.shape = reversedWire;\n translateOpt.translation = pt;\n const translated = await transforms.translate(translateOpt);\n translatedWires.push(translated as TopoDSWirePointer);\n }\n\n // Create hexagon wire in the center\n const ngonOpt = new NGonWireDto();\n ngonOpt.center = [0, 0, 0];\n ngonOpt.direction = [0, 1, 0];\n ngonOpt.nrCorners = 6;\n ngonOpt.radius = 4;\n const ngonWire = await wire.createNGonWire(ngonOpt);\n\n // Create wires list for face creation\n const wiresList: TopoDSWirePointer[] = [outerCircleWire, ngonWire, ...translatedWires];\n\n // Create base face from wires\n const faceFromWiresOpt = new FaceFromWiresDto();\n faceFromWiresOpt.shapes = wiresList;\n faceFromWiresOpt.planar = true;\n const baseFace = await face.createFaceFromWires(faceFromWiresOpt);\n\n // Extrude base face\n const extrudeBaseOpt = new ExtrudeDto();\n extrudeBaseOpt.shape = baseFace;\n extrudeBaseOpt.direction = [0, 1, 0];\n const baseExtruded = await operations.extrude(extrudeBaseOpt);\n\n // Chamfer base edges\n const chamferBaseOpt = new ChamferDto();\n chamferBaseOpt.shape = baseExtruded;\n chamferBaseOpt.distance = 0.4;\n const baseChamfered = await fillets.chamferEdges(chamferBaseOpt);\n\n // Create plug face\n const plugFaceOpt = new CircleDto();\n plugFaceOpt.radius = plugRadius;\n plugFaceOpt.center = [0, -1.5, 0];\n plugFaceOpt.direction = [0, 1, 0];\n const plugFace = await face.createCircleFace(plugFaceOpt);\n\n // Extrude plug\n const extrudePlugOpt = new ExtrudeDto();\n extrudePlugOpt.shape = plugFace;\n extrudePlugOpt.direction = [0, 4, 0];\n const plugExtruded = await operations.extrude(extrudePlugOpt);\n\n // Chamfer plug edges\n const chamferPlugOpt = new ChamferDto();\n chamferPlugOpt.shape = plugExtruded;\n chamferPlugOpt.distance = 0.4;\n const plugChamfered = await fillets.chamferEdges(chamferPlugOpt);\n\n // Translate plugs to each point position\n const translatedPlugs: TopoDSShapePointer[] = [];\n for (const pt of pointsList) {\n const translatePlugOpt = new TranslateDto();\n translatePlugOpt.shape = plugChamfered;\n translatePlugOpt.translation = pt;\n const translated = await transforms.translate(translatePlugOpt);\n translatedPlugs.push(translated);\n }\n\n // Draw base with blue color\n const baseDrawOpt = new DrawOcctShapeSimpleOptions();\n baseDrawOpt.precision = 0.01;\n baseDrawOpt.faceColour = \"#3333ff\";\n baseDrawOpt.edgeColour = \"#ffffff\";\n baseDrawOpt.edgeWidth = 2;\n await bitbybit.draw.drawAnyAsync({ entity: baseChamfered, options: baseDrawOpt });\n\n // Draw plugs with green color\n const plugDrawOpt = new DrawOcctShapeSimpleOptions();\n plugDrawOpt.precision = 0.01;\n plugDrawOpt.faceColour = \"#33ff33\";\n plugDrawOpt.edgeColour = \"#ffffff\";\n plugDrawOpt.edgeWidth = 2;\n plugDrawOpt.drawTwoSided = true;\n await bitbybit.draw.drawAnyAsync({ entity: translatedPlugs, options: plugDrawOpt });\n\n // Create base part\n const basePartOpt = new CreateAssemblyPartDto();\n basePartOpt.id = \"base-with-holes\";\n basePartOpt.shape = baseChamfered;\n basePartOpt.name = \"Base With Holes\";\n const basePart = await manager.createPart(basePartOpt);\n\n // Create plug part\n const plugPartOpt = new CreateAssemblyPartDto();\n plugPartOpt.id = \"plug\";\n plugPartOpt.shape = plugChamfered;\n plugPartOpt.name = \"Plug\";\n const plugPart = await manager.createPart(plugPartOpt);\n\n // Create assembly node\n const assemblyNodeOpt = new CreateAssemblyNodeDto();\n assemblyNodeOpt.id = \"assembly-node\";\n assemblyNodeOpt.name = \"Bitbybit Assembly Example\";\n assemblyNodeOpt.parentId = \"\";\n const assemblyNode = await manager.createAssemblyNode(assemblyNodeOpt);\n\n // Create base instance node\n const baseInstanceOpt = new CreateInstanceNodeDto();\n baseInstanceOpt.id = \"base-with-holes-id\";\n baseInstanceOpt.partId = \"base-with-holes\";\n baseInstanceOpt.name = \"Base With Holes Instance\";\n baseInstanceOpt.parentId = \"\";\n baseInstanceOpt.translation = [0, 0, 0];\n baseInstanceOpt.rotation = [0, 0, 0];\n baseInstanceOpt.scale = 1;\n baseInstanceOpt.colorRgba = { r: 0, g: 0, b: 1, a: 1 };\n const baseInstanceNode = await manager.createInstanceNode(baseInstanceOpt);\n\n // Create plug instance nodes for each position\n const plugInstanceNodes = [];\n for (let i = 0; i < pointsList.length; i++) {\n const plugInstanceOpt = new CreateInstanceNodeDto();\n plugInstanceOpt.id = `plug-id-${i + 1}`;\n plugInstanceOpt.partId = \"plug\";\n plugInstanceOpt.name = \"Plug\";\n plugInstanceOpt.parentId = \"\";\n plugInstanceOpt.translation = pointsList[i];\n plugInstanceOpt.rotation = [0, 0, 0];\n plugInstanceOpt.scale = 1;\n plugInstanceOpt.colorRgba = { r: 0, g: 1, b: 0, a: 1 };\n const plugInstance = await manager.createInstanceNode(plugInstanceOpt);\n plugInstanceNodes.push(plugInstance);\n }\n\n // Combine parts and nodes\n const partsList = [basePart, plugPart];\n const nodesList = [assemblyNode, baseInstanceNode, ...plugInstanceNodes];\n\n // Create assembly structure\n const combineOpt = new CombineAssemblyStructureDto();\n combineOpt.parts = partsList;\n combineOpt.nodes = nodesList;\n combineOpt.removals = [];\n combineOpt.partUpdates = [];\n combineOpt.clearDocument = false;\n const structure = await manager.combineStructure(combineOpt);\n\n // Build assembly document\n const buildDocOpt = new BuildAssemblyDocumentDto();\n buildDocOpt.structure = structure;\n const document = await manager.buildAssemblyDocument(buildDocOpt);\n\n // Export to STEP file\n const exportOpt = new ExportDocumentToStepDto();\n exportOpt.document = document;\n exportOpt.fileName = \"Bitbybit Assembly.stpZ\";\n exportOpt.author = \"Bitbybit user\";\n exportOpt.organization = \"Bitbybit\";\n exportOpt.compress = true;\n exportOpt.tryDownload = true;\n await manager.exportDocumentToStep(exportOpt);\n}\n\nstart();\n","version":"1.0.0-rc.1","type":"typescript"}} + script={{"script":"// Import required DTOs for scene setup and OCCT operations\nconst { SceneTwoColorLinearGradientDto, DirectionalLightDto } = Bit.Inputs.BabylonScene;\nconst { NGonWireDto, DivideDto, ShapeDto, FaceFromWiresDto,\n ExtrudeDto, ChamferDto, CircleDto, TranslateDto,\n CreateAssemblyPartDto, CreateAssemblyNodeDto, CreateInstanceNodeDto,\n CombineAssemblyStructureDto, BuildAssemblyDocumentDto, ExportDocumentToStepDto } = Bit.Inputs.OCCT;\nconst { DrawOcctShapeSimpleOptions } = Bit.Inputs.Draw;\nconst { gradientDirectionEnum } = Bit.Inputs.Base;\n\n// Type definitions\ntype Point3 = Bit.Inputs.Base.Point3;\ntype Vector3 = Bit.Inputs.Base.Vector3;\ntype TopoDSShapePointer = Bit.Inputs.OCCT.TopoDSShapePointer;\ntype TopoDSWirePointer = Bit.Inputs.OCCT.TopoDSWirePointer;\ntype TopoDSFacePointer = Bit.Inputs.OCCT.TopoDSFacePointer;\ntype TDocStdDocumentPointer = Bit.Inputs.OCCT.TDocStdDocumentPointer;\n\n// Get access to OCCT modules\nconst { wire, face } = bitbybit.occt.shapes;\nconst { operations, transforms, fillets, assembly } = bitbybit.occt;\nconst { manager } = assembly;\nconst { scene } = bitbybit.babylon;\n\nconst start = async () => {\n // Parameters\n const mainRadius = 13.3;\n const fromOuterRadius = 4;\n const innerRadius = mainRadius - fromOuterRadius;\n const plugRadius = fromOuterRadius / 3;\n\n // Setup gradient background\n const bgOpt = new SceneTwoColorLinearGradientDto();\n bgOpt.direction = gradientDirectionEnum.toTop;\n scene.twoColorLinearGradientBackground(bgOpt);\n\n // Setup directional light\n const dirLightOpt = new DirectionalLightDto();\n dirLightOpt.direction = [-20, -20, -20] as Vector3;\n dirLightOpt.intensity = 3;\n scene.drawDirectionalLight(dirLightOpt);\n\n // Create outer circle wire\n const outerCircleOpt = new CircleDto();\n outerCircleOpt.radius = mainRadius;\n outerCircleOpt.center = [0, 0, 0];\n outerCircleOpt.direction = [0, 1, 0];\n const outerCircleWire = await wire.createCircleWire(outerCircleOpt);\n\n // Create inner circle wire for dividing points\n const innerCircleOpt = new CircleDto();\n innerCircleOpt.radius = innerRadius;\n innerCircleOpt.center = [0, 0, 0];\n innerCircleOpt.direction = [0, 1, 0];\n const innerCircleWire = await wire.createCircleWire(innerCircleOpt);\n\n // Divide inner wire to get points for plug placement\n const divideOpt = new DivideDto();\n divideOpt.shape = innerCircleWire;\n divideOpt.nrOfDivisions = 14;\n divideOpt.removeStartPoint = false;\n divideOpt.removeEndPoint = true;\n const dividedPoints = await wire.divideWireByParamsToPoints(divideOpt);\n\n // Flatten points list\n const pointsList: Point3[] = [];\n for (const pt of dividedPoints) {\n pointsList.push(pt);\n }\n\n // Create small circle wire for holes\n const smallCircleOpt = new CircleDto();\n smallCircleOpt.radius = plugRadius;\n smallCircleOpt.center = [0, 0, 0];\n smallCircleOpt.direction = [0, 1, 0];\n const smallCircleWire = await wire.createCircleWire(smallCircleOpt);\n\n // Reverse the wire for creating holes\n const reverseOpt = new ShapeDto();\n reverseOpt.shape = smallCircleWire;\n const reversedWire = await wire.reversedWire(reverseOpt);\n\n // Translate reversed wire to each point position\n const translatedWires: TopoDSWirePointer[] = [];\n for (const pt of pointsList) {\n const translateOpt = new TranslateDto();\n translateOpt.shape = reversedWire;\n translateOpt.translation = pt;\n const translated = await transforms.translate(translateOpt);\n translatedWires.push(translated as TopoDSWirePointer);\n }\n\n // Create hexagon wire in the center\n const ngonOpt = new NGonWireDto();\n ngonOpt.center = [0, 0, 0];\n ngonOpt.direction = [0, 1, 0];\n ngonOpt.nrCorners = 6;\n ngonOpt.radius = 4;\n const ngonWire = await wire.createNGonWire(ngonOpt);\n\n // Create wires list for face creation\n const wiresList: TopoDSWirePointer[] = [outerCircleWire, ngonWire, ...translatedWires];\n\n // Create base face from wires\n const faceFromWiresOpt = new FaceFromWiresDto();\n faceFromWiresOpt.shapes = wiresList;\n faceFromWiresOpt.planar = true;\n const baseFace = await face.createFaceFromWires(faceFromWiresOpt);\n\n // Extrude base face\n const extrudeBaseOpt = new ExtrudeDto();\n extrudeBaseOpt.shape = baseFace;\n extrudeBaseOpt.direction = [0, 1, 0];\n const baseExtruded = await operations.extrude(extrudeBaseOpt);\n\n // Chamfer base edges\n const chamferBaseOpt = new ChamferDto();\n chamferBaseOpt.shape = baseExtruded;\n chamferBaseOpt.distance = 0.4;\n const baseChamfered = await fillets.chamferEdges(chamferBaseOpt);\n\n // Create plug face\n const plugFaceOpt = new CircleDto();\n plugFaceOpt.radius = plugRadius;\n plugFaceOpt.center = [0, -1.5, 0];\n plugFaceOpt.direction = [0, 1, 0];\n const plugFace = await face.createCircleFace(plugFaceOpt);\n\n // Extrude plug\n const extrudePlugOpt = new ExtrudeDto();\n extrudePlugOpt.shape = plugFace;\n extrudePlugOpt.direction = [0, 4, 0];\n const plugExtruded = await operations.extrude(extrudePlugOpt);\n\n // Chamfer plug edges\n const chamferPlugOpt = new ChamferDto();\n chamferPlugOpt.shape = plugExtruded;\n chamferPlugOpt.distance = 0.4;\n const plugChamfered = await fillets.chamferEdges(chamferPlugOpt);\n\n // Translate plugs to each point position\n const translatedPlugs: TopoDSShapePointer[] = [];\n for (const pt of pointsList) {\n const translatePlugOpt = new TranslateDto();\n translatePlugOpt.shape = plugChamfered;\n translatePlugOpt.translation = pt;\n const translated = await transforms.translate(translatePlugOpt);\n translatedPlugs.push(translated);\n }\n\n // Draw base with blue color\n const baseDrawOpt = new DrawOcctShapeSimpleOptions();\n baseDrawOpt.precision = 0.01;\n baseDrawOpt.faceColour = \"#3333ff\";\n baseDrawOpt.edgeColour = \"#ffffff\";\n baseDrawOpt.edgeWidth = 2;\n await bitbybit.draw.drawAnyAsync({ entity: baseChamfered, options: baseDrawOpt });\n\n // Draw plugs with green color\n const plugDrawOpt = new DrawOcctShapeSimpleOptions();\n plugDrawOpt.precision = 0.01;\n plugDrawOpt.faceColour = \"#33ff33\";\n plugDrawOpt.edgeColour = \"#ffffff\";\n plugDrawOpt.edgeWidth = 2;\n plugDrawOpt.drawTwoSided = true;\n await bitbybit.draw.drawAnyAsync({ entity: translatedPlugs, options: plugDrawOpt });\n\n // Create base part\n const basePartOpt = new CreateAssemblyPartDto();\n basePartOpt.id = \"base-with-holes\";\n basePartOpt.shape = baseChamfered;\n basePartOpt.name = \"Base With Holes\";\n const basePart = await manager.createPart(basePartOpt);\n\n // Create plug part\n const plugPartOpt = new CreateAssemblyPartDto();\n plugPartOpt.id = \"plug\";\n plugPartOpt.shape = plugChamfered;\n plugPartOpt.name = \"Plug\";\n const plugPart = await manager.createPart(plugPartOpt);\n\n // Create assembly node\n const assemblyNodeOpt = new CreateAssemblyNodeDto();\n assemblyNodeOpt.id = \"assembly-node\";\n assemblyNodeOpt.name = \"Bitbybit Assembly Example\";\n assemblyNodeOpt.parentId = \"\";\n const assemblyNode = await manager.createAssemblyNode(assemblyNodeOpt);\n\n // Create base instance node\n const baseInstanceOpt = new CreateInstanceNodeDto();\n baseInstanceOpt.id = \"base-with-holes-id\";\n baseInstanceOpt.partId = \"base-with-holes\";\n baseInstanceOpt.name = \"Base With Holes Instance\";\n baseInstanceOpt.parentId = \"\";\n baseInstanceOpt.translation = [0, 0, 0];\n baseInstanceOpt.rotation = [0, 0, 0];\n baseInstanceOpt.scale = 1;\n baseInstanceOpt.colorRgba = { r: 0, g: 0, b: 1, a: 1 };\n const baseInstanceNode = await manager.createInstanceNode(baseInstanceOpt);\n\n // Create plug instance nodes for each position\n const plugInstanceNodes = [];\n for (let i = 0; i < pointsList.length; i++) {\n const plugInstanceOpt = new CreateInstanceNodeDto();\n plugInstanceOpt.id = `plug-id-${i + 1}`;\n plugInstanceOpt.partId = \"plug\";\n plugInstanceOpt.name = \"Plug\";\n plugInstanceOpt.parentId = \"\";\n plugInstanceOpt.translation = pointsList[i];\n plugInstanceOpt.rotation = [0, 0, 0];\n plugInstanceOpt.scale = 1;\n plugInstanceOpt.colorRgba = { r: 0, g: 1, b: 0, a: 1 };\n const plugInstance = await manager.createInstanceNode(plugInstanceOpt);\n plugInstanceNodes.push(plugInstance);\n }\n\n // Combine parts and nodes\n const partsList = [basePart, plugPart];\n const nodesList = [assemblyNode, baseInstanceNode, ...plugInstanceNodes];\n\n // Create assembly structure\n const combineOpt = new CombineAssemblyStructureDto();\n combineOpt.parts = partsList;\n combineOpt.nodes = nodesList;\n combineOpt.removals = [];\n combineOpt.partUpdates = [];\n combineOpt.clearDocument = false;\n const structure = await manager.combineStructure(combineOpt);\n\n // Build assembly document\n const buildDocOpt = new BuildAssemblyDocumentDto();\n buildDocOpt.structure = structure;\n const document = await manager.buildAssemblyDocument(buildDocOpt);\n\n // Export to STEP file\n const exportOpt = new ExportDocumentToStepDto();\n exportOpt.document = document;\n exportOpt.fileName = \"Bitbybit Assembly.stpZ\";\n exportOpt.author = \"Bitbybit user\";\n exportOpt.organization = \"Bitbybit\";\n exportOpt.compress = true;\n exportOpt.tryDownload = true;\n await manager.exportDocumentToStep(exportOpt);\n}\n\nstart();\n","type":"typescript"}} title="Creating STEP OCCT Assembly" /> diff --git a/docs/learn/code/common/occt/assembly/shape-to-step-with-color-assembly.mdx b/docs/learn/code/common/occt/assembly/shape-to-step-with-color-assembly.mdx index 4653b848..dc64e580 100644 --- a/docs/learn/code/common/occt/assembly/shape-to-step-with-color-assembly.mdx +++ b/docs/learn/code/common/occt/assembly/shape-to-step-with-color-assembly.mdx @@ -36,21 +36,21 @@ Run the script and a `pods.stpZ` file will download automatically. Open it in Fr pt1pt2pt3pt4polygonWire1polygonWire2polygonWire3polygonWire4face1face2face3offsetWirefilletWirereversedWirefaceWithHoleshell1mirroredShellcombinedShellfilletedShellthickSolidpbrMaterialpodPartassemblyNodeinstanceNodepartsListnodesListstructuredocumentexportedDocbg-20-20-203#ffffff#ffffff2056TRUE0TRUEFALSE0.20.0010.02100001bg#8194b1#1c1e21center0100circle'city'10000.10.7TRUEpt11500pt2060pt3-316pt4-122.450polygonWire1pt1pt2pt3polygonWire2pt4pt3pt2face1polygonWire2TRUEpolygonWire3pt3pt43-20face2polygonWire3TRUEpolygonWire4pt1pt33-20face3polygonWire4TRUEoffsetWirepolygonWire1-0.60.0001filletWireoffsetWire0.2reversedWirefilletWirefaceWithHolepolygonWire1reversedWireTRUEshell1faceWithHoleface1face2face30.0000001mirroredShellshell1000001combinedShellshell1mirroredShell0.0000001filletedShellcombinedShell0.1thickSolidfilletedShell0.2pbrMaterialCustom Material#a3a3a3#0000000.80.81FALSE2thickSolid0.01TRUE#0000001pbrMaterialpodPartpod-shellthickSolidPod ShellassemblyNodepod-assemblyPod AssemblyinstanceNodepod-instancepod-shellpodpod-assembly0000001#ffffff01partsListpodPartnodesListassemblyNodeinstanceNodestructurepartsListnodesListFALSEdocumentstructureexportedDocdocumentpods.stpZBitbybit userBitbybitTRUETRUE","type":"blockly"}} + script={{"script":"bgpt1pt2pt3pt4polygonWire1polygonWire2face1polygonWire3face2polygonWire4face3offsetWirefilletWirereversedWirefaceWithHoleshell1mirroredShellcombinedShellfilletedShellthickSolidpbrMaterialpodPartassemblyNodeinstanceNodepartsListnodesListstructuredocumentexportedDoc-20-20-203#ffffff#ffffff2056TRUE0TRUEFALSE0.20.0010.02100001bg#8194b1#1c1e21center0100circle'city'10000.10.7TRUEpt11500pt2060pt3-316pt4-122.450polygonWire1pt1pt2pt3polygonWire2pt4pt3pt2face1polygonWire2TRUEpolygonWire3pt3pt43-20face2polygonWire3TRUEpolygonWire4pt1pt33-20face3polygonWire4TRUEoffsetWirepolygonWire1-0.60.0001filletWireoffsetWire0.2reversedWirefilletWirefaceWithHolepolygonWire1reversedWireTRUEshell1faceWithHoleface1face2face31e-7mirroredShellshell1000001combinedShellshell1mirroredShell1e-7filletedShellcombinedShell0.1thickSolidfilletedShell0.2pbrMaterialCustom Material#ff0000#0000000.80.81FALSE2thickSolid0.01pbrMaterialTRUE#0000001podPartpod-shellthickSolidPod Shell#ff000001assemblyNodepod-assemblyPod Assembly#ff000001instanceNodepod-instancepod-shellpodpod-assembly0000001#ff000001partsListpodPartnodesListassemblyNodeinstanceNodestructurepartsListnodesListFALSEdocumentstructureexportedDocdocumentpods.stpZBitbybit userBitbybitTRUETRUE","type":"blockly"}} title="Shape with Color to STEP Export" /> {\n // Setup directional light\n const dirLightOpt = new DirectionalLightDto();\n dirLightOpt.direction = [-20, -20, -20] as Vector3;\n dirLightOpt.intensity = 3;\n dirLightOpt.shadowGeneratorMapSize = 2056;\n dirLightOpt.enableShadows = true;\n dirLightOpt.shadowBias = 0.001;\n dirLightOpt.shadowNormalBias = 0.02;\n scene.drawDirectionalLight(dirLightOpt);\n\n // Setup radial gradient background\n const bgOpt = new SceneTwoColorRadialGradientDto();\n bgOpt.colorFrom = \"#8194b1\";\n bgOpt.colorTo = \"#1c1e21\";\n bgOpt.position = gradientPositionEnum.center;\n bgOpt.shape = gradientShapeEnum.circle;\n scene.twoColorRadialGradientBackground(bgOpt);\n\n // Enable skybox (hidden but provides environment lighting)\n const skyboxOpt = new SkyboxDto();\n skyboxOpt.skybox = skyboxEnum.city;\n skyboxOpt.size = 1000;\n skyboxOpt.blur = 0.1;\n skyboxOpt.environmentIntensity = 0.7;\n skyboxOpt.hideSkybox = true;\n scene.enableSkybox(skyboxOpt);\n\n // Define the 4 key points for the pod shell geometry\n const pt1: Point3 = [15, 0, 0];\n const pt2: Point3 = [0, 6, 0];\n const pt3: Point3 = [-3, 1, 6];\n const pt4: Point3 = [-12, 2.45, 0];\n const pt5: Point3 = [3, -2, 0];\n\n // Create polygon wire 1 (pt1, pt2, pt3)\n const poly1Opt = new PolygonDto();\n poly1Opt.points = [pt1, pt2, pt3];\n const polygonWire1 = await wire.createPolygonWire(poly1Opt);\n\n // Create polygon wire 2 (pt4, pt3, pt2)\n const poly2Opt = new PolygonDto();\n poly2Opt.points = [pt4, pt3, pt2];\n const polygonWire2 = await wire.createPolygonWire(poly2Opt);\n\n // Create face 1 from polygonWire2\n const face1Opt = new FaceFromWireDto();\n face1Opt.shape = polygonWire2;\n face1Opt.planar = true;\n const face1 = await face.createFaceFromWire(face1Opt);\n\n // Create polygon wire 3 (pt3, pt4, pt5)\n const poly3Opt = new PolygonDto();\n poly3Opt.points = [pt3, pt4, pt5];\n const polygonWire3 = await wire.createPolygonWire(poly3Opt);\n\n // Create face 2 from polygonWire3\n const face2Opt = new FaceFromWireDto();\n face2Opt.shape = polygonWire3;\n face2Opt.planar = true;\n const face2 = await face.createFaceFromWire(face2Opt);\n\n // Create polygon wire 4 (pt1, pt3, pt5)\n const poly4Opt = new PolygonDto();\n poly4Opt.points = [pt1, pt3, pt5];\n const polygonWire4 = await wire.createPolygonWire(poly4Opt);\n\n // Create face 3 from polygonWire4\n const face3Opt = new FaceFromWireDto();\n face3Opt.shape = polygonWire4;\n face3Opt.planar = true;\n const face3 = await face.createFaceFromWire(face3Opt);\n\n // Offset polygonWire1 to create inner wire for the hole\n const offsetOpt = new OffsetDto();\n offsetOpt.shape = polygonWire1;\n offsetOpt.distance = -0.6;\n offsetOpt.tolerance = 0.0001;\n const offsetWire = await operations.offset(offsetOpt);\n\n // Fillet the offset wire corners\n const fillet2dOpt = new FilletDto();\n fillet2dOpt.shape = offsetWire as TopoDSWirePointer;\n fillet2dOpt.radius = 0.2;\n const filletWire = await fillets.fillet2d(fillet2dOpt);\n\n // Reverse the filleted wire for hole creation\n const reverseOpt = new ShapeDto();\n reverseOpt.shape = filletWire as TopoDSWirePointer;\n const reversedWire = await wire.reversedWire(reverseOpt);\n\n // Create face with hole from polygonWire1 (outer) and reversedWire (hole)\n const faceWithHoleOpt = new FaceFromWiresDto();\n faceWithHoleOpt.shapes = [polygonWire1, reversedWire];\n faceWithHoleOpt.planar = true;\n const faceWithHole = await face.createFaceFromWires(faceWithHoleOpt);\n\n // Sew all faces into a shell\n const sew1Opt = new SewDto();\n sew1Opt.shapes = [faceWithHole, face1, face2, face3] as TopoDSFacePointer[];\n sew1Opt.tolerance = 0.0000001;\n const shell1 = await shell.sewFaces(sew1Opt);\n\n // Mirror the shell along Z normal to create the other half\n const mirrorOpt = new MirrorAlongNormalDto();\n mirrorOpt.shape = shell1;\n mirrorOpt.origin = [0, 0, 0];\n mirrorOpt.normal = [0, 0, 1];\n const mirroredShell = await transforms.mirrorAlongNormal(mirrorOpt);\n\n // Sew both shells together\n const sew2Opt = new SewDto();\n sew2Opt.shapes = [shell1, mirroredShell];\n sew2Opt.tolerance = 0.0000001;\n const combinedShell = await shell.sewFaces(sew2Opt);\n\n // Fillet edges of the combined shell\n const filletEdgesOpt = new FilletDto();\n filletEdgesOpt.shape = combinedShell;\n filletEdgesOpt.radius = 0.1;\n const filletedShell = await fillets.filletEdges(filletEdgesOpt);\n\n // Make thick solid from the shell\n const thickSolidOpt = new ThisckSolidSimpleDto();\n thickSolidOpt.shape = filletedShell;\n thickSolidOpt.offset = 0.2;\n const thickSolid = await operations.makeThickSolidSimple(thickSolidOpt);\n\n // Create PBR material for rendering\n const pbrOpt = new PBRMetallicRoughnessDto();\n pbrOpt.name = \"Custom Material\";\n pbrOpt.baseColor = \"#a3a3a3\";\n pbrOpt.emissiveColor = \"#000000\";\n pbrOpt.metallic = 0.8;\n pbrOpt.roughness = 0.8;\n pbrOpt.alpha = 1;\n pbrOpt.backFaceCulling = false;\n pbrOpt.zOffset = 2;\n const pbrMaterial = material.pbrMetallicRoughness.create(pbrOpt);\n\n // Draw the shape with material\n const drawOpt = new DrawOcctShapeMaterialOptions();\n drawOpt.precision = 0.01;\n drawOpt.drawEdges = true;\n drawOpt.edgeColour = \"#000000\";\n drawOpt.edgeWidth = 1;\n drawOpt.faceMaterial = pbrMaterial;\n await bitbybit.draw.drawAnyAsync({ entity: thickSolid, options: drawOpt });\n\n // Create the pod part for the assembly\n const podPartOpt = new CreateAssemblyPartDto();\n podPartOpt.id = \"pod-shell\";\n podPartOpt.shape = thickSolid;\n podPartOpt.name = \"Pod Shell\";\n const podPart = await manager.createPart(podPartOpt);\n\n // Create assembly node\n const assemblyNodeOpt = new CreateAssemblyNodeDto();\n assemblyNodeOpt.id = \"pod-assembly\";\n assemblyNodeOpt.name = \"Pod Assembly\";\n assemblyNodeOpt.parentId = \"\";\n const assemblyNode = await manager.createAssemblyNode(assemblyNodeOpt);\n\n // Create instance node with white color\n const instanceNodeOpt = new CreateInstanceNodeDto();\n instanceNodeOpt.id = \"pod-instance\";\n instanceNodeOpt.partId = \"pod-shell\";\n instanceNodeOpt.name = \"pod\";\n instanceNodeOpt.parentId = \"pod-assembly\";\n instanceNodeOpt.translation = [0, 0, 0];\n instanceNodeOpt.rotation = [0, 0, 0];\n instanceNodeOpt.scale = 1;\n instanceNodeOpt.colorRgba = { r: 1, g: 1, b: 1, a: 1 };\n const instanceNode = await manager.createInstanceNode(instanceNodeOpt);\n\n // Combine parts and nodes into structure\n const partsList = [podPart];\n const nodesList = [assemblyNode, instanceNode];\n\n const combineOpt = new CombineAssemblyStructureDto();\n combineOpt.parts = partsList;\n combineOpt.nodes = nodesList;\n combineOpt.removals = [];\n combineOpt.partUpdates = [];\n combineOpt.clearDocument = false;\n const structure = await manager.combineStructure(combineOpt);\n\n // Build assembly document\n const buildDocOpt = new BuildAssemblyDocumentDto();\n buildDocOpt.structure = structure;\n const document = await manager.buildAssemblyDocument(buildDocOpt);\n\n // Export to STEP file with color preserved\n const exportOpt = new ExportDocumentToStepDto();\n exportOpt.document = document;\n exportOpt.fileName = \"pods.stpZ\";\n exportOpt.author = \"Bitbybit user\";\n exportOpt.organization = \"Bitbybit\";\n exportOpt.compress = true;\n exportOpt.tryDownload = true;\n await manager.exportDocumentToStep(exportOpt);\n}\n\nstart();\n","type":"typescript"}} + script={{"script":"// Import required DTOs for scene setup and OCCT operations\nconst { SceneTwoColorRadialGradientDto, DirectionalLightDto, SkyboxDto } = Bit.Inputs.BabylonScene;\nconst { PolygonDto, ShapeDto, FaceFromWireDto, FaceFromWiresDto, OffsetDto, FilletDto, SewDto, MirrorAlongNormalDto,\n ThisckSolidSimpleDto, CreateAssemblyPartDto, CreateAssemblyNodeDto, CreateInstanceNodeDto,\n CombineAssemblyStructureDto, BuildAssemblyDocumentDto, ExportDocumentToStepDto } = Bit.Inputs.OCCT;\nconst { DrawOcctShapeMaterialOptions } = Bit.Inputs.Draw;\nconst { PBRMetallicRoughnessDto } = Bit.Inputs.BabylonMaterial;\nconst { gradientPositionEnum, gradientShapeEnum, skyboxEnum } = Bit.Inputs.Base;\n\n// Type definitions\ntype Point3 = Bit.Inputs.Base.Point3;\ntype Vector3 = Bit.Inputs.Base.Vector3;\ntype TopoDSShapePointer = Bit.Inputs.OCCT.TopoDSShapePointer;\ntype TopoDSWirePointer = Bit.Inputs.OCCT.TopoDSWirePointer;\ntype TopoDSFacePointer = Bit.Inputs.OCCT.TopoDSFacePointer;\ntype TDocStdDocumentPointer = Bit.Inputs.OCCT.TDocStdDocumentPointer;\n\n// Get access to OCCT modules\nconst { wire, face, shell } = bitbybit.occt.shapes;\nconst { operations, transforms, fillets, assembly } = bitbybit.occt;\nconst { manager } = assembly;\nconst { scene, material } = bitbybit.babylon;\n\nconst start = async () => {\n // Setup directional light\n const dirLightOpt = new DirectionalLightDto();\n dirLightOpt.direction = [-20, -20, -20] as Vector3;\n dirLightOpt.intensity = 3;\n dirLightOpt.shadowGeneratorMapSize = 2056;\n dirLightOpt.enableShadows = true;\n dirLightOpt.shadowBias = 0.001;\n dirLightOpt.shadowNormalBias = 0.02;\n scene.drawDirectionalLight(dirLightOpt);\n\n // Setup radial gradient background\n const bgOpt = new SceneTwoColorRadialGradientDto();\n bgOpt.colorFrom = \"#8194b1\";\n bgOpt.colorTo = \"#1c1e21\";\n bgOpt.position = gradientPositionEnum.center;\n bgOpt.shape = gradientShapeEnum.circle;\n scene.twoColorRadialGradientBackground(bgOpt);\n\n // Enable skybox (hidden but provides environment lighting)\n const skyboxOpt = new SkyboxDto();\n skyboxOpt.skybox = skyboxEnum.city;\n skyboxOpt.size = 1000;\n skyboxOpt.blur = 0.1;\n skyboxOpt.environmentIntensity = 0.7;\n skyboxOpt.hideSkybox = true;\n scene.enableSkybox(skyboxOpt);\n\n // Define the 4 key points for the pod shell geometry\n const pt1: Point3 = [15, 0, 0];\n const pt2: Point3 = [0, 6, 0];\n const pt3: Point3 = [-3, 1, 6];\n const pt4: Point3 = [-12, 2.45, 0];\n const pt5: Point3 = [3, -2, 0];\n\n // Create polygon wire 1 (pt1, pt2, pt3)\n const poly1Opt = new PolygonDto();\n poly1Opt.points = [pt1, pt2, pt3];\n const polygonWire1 = await wire.createPolygonWire(poly1Opt);\n\n // Create polygon wire 2 (pt4, pt3, pt2)\n const poly2Opt = new PolygonDto();\n poly2Opt.points = [pt4, pt3, pt2];\n const polygonWire2 = await wire.createPolygonWire(poly2Opt);\n\n // Create face 1 from polygonWire2\n const face1Opt = new FaceFromWireDto();\n face1Opt.shape = polygonWire2;\n face1Opt.planar = true;\n const face1 = await face.createFaceFromWire(face1Opt);\n\n // Create polygon wire 3 (pt3, pt4, pt5)\n const poly3Opt = new PolygonDto();\n poly3Opt.points = [pt3, pt4, pt5];\n const polygonWire3 = await wire.createPolygonWire(poly3Opt);\n\n // Create face 2 from polygonWire3\n const face2Opt = new FaceFromWireDto();\n face2Opt.shape = polygonWire3;\n face2Opt.planar = true;\n const face2 = await face.createFaceFromWire(face2Opt);\n\n // Create polygon wire 4 (pt1, pt3, pt5)\n const poly4Opt = new PolygonDto();\n poly4Opt.points = [pt1, pt3, pt5];\n const polygonWire4 = await wire.createPolygonWire(poly4Opt);\n\n // Create face 3 from polygonWire4\n const face3Opt = new FaceFromWireDto();\n face3Opt.shape = polygonWire4;\n face3Opt.planar = true;\n const face3 = await face.createFaceFromWire(face3Opt);\n\n // Offset polygonWire1 to create inner wire for the hole\n const offsetOpt = new OffsetDto();\n offsetOpt.shape = polygonWire1;\n offsetOpt.distance = -0.6;\n offsetOpt.tolerance = 0.0001;\n const offsetWire = await operations.offset(offsetOpt);\n\n // Fillet the offset wire corners\n const fillet2dOpt = new FilletDto();\n fillet2dOpt.shape = offsetWire as TopoDSWirePointer;\n fillet2dOpt.radius = 0.2;\n const filletWire = await fillets.fillet2d(fillet2dOpt);\n\n // Reverse the filleted wire for hole creation\n const reverseOpt = new ShapeDto();\n reverseOpt.shape = filletWire as TopoDSWirePointer;\n const reversedWire = await wire.reversedWire(reverseOpt);\n\n // Create face with hole from polygonWire1 (outer) and reversedWire (hole)\n const faceWithHoleOpt = new FaceFromWiresDto();\n faceWithHoleOpt.shapes = [polygonWire1, reversedWire];\n faceWithHoleOpt.planar = true;\n const faceWithHole = await face.createFaceFromWires(faceWithHoleOpt);\n\n // Sew all faces into a shell\n const sew1Opt = new SewDto();\n sew1Opt.shapes = [faceWithHole, face1, face2, face3] as TopoDSFacePointer[];\n sew1Opt.tolerance = 0.0000001;\n const shell1 = await shell.sewFaces(sew1Opt);\n\n // Mirror the shell along Z normal to create the other half\n const mirrorOpt = new MirrorAlongNormalDto();\n mirrorOpt.shape = shell1;\n mirrorOpt.origin = [0, 0, 0];\n mirrorOpt.normal = [0, 0, 1];\n const mirroredShell = await transforms.mirrorAlongNormal(mirrorOpt);\n\n // Sew both shells together\n const sew2Opt = new SewDto();\n sew2Opt.shapes = [shell1, mirroredShell];\n sew2Opt.tolerance = 0.0000001;\n const combinedShell = await shell.sewFaces(sew2Opt);\n\n // Fillet edges of the combined shell\n const filletEdgesOpt = new FilletDto();\n filletEdgesOpt.shape = combinedShell;\n filletEdgesOpt.radius = 0.1;\n const filletedShell = await fillets.filletEdges(filletEdgesOpt);\n\n // Make thick solid from the shell\n const thickSolidOpt = new ThisckSolidSimpleDto();\n thickSolidOpt.shape = filletedShell;\n thickSolidOpt.offset = 0.2;\n const thickSolid = await operations.makeThickSolidSimple(thickSolidOpt);\n\n // Create PBR material for rendering\n const pbrOpt = new PBRMetallicRoughnessDto();\n pbrOpt.name = \"Custom Material\";\n pbrOpt.baseColor = \"#ff0000\";\n pbrOpt.emissiveColor = \"#000000\";\n pbrOpt.metallic = 0.8;\n pbrOpt.roughness = 0.8;\n pbrOpt.alpha = 1;\n pbrOpt.backFaceCulling = false;\n pbrOpt.zOffset = 2;\n const pbrMaterial = material.pbrMetallicRoughness.create(pbrOpt);\n\n // Draw the shape with material\n const drawOpt = new DrawOcctShapeMaterialOptions();\n drawOpt.precision = 0.01;\n drawOpt.drawEdges = true;\n drawOpt.edgeColour = \"#000000\";\n drawOpt.edgeWidth = 1;\n drawOpt.faceMaterial = pbrMaterial;\n await bitbybit.draw.drawAnyAsync({ entity: thickSolid, options: drawOpt });\n\n // Create the pod part for the assembly\n const podPartOpt = new CreateAssemblyPartDto();\n podPartOpt.id = \"pod-shell\";\n podPartOpt.shape = thickSolid;\n podPartOpt.name = \"Pod Shell\";\n podPartOpt.colorRgba = { r: 1, g: 0, b: 0, a: 1 };\n const podPart = await manager.createPart(podPartOpt);\n\n // Create assembly node\n const assemblyNodeOpt = new CreateAssemblyNodeDto();\n assemblyNodeOpt.id = \"pod-assembly\";\n assemblyNodeOpt.name = \"Pod Assembly\";\n assemblyNodeOpt.parentId = \"\";\n assemblyNodeOpt.colorRgba = { r: 1, g: 0, b: 0, a: 1 };\n const assemblyNode = await manager.createAssemblyNode(assemblyNodeOpt);\n\n // Create instance node with white color\n const instanceNodeOpt = new CreateInstanceNodeDto();\n instanceNodeOpt.id = \"pod-instance\";\n instanceNodeOpt.partId = \"pod-shell\";\n instanceNodeOpt.name = \"pod\";\n instanceNodeOpt.parentId = \"pod-assembly\";\n instanceNodeOpt.translation = [0, 0, 0];\n instanceNodeOpt.rotation = [0, 0, 0];\n instanceNodeOpt.scale = 1;\n instanceNodeOpt.colorRgba = { r: 1, g: 0, b: 0, a: 1 };\n const instanceNode = await manager.createInstanceNode(instanceNodeOpt);\n\n // Combine parts and nodes into structure\n const partsList = [podPart];\n const nodesList = [assemblyNode, instanceNode];\n\n const combineOpt = new CombineAssemblyStructureDto();\n combineOpt.parts = partsList;\n combineOpt.nodes = nodesList;\n combineOpt.removals = [];\n combineOpt.partUpdates = [];\n combineOpt.clearDocument = false;\n const structure = await manager.combineStructure(combineOpt);\n\n // Build assembly document\n const buildDocOpt = new BuildAssemblyDocumentDto();\n buildDocOpt.structure = structure;\n const document = await manager.buildAssemblyDocument(buildDocOpt);\n\n // Export to STEP file with color preserved\n const exportOpt = new ExportDocumentToStepDto();\n exportOpt.document = document;\n exportOpt.fileName = \"pods.stpZ\";\n exportOpt.author = \"Bitbybit user\";\n exportOpt.organization = \"Bitbybit\";\n exportOpt.compress = true;\n exportOpt.tryDownload = true;\n await manager.exportDocumentToStep(exportOpt);\n}\n\nstart();\n","type":"typescript"}} title="Shape with Color to STEP Export" /> diff --git a/docs/learn/code/common/occt/assembly/step-to-gltf.mdx b/docs/learn/code/common/occt/assembly/step-to-gltf.mdx index 495f5e09..9f6a6581 100644 --- a/docs/learn/code/common/occt/assembly/step-to-gltf.mdx +++ b/docs/learn/code/common/occt/assembly/step-to-gltf.mdx @@ -71,7 +71,7 @@ For **larger models**, use higher precision values (e.g., 0.1 or higher) to redu