The question in the title has a measurable answer, and the Institute asks students to measure before they enrol: keep a record of one week of drawing production and count the jobs you do over and over.
The usual result in the AutoCAD programming class: between four and ten hours a week spent on operations a written command finishes in seconds. This article shows you how to measure, compares the two routes of AutoLISP and VB.NET, gives examples of commands students have written, and is honest about how much programming you actually need.
Measure it: five repeated jobs in one week of production
Take an ordinary working week for someone producing drawings. Record every time you do the five jobs below and how long each takes. The last column is the average from students' own records, for people producing drawings six to eight hours a day.
| Repeated job | Done by hand | Times per week | Each time | Weekly total |
|---|---|---|---|---|
| 1. Bulk numbering and annotation: columns, piles, room names, sheet numbers | Typing each one, positioning each one | 3 to 5 | 20 to 40 min | 1 to 3 hours |
| 2. Taking quantities off the drawing: counting blocks, totalling lengths, areas by layer | Selecting, counting, measuring, then typing into Excel | 3 to 6 | 15 to 30 min | 1 to 2.5 hours |
| 3. Standardising incoming drawings: layers, styles, purging, renaming blocks | One command per object type | 2 to 4 | 20 to 30 min | 1 to 2 hours |
| 4. Parametric details: beams, piles, footings, stairs at changing sizes | Redrawing, or editing an old detail | 3 to 8 | 10 to 20 min | 0.5 to 2.5 hours |
| 5. Batch export and plotting: PDF per sheet, title blocks, data from Excel | Opening each sheet, editing, plotting | 1 to 3 | 30 to 60 min | 0.5 to 3 hours |
| Total | 4 to 13 hours |
If your total is under three hours, programming is not yet worth it and the skills in what advanced AutoCAD covers are enough.
From four hours upward, which is roughly a working day every week, automation pays for itself within a few months. The more people in the office use the same tool, the faster it pays back.
AutoLISP or VB.NET
AutoCAD offers two common routes, and which one suits you depends on your goal.
| AutoLISP | VB.NET or C# through the AutoCAD .NET API | |
|---|---|---|
| What it is | A scripting language built into AutoCAD for decades; written in a text file, loaded and run | Programming on .NET against Autodesk's libraries, compiled into a DLL loaded by the application |
| Learning it | Easy to start, unfamiliar syntax with many brackets but few concepts; thousands of shared routines exist to adapt | Needs basic programming grounding, and repays it with professional tooling and real debugging |
| Suits | Small commands, personal work, quick fixes, testing an idea | Tools shared across an office, with a user interface, large data sets, and links to Excel or a database |
| Performance | Fine for ordinary drawings, slow on tens of thousands of objects | Fast and stable |
| Sharing and upkeep | Easy to pass around, hard to protect, hard to maintain once long | Packaged properly, installed on many machines, version controlled |
| On AutoCAD LT | Partly supported in recent releases | Not available |
The advice: someone automating their own production work should start with AutoLISP, and will have a first command inside a week. Someone asked to build tools for a whole technical department should learn VB.NET or C#, because the tool will live for years and be used by many people.
The Institute's ten-session AutoCAD programming course takes the second route: an introduction to the AutoCAD .NET API, VB.NET fundamentals, working with graphical entities, selecting and editing objects, then building Form, Palette and Ribbon interfaces. Anyone who knows VB.NET moves on to the Revit API quickly, since it is the same .NET foundation.
Five commands students actually wrote
The five tools below were written by students during or just after the course, and are in real use at their offices.
Numbering piles on a grid. Select the pile circles on a foundation plan; the command sorts them by axis, writes the reference numbers to the office convention, and exports a coordinate table to Excel. Forty minutes for a 300-pile plan became ten seconds.
Totalling pipe length by layer and diameter. The command scans a services drawing, sums polyline lengths by layer, writes a table onto the drawing and exports to Excel. Half a day became one command. The estimating department later used the same tool as a cross-check, the work described in what quantity take-off is.
Standardising drawings received from partners. One command maps the partner's layers onto the office's layers from a table, changes text styles, deletes empty layers, purges, audits, and writes a report of everything it changed. Thirty minutes per file with things missed became twenty seconds with nothing missed.
Drawing a parametric beam detail. A dialog takes span, section, bar count and links; the command draws the section and the beam elevation to the office standard, with a bar schedule. Fifteen minutes per beam became one minute, with no deviation from the standard.
Batch PDF export with title blocks from Excel. The command reads the sheet list from Excel, fills the title blocks, and plots each layout to a correctly named PDF. A whole afternoon per issue became a few minutes.
What they have in common: each is a few hundred lines, solves exactly one problem, and was written by a civil engineer rather than a programmer. Their value is not in sophistication but in the fact that the author knew precisely which job was eating the time, an advantage a pure programmer does not have.
How much programming you actually need
With AutoLISP, almost none. Learn the syntax and a few dozen functions in a week, then keep learning by adapting existing routines to your own work. The limit appears when a tool needs an interface, large data handling, or distribution to many users.
With VB.NET or C#, three layers are needed.
- Programming fundamentals. Variables, conditions, loops, functions, lists, classes and objects. A few weeks of serious study, and the Institute's course sets aside a section for people arriving without this.
- The AutoCAD object model. Database, BlockTable, entities such as Line, Polyline, Circle, Text and BlockReference, then Transaction, SelectionSet, Layer and Layout. Engineers pick this up quickly because they already know these objects from the draughtsman's side.
- Tooling. Visual Studio, project structure, debugging, and packaging a DLL so it loads on someone else's machine.
What is not needed: a computer science degree, commercial software experience, or advanced algorithms. There are really only two conditions. First, you must already be fluent in AutoCAD, because automating something you cannot do by hand is not possible. Second, you need at least one specific repeated job to build your first tool around.
The advanced AutoCAD article has a ten-question self-test; scoring eight or more is the point at which programming starts to make sense.
On payback: with four to thirteen hours saved a week from the table above, a ten-session course plus a few weeks writing the first tool usually pays back within the first quarter. And unlike most software skills, the tool itself is an asset: when its author changes employer, the tool stays.
Frequently asked questions
Does AutoCAD programming need a special licence?
No. AutoLISP and the .NET API come with full AutoCAD, and the .NET libraries are a free download from Autodesk. AutoCAD LT is the exception, with limited .NET support.
Can I use LISP routines downloaded from the internet?
Yes, and reading them is a good way to learn. But understand a routine before running it on a real drawing, since stray routines can delete or alter objects unintentionally. Knowing basic LISP also lets you adapt them to your office standard.
Should I learn AutoCAD programming or the Revit API?
It depends on what you use daily. If the office still produces most documents in CAD, AutoCAD programming pays back faster; if it has moved to Revit, learn the Revit API. They share the .NET foundation, so the second one comes quickly after the first.
Will a written command break when AutoCAD is upgraded?
LISP almost never does. A .NET tool usually just needs recompiling against the new release, and rarely needs code changes. This is why an office should have someone responsible for maintaining its internal tools.
How long before someone with no programming background writes a first command?
About a week with AutoLISP. With VB.NET, a ten-session course is enough to produce a first tool that solves a real job, though a few more weeks of use are needed for fluency.