Historical Context & Motivation
Before CAD systems introduced automated property transfer, drafters working with pen and ink had to meticulously replicate line weights, patterns, and colors by hand whenever they wanted visual consistency between drawing elements. This manual process was not only tedious but also error-prone: a single mismatched line type or color assignment could cascade into confusion during construction or fabrication. As computer-aided design matured through the 1980s and 1990s, software developers recognized that property inheritance — the ability to copy formatting attributes from one object and apply them to another — was essential to productive, standards-compliant drafting workflows.
Autodesk's response was the Match Properties command (MATCHPROP), introduced in AutoCAD Release 14. Conceptually analogous to the Format Painter in word processors or the CSS cascade in web development, Match Properties allows a user to designate a source object and then paint its properties onto one or more destination objects. The command has since evolved to cover an expanding set of properties, reflecting AutoCAD's growing complexity.
Understanding Match Properties matters beyond mere convenience. In large-scale projects — infrastructure, architecture, or IC layout — maintaining property consistency is a data integrity concern. When hundreds of objects must share the same linetype or color-coded layer assignment, manual reassignment invites human error. Match Properties operationalizes a principle familiar to computer scientists: define once, replicate programmatically.
Core Principles & Definitions
The Match Properties command rests on a conceptual model that separates an object's geometry (its shape, size, and position) from its properties (visual and organizational metadata such as color, layer, and linetype). This separation is analogous to the distinction between structure and presentation in HTML/CSS: changing a div's stylesheet class does not alter its DOM position or content. Similarly, MATCHPROP transfers presentation attributes without modifying an object's geometric definition.
Source Object
Destination Object(s)
Property Categories
Settings Filter
S during MATCHPROP) provides granular control over which properties transfer. This functions like a bitmask: each property is a flag that can be set or cleared before painting.ByLayer vs. Explicit
Visual Explanation
As shown in the diagram, Match Properties performs a targeted overwrite of an object's metadata without any side effects on its spatial definition. The source object's dashed linetype, cyan color index, UTILITIES layer assignment, and 0.50 mm lineweight are transferred wholesale to the destination. Notice that this operation is idempotent — applying MATCHPROP from the same source to the same destination a second time produces no additional changes, a property that computer scientists will recognize from functional programming and REST API design. This idempotency means you can safely re-apply the command without fear of compounding errors.
How Match Properties Works Internally
Under the hood, AutoCAD represents every drawing entity as a record in its drawing database (DWG file format). Each entity record contains a header with general properties and entity-specific data. When MATCHPROP executes, the software performs a field-by-field copy from the source entity's header into the destination entity's header. Understanding this mechanism clarifies why some properties transfer universally while others are type-dependent.
Entity Property Model
Every AutoCAD entity can be modeled as a composite data structure. In pseudo-object-oriented terms, all entities inherit from a base class AcDbEntity that exposes general properties, while subclasses like AcDbLine, AcDbText, and AcDbHatch add type-specific fields. MATCHPROP operates at two levels: it always copies general properties from AcDbEntity, and it conditionally copies special properties when both source and destination share a compatible subclass.
P(obj) is the property set of an object, FilterMask is the set of properties enabled in the Settings dialog, and compatible() returns true when the destination's entity type supports the given property field.Invocation Methods
| Method | Command / Action | Notes |
|---|---|---|
| Command Line | MATCHPROP or alias MA | Most common invocation. Type S during command to open Settings. |
| Ribbon | Home → Properties → Match Properties (paintbrush icon) | Visual toolbar access. Same underlying command. |
| Right-Click Menu | Not available by default; can be added via CUI customization. | Useful for context-menu-heavy workflows. |
| AutoLISP / .NET API | (command "MATCHPROP" source dest "") | Scriptable via AutoLISP or C# ObjectARX. Enables batch property transfer. |
(ssget) to build a selection set programmatically, iterate over entities with (ssname), and invoke (command "MATCHPROP" sourceObj ent "") per entity. This approach scales linearly with the number of destination objects, making it O(n) in time complexity for n targets.Property Categories & Settings Dialog
The MATCHPROP command divides transferable properties into two major groups: General Properties and Special Properties. General properties apply to virtually every entity type in the drawing database, whereas special properties are type-specific — they only transfer when source and destination share a compatible object class. Pressing S (for Settings) at the "Select destination object" prompt opens the Property Settings dialog, where each property is represented as a checkbox — effectively a bitmask governing which fields participate in the copy operation.
From a type-system perspective, the Settings dialog implements a form of runtime type checking. If you attempt to match a hatch pattern from a source AcDbHatch onto a destination AcDbLine, the hatch property field is silently skipped because the destination entity lacks the corresponding property slot. General properties, however, always transfer because they reside in the shared AcDbEntity base class that all entities inherit from. This behavior mirrors the Liskov Substitution Principle: any entity can be treated as an AcDbEntity and will always expose the general property interface.
Worked Example
Consider a scenario in which you have received a floor plan drawing from a collaborator. The drawing contains 45 polylines representing plumbing runs, but they are scattered across three incorrect layers (MISC, TEMP, and 0) with inconsistent colors and linetypes. You need all 45 polylines on layer PLUMBING with color ByLayer (which resolves to green, ACI 3), linetype HIDDEN, and lineweight 0.35 mm. One correctly formatted polyline already exists on the PLUMBING layer.
Ctrl+1). Confirm that its properties match the target specification: Layer = PLUMBING, Color = ByLayer, Linetype = HIDDEN, Lineweight = 0.35 mm. This verification step prevents propagating incorrect properties.MA and press Enter. At the "Select source object" prompt, click the verified polyline. Before selecting destinations, type S to open Settings. In the dialog, ensure Color, Layer, Linetype, and Lineweight are checked. Uncheck properties you do not want to transfer (e.g., Linetype Scale if the source uses a non-default scale you want to preserve individually on each target).C option) to select all polylines in a region, or use a selection filter (Quick Select) to pre-filter for polylines on layers MISC, TEMP, and 0. Each clicked object instantly receives the source properties.QSELECT to select all objects on layer PLUMBING. Verify the count includes the original polyline plus the 45 updated ones (46 total). Alternatively, freeze all layers except PLUMBING and visually inspect the drawing. This post-condition check is analogous to writing assertions after a batch database update.Match Properties vs. Alternative Approaches
MATCHPROP is not the only mechanism for changing object properties in AutoCAD. Depending on the scope, volume, and specificity of the change, other tools may be more appropriate. The following comparison evaluates MATCHPROP against four alternatives: manual property editing, Quick Properties, Layer Walk, and AutoLISP scripting.
| Method | Strengths | Limitations | Best For |
|---|---|---|---|
| MATCHPROP | Fast, intuitive, copies multiple properties in one operation, no coding required | Requires a correctly formatted source object to exist; less efficient for thousands of objects without scripting | Ad-hoc corrections of 1–100 objects where a template object exists |
| Properties Palette | Full control over every field; works on multi-object selections; exposes read-only info | Must manually type or select each property value; no "copy from reference" capability | Setting specific values when no template object is available |
| Quick Properties | Lightweight floating panel; auto-appears on selection; fast for single-field edits | Shows limited fields; no batch-copy functionality | Quick single-property adjustments during drawing |
| AutoLISP Script | Fully programmable; can apply conditional logic; scales to millions of objects | Requires programming skill; debugging is cumbersome; harder to share across team | Large-scale batch processing, conditional property assignment, automation |
| Layer Walk / LAYMCH | Specifically designed for layer reassignment; LAYMCH matches layer only | Only changes the layer property; does not affect color, linetype, lineweight, etc. | Pure layer-reassignment tasks with no other property changes needed |
Connection to Advanced CAD Standards & Automation
While MATCHPROP addresses immediate, interactive property transfer, professional CAD environments rely on broader systems to enforce drawing standards at scale. Understanding where MATCHPROP fits within this ecosystem helps you appreciate both its utility and its limitations. Two advanced systems are particularly relevant: CAD Standards Checking (STANDARDS command) and Drawing Template (DWT) inheritance. These operate at the drawing level rather than the object level, providing preventive rather than corrective enforcement.
| Aspect | MATCHPROP | CAD Standards (DWS) |
|---|---|---|
| Scope | Object-level: copies properties from one entity to another | Drawing-level: audits layer names, linetypes, dim styles, text styles against a DWS reference file |
| Timing | Corrective — applied after non-conformance is discovered | Preventive and corrective — can flag violations during periodic audits |
| Automation | Manual (or scriptable via LISP/.NET) | Batch audit with CHECKSTANDARDS; auto-fix capabilities |
| Analogy (CS) | Like a deep copy utility or property-spreading operator | Like a CI/CD linter enforcing code style rules against a config file |
| Granularity | Fine-grained: per-object, per-property control | Coarse-grained: per-standard-category (layers, text styles, etc.) |
In practice, MATCHPROP and CAD Standards Checking are complementary tools. A robust workflow might begin with a well-configured DWT template that predefines standard layers, linetypes, and text styles, then use MATCHPROP for ad-hoc corrections during active drafting, and finally run a CHECKSTANDARDS audit before deliverables are issued. This layered approach is analogous to using both an IDE auto-formatter (reactive, local) and a CI linting step (batch, global) in a software engineering pipeline.
Practice Problems
Summary
The Match Properties command (MATCHPROP / MA) enables efficient, point-and-click transfer of visual and organizational properties from a source object to one or more destination objects. Properties are categorized into General (color, layer, linetype, lineweight, transparency, plot style) and Special (text style, dimension style, hatch pattern, and others). The Settings dialog (accessed by pressing S during the command) acts as a bitmask filter, allowing selective property transfer.
The command preserves object geometry, transfers ByLayer indirection rather than resolved values, and applies runtime type checking to skip incompatible special properties silently. MATCHPROP is most effective for ad-hoc corrections on small to medium object counts; for large-scale batch operations, AutoLISP or .NET scripting offers superior scalability, while CAD Standards Checking (DWS) provides preventive, drawing-level enforcement. Together, these tools form a layered property management strategy analogous to combining local linters with CI/CD pipelines in software engineering.