Headless CAD

Driving Vivado, Fusion, and EasyEDA Pro from outside the GUI

Three CAD tools, three ways in, and a catalogue of everything that turned out to be broken.

Headless CAD — driving three design tools from outside the GUI

Vivado, Fusion, and EasyEDA Pro are built for a human holding a mouse. This is the record of driving all three from an external process instead — no screen scraping, no clicking robots. Find the scripting mechanism the application already has inside it, and push code straight into that, so failures come back as failures.

Three methods, in rising order of difficulty

The part that is not in any documentation

Connecting is not the hard part. Catching the lies is. A function that returns true and does nothing. One that returns undefined and stays quiet. One whose promise never settles. A bounding box padded by 0.01 mm, so the enclosure never quite fits. Chapter 5 sorts every broken call I hit into four kinds by how it fails and how dangerous each kind is.

What this is not

Not a book about design. How to route a board or write timing constraints is not here — that is not my field. What I did was take the steps an expert performs by hand and translate them into something callable from outside. The design itself and the plumbing that drives the design tools are different skills.

Format

PDF (A5, 19,000 words, 8 chapters) and EPUB. Chapters 1 and 2 are free.


The Japanese edition is on Zenn: GUI しかない CAD を、エージェントに操作させる

A related free article: Automating EasyEDA Pro Externally Without Extensions (machine-translated by Zenn)