All projects

DiceMaker

A webapp to greatly accelerate creation of manufacturable 3D geometry.

DiceMaker web interface showing 3D model with parameter controls

DiceMaker simplifies creating 3D printable geometry through a web-based interface. It leverages client-side computation with WebGL and Three.js for real-time preview, backed by a Django server for data management and version control.

Workflow

The application follows a typical procedural modeling workflow:

  1. Select base geometry type (cube, sphere, polyhedron, etc.)
  2. Apply parameter-driven modifications
  3. Preview in real-time using Three.js
  4. Export for manufacturing (3D print, CNC, etc.)

Technical Implementation

Client-side (Three.js)

  • WebGL-accelerated实时 preview
  • Parameter-based procedural generation
  • Interactive camera controls
  • Instant feedback on parameter changes

Server-side (Django)

  • User account management
  • Design storage and retrieval
  • Version control for designs
  • Manufacturing export processing

Data Exchange (Protocol Buffers)

  • Efficient serialization between client and server
  • Schema evolution support
  • Cross-language compatibility

Manufacturing Integration

  • 3D Print: STL, OBJ, 3MF exports
  • CNC: STEP, IGES exports
  • Laser Cutting: SVG exports