FAIL3D: STL to DXF Converter

Inspiration

Hanomi.ai (to a very good extent) Engineering workflows often hit friction points when transitioning between 3D models and 2D engineering drawings. We noticed mechanical engineers and product designers spending excessive time manually creating detailed engineering drawings from their 3D models. Hanomi, our hardware startup, frequently faced this bottleneck when preparing manufacturing documentation. There had to be a better way to streamline this process, so we set out to create an accessible tool that would bridge the gap between 3D modeling and 2D documentation while adding intelligent dimensioning capabilities that traditional CAD tools lack.

What it does

FAIL3D automatically converts 3D STL models into professional 2D engineering drawings in DXF format. Key features include:

  • Intuitive web interface for uploading and managing 3D models
  • Real-time 3D visualization of STL files
  • Automatic generation of multi-view orthographic projections (top, front, right views)
  • Interactive DXF viewer to explore the generated engineering drawing
  • AI-assisted smart dimensioning that automatically identifies and measures critical features
  • One-click download of finalized DXF files ready for manufacturing documentation

The platform significantly reduces the time to create complete engineering documentation from 3D models, enabling faster iteration cycles in product development.

How we built it

We implemented FAIL3D as a Flask web application with several integrated components:

  1. Backend infrastructure: Python-based Flask framework for routing and request handling
  2. Authentication system: Lightweight user management for secure file storage
  3. 3D processing engine: Custom Python script using Trimesh for STL parsing and manipulation
  4. Engineering drawing generator: Algorithm that extracts silhouette edges and creates proper orthographic projections
  5. DXF creation module: EzDXF library implementation for generating industry-standard DXF files
  6. Frontend visualization: Three.js for STL viewing and a custom DXF viewer for 2D drawings
  7. Smart dimensioning: AI module that analyzes geometric features and adds appropriate measurements

The core conversion algorithm works by extracting silhouette edges from multiple viewpoints, creating cross-sectional slices, and arranging them into standard engineering projections with proper scaling and annotation.

Challenges we ran into

Our journey wasn't without obstacles:

  1. Performance bottlenecks: Processing complex STL files with millions of triangles initially caused timeout issues in the web environment
  2. Edge case handling: Certain complex geometries created artifacts in the projected views that required sophisticated cleaning algorithms
  3. Standardization: Ensuring consistent dimensions across orthographic views proved challenging as projection methods sometimes introduced inconsistencies
  4. User experience: Balancing automation with user control required several iterations of the interface
  5. Threading management: Implementing background processing without blocking the web interface required careful thread management

Perhaps the most significant challenge was developing the smart dimensioning system that could identify which features actually matter in an engineering context versus simply measuring everything.

Accomplishments that we're proud of

  1. Creating a lightning-fast conversion pipeline that handles complex models in seconds
  2. Developing a clean, intuitive interface that makes the tool accessible to both CAD experts and beginners
  3. Successfully implementing the orthographic projection algorithm that maintains proper scaling and relationships
  4. Building an intelligent dimensioning system that identifies critical features automatically
  5. Creating a complete end-to-end solution that works entirely in the browser without requiring software installation

What we learned

This project taught us valuable lessons:

  1. The importance of algorithm optimization when dealing with geometric data
  2. How to prioritize features based on actual user workflows rather than technical possibilities
  3. Techniques for effective thread management in web applications
  4. The power of combining traditional engineering algorithms with modern AI approaches
  5. The challenges of geometric projection and standardization in engineering documentation

We also gained deeper knowledge of engineering drawing standards and the subtle complexities of translating 3D models to 2D documentation effectively.

What's next for FAIL3D

While our hackathon implementation delivers a functional MVP, we have ambitious plans to expand FAIL3D:

  1. Enhanced Dimensioning: Improve the AI system to handle more complex dimensioning scenarios and learn from user preferences
  2. Annotation Tools: Add support for GD&T (Geometric Dimensioning and Tolerancing) symbols and annotations
  3. Version Control: Implement drawing revision management for tracking changes over time
  4. CAD Integration: Create plugins for popular CAD software to streamline workflows
  5. Collaborative Features: Add real-time collaboration tools for engineering teams

Built With

Share this project:

Updates