Redefining 3D Design in the Browser: Exploring Chili3D’s Full-Stack Web CAD Solution
❝
Imagine performing industrial-grade 3D modeling without installing specialized software – just open your browser. What was once an engineer’s dream is now reality through WebAssembly technology.
❞
When Traditional CAD Meets Modern Web Technology
In mechanical design and product prototyping, Computer-Aided Design (CAD) software remains essential. Yet traditional CAD solutions present two significant challenges: 「prohibitive licensing costs」 and 「complex local installations」. Chili3D revolutionizes this paradigm by bringing full CAD capabilities to browser environments through a groundbreaking technical approach: compiling the OpenCascade (OCCT) engine to WebAssembly and integrating it with Three.js for visualization.
Architectural Breakdown
-
「OpenCascade Engine」: Industrial-grade geometric modeling kernel (used in FreeCAD and other open-source CAD tools) providing core algorithms for Boolean operations and surface processing -
「WebAssembly Conversion」: OCCT’s C++ codebase compiled to .wasm format delivers near-native computational performance in browsers -
「Three.js Integration」: Hardware-accelerated 3D rendering via WebGL ensures smooth interaction with complex models -
「TypeScript Foundation」: Strong typing ensures maintainability for large-scale engineering projects
Practical Application Scenarios
From Sketch to 3D Model
-
「2D Sketching」
Create flange cross-sections using line/arc tools with automatic geometric constraint detection -
「Revolve Modeling」
Generate 3D solids instantly by rotating sketches around central axes -
「Boolean Optimization」
Precisely cut materials using “difference” operations when adding bolt holes
Assembly Design Workflow
graph TD
A[Create Base Component] --> B[Establish Assembly Coordinate System]
B --> C[Import Gear Mechanism]
C --> D[Apply Axle-Hole Constraints]
D --> E[Kinematic Mechanism Verification]
E --> F[Exploded View Analysis]
Core Capability Matrix
Modeling Power Comparison
Feature Category | Basic Tools | Advanced Applications |
---|---|---|
「Primitive Solids」 | Cubes/Spheres/Cones | Parametric mechanical part bases |
「Sketch Features」 | Polygons/Spline Curves | Turbine blade surface design |
「Topology Operations」 | Boolean Operations (Union/Subtract/Intersect) | Complex cavity structures |
「Advanced Generation」 | Sweep/Loft | Special-shaped pipeline systems |
Precision Design Assistance System
-
「Dynamic Workplanes」: Instantly transform any surface into a sketching plane -
「Smart Snapping System」: -
Automatic endpoint/midpoint/centerpoint alignment -
Virtual intersection prediction for extension lines -
Surface normal alignment guides
-
-
「Measurement Toolkit」: // Typical measurement logic const edgeLength = model.getEdgeLength(selectedEdge); const faceArea = model.calculateSurfaceArea(selectedFace);
Engineering Implementation Guide
Development Environment Setup
# 1. Clone repository
git clone https://github.com/xiangechen/chili3d.git
cd chili3d
# 2. Install Node dependencies (Requires Node.js v16+)
npm install
# 3. Compile WebAssembly core
npm run setup:wasm # Takes 5-10 minutes
# 4. Launch development server
npm run dev # Access at localhost:3000
Production Deployment
# Complete build process
npm run build:wasm # Compile OCCT engine separately
npm run build # Build frontend application
# Output directory: /dist
# Deployable to Cloudflare Pages etc.
Industry Application Prospects
Current Implementation Domains
-
「Educational Labs」: Real-time demonstrations for mechanical drafting courses -
「Design Reviews」: Collaborative model annotation through online sharing -
「Rapid Prototyping」: Instant visualization for conceptual design validation
Technical Evolution Roadmap
-
「Assembly Constraint Systems」: Mechanical relationships like gear meshing -
「Parametric Driving」: Intelligent model updates through dimension associations -
「PLM Integration」: Connection with Product Lifecycle Management systems
Open-Source Community Participation
Contributor Growth Path
pie
title Community Contribution Distribution
“Bug Reports” : 35
“Document Translation” : 25
“Feature Development” : 20
“Test Cases” : 15
“Performance Optimization” : 5
Collaboration Standards
-
「Code Submission Process」: -
Fork main repository and create feature branch -
Submit Pull Request to dev branch -
Validate through Jest test suite
-
-
「Localization Support」: // Language pack extension example "de": { "command.extrude": "Extrudieren", "tooltip.fillet": "Kanten abrunden" }
Licensing Model Analysis
AGPLv3 licensing ensures community rights:
-
「Open-Source Requirements」: Derivative projects must disclose modified code -
「Commercial Licensing」: Contact xiangetg@msn.cn for proprietary applications -
「Cloud Exception」: SaaS services exempt from copyleft provisions
「Project Status Notice」: Current Alpha version (0.8.x) has unstable APIs. For production use, lock version numbers:
// Recommended package.json configuration
"dependencies": {
"chili3d-engine": "~0.8.6"
}
「Resource Navigation」:
❝
The browser-based CAD revolution isn’t about replacing professional tools—it’s about creating new design paradigms. When engineers modify models on tablets at airports, when teachers guide students through capstone projects online, when maker communities collaboratively refine open-source hardware in real-time… Chili3D is quietly redefining the spatial and temporal boundaries of 3D design.
❞