• Skip to main content
  • Skip to primary sidebar
  • Skip to footer
blog.draftsperson.net

blog.draftsperson.net

the art of technical drawing

blog.draftsperson.net

NUMSTAMP LISP: Incremental Numbering With a Content Builder

August 3, 2026

NUMSTAMP places a sequence of numbered or lettered annotations by clicking, each one stepping on from the last. Grid references, door numbers, revision bubbles, setting-out points, drawing marks — anything that needs a run of labels that count.

What NumStamp does

The result can be single-line text, MText, or an attributed block, and can be automatically enclosed in a circle, rectangle, slot or polygon drawn to fit it.

The content builder is what makes this more than an auto-numberer. The label is assembled from components, each with its own rules, and the components are simply joined together to form the text.

Each component has five settings. Text is the starting value: A, 001, -, GRID-, anything. Increment is how much to add each time — a numeric component adds the number, an alphabetic one steps that many letters, and zero means the component never changes, which is how fixed prefixes and separators are made. Frequency is how often to increment. Reset to and reset every handle rolling back.

So a grid reference running A1 through A9, then B1 through B9, is three components: A incrementing every ninth label, - never incrementing, and 1 incrementing every time and resetting to 1 every 9.

How to use it

  1. Load the routine with APPLOAD, or put it on your support file search path.
  2. Type NUMSTAMP.
  3. Build the label from components, or load a saved configuration by name.
  4. Choose the object type and any border.
  5. Click to place each label — or press C to run along a curve, or place a whole run as an array between two points.

How it works

Leading zeros are preserved. A component starting at 001 counts 002, 003 … 010, keeping its width. Decimals keep their precision, taking whichever of the value or the increment has more decimal places.

Letters roll over like an odometer: Z becomes AA, AZ becomes BA, and lower case stays lower case throughout.

Three ways to place. By clicking, where live keys let you rotate, mirror, skip a number, or replace the text of something already in the drawing without leaving the command. Along a curve, where the label slides following the tangent with an adjustable offset and can be flipped to run perpendicular. Or as an array, placing a whole run at once between two points or along a spacing vector.

Clicking inside a table cell writes the label into the cell rather than drawing an object on top of it.

Borders are generated from the text’s actual measured extents, so they fit whatever the label turned out to be — either offset by a factor of the text height or at a fixed size. A polygon border can be rotated half a segment with B, which is the difference between a hexagon standing on a point and one standing on a flat.

Notes and limits

  • Object snap is unavailable in dynamic mode. The preview is a real object and the placement is driven by raw cursor tracking, so the two cannot both be on.
  • Zero increment makes a fixed component. That is how prefixes and separators are built.
  • Save the configuration by name. A project’s numbering scheme is set up once and recalled.
  • Everything persists between sessions, so the last scheme used is the one waiting for you.

Download and details

NameNumStamp — place incrementally numbered annotation
DownloadNumStamp.lsp — 168.9 KB, plain AutoLISP source. Downloads directly; no zip to unpack.
TypeAutoCAD AutoLISP routine
CommandNUMSTAMP
Requiresthe 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 size168.9 KB, 3,427 lines
Error handlingYes — a *error* handler restores every system variable it changed, on cancel as well as on error.
UndoNot needed — this routine only reads the drawing and changes nothing.
CompatibilityAutoCAD (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.
AuthorYZ, August 2026
LicenceFree to use, supplied “as is” with no warranty.

References

  • COUNTARRAY LISP — array existing objects while incrementing their numbers
  • AUTOTAG LISP — numbering that maintains itself as blocks are added and erased
  • Grid systems on drawings — the setout and naming conventions grid refs follow
  • More free AutoLISP routines on this site
  • Wisey’s Steel Shapes — free structural steel section drawing program

Filed Under: AutoLISP Routines

Primary Sidebar

Subscribe to our Youtube Channel

Post CAD drafting jobs on Freelancer.com. and get some free money to do this.

Categories

  • American Steel Industry (4)
  • AutoCAD Articles & Reference (30)
  • AutoCAD Bugs & Problems (19)
  • AutoCAD Tips (29)
  • AutoCAD Tutorials (54)
  • AutoLISP Routines (328)
  • AutoLISP Tutorials (15)
  • CAD Standards (7)
  • Civil 3D (7)
  • Civil Drafting (4)
  • Dimensions (2)
  • Drafting Funnies (71)
  • Drafting History (9)
  • Drafting Standards (84)
  • Electrical Drafting (2)
  • General IT reference (7)
  • Geometry (15)
  • GIS (2)
  • Hatch Patterns (12)
  • Office Life Hacks (3)
  • PT (1)
  • Revit Tutorials (54)
  • Steel Detailing (14)
  • Structural Drafting (26)
  • Technical Dictionary (61)
  • Useful Website Links (19)

Footer

Free downloads

  • Free AutoLISP routines
  • Free hatch patterns
  • SHX fonts & text styles
  • Numbering LISP collection
  • ISO 3098B font

Reference charts

  • AWS weld symbols chart
  • Steel detailing chart
  • Hole & slot sizes
  • Bolt edge distance
  • ANSI & ARCH paper sizes
  • How to fold an A1 drawing

Useful links

  • CAD blocks (DWG)
  • Revit families
  • structuraldrafter.com
  • cad-corner.com
  • About
  • Privacy policy

Provided for free with no warranty · Log in