Taking off floor finishes, you hatch each room and then need the total. An AutoCAD hatch area lisp does that in one command instead of clicking each patch and adding the figures by hand.
There is a trap that nearly doubles that figure, and no prompt warns you about it. This article names the trap first and gets to the file second. For the whole discipline of taking quantities off a drawing, the Institute runs an AutoCAD course for construction.
The hatch area property is trustworthy, and here is why
A hatch is not decoration drawn on top. It is an object carrying an Area property, and that figure is the real area of what was filled.
Three shapes built to known dimensions, then read back:
| Shape filled | Correct area | Reported |
|---|---|---|
| Rectangle 600 × 400 | 240,000 | 240,000 |
| Rectangle 500 × 300 | 150,000 | 150,000 |
| Circle, radius 200 | 125,663.706 | 125,663.706 |
| Rectangle 600 × 400 with a 100 × 100 hole | 230,000 | 230,000 |
The last row is the one that matters. A hatch with a hole in it reports 230,000, not 240,000 — the hole is already deducted. Autodesk calls enclosed regions inside a boundary islands, and states: "Enclosed areas or text objects inside hatch boundaries are treated as islands."
That is why a hatch beats measuring the outer boundary and subtracting by hand. Columns, risers and lift shafts sitting inside a slab come off automatically, with nobody having to remember them.
One caveat about hatch islands is worth knowing before you trust the figure. AutoCAD carries three island styles, chosen when the hatch is made rather than when you read it. The same rectangle with the same hole, hatched three times:
| Island style | Area reported |
|---|---|
| Normal | 230,000 — hole deducted |
| Outer | 230,000 — hole deducted |
| Ignore | 240,000 — hole not deducted |
Under Ignore the fill runs straight over the hole, so the hole counts as floor. Two of the three styles behave the way a quantity surveyor expects and one does not. Where a slab area looks suspiciously round, select the hatch, run HATCHEDIT, and check which style it carries.
The trap that doubles your total hatch area in autocad
This part is worth reading carefully, because it corrupts quantities rather than just a displayed number.
When you hatch an area, the boundary is still there. If that boundary is a closed polyline, it is also a shape with an area. A routine that sweeps the whole drawing adds both: the hatch and its own boundary.
The same drawing, holding exactly three hatches, gives two very different answers:
| How the selection is made | Shapes counted | Total |
|---|---|---|
| Sweep the whole drawing | 7 | 1.260 m² |
| Filter to hatches only | 3 | 0.620 m² |
Seven is three hatches plus four closed boundaries, the hole's boundary included. The figure 1.260 m² is not bad arithmetic; it answers a different question from the one you meant to ask.
The rule that follows is simple: to sum hatch areas for a finishes take-off, filter to hatches first and never sweep the drawing.
The Institute's file: six commands
APPLOAD, or take the whole set from our article on an AutoCAD LISP library.| Command | What it does |
|---|---|
TDT | Select objects and sum the area of closed shapes, hatches included |
TDTX | Sum every closed shape in the drawing, with no selection |
TDTP | Net covered area: overlaps counted once |
TDTPX | Net covered area for the whole drawing |
GDT | Select shapes and write the figure inside each one |
GDTX | Write the figure into every closed shape in the drawing |
For floor finishes, use TDT and select only the hatches. The quickest way: type QSELECT, set Object type to Hatch, accept, and the whole drawing narrows to hatches; then call TDT and press Enter.
The command prints four lines: what unit it believes the drawing uses, how many shapes it counted, how many it skipped as not closed, and the total. The count line is where you catch the trap — if it exceeds the number of hatches you know you have, you are adding boundaries too. That count line is the one feature to look for in an autocad hatch area lisp of any origin; without it you have a total and no way to tell whether it is the total you wanted.
Measuring area in autocad without any lisp at all
If you need the figure once, measuring area in autocad needs no external file.
Select one hatch and open Properties with Ctrl+1. The Area box shows its area. Select several and the box reads *VARIES*, but the line directly beneath it, Cumulative Area, has already added them up.
Three actions, with no foreign code running on your machine. That is enough for a few rooms.
The lisp wins on three counts: it adds shapes that are not hatches in the same pass, TDTP removes overlap, and GDT writes the figure onto the drawing so whoever reads the set can see it. Other ways of measuring — AREA, MEASUREGEOM, regions — are covered in our article on area in AutoCAD.
A downloaded area lisp: three things to read first
People often search by the exact filename somebody once sent them. Filenames differ everywhere, but the three things to check in a downloaded area lisp are always the same.
One — does it filter to hatches? A file calling ssget with no filter adds everything your window touches, and you land straight back in the double-counting trap.
Two — how does it handle overlaps? Two hatches lying on top of one another have the shared part counted twice, unless the file converts shapes to regions and unions them first. Hatches cannot become regions, so any file promising a "net" area for hatches deserves a small test before you trust it.
Three — what does it assume about units? A file dividing by 1,000,000 assumes the drawing is in millimetres. Draw in metres and the figure is out by a factor of a million.
A .lsp file is plain text, so all three answers are visible in Notepad. Ten minutes of reading is cheaper than one wrong schedule.
One hatch object can cover many rooms
There is a detail that makes counting hatches harder than it looks. Autodesk's page on working with hatches states: "By default, when you apply a hatch to multiple areas within one command, the result is a single hatch object."
Run HATCH once and pick eight rooms, and you get one object, not eight. Its Area is the total of all eight.
The practical consequence: counting hatch objects tells you nothing about the number of rooms. To split them for a schedule, use HATCHEDIT to separate, or hatch each room in its own command. If you only want the total for a take-off, having them joined is simply tidier.
Drawing units decide whether the figure reads in m² or mm²
Construction drawings in Vietnam are drawn in millimetres almost without exception, so a 30 m² slab has an area of 30,000,000 square units. Nobody can read that.
The Institute's command reads the INSUNITS variable to learn what the drawing declares, then converts. When the drawing declares nothing, it says on the prompt line that it is assuming millimetres, so you can check. This is exactly where a routine goes quietly wrong: a file that says nothing about units leaves you guessing what it just divided by.
To declare units, type UNITS and set Insertion scale to Millimeters.
Three things often repeated that are not true
| Often repeated | What was measured |
|---|---|
| A hatch area includes the holes in it | Holes are deducted: 600×400 with a 100×100 hole reports 230,000 |
| Sweeping the whole drawing is quicker | It adds the boundaries too; the example above doubles |
| Each hatched room is its own object | One command over many areas makes a single object |
Frequently asked questions
Which AutoCAD releases does this hatch area lisp run on?
It is standard AutoLISP with ActiveX, so any release with Visual LISP. This set is checked on AutoCAD 2027.
I selected everything and the total came out double. Why?
Because the closed boundaries of the hatches were added as well. Use QSELECT with Object type set to Hatch, then total again.
What happens when two hatches overlap?
The shared part is counted twice. For ordinary shapes TDTP removes the overlap, but hatches cannot become regions, so the command says so plainly rather than returning a wrong figure.
If I delete the boundary, does the hatch still have an area?
Yes. The area belongs to the hatch object itself. Deleting the boundary only breaks associativity.
How do I write the areas onto the drawing for someone else to read?
Use GDT, select the shapes, and the figure is written inside each one. GDTX does the whole drawing.
What unit does the figure come back in?
It converts to square metres and prints the unit with it. If the drawing has no INSUNITS set, the command says it is assuming millimetres.