148180c12ed46b63ceb85cf812c443220acf4912
Major changes: - vision_analyzer.py: Real OpenAI/Anthropic vision API integration - Component detection with confidence scores - Atomizer hints extraction (objectives, constraints, parameters) - Material and feature identification - Timeline correlation with transcript - config.py: Full configuration system - API settings (provider, keys, models) - Processing settings (Whisper model, frame interval, scene detection) - Output settings (BOM, hints, PDF template) - Config file support (~/.cad-documenter.toml) - audio_analyzer.py: Enhanced transcription - Audio stream detection - Graceful fallback for missing audio - Keyword extraction - Technical term detection - Timeline correlation - video_processor.py: Smart frame extraction - Scene change detection via ffmpeg - Configurable thresholds - Best frame selection - doc_generator.py: Improved output - Better Markdown templates - BOM CSV export - Atomizer hints JSON - Component cards - cli.py: Rich CLI with progress indicators - Config file support - --init-config flag - Verbose mode - Better error messages - tests: Comprehensive test suite
CAD-Documenter
One video → Complete engineering documentation.
Transform video walkthroughs of CAD models into comprehensive, structured documentation — ready for CDRs, FEA setups, and integration with the Atomaste engineering ecosystem.
The Problem
- Documentation is tedious — Engineers spend hours documenting CAD models manually
- Knowledge lives in heads — Verbal explanations during reviews aren't captured
- CDR prep is painful — Gathering images, writing descriptions, creating BOMs
- FEA setup requires context — Atomizer needs model understanding that's often verbal
The Solution
Input
- 📹 Video of engineer explaining a CAD model
- Optional: CAD file references, existing P/N databases
Output
- 📄 Markdown documentation — Structured, version-controlled
- 📊 Bill of Materials — With standardized P/N
- 🔧 Component registry — Parts, functions, materials, specs
- 🎯 Atomizer hints — Parameters, constraints, objectives for FEA
- 📑 CDR-ready PDF — Via Atomaste Report Standard
Installation
# Clone the repo
git clone http://100.80.199.40:3000/Antoine/CAD-Documenter.git
cd CAD-Documenter
# Install dependencies (using uv)
uv sync
Requirements
- Python 3.12+
- ffmpeg (for video/audio processing)
- Whisper (for transcription)
Usage
# Basic documentation
cad-doc video.mp4
# Full pipeline with all integrations
cad-doc video.mp4 \
--output docs/my_assembly/ \
--atomizer-hints \
--bom \
--pdf
# Just extract frames
cad-doc video.mp4 --frames-only --output frames/
Architecture
┌─────────────────────────────────────────────────────────────────────┐
│ CAD-DOCUMENTER │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Video │───►│ Frame │───►│ Vision │───►│ Struct │ │
│ │ Input │ │ Extract │ │ Analysis │ │ Output │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Audio │───►│ Whisper │───►│ Correlate│───►│ Generate │ │
│ │ Track │ │Transcribe│ │ Timeline │ │ Docs │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────────────┘
Integrations
- Atomizer → FEA setup instructions from verbal explanations
- Part Manager → Standardized P/N lookup
- Atomaste Report Standard → Professional PDF generation
Project Status
🚧 Phase 1: Core Pipeline (MVP) — In Progress
See ROADMAP.md for full implementation plan.
License
MIT
Description
Languages
Python
100%