VALUETALLY counts how many times each distinct attribute value appears, and builds the result as an AutoCAD table.
What ValueTally does
Where TAGTOTAL adds numbers up, this counts occurrences — so it answers “how many of each type?” rather than “what do they come to?”. Point it at a drawing full of door blocks with a TYPE attribute and you get a door schedule: FD30 × 14, FD60 × 3, and so on.
Select the blocks, choose which tags to count from a filtered list, pick a point, and the table appears sorted alphabetically by value.
How to use it
- Load the routine with
APPLOAD, or put it on your support file search path. - Go to the space you want counted — only the current one is included.
- Type
VALUETALLY. - Select the blocks, then choose the tags from the filtered list.
- Pick a point for the table.
How it works
Presetting the tags skips the dialog entirely. ValueTally:Tags can be filled in, which is useful for a command you run repeatedly on the same kind of block.
Entries are case-insensitive and may use wildcards, so DOOR* matches DOOR_TYPE and DOOR_REF alike. Leave it empty to always be asked.
ValueTally:Title and ValueTally:Headings control the table’s appearance — set the headings to a single-element list to omit the heading row altogether, which is what you want when the table is being placed inside an existing schedule frame.
Notes and limits
- Only the current space is counted — model space when in model space, the active sheet when in paper space.
- It counts occurrences, not values. Use
TAGTOTALto add numbers up. - Preset the tags for a command you run often.
- Results are sorted alphabetically by value.
Download and details
| Name | ValueTally — count how often each distinct attribute value appears |
| Download | ValueTally.lsp — 18.3 KB, plain AutoLISP source. Downloads directly; no zip to unpack. |
| Type | AutoCAD AutoLISP routine |
| Command | VALUETALLY |
| Requires | the ActiveX layer (loaded automatically by the routine with vl-load-com); nothing extra — the dialog is written to a temporary file at run time and deleted again, so there is no .dcl to install. |
| Source size | 18.3 KB, 476 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
- TAGTOTAL LISP — totalling numeric attribute values rather than counting them
- STRINGTALLY LISP — counting text occurrences rather than attribute values
- STATETALLY LISP — counting dynamic blocks by visibility state
- More free AutoLISP routines on this site
- Wisey’s Steel Shapes — free structural steel section drawing program