AutoCAD – Drawings

How many hours a week does AutoCAD programming save? Measure before you learn

How many hours AutoCAD programming saves: a one-week measurement of five repeated jobs, AutoLISP versus VB.NET, five tools students wrote, and what to know.

  • Dr Do Quoc Hoang
  • 8 min read
Five tools written by students during and just after the course, timed at their own offices before and after the command existed Photo: Diagram by the Institute of Information Technology in Civil Engineering

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 jobDone by handTimes per weekEach timeWeekly total
1. Bulk numbering and annotation: columns, piles, room names, sheet numbersTyping each one, positioning each one3 to 520 to 40 min1 to 3 hours
2. Taking quantities off the drawing: counting blocks, totalling lengths, areas by layerSelecting, counting, measuring, then typing into Excel3 to 615 to 30 min1 to 2.5 hours
3. Standardising incoming drawings: layers, styles, purging, renaming blocksOne command per object type2 to 420 to 30 min1 to 2 hours
4. Parametric details: beams, piles, footings, stairs at changing sizesRedrawing, or editing an old detail3 to 810 to 20 min0.5 to 2.5 hours
5. Batch export and plotting: PDF per sheet, title blocks, data from ExcelOpening each sheet, editing, plotting1 to 330 to 60 min0.5 to 3 hours
Total4 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.

AutoLISPVB.NET or C# through the AutoCAD .NET API
What it isA scripting language built into AutoCAD for decades; written in a text file, loaded and runProgramming on .NET against Autodesk's libraries, compiled into a DLL loaded by the application
Learning itEasy to start, unfamiliar syntax with many brackets but few concepts; thousands of shared routines exist to adaptNeeds basic programming grounding, and repays it with professional tooling and real debugging
SuitsSmall commands, personal work, quick fixes, testing an ideaTools shared across an office, with a user interface, large data sets, and links to Excel or a database
PerformanceFine for ordinary drawings, slow on tens of thousands of objectsFast and stable
Sharing and upkeepEasy to pass around, hard to protect, hard to maintain once longPackaged properly, installed on many machines, version controlled
On AutoCAD LTPartly supported in recent releasesNot 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.

About the author

Dr Do Quoc Hoang — Deputy Director of the Institute of Information Technology in Civil Engineering – Hanoi University of Civil Engineering, and a specialist in software development for construction