Software & CAM

What I learned from 45 years of CAD development: Doing more with less

What I learned from 45 years of CAD development: Doing more with less

Key Takeaways

  • Simplicity in hardware and code can outweigh raw processing power for CAD tasks.
  • Early CAD systems (e.g., HP‑85) relied on binary‑coded‑decimal (BCD) arithmetic, 5‑inch displays, and limited variable names, yet delivered reliable results.
  • Modern CAD development increasingly leans on AI‑assisted coding, but the core principle—do more with less—remains unchanged.
  • Budget‑conscious engineers can still build functional drawing tools without multi‑million‑dollar minicomputers.

From Light‑Table Drafting to a Self‑Made CAD Engine

In the early 1970s, John M. Christy ran JMC Engineering, a boutique firm that produced audio pre‑amps, PLL frequency counters, and hand‑drawn PCB artwork. Drafting was performed on a light table using acetate, drafting tape, and photographic reduction (4:1) to shrink both the drawing size and cumulative error.

At the 1975 Design Engineering Show in Chicago, Christy encountered a minicomputer‑based CAD system priced near US $500,000—far beyond his reach. The only affordable drawing capability he could find was a HP‑85 desktop computer, which he purchased for ≈ $1,200. Determined to have a machine that could at least draw a perfect circle, he taught himself BASIC and built the first version of CADD/85.

The HP‑85: A Study in “Less is More”

Spec HP‑85 (1975) Typical Minicomputer (1975)
CPU clock 613 kHz 2–4 MHz
Memory 16 KB RAM 64–256 KB RAM
Display 5‑inch CRT (80 × 48 characters) 12‑inch CRT (text/graphics)
Arithmetic BCD, 15‑digit precision Binary floating‑point
Variable naming 1‑letter or 1‑letter + digit (max 286 vars) Up to 8‑character identifiers
Price ≈ $1,200 ≈ $500,000

The HP‑85’s BCD engine produced mathematically exact results (15‑digit precision) but ran slowly. Its limited variable namespace forced Christy to write tightly scoped sub‑routines, encouraging modular design. The machine’s simplicity also meant fewer layers of abstraction—an advantage when debugging graphics routines that had to drive an HP plotter via serial commands.

Lessons Carried Forward Over 45 Years

1. Hardware Constraints Drive Elegant Software

When CPU cycles are scarce, code must be efficient. Christy’s early CADD/85 used integer arithmetic wherever possible, avoided unnecessary screen refreshes, and cached plotter commands in a 256‑byte buffer. The result was a responsive drawing experience despite sub‑megahertz processing.

2. Precision Over Speed for Engineering

BCD arithmetic eliminated rounding errors that plagued early floating‑point units. Modern CAD packages still prioritize exact geometry (e.g., 0.0001 mm tolerance) even as they exploit GPU acceleration for rendering.

3. Modular, Re‑usable Components

Limited variable space forced developers to encapsulate functionality. Today’s APIs and plug‑in architectures echo this discipline: each module should expose a narrow, well‑defined interface.

4. AI as a Productivity Layer, Not a Replacement

Christy now uses AI‑assisted code generation for routine scaffolding, but core algorithms—curve fitting, topology checks, and file I/O—remain handcrafted. AI speeds up iteration but does not absolve the need for deep domain knowledge.

Comparing Legacy and Modern CAD Development

Aspect 1970s–80s (CADD/85) 2020s (AI‑augmented CAD)
Development language HP BASIC (interpreter) Python, C++, Rust with AI code‑completion
UI framework Text‑mode menus, plotter output Qt/WinUI, real‑time 3D viewport
Rendering pipeline Plotter‑driven vector strokes GPU‑accelerated raster/mesh shaders
Team size Solo or 2‑person shop 5‑10 engineers + AI tools
Typical budget <$5,000 (hardware + tape) $50,000–$200,000 (workstations, licenses)
Time‑to‑first‑release 6–12 months 1–3 months (AI‑generated scaffolding)

Bottom Line

John M. Christy’s half‑century of CAD development proves that resourcefulness beats raw spending. Whether you’re programming on a 613 kHz HP‑85 or leveraging AI‑enhanced IDEs, the guiding principle stays the same: design lean, prioritize precision, and let constraints inspire elegant solutions. Modern engineers can achieve comparable—or superior—functionality with a fraction of the budget by embracing modular code, exact arithmetic, and judicious use of AI as a helper rather than a crutch.

Related Articles