Show HN: AutoLISP interpreter in Rust/WASM – a CAD workflow invented 33 yrs ago
31–40 of 47 posts
Re: Show HN: AutoLISP interpreter in Rust/WASM – a CAD workflow invented 33 yrs ago
#32In 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 kn…
From what I can remember, we made a spreadsheet template that captured the title block information and a list of bearings and distances with some optional columns for field notes, landmarks/monuments, elevations and other measurements, etc. and I wrote some AutoLISP code that would generate an overview drawing and a set of scale drawings for the route. It figured out the bounds for each segment based on the scale and drawing size and then drew the route like a turtle and added the various callouts and a consistent title block and legend. There was also some ability to draw details about the railroad/pipeline whose right of way was being used, but I don't remember exactly how it worked.
My mom (secretarially trained typist, self-taught Lotus/Excel wiz, former drafting assistant at an RBOC) would enter everything into the template and use it to generate basis drawings which they might then tweak and finalize by hand. It dramatically reduced the amount of time they spent creating drawings to the point they could usually finish the drawings for a week of surveying in a couple of hours. I like to think of it as my small contribution to the Internet.
I was in high school at the time and taught myself AutoLISP from some combination of in-app docs/help and mall bookstore fare. Now I desperately want to go dig through floppy disks at my parents' place to see if any remnants remain to look back at how younger me did everything. It was the first truly useful software that I ever wrote, and in hindsight, might've planted the brainworm that led me to Clojure decades later :)
Re: Show HN: AutoLISP interpreter in Rust/WASM – a CAD workflow invented 33 yrs ago
#33AutoLISP 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.
Still your most fluent - that says something about how the language shaped thinking. The neglect is real; Autodesk clearly wants everyone on .NET, but there's a lot of institutional knowledge and working code out there that just... works. Part of why I built this: preservation. If AutoLISP fades from AutoCAD entirely, at least the workflow can live on in the browser.
Re: Show HN: AutoLISP interpreter in Rust/WASM – a CAD workflow invented 33 yrs ago
#34In 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 kn…
In 1990 I went to work at Autodesk and got to work on all kinds of stuff over the next decade -- AutoLISP was the bridge that got me into tech as a profession over the geology field work I was doing. It's been a wild ride.
Re: Show HN: AutoLISP interpreter in Rust/WASM – a CAD workflow invented 33 yrs ago
#35In 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 kn…
In 1990 I used AutoLISP to setup a tool that the state legislature would use for redistricting after the census. The AutoLISP let them interactively assign counties to districts while seeing the voter numbers and then export it to a CSV file which was read into a database. They could also export from that database back into AutoCAD using AutoLISP.
Re: Show HN: AutoLISP interpreter in Rust/WASM – a CAD workflow invented 33 yrs ago
#36Re: Show HN: AutoLISP interpreter in Rust/WASM – a CAD workflow invented 33 yrs ago
#37Earlier quoted context omitted.
sure it does, but Lisp is special, and for those times it was very special. I did not want to show how it is done nowadays, but how we had done it 33 yrs ago... And now there is the emulator as the web-page, this is what i wanted to share (everything works as wasm in the browser)...
> but Lisp is special, and for those times it was very special. It was the only language available at the time suitable for embedding. Memory-safe, small interpreter, sane. Alternatives were Forth and TRAC, which would have been much worse. Pascal would have been better, but it was too hard to squeeze in. The program and data had to fit in 640K. The program was built as a tree of overlays and code was swapped in, so…
It was later used by a small computer graphics studio in Tennessee for a blue/green screen matting utility and a fast roto-paint program.
Re: Show HN: AutoLISP interpreter in Rust/WASM – a CAD workflow invented 33 yrs ago
#38In 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 kn…
If you look at a map of the fiber-optic network in the US, my parents spent most of the 90s surveying the portion along the Gulf coast from Texas to Florida and up the Atlantic coast to New England for Sprint, MCI, Level 3, and other companies that no longer exist and AutoLISP was used to generate most of their drawings. From what I can remember, we made a spreadsheet template that captured the title block informatio…
Re: Show HN: AutoLISP interpreter in Rust/WASM – a CAD workflow invented 33 yrs ago
#39In 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 kn…
Ah, AutoLisp, that brings back the memories. I can tell you that a good number of the design drawings for the higher floors in the Venetian resort in Las Vegas were assembled with AutoLisp scripts. The scripts I created grabbed components from other drawings that were already made to assemble a first pass set of drawings for floors that hadn't been fully designed yet, since the floors all had components of other floo…
Re: Show HN: AutoLISP interpreter in Rust/WASM – a CAD workflow invented 33 yrs ago
#40In 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 kn…
Nice project. In 1990 I used AutoLISP to setup a tool that the state legislature would use for redistricting after the census. The AutoLISP let them interactively assign counties to districts while seeing the voter numbers and then export it to a CSV file which was read into a database. They could also export from that database back into AutoCAD using AutoLISP.