Copying a field by copying its text gives you the number it happened to show at the time. FIELDGRAFT copies the field itself — pick a source object containing a field, then keep picking destinations, and each one receives the same live expression.
What FieldGraft does
Every destination is updated immediately, so they all display the live value and all keep tracking it.
It works with Text, MText, attributes, multileaders and dimensions — and the source and destination need not be the same type, so a field from an MText can be grafted straight into a dimension override.
How to use it
- Load the routine with
APPLOAD, or put it on your support file search path. - Type
FIELDGRAFT. - Pick the source object containing the field you want.
- Keep picking destinations. Each receives the field and updates straight away.
How it works
A field is not held in the object you can see, which is why this cannot be done by copying a string.
The visible object stores only a placeholder. The real expression lives in an ACAD_FIELD dictionary hanging off it — referring to other objects by an internal index that only makes sense within that one object’s data, and split across multiple DXF entries whenever it runs longer than 250 characters.
So the expression has to be reassembled from its fragments and every internal reference resolved into a real object ID before it can be written anywhere else. Copy the raw string without doing that and the destination shows ####, or — worse — resolves against the wrong object entirely and displays a plausible number that is measuring something else.
Notes and limits
- The source must actually contain a field. Plain text has nothing to graft.
- Source and destination types can differ. MText to dimension, attribute to multileader — all fine.
- Every destination tracks the same objects as the source. This copies the expression, it does not re-point it at something nearer.
- Fields update on regeneration, governed by
FIELDEVALandFIELDDISPLAY.
Download and details
| Name | FieldGraft — copy a field expression to other objects, keeping it live |
| Download | FieldGraft.lsp — 11.6 KB, plain AutoLISP source. Downloads directly; no zip to unpack. |
| Type | AutoCAD AutoLISP routine |
| Command | FIELDGRAFT |
| Requires | the ActiveX layer (loaded automatically by the routine with vl-load-com). |
| Source size | 11.6 KB, 288 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
- FIELDMATH LISP — build a live calculation from numbers already on the drawing
- FIELDSNOOP LISP — report the expression and formatting of an existing field
- AREASUM LISP — a live field totalling several areas
- More free AutoLISP routines on this site
- Wisey’s Steel Shapes — free structural steel section drawing program