Frame Up: SVG to 3D Automation for Eyewear - Days to 60 Seconds

Friday, Oct 20, 2023 | 3 minute read | Updated at Friday, Oct 20, 2023

@

Role: Founder & Solo Engineer (Full Stack + 3D Pipeline)
Duration: 2022–2024
Stack: TypeScript, React, Three.js, Python, Blender, OpenCascade, Node.js, Express.js, Stripe, AWS, MongoDB

Frame Up demo workflow from sketch to 3D model


The Eyewear Industry’s 3D Modeling Bottleneck

I built a web-based SaaS that converts SVG drawings to STEP files for eyewear manufacturers, it took modeling time from days down to 60 seconds and cut out the $75-250 per-frame CAD service fees.

I realized this was a problem while building Tartare and Heru . Waiting days for external CAD services to model eyewear variations for 3D scanning killed production speed so that pushed me to automate it.

As one beta tester put it: “A lot of frame designers still work with 2D drawings and completely rely on the manufacturer to do it right.” Small manufacturers and indie designers couldn’t afford rapid prototyping. Every design tweak cost them time and money.


Automated SVG-to-3D Conversion Platform

SVG to 3D conversion

Frame Up is a web platform that turns SVG drawings into parametric 3D eyewear models with manufacturing-ready outputs. Anyone can use it without CAD skills, but it still hits industrial precision through over 70 geometric parameters.

Core Workflow

  1. SVG Upload - Users import 2D frame sketches (front and temple profiles)
  2. Parametric Adjustment - Modify optical and mechanical specs
  3. Live 3D Preview - Fast browser-based view using Three.js/WebGL
  4. Export Generation - Auto-generate CNC-compatible STEP files and STL meshes

Preview renders show up in seconds and final exports finish in 30–60 seconds.

Technical Parameters

Three.js parametric viewer showing real-time eyewear customization controls for lens curves and frame thickness

The parametric engine controls industry-standard specs:

  • Optical geometry: Lens base curve, pantoscopic angle
  • Frame mechanics: Face thickness, temple curvature, hinge positioning, splay angle
  • Manufacturing details: Chamfer angles, hinge pocket depth

Technical Architecture

Frontend Layer

  • React + TypeScript for component architecture and type safety
  • Three.js + WebGL for 3D rendering

Backend Services

  • Express.js API for auth, project management, and job orchestration
  • MongoDB for user data, project configs, and models
  • AWS S3 for file storage
  • AWS Lambda for compute-heavy 3D generation

3D Processing Pipeline

The pipeline runs parallel processing for speed:

Pipeline diagram

Pipeline stages:

  1. Geometric decomposition - Split half-frame front into 4 quadrants radiating from lens center
  2. Parallel STEP generation - Each quadrant + temple processed independently via OpenCascade
  3. Parallel mesh conversion - Gmsh tessellates each STEP file at the same time
  4. Optional STEP merge - If CNC export needed, quadrants merge into single manufacturing file and get mirrored
  5. Blender finalization - Refine face-temple joints (automating manual craftsmanship), mirror geometry, generate UV maps

Docker runs everything.


OpenCascade crashed on every chamfer operation

The Problem

Getting valid CNC-compatible STEP files out of OpenCascade and FreeCAD was not easy. The library’s surface modeling failed completely when chamfering complex curved geometry. Operations would either produce broken surfaces or just crash without useful error messages.

My Solution: Quadrant-Based Decomposition with Parallel Processing

After debugging the failure patterns, I built a segmentation approach:

  • Divided the frame front into four geometric quadrants around each lens center
  • Processed each quadrant independently through OpenCascade → Gmsh → mesh optimization
  • Kept continuity at quadrant boundaries through tangent matching
  • Ran everything in parallel for speed
  • Merged results in Blender for final polish and symmetry

Results:

  • STEP files stopped breaking
  • Stayed compatible with CNC machines
  • Way faster through parallel execution
  • No more dependency on expensive commercial CAD tools

Performance Metrics & Manufacturing Impact

Performance Metrics

  • Modeling time: Several days/weeks → 30–60 seconds for final export
  • Cost savings: Cut $75–250 per frame + hourly specialist fees
  • Iteration speed: Unlimited design variations without technical bottlenecks

Technical Achievement

A rendering of a frame built with Frame Up

  • Built a fully parametric CAD system with 70+ interdependent geometric controls
  • Automated a workflow that previously needed expert CAD skills
  • Generated manufacturing-ready STEP files using only open-source tools

Building something similar? Get in touch or connect on LinkedIn .

© 2014 - 2025 Jessy Leite