• 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

BLOCKABSORB LISP: Add Objects Into an AutoCAD Block

August 3, 2026

Changing a block normally means opening the block editor, or exploding and redefining it. BLOCKABSORB lets you draw the addition exactly where you want it to appear, pick the block, and have the geometry absorbed into the definition — so it appears on every reference of that block throughout the drawing.

What BlockAbsorb does

Draw the new geometry in place, on top of an existing block reference, positioned the way it should look. Run the command, select those objects, then pick the block. The objects land in the definition in exactly the position they were drawn, relative to the reference you picked.

That is the whole appeal: you are working in the drawing, at the right scale and rotation, against the surrounding geometry — not in the block editor guessing at where things go relative to an origin you cannot see.

How to use it

  1. Load the routine with APPLOAD, or put it on your support file search path.
  2. Draw the new geometry where you want it to appear, over an existing reference of the target block.
  3. Type BLOCKABSORB.
  4. Select the objects to absorb.
  5. Pick the block reference to absorb them into.

How it works

The transformation is the whole problem. Geometry inside a block definition is stored relative to the block’s own origin, unrotated and unscaled. The objects you have just drawn are in world coordinates, positioned relative to a block reference that may be rotated, scaled and inserted anywhere.

So before they can be copied into the definition, they must be transformed by the inverse of the picked reference’s placement — undoing its rotation, its scale and its insertion offset. That reverse geometry matrix is what makes “draw it where you want it” work at all.

A block cannot contain itself, directly or through any chain of nesting. Before proceeding, the routine maps out which blocks reference which and refuses if the target block appears anywhere inside the selection, however deeply. Without that check the drawing would end up with a circular definition, which corrupts it — and the corruption would not be apparent until something tried to regenerate.

Notes and limits

  • Dynamic blocks are not supported. Their definitions are generated per reference and there is no single stable definition to add to. Checked at selection time.
  • Non-uniformly scaled references are not supported, because the inverse transformation would distort the added geometry. Also checked at selection time rather than failing part way through.
  • Circular references are refused. The target block cannot appear anywhere within the selection, at any depth.
  • Every reference changes. That is the point, but it means checking one is not enough — the addition appears everywhere the block is used.

Download and details

NameBlockAbsorb — add selected objects into an existing block definition
DownloadBlockAbsorb.lsp — 14.7 KB, plain AutoLISP source. Downloads directly; no zip to unpack.
TypeAutoCAD AutoLISP routine
CommandBLOCKABSORB
Requiresthe ActiveX layer (loaded automatically by the routine with vl-load-com).
Source size14.7 KB, 353 lines
Error handlingYes — a *error* handler restores every system variable it changed, on cancel as well as on error.
UndoThe whole operation is wrapped in a single undo group, so one U reverses all of it.
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

  • BLOCKPROMOTE LISP — the opposite job: pull a nested block out to the top level
  • UPDBLOCK LISP — change layer or colour inside block definitions
  • FixBlock LISP — reset block entities to layer 0
  • 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