14 comments

[ 26.7 ms ] story [ 899 ms ] thread
In the early 90s I wrote AutoLISP code for AutoCAD 9/10 that enabled a CSV → template → parametric drawing workflow. You could define components in spreadsheets, feed them through templates, and generate complete technical drawings automatically.

I've never seen anyone else use this approach. Now I've built an interpreter in Rust/WASM so it can run in the browser - partly nostalgia, partly preservation before this knowledge disappears entirely.

The lisp/ folder contains some LSP files from that era, others i recreated from memory.

Repo: https://github.com/holg/acadlisp/

What kind of drawings were you generating? Electrical schematics, mechanical parts, architecture? We also have some playground, to toy around with LISP and some function generator, to demonstrate Lisp usage for math...

I had to accomplish pretty much the same exact task circa 1999, but in Aldus Pagemaker using Postscript.

My first job out of college was a 6 month contact at a fairly small industrial control manufacturer that had been purchased by a larger conglomerate. All of their engineering documentation needed to be converted to the new company’s format.

The old company had devised a scheme whereby a wire harness could be completely described by the part number, which encoded the wire size, color, length, and termination. The new company wanted a detail drawing for each wire, with thousands in the database.

I made a library of reusable glyphs that could be stored in Pagemaker layers, and connected with postscript generated lines, and a script to iterate through the part number database and generate drawings.

Super interesting. Thanks. AutoLisp was both a pain and underrated. But, it was perfect for this sort of stuff. Much easier than generating the dxf files directly, say using postscript ;-). I love the modern recreations and UI.
This website is a mess on mobile. Cool concept though!
I fixed what is fixable for this purpose, and thx it helped to have it overall better!

   My brother's electrical company needed hundreds of Schaltpläne (circuit diagrams).
   Drawing each by hand = 5 hours per plan
   100 drawings = 500 hours = 12 weeks
   Professional CAD work? Unbezahlbar (unaffordable).

   The secret weapon: AutoLISP
   A programming language built into AutoCAD

   The Result: 99.5% time saved
   100 drawings: 12 weeks → <1 hour
This is a general pattern of how automation (including the recent wave of gen-AI) reshapes the labor landscape. Automation rarely replaces jobs wholesale (i.e. very few people get fired because their position was "outsourced" to automation). Rather, automation lets people who are proficient in Domain A who need some work done in Domain B become proficient enough in Domain B with sufficient ease that it's cheaper for them to pick up the requisite Domain B skills themselves versus hiring a Domain B specialist.
AutoLISP is still my most fluent language, pleasantly surprised to see anything in it on HN. There's something fun about its idiosyncrasies, but I am genuinely so glad for modern IDEs, linters, tooling in just about every other environment. AutoCAD has severely neglected it, despite some large businesses built exclusively upon it.
AutoLISP programming is the only LISP programming I’ve ever done. Memories.
Ah, Autolisp. Based on an early, early version of XLisp, it's zombie software: not quite alive—Autodesk really wants you to use its COM and .NET integration to program AutoCAD—nor can it truly die. It was also the first Lisp I ever programmed, and back in the mid-90s there was a trend of putting a Lisp, or Tcl, into all the things (Emacs, GIMP, frickin' Abuse...) and Autolisp had prepared me for that world rather well.
That mid-90s trend of embedding Lisp/Tcl everywhere was special. Everyone understood: give users a real language, not just config files. Emacs, GIMP, Abuse, AutoCAD - all bet on "let users program it." Now we have YAML and JSON configs. Progress? Part of why I built this: if AutoLISP becomes truly undead inside AutoCAD, at least the workflow and playground can live on independently in the browser.
Huge thanks to everyone in this thread — the stories, pointers, and critique were genuinely useful (and motivating). Quick update: we pushed a big round of UI fixes and the site is now properly usable on mobile. Also, I compiled Betz’s original XLISP (C) to WASM and hooked it up as a side-by-side benchmark, and the first external PR just landed: KiCad export is now in (symbols + footprints), so the same template workflow can emit .kicad_sym / .kicad_mod. Really grateful for the help here.