← Back to Business Plan

Building AI-CAD: Technical Deep Dive

How to Bridge Text Processing Expertise to the CAD World

The Bridge: What You Already Know

Paul's first lesson: "AutoCAD is dead. We compete against Revit and Civil 3D." This is actually GOOD news. Revit isn't just geometric lines—it's BIM (Building Information Modeling). It understands semantic objects: walls, doors, rooms, systems. This is closer to your structured data world than you think.

You've built systems that extract structure from unstructured text (SEC filings), train models on domain-specific data (financial events), and generate insights from patterns (alpha opportunities). The AI-BIM problem has surprising parallels.

SEC Analysis: Text → Extract entities/events → Classify/score → Generate insights
AI-BIM: Requirements → Extract constraints/objects → Generate designs → Validate/score

Both are fundamentally about turning unstructured input into structured, actionable output. BIM actually deals with structured semantic objects (walls, doors, rooms), not just geometric lines. The architecture? Very similar to your text processing pipelines.

The Parallel: Your World vs. CAD World

Your Text/SEC World

Input: Unstructured text (10-Ks, 8-Ks, earnings calls)

Extraction: NER, relationship extraction, event detection

Structured Data: Entities, events, timelines, relationships

Models: LLMs (Qwen, Claude), fine-tuned classifiers

Output: Alpha signals, risk alerts, summaries

Validation: Backtesting, analyst comparison, market response

AI-BIM World

Input: Natural language requirements ("3BR house, modern, Arizona")

Extraction: Requirements parsing, constraint extraction

Structured Data: Semantic objects (walls, doors, rooms), relationships, constraints

Models: LLMs + diffusion models + BIM-specific generators

Output: BIM models, construction docs (IFC, RVT, DXF)

Validation: Building codes, structural integrity, cost estimates

The key insight: You don't need to learn Revit. BIM is already structured data—walls ARE entities with properties (height, material, fire rating). Rooms ARE objects with relationships (adjacency, access). You need to understand how to represent spatial/semantic data as structured information, then apply the same extraction-modeling-generation pipeline you already know.

Why BIM is better than CAD for AI: AutoCAD stores lines and circles. Revit stores "Wall: Type=8in CMU, Height=10ft, FireRating=2hr". That semantic structure is MUCH easier for AI to work with. Paul saying "AutoCAD is dead" is actually great news for this approach.

Data Sources: What Training Data Exists?

Just like you trained on SEC filings to understand financial events, you need training data for building designs. The good news: there's a lot of it, much of it public.

Public Domain

ABC Dataset (MIT)

1 million CAD models with geometric primitives and assembly relationships. Free, research-licensed. Perfect for learning geometric structure.

Open Standard

IFC Models

Industry Foundation Classes - open BIM format. Many projects publish IFC files. Contains semantic structure: walls, doors, systems, not just geometry.

Public Domain

ShapeNet

51,300 3D models across 55 categories. Includes furniture, buildings, structural elements. Widely used for 3D ML research.

Public Domain

Building Plans (Gov)

Many municipalities publish approved building plans as public records. Scrape and parse these for real-world examples with code compliance.

Open Source

Open Source BIM/CAD Files

GrabCAD, BIMobject, GitHub repos of architectural projects. Thousands of IFC, RVT, DXF files available. IFC has semantic data.

Synthetic

Procedural Generation

Generate training data programmatically. Random floor plans that follow rules (room adjacency, circulation, codes). Common in ML research.

Commercial

Plan Databases

Websites like ArchitecturalDesigns.com sell house plans. Could license a corpus for training. Expensive but high quality.

Structured Data

Building Codes

International Building Code (IBC), state/local codes. Structured rules that can be parsed and encoded as constraints. Like GAAP for buildings.

Multimodal

Image + CAD Pairs

Scrape architectural photos matched with their floor plans. Train vision models to understand spatial relationships from images.

Just like you didn't need Bloomberg terminal data to disrupt SEC analysis—you used public EDGAR filings—you don't need Autodesk's proprietary Revit data. Public IFC models, open source BIM files, and synthetic data can get you far. IFC is an open standard specifically designed to break vendor lock-in.

The Technical Pipeline

Here's how you'd actually build this, step by step. Notice how similar it is to your SEC analysis pipeline.

Stage 1: Requirements Extraction

Input: "I want a 3BR/2BA house, 2000 sq ft, open concept kitchen/living, Arizona, budget $400k"

Processing: Use LLM (GPT-4, Claude, or fine-tuned open source) to extract structured requirements:

{ "bedrooms": 3, "bathrooms": 2, "total_sqft": 2000, "style": "open_concept", "location": {"state": "Arizona", "climate": "hot_arid"}, "budget": 400000, "constraints": ["kitchen_living_open", "high_ceilings"], "code_jurisdiction": "pima_county" }

Your parallel: This is exactly like extracting entities from an 8-K filing—parsing unstructured text into structured data.

Stage 2: Constraint Resolution & Enrichment

Apply domain knowledge: Load building codes, climate considerations, standard room dimensions, construction costs.

Your parallel: Like enriching a company mention with its CIK, sector, market cap, and historical patterns. You're adding context.

# Building code rules for Arizona constraints = { "min_bedroom_size": 70, # sq ft "min_ceiling_height": 7.5, # feet "egress_windows_required": True, "energy_rating": "climate_zone_2B" }

Stage 3: Layout Generation

This is the new part: Generate spatial layouts that satisfy constraints. Multiple approaches:

  • Graph-based: Rooms as nodes, adjacency as edges. Use constraint satisfaction to solve.
  • Diffusion models: Train on floor plan images, generate new layouts (like DALL-E but for floor plans).
  • Transformer-based: Treat floor plan as sequence of tokens (rooms, walls, doors), generate with LLM.

Your parallel: Like generating an investment thesis from extracted events—you're synthesizing new content from learned patterns.

Stage 4: 3D Model Generation

From 2D floor plan to 3D model: Extrude walls, add roof, place windows/doors. This is more deterministic—apply rules.

Tech: Use libraries like OpenCascade, FreeCAD's Python API, or even Three.js for web-based rendering.

Stage 5: Validation & Scoring

Check constraints: Does it meet building codes? Is circulation efficient? Are rooms appropriately sized?

Your parallel: Exactly like scoring an SEC event for alpha potential or validating that an extraction makes logical sense.

# Validation pipeline def validate_design(floor_plan): scores = { "code_compliance": check_building_codes(floor_plan), "circulation_efficiency": analyze_flow(floor_plan), "cost_estimate": calculate_cost(floor_plan), "energy_rating": simulate_energy_use(floor_plan) } return scores

Stage 6: Export to IFC/DXF/RVT

Final output: Convert internal representation to standard formats:

  • IFC: Open BIM standard (IfcOpenShell library)
  • DXF/DWG: Legacy CAD (ezdxf library)
  • RVT: Revit native (more complex, but possible via Revit API)

Your parallel: Like outputting a formatted SEC analysis report—take your internal data and serialize it to the format users need. IFC is like JSON for buildings.

Model Architecture: What's Different?

You'll Need Multiple Models (Just Like Your SEC Pipeline)

Your current system probably uses different models for different tasks: one for entity extraction, one for classification, one for summarization. Same here.

1. Requirements Extraction: Standard LLM

Use what you know: GPT-4, Claude, or fine-tuned Llama/Mistral. This is pure NLP—your wheelhouse.

2. Layout Generation: New Territory

This is the CAD-specific part. A few approaches:

Graph Neural Networks (GNNs)

Represent floor plans as graphs (rooms = nodes, adjacencies = edges). Train GNN to generate valid graphs. Good for constraint satisfaction.

Diffusion Models

Train on floor plan images (like Stable Diffusion but for architecture). Generate pixel-based layouts, then vectorize. Fast iteration.

Transformer + Tokenization

Encode floor plans as sequences of tokens (room types, dimensions, positions). Generate with transformer. Most like your text work.

Procedural + ML Hybrid

Start with rule-based generation (fast, guaranteed valid), use ML to optimize and refine. Practical for MVP.

3. Validation Models: Rule-Based + ML

Building codes: Encode as rules (like you'd encode GAAP rules). Use constraint solvers.
Quality scoring: Train classifier on "good" vs "bad" designs (like your alpha scoring).

Do You Need Special Models?

Short answer: Not entirely. You can start with:

  • Standard LLMs for requirements extraction (you already do this)
  • Existing image diffusion models fine-tuned on floor plans (similar to fine-tuning LLMs)
  • Rule-based systems for validation (like parsing HTML or structured data)

The truly novel ML is in the layout generation. But even there, you can start with procedural generation + LLM-guided refinement. Get something working, then improve.

Think of it this way: You didn't build a custom LLM from scratch for SEC analysis. You used GPT-4/Claude and fine-tuned where needed. Same strategy here—use existing models, fine-tune on CAD data, add domain-specific post-processing.

The Tech Stack

Recommended Architecture

Requirements Parsing

GPT-4 / Claude API, or fine-tuned Llama 3

Floor Plan Generation

Start: Procedural (Python)
Later: Fine-tuned diffusion model

3D Modeling

FreeCAD Python API, OpenCascade, or Three.js

BIM/CAD Export

IfcOpenShell (IFC/BIM), ezdxf (DXF/DWG)

Rendering

Blender API (Python), Three.js for web

Building Codes DB

PostgreSQL + custom parser for IBC/local codes

Backend

Python/FastAPI (like your SEC system)

Frontend

React + Three.js for 3D viewer

Notice: Most of this is standard ML/web stack. The BIM-specific parts (IfcOpenShell, ezdxf, FreeCAD) are just Python libraries. You're not learning C++ or Revit's proprietary APIs. It's data processing with a spatial twist. IFC is an open standard—think of it as JSON/XML for buildings.

Unique Challenges vs. Text Processing

What's Different from Your SEC Work?

  • Spatial reasoning: Text is linear/sequential. Floor plans are 2D spatial relationships. Models need to understand adjacency, connectivity, flow.
  • Hard constraints: A building code violation fails (can't permit). In text analysis, most errors are soft (lower confidence, not fatal).
  • Multimodal output: You need to generate images (renders), vector data (DXF), and text (specs). SEC work is mostly text → text.
  • Physics/engineering: Structures need to stand up, HVAC needs to work. Can't just generate plausible-looking output—must be buildable.
  • Long-tail complexity: Every project is different. Unlike SEC filings (standardized forms), buildings have infinite variety.

How to Address These

Spatial Reasoning

Start simple: Begin with rectangular rooms on a grid. Add complexity incrementally (non-rectangular, curved, multi-story).

Use graph representations: You understand graphs (entity relationships in text). Floor plans are just spatial graphs.

Hard Constraints

Validation layer: Like you validate SEC extractions against known entities, validate designs against building codes before showing to user.

Iterate until valid: Use LLM in a loop—generate, validate, regenerate if invalid. You probably already do this for data cleaning.

Multimodal Output

Pipeline approach: Internal representation → render to image → export to DXF → generate text specs. Each step is independent. You've built pipelines.

Physics/Engineering

Partner with domain expert: That's Paul. He validates structural soundness. You handle the ML pipeline. Exactly the division of labor that works.

Getting Started: 90-Day Roadmap

Phase 1: Proof of Concept (Weeks 1-4)

Goal: Generate ONE valid floor plan from text

Week 1: Data collection

  • Download ABC dataset, ShapeNet, public building plans
  • Parse 100 example floor plans into structured format (JSON)
  • Build vocabulary: room types, dimensions, relationships

Week 2: Requirements extraction

  • Use GPT-4 API to parse natural language → structured JSON
  • Test on 50 example inputs ("3BR house...", "small office...")
  • Refine prompt until extraction is reliable

Week 3: Simple layout generation

  • Write procedural Python code to generate rectangular floor plans
  • Room placement algorithm (grid-based, simple adjacency rules)
  • Output: JSON representation of floor plan

Week 4: Visualization & export

  • Use matplotlib or SVG to render floor plan as image
  • Use IfcOpenShell to export to IFC format (open BIM standard)
  • Also export to DXF for legacy compatibility
  • Test: Can Paul open it in Revit or a BIM viewer?

Success metric: Text input → working IFC/DXF file that Paul can open in Revit and evaluate

Phase 2: Quality & Constraints (Weeks 5-8)

Goal: Generate GOOD floor plans that follow rules

Add building code validation:

  • Parse IBC and Arizona building codes into rule database
  • Validate generated plans: room sizes, egress, circulation
  • Iterate: regenerate if validation fails

Improve generation quality:

  • Train a scoring model on Paul's ratings of good/bad layouts
  • Generate multiple options, rank by score
  • Add architectural heuristics (kitchen near dining, bedrooms grouped, etc.)

Add 3D rendering:

  • Extrude 2D floor plan into basic 3D model
  • Use Blender or Three.js to render photorealistic images
  • Show renders to potential customers for feedback

Phase 3: MVP Product (Weeks 9-12)

Goal: Ship to first paying customer

Build web interface:

  • Simple form: describe your project
  • Backend processes request, generates 5 design options
  • Show renders + floor plans, allow user to pick and iterate
  • Export final design as DXF + PDF report

Niche down:

  • Focus on ONE use case: Arizona ADUs (accessory dwelling units)
  • Encode all relevant codes and constraints
  • Market to homeowners and contractors in Phoenix/Tucson

First customer:

  • Charge $500-1000 for permit-ready ADU plans
  • Manual review by Paul for first 10 customers (quality control)
  • Gather feedback, iterate on product

Success metric: $5k revenue from 5-10 customers who successfully permit and build

Key Insights for Someone from Text World

  1. The pipeline is familiar. Extract → structure → model → generate → validate. You've done this before, just with different data types.
  2. You don't need to be a Revit expert. BIM is already structured semantic data (walls, doors, rooms). You need to understand how to represent spatial objects and generate valid outputs. Paul provides domain validation. IFC is an open standard—much easier than proprietary Revit formats.
  3. Start rule-based, add ML later. Procedural generation can get you far. Use ML to optimize and improve quality, not as the only solution.
  4. Data is available. Unlike some ML problems, there's lots of public CAD data. You won't be data-starved.
  5. Validation is critical. Building codes are like financial regulations—non-negotiable. Build validation from day one.
  6. Niche down initially. Don't try to design skyscrapers on day one. Start with simple residential projects where constraints are well-understood.
  7. This is achievable. You have 90% of the skills already. The CAD-specific parts are learnable in weeks, not years.
You disrupted SEC analysis without being a financial analyst. You built the tech that let analysts work faster. Same playbook here—build the tech that lets designers work faster (or skip Revit entirely). You're not replacing Paul's design judgment. You're amplifying it with AI. And Paul already knows "AutoCAD is dead"—he understands the modern BIM world you're disrupting.

Ready to Build?

The technical barriers are lower than you think. The market opportunity is massive. And you have the exact team composition that's needed. The question is: are you ready to start?