←Back to Projects

OpenCASCADE Tools

Open-source TypeScript wrapper and CLI converting STEP and IGES CAD geometries into web-optimized 3D formats (GLTF, GLB, OBJ) via OpenCASCADE Technology and WebAssembly.

Technology Readiness Level

System Prototype Demonstration in Operational Environment

1
2
3
4
5
6
7
8
9

The prototype is deployed and evaluated in the actual operational environment under real-world conditions, demonstrating end-to-end system performance and addressing operational hurdles.

Framework alignment: Standardized 9-level TRL (NASA / EU Horizon Europe).

Core Challenge

Industrial CAD models are predominantly distributed in neutral boundary-representation (B-Rep) formats like STEP (ISO 10303-21) and IGES, which standard web browsers and 3D engines like Three.js cannot natively parse or render without heavy native desktop software or expensive cloud conversion pipelines.

System Architecture

An easy-to-use, dual-target TypeScript wrapper around OpenCASCADE Technology (OCCT) compiled to WebAssembly via OpenCascade.js. It enables fast, local tessellation and conversion of STEP and IGES assemblies into lightweight GLTF, GLB, and OBJ meshes directly in Node.js CLIs and in-browser Web Workers.

Key Capabilities

  • STEP & IGES CAD Ingestion: Directly parses standard ISO 10303-21 STEP and legacy IGES files into hierarchical TDocStd_Document trees.
  • Adaptive BRep Meshing: Configurable linear deflection (chordal error) and angular deflection parameters for fine-grained polygon budget control.
  • 3D Web Format Export: Serializes tessellated CAD assemblies into binary GLTF 2.0 (.glb), JSON GLTF, and Wavefront OBJ formats ready for WebGL.
  • Dual Node.js & Browser Runtime: Unified API callable via standalone CLI scripts or asynchronously inside browser Web Workers without server roundtrips.

Technology Stack

  • CAD Kernel & Core Engine: Open CASCADE Technology (OCCT), OpenCascade.js, WebAssembly (WASM), B-Rep Geometry
  • Language & Tooling: TypeScript, Node.js, Commander.js, Figlet
  • 3D Graphics & Serialization: Khronos GLTF 2.0 / GLB, Wavefront OBJ, Three.js Integration, WebGL

Verifiable Outcomes

  • Powers the 3D model ingestion and STEP/FreeCAD meshing engine inside CADdrive (caddrive.org).
  • Over 22 GitHub stars and active npm distribution as a standalone open-source CLI and library.
  • Enables zero-backend, client-side CAD model visualization for educational design platforms.

Project Screenshots

Interface walkthroughs, system diagrams, and visual demonstrations from OpenCASCADE Tools.

End-to-End Geometry Pipeline: Four-stage dataflow covering CAD ingestion, OpenCASCADE Technology kernel processing, adaptive tessellation, and 3D web serialization.

End-to-End Geometry Pipeline

Four-stage dataflow covering CAD ingestion, OpenCASCADE Technology kernel processing, adaptive tessellation, and 3D web serialization.

Command-Line Interface & Automated Meshing: Terminal session demonstrating the opencascade-tools CLI converting industrial CAD files with custom linear and angular deflection tolerances.

Command-Line Interface & Automated Meshing

Terminal session demonstrating the opencascade-tools CLI converting industrial CAD files with custom linear and angular deflection tolerances.

TypeScript & Node.js / Browser API: Code walkthrough showcasing dual-target execution across Node.js CLI scripts and in-browser Web Workers with Three.js compatibility.

TypeScript & Node.js / Browser API

Code walkthrough showcasing dual-target execution across Node.js CLI scripts and in-browser Web Workers with Three.js compatibility.