AUTOCAD • ANNOTATION AND DOCUMENTATION

Annotative Properties — Use annotative properties for text/dimensions/leaders/hatches (conceptual + intro)

Scale-independent annotations that automatically resize across viewports, eliminating tedious manual duplication in technical drawings.

Historical Context & Motivation

Long before CAD software existed, draftspeople working at physical drawing boards faced a straightforward reality: each drawing sheet had a single fixed scale, and all text, dimensions, and hatch patterns were hand-drawn at sizes legible on that particular sheet. The transition to digital drafting with early AutoCAD versions in the 1980s preserved this one-drawing-one-scale paradigm, but it also introduced a new problem—model space geometry lived at real-world units, while annotations needed to appear at readable sizes on printed paper. Drafters quickly discovered that a dimension style sized correctly at 1:50 became microscopic when the same model was plotted at 1:200, forcing them to maintain duplicate annotation layers or manually rescale text heights for every viewport.

For roughly two decades, AutoCAD users relied on workarounds: calculating LTSCALE factors, duplicating annotation objects at different sizes, and managing exploding layer counts to handle multi-scale layouts. These manual approaches were error-prone and violated a principle dear to computer scientists—Don't Repeat Yourself (DRY). A single annotation should be authored once and rendered correctly everywhere, regardless of viewport scale. This need eventually drove the development of AutoCAD's annotative scaling system.

1982
AutoCAD 1.0 Released
Autodesk ships AutoCAD 1.0, establishing the model-space/paper-space dichotomy. Annotations are manually sized for a single plot scale.
1990
Paper Space & Viewports
AutoCAD R11 matures Paper Space (Layouts), letting users create multiple floating viewports. Multi-scale documents become feasible—but annotation scaling remains fully manual.
2000
Dimension Styles & DIMSCALE
Dimension styles and the DIMSCALE variable help centralize some scaling logic, but users still create separate style variants for each viewport scale—a combinatorial explosion of configurations.
2008
Annotative Scaling Introduced
AutoCAD 2008 introduces the Annotative property for text, dimensions, leaders, hatches, blocks, and attributes. A single object now stores multiple scale representations and automatically displays the correct one per viewport.
2015–Present
Mature Annotative Workflows
Continued refinements streamline annotative object management, contextual scaling in BIM-adjacent workflows, and improved compatibility with DWG-based collaboration platforms.

The central question annotative properties answer is deceptively simple: how can a single annotation object in model space render at the correct legible size across every viewport scale on a layout? Understanding the answer requires grasping the relationship between model-space units, paper-space units, and viewport scale factors—concepts we will formalize in the sections ahead.

Core Principles & Definitions

At its foundation, the annotative property system in AutoCAD separates the semantic intent of an annotation—its content and placement—from its scale-dependent representation. Think of it as a form of polymorphism applied to drawing objects: the same annotation entity exposes different visual instances depending on the context (viewport scale) in which it is rendered. Before diving into workflow specifics, it is essential to internalize several foundational concepts.

1

Annotative Property Flag

A Boolean attribute on text styles, dimension styles, leader styles, hatch patterns, and block definitions. When set to Yes, AutoCAD treats the object as scale-aware and manages its display size automatically.
2

Annotation Scale

A named ratio (e.g., 1:50, 1:100) assigned to a viewport or to model space. It tells AutoCAD how model-space units map to paper-space units. Each annotative object stores which scales it supports.
3

Scale Representations

Internal data copies that store position, size, and orientation for each assigned annotation scale. A single text object may carry representations for 1:50, 1:100, and 1:200 simultaneously—each with potentially different positions to avoid clashes.
4

Paper Height vs. Model Height

Annotative text is authored at its desired paper height (e.g., 2.5 mm). AutoCAD internally multiplies this by the inverse of the viewport scale factor to compute the model-space height, so the text plots at the intended paper size.
5

CANNOSCALE System Variable

The current annotation scale for the active viewport or model space. When you switch viewports, CANNOSCALE updates automatically, controlling which scale representation of each annotative object is displayed.
KEY TAKEAWAY
Think of an annotative object like a responsive web component. A CSS media query adjusts a component's layout depending on the browser viewport width; similarly, an annotation scale adjusts an annotation's display size depending on the AutoCAD viewport's scale factor. In both cases, you author content once and let the system handle the presentation layer—a principle of separation of concerns that should feel natural to any software engineer.

Visual Explanation — How Annotative Scaling Works

The diagram below illustrates the fundamental workflow. A single annotative text object is defined in model space with a paper height of 3 mm. Two layout viewports display the same model region at different scales—1:50 and 1:100. AutoCAD automatically computes the model-space height for each scale representation so that the plotted result on paper is always 3 mm tall, regardless of the viewport's zoom level.

A single annotative text object in model space with a paper height of 3 mm is displayed in two viewports. Viewport A at 1:50 inflates the model-space height to 150 units; Viewport B at 1:100 inflates it to 300 units. Both plot at exactly 3 mm on the printed sheet.

Observe the key invariant maintained by the system: the product of the paper height and the viewport scale denominator equals the model-space height. This means the plotted size is constant regardless of which viewport the annotation appears in. AutoCAD hides scale representations that do not match the active viewport's annotation scale, so at any given moment, only the appropriate version of each annotative object is visible. This visibility management is analogous to conditional rendering in a UI framework—the data exists for all states, but the view layer displays only the relevant subset.

How Annotative Scaling Computes Display Size

While annotative properties are not mathematically complex, understanding the underlying arithmetic clarifies why the system works and helps diagnose common issues such as text appearing too large or too small. The critical relationship involves three quantities: the desired paper height (hpaper), the viewport scale factor (S), and the resulting model-space height (hmodel).

MODEL-SPACE HEIGHT
h_model = h_paper × (1 / S)
Where h_paper is the text height you want on the printed sheet, and S is the viewport scale expressed as a decimal (e.g., 1:50 → S = 0.02). The inverse 1/S is the scale denominator.
SCALE FACTOR AS FRACTION
S = paper_units / model_units → 1:100 means S = 1/100 = 0.01
A viewport scale of 1:100 means 1 paper-space unit represents 100 model-space units. Equivalently, model objects are shrunk by a factor of 100 when projected onto the layout sheet.
HATCH PATTERN SCALE
PatternScale_model = PatternScale_paper × (1 / S)
Annotative hatches follow the same inverse-scale multiplication. A hatch with a paper-space pattern scale of 1.0 at a 1:50 viewport becomes a model-space pattern scale of 50.0.

This arithmetic is entirely encapsulated by the annotative property system—users never manually compute hmodel. Instead, they specify hpaper once during style definition, and AutoCAD evaluates the formula for every assigned annotation scale. From a software engineering perspective, this is declarative specification over imperative computation: you declare the desired output size, and the system derives the necessary internal values at render time.

📐 Dimension & Leader Scaling
Dimension and leader objects contain multiple sub-components—text, arrows, extension lines—that each scale independently. The annotative property applies the same 1/S factor to all sub-component sizes simultaneously, preserving the relative proportions defined in the dimension style. This is akin to applying a uniform CSS transform: scale() to an entire component tree.

Annotative Object Types — Detailed Breakdown

AutoCAD supports annotative behavior on several object categories, each with slightly different configuration paths. The following diagram maps the four primary annotative object types to their style definitions and the properties affected by the annotative flag. Understanding which properties are scale-managed versus fixed is critical when troubleshooting unexpected display behavior.

The four primary annotative object types—Text, Dimensions, Leaders, and Hatches—each derive their annotative behavior from a style definition or object property. All share common scaling behavior governed by CANNOSCALE, ANNOAUTOSCALE, and ANNOALLVISIBLE.
Configuration paths and default sizes for each annotative object type
Object TypeStyle / Property PathScale-Managed PropertiesTypical Paper Size
Text (MTEXT / DTEXT)STYLE → Annotative = YesHeight, position, rotation2.5–3.5 mm
DimensionsDIMSTYLE → Fit tab → AnnotativeText height, arrow size, extension line offsets, gap2.5 mm text, 2.5 mm arrows
MultileadersMLEADERSTYLE → Annotative = YesText height, arrowhead size, landing gap, landing distance2.5 mm text, 3 mm arrows
HatchesProperties palette → Annotative = YesPattern scale, spacingVaries by pattern

Worked Example — Setting Up Annotative Text for a Multi-Scale Layout

Consider a common scenario: you are preparing a floor plan drawing that must appear on the same layout sheet at two different scales—1:50 for a detailed view and 1:100 for an overview. Room labels should appear at 3 mm on the printed sheet in both viewports. We will walk through the complete annotative text setup.

Multi-Scale Annotative Text Setup
1
Step 1 — Create an Annotative Text StyleOpen the STYLE dialog (Format → Text Style or type STYLE at the command line). Create a new style named A-RoomLabel. Set the font to Arial. Check the Annotative checkbox. Set the Paper Text Height to 3.0 (this is the desired plotted height, not a model-space value). Click Apply and Close.
Style A-RoomLabel created with Annotative = Yes, Paper Height = 3.0 mm
2
Step 2 — Set the Current Annotation Scale in Model SpaceAt the bottom of the AutoCAD window (status bar), click the Annotation Scale widget and set it to 1:50. This sets the system variable CANNOSCALE to 1:50. Now when you place annotative objects, AutoCAD creates their first scale representation at 1:50, and the text will appear in model space at a height of 3 × 50 = 150 model units.
CANNOSCALE = 1:50 → model-space display height = 150 units
3
Step 3 — Place the Annotative TextUse MTEXT to place room labels such as "LIVING ROOM" and "KITCHEN" at their correct locations in the floor plan. Because the current text style A-RoomLabel is annotative, the text objects are automatically tagged as annotative. The triangular annotative icon appears next to each text object's grip.
Annotative MTEXT objects placed; each carries a 1:50 scale representation
4
Step 4 — Add the Second Scale RepresentationSelect all room label objects. Right-click → Annotative Object Scale → Add/Delete Scales. Add 1:100 to the list. Alternatively, enable ANNOAUTOSCALE = 4 before creating objects so that every new annotation automatically receives the scale of whatever viewport it becomes visible in. After adding the scale, each text object now stores two representations: one at model height 150 and one at model height 300.
Each label now has scale reps for 1:50 (h=150) and 1:100 (h=300)
5
Step 5 — Configure Layout ViewportsSwitch to a Layout tab and create two viewports. Set Viewport A's scale to 1:50 and Viewport B's scale to 1:100 via the viewport scale dropdown. AutoCAD automatically sets each viewport's annotation scale to match. Inside Viewport A, only the 1:50 representations are visible; inside Viewport B, only the 1:100 representations appear. Both viewports will produce 3 mm text when the sheet is plotted.
Both viewports display correctly sized room labels from a single set of annotative text objects — 3 mm on the printed sheet.
💡 Pro Tip: Position Adjustment
After adding a second scale representation, the text position may overlap with geometry differently at the new scale. You can independently adjust the position of each scale representation by switching CANNOSCALE to the target scale and then moving the text grip. The position change only affects the active scale representation—other representations remain unchanged. This per-scale positioning is stored inside the annotative object's internal data structure.

Annotative vs. Non-Annotative — Strengths & Limitations

Annotative properties are powerful but not universally superior to manual scaling approaches. Like any abstraction layer, they introduce trade-offs that are worth evaluating in context. The table below compares the annotative workflow with the traditional manual-scaling approach across several dimensions relevant to professional CAD work.

Annotative vs. Manual Scaling Workflows
CriterionAnnotative WorkflowManual Scaling Workflow
Setup ComplexityModerate — requires annotative styles, scale lists, and understanding of CANNOSCALELow — directly set model-space text height via DIMSCALE or manual calculation
Multi-Scale MaintenanceExcellent — single object serves all viewport scalesPoor — duplicate objects or layers needed for each scale
File Size ImpactSlightly larger — each scale representation adds internal dataLarger with duplicates; smaller if only one scale is used
InteroperabilityFull DWG support; some third-party viewers may not render scale reps correctlyUniversal — no special viewer support needed
Learning CurveSteeper — abstract concepts like scale representations and ANNOAUTOSCALEFlatter — intuitive direct manipulation
Error ResilienceHigh — system enforces consistent sizingLow — human calculation errors are common
⚖️ WHEN TO USE ANNOTATIVE PROPERTIES
Use annotative properties whenever a drawing will be displayed or plotted at two or more scales on layouts. For single-scale drawings with simple layouts, the overhead of annotative configuration may not be justified. Think of it like choosing between a static website and a responsive framework: if you only target one screen size, the framework's complexity is unnecessary, but the moment you must support multiple screens, the abstraction pays for itself many times over.

Connection to Advanced Annotation Workflows

Annotative properties form the conceptual foundation for more advanced documentation strategies in AutoCAD and adjacent Autodesk products. As projects grow in complexity—large-scale architectural drawings, civil engineering site plans, or mechanical assemblies with detail views—several related features build upon the annotative paradigm. Understanding where basic annotative properties end and these advanced workflows begin helps you plan a scalable documentation strategy.

Basic Annotative Properties vs. Advanced Workflows
FeatureBasic Annotative PropertiesAdvanced / Related Workflow
Scale ManagementManual addition of scales via right-click or OBJECTSCALEANNOAUTOSCALE automatically adds/removes scales as viewports change; batch-manage with SCALELISTEDIT
PositioningPer-scale position manually adjusted in model spaceAnnotative blocks with attribute positions locked per-scale; alignment constraints
BIM IntegrationPure DWG annotation; no parametric linksRevit annotations auto-scale natively; AutoCAD annotative objects used in linked DWG references within Revit projects
AutomationInteractive creation via command line or ribbonAutoLISP or .NET API programmatically sets annotative properties, assigns scale lists, and batch-processes annotation objects
Standards EnforcementUser manually ensures correct styles are annotativeCAD Standards (DWS) files enforce annotative style compliance; Layer Translator maps non-annotative objects

For computer science students interested in extending AutoCAD programmatically, the annotative API surface is particularly interesting. Every annotative object in the DWG database exposes an AnnotativeStates collection that can be queried and modified via ObjectARX (C++) or the managed .NET API (C#). Scale representations are stored as ObjectContext instances within a context collection manager—essentially a dictionary keyed by scale name. This architecture follows an observable pattern where changes to a viewport's annotation scale trigger a notification cascade that updates visibility for all annotative entities on the affected layers.

🔭 Looking Ahead
Future lessons in this series will cover creating custom annotative blocks with attributes, writing AutoLISP routines to batch-assign annotation scales, and integrating annotative DWG references into Revit documentation workflows. Mastering the foundational concepts in this lesson—scale representations, CANNOSCALE, and the per-object scale list—is prerequisite for all of these advanced topics.

Practice Problems

PROBLEM 1CONCEPTUAL
A colleague creates an MTEXT object using a standard (non-annotative) text style and places it in model space. She then sets up two layout viewports at 1:50 and 1:200. She notices the text appears readable in the 1:50 viewport but is far too small in the 1:200 viewport. Explain, in terms of the model-space height and viewport scale factor, why this occurs and how making the text style annotative would solve the problem.
PROBLEM 2BASIC CALCULATION
An annotative dimension style specifies a paper text height of 2.5 mm and an arrowhead size of 2.5 mm. Calculate the model-space text height and arrowhead size that AutoCAD will use for a viewport set to 1:75.
PROBLEM 3INTERMEDIATE
You have a drawing with annotative text labels that currently support scales 1:50 and 1:100. A project manager asks you to add a new layout viewport at 1:200. Describe the complete sequence of steps to ensure the existing annotative text appears correctly in the new viewport. Consider both the manual approach and the ANNOAUTOSCALE approach, and explain which system variable controls automatic behavior.
PROBLEM 4APPLIED
You are developing a Python script using the AutoCAD COM API to audit a large DWG file containing 4,000 annotative text objects. The script must identify objects that have accumulated more than five scale representations (a common source of file bloat). Outline the algorithm and explain which object properties you would query. How would you remove orphaned scales—those assigned to the object but not used by any viewport in the drawing?
PROBLEM 5CRITICAL THINKING
The annotative property system stores multiple scale representations inside a single database entity. An alternative architectural approach would be to store annotations only at paper height and have the viewport perform real-time scaling at display time, similar to how a GPU applies a model-view-projection matrix. Analyze the trade-offs of this alternative design. Why do you think Autodesk chose the stored-representation model instead? Consider implications for independent per-scale positioning, memory vs. computation trade-offs, and backward compatibility with the DWG format.

Lesson Summary

Annotative properties solve the fundamental challenge of maintaining legible, consistently sized annotations across multiple viewport scales in AutoCAD. By setting the Annotative flag on text styles, dimension styles, multileader styles, and hatch objects, users author annotations at a desired paper height and let AutoCAD compute the appropriate model-space size for each viewport using the formula hmodel = hpaper × (1/S). Each annotative object stores scale representations—internal data copies with per-scale position, size, and orientation—and displays only the representation matching the active viewport's CANNOSCALE.

The key system variables governing annotative behavior are CANNOSCALE (current annotation scale), ANNOAUTOSCALE (automatic scale addition), and ANNOALLVISIBLE (visibility of non-matching representations). This system embodies a principle of declarative design—you specify the output constraint (paper size), and the software derives the implementation details (model-space size) at render time. Mastering annotative properties is essential for efficient multi-scale documentation and serves as the foundation for advanced workflows including annotative blocks, API-driven annotation management, and cross-platform BIM documentation.

Varsity Tutors • AutoCAD • Annotative Properties — Use annotative properties for text/dimensions/leaders/hatches (conceptual + intro)