Numbering rooms and then typing their areas into a schedule is the kind of transcription job that is slow and quietly error-prone. AREATABLE numbers the areas as you click them and builds the schedule at the same time — a numbered plan and a matching table, with nothing typed twice.
What AreaSchedule does
Click inside a room and it is labelled 1, with its area added to the schedule. Click the next and it is 2. Keep going until the plan is done, then place the table.
Two commands share the engine. AREATABLE builds the schedule as an AutoCAD table inside the drawing. AREAFILE writes it out to a TXT, CSV or XLS file and opens it automatically — the one to use when the numbers are going into a report or a spreadsheet rather than onto the sheet.
There are two ways to identify an area. Pick lets you click inside an enclosed region and traces the boundary for you, exactly as the BOUNDARY command would; the traced boundary is temporary and removed afterwards. Object selects an existing closed object directly. You switch between them at the prompt, and the choice is remembered between sessions.
Undo removes the last entry, its label and its table row together, so a misplaced click costs one click to fix rather than leaving an orphaned label or a stray row.
How to use it
- Load the routine with
APPLOAD, or put it on your support file search path. - Type
AREATABLEto build the schedule in the drawing, orAREAFILEto write it to a file. - Choose Pick or Object at the prompt.
- Click inside each area in turn, or select each closed object. Each one is labelled with the next number and added to the schedule.
- Press Enter when done, then pick a point for the table.
- To continue an existing schedule, press Enter instead of picking a point and select the table you want to add to.
How it works
Labels sit at the true centroid, not the centre of the bounding box. The routine creates a temporary region from the boundary and reads its centroid. On a rectangular room the two are the same and it makes no difference. On an L-shaped room the difference is the difference between a label inside the room and one floating in the corridor outside it — which is exactly the case where a bounding-box centre embarrasses you.
The table can be live. With AreaSchedule:UseFields set, the number column references the label text and the area column references the object itself. Renumber a label or stretch a boundary and the table updates on its own. Areas identified by picking get a static figure instead, because the traced boundary they were measured from does not survive the operation — there is nothing left for a field to point at.
Schedules can be built up over several sessions. Pressing Enter rather than picking a point asks you to select an existing table to continue into, so a large plan does not have to be finished in one sitting.
The settings block at the top of the file controls the column headings, any prefix or suffix on the numbers, and the area conversion factor. That last one matters on metric work: set it to 1e-6 to schedule a drawing in millimetres and get the result in square metres.
Notes and limits
- Picked areas cannot use live fields. Their traced boundary is temporary, so the figure is static. Use Object mode on real closed objects if you want the schedule to keep itself up to date.
- Pick mode needs a genuinely enclosed region, the same as
BOUNDARY. A gap in the wall lines and the trace escapes into the rest of the drawing. - Set the conversion factor before you start. A millimetre drawing scheduled without it reports square millimetres, which is technically correct and never what anyone wanted.
AREAFILEwriting to XLS requires Excel to be installed. TXT and CSV do not.
Download and details
| Name | AreaSchedule — number areas on the drawing and schedule them |
| Download | AreaSchedule.lsp — 31.3 KB, plain AutoLISP source. Downloads directly; no zip to unpack. |
| Type | AutoCAD AutoLISP routine |
| Commands | AREAFILE, AREATABLE |
| Requires | the ActiveX layer (loaded automatically by the routine with vl-load-com). |
| Source size | 31.3 KB, 654 lines |
| Error handling | Yes — a *error* handler restores every system variable it changed, on cancel as well as on error. |
| Undo | The whole operation is wrapped in a single undo group, so one U reverses all of it. |
| Compatibility | AutoCAD (any release with AutoLISP), BricsCAD, ZWCAD, GstarCAD, ProgeCAD and other IntelliCAD-based platforms. AutoCAD LT needs a LISP enabler. No .NET, no ObjectARX, no installer. |
| Author | YZ, August 2026 |
| Licence | Free to use, supplied “as is” with no warranty. |
References
- AREASUM LISP — a live field totalling several areas, without the schedule
- AREATOTAG LISP — push an area into a block attribute as a live field
- More free AutoLISP routines on this site
- Wisey’s Steel Shapes — free structural steel section drawing program