AUTOCAD • DRAWING AND EDITING FUNDAMENTALS

Basic Modify Commands — Move, copy, rotate, and mirror objects

Master the four essential transformation commands that form the backbone of efficient CAD editing workflows.

Historical Context & Motivation

Before computer-aided design existed, engineers and architects performed geometric transformations by hand — using T-squares, compasses, and tracing paper to reposition, duplicate, rotate, or flip drawing elements. These manual operations were tedious, error-prone, and consumed an enormous share of drafting time. The rise of interactive computer graphics in the 1960s and 1970s promised to automate these transformations by encoding them as affine transformation matrices applied to stored geometry — a concept that every CS student will recognize from linear algebra and computer graphics courses.

1963
Sketchpad — The Birth of Interactive CAD
Ivan Sutherland's Sketchpad thesis at MIT introduced constraint-based graphical interaction, including the ability to move and copy geometric primitives on a CRT display via a light pen.
1982
AutoCAD 1.0 Released
Autodesk shipped AutoCAD 1.0 for the IBM PC, bringing affordable 2D CAD to desktop hardware. Early modify commands — MOVE, COPY, ROTATE, and MIRROR — were present from the first release, directly mapping affine transforms to a command-line interface.
1997
Grip Editing & Direct Manipulation
AutoCAD 14 refined grip-based editing, allowing users to invoke move, copy, rotate, and mirror operations by clicking control points on selected objects, complementing the traditional command-line workflow.
2010s
Parametric and Cloud-Based CAD
Modern AutoCAD versions integrate parametric constraints and cloud collaboration, but the four foundational modify commands remain structurally identical to their 1982 counterparts — a testament to their mathematical elegance and practical utility.

Why do these four commands deserve dedicated study? In any CAD workflow, the overwhelming majority of editing time is spent not in creating new geometry from scratch but in transforming existing objects — relocating a door assembly, duplicating a bolt pattern, rotating a section view, or mirroring a symmetric façade. Understanding how MOVE, COPY, ROTATE, and MIRROR operate at both the interface level and the mathematical level equips you to automate these operations via scripting (AutoLISP, .NET) and to reason about precision in large-scale drawings.

Core Principles & Definitions

Every modify command in AutoCAD operates on a selection set — one or more geometric entities chosen before or after invoking the command. The transformation is then defined by reference geometry: a base point, a displacement vector, a rotation angle, or a mirror axis. All four commands preserve the internal geometry of selected objects — line lengths, arc radii, and relative positions among grouped entities remain invariant under translation and rotation, while mirror adds a reflection that reverses handedness.

1

MOVE — Translation

Displaces selected objects by a vector defined by a base point and a second point (or a typed displacement). The original objects are removed from their initial location. Mathematically, this is a pure translation transform.
2

COPY — Translation with Duplication

Identical to MOVE except the source objects remain in place; new instances are created at the destination. Supports multiple copies in a single invocation, enabling rapid pattern generation.
3

ROTATE — Rotation

Rotates selected objects about a user-specified base point by a given angle (counter-clockwise positive by default). Internally applies a 2D rotation matrix to each defining point of the geometry.
4

MIRROR — Reflection

Reflects selected objects across a user-defined axis (specified by two points). Optionally deletes the source objects. The variable MIRRTEXT controls whether text entities are also reflected or kept readable.
KEY TAKEAWAY
Think of these four commands as the CAD equivalents of version-control operations on a source file: MOVE is like git mv (relocate), COPY is like duplicating a module into a new directory, ROTATE is like applying a coordinate transform to an object's frame of reference, and MIRROR is like generating the symmetric counterpart of a data structure. Just as you compose Git operations to manage a codebase, you compose these modify commands to sculpt a drawing.

Visual Explanation — The Four Transforms

The four basic modify commands visualized: MOVE translates objects from one location to another (original removed). COPY duplicates at new locations while preserving the source. ROTATE swings objects about a base point by a specified angle. MIRROR reflects objects across a user-defined axis.

In the diagram above, note how MOVE and COPY both operate on a displacement vector (Δx, Δy) but differ in whether the source geometry persists. ROTATE requires a fixed point — the base point — and an angle measured counter-clockwise from the positive X-axis (assuming the default ANGDIR setting). MIRROR defines its axis with two points, and the reflected geometry is the exact bilateral symmetric image of the source. Observe that the 'L'-shaped polygon reverses its handedness after mirroring — a critical consideration when text or directional annotations are present.

Mathematical Framework — Affine Transformations

Each modify command corresponds to a well-defined affine transformation in 2D Euclidean space. For CS students, this is the same matrix algebra used in OpenGL, game engines, and SVG rendering pipelines. AutoCAD internally represents these transforms using homogeneous coordinates, enabling translation, rotation, and reflection to be expressed as matrix multiplications — and critically, to be composed via matrix chaining.

TRANSLATION (MOVE / COPY)
P' = P + T → [x', y', 1] = [x, y, 1] × | 1 0 0 | where T = (Δx, Δy) | 0 1 0 | | Δx Δy 1 |
P = original point (x, y); P' = transformed point (x', y'); Δx, Δy = displacement components. In homogeneous coordinates the translation is embedded in the bottom row of a 3 × 3 matrix, making it composable with rotation and scaling.
ROTATION ABOUT A BASE POINT
x' = xb + (x − xb) × cos θ − (y − yb) × sin θ y' = yb + (x − xb) × sin θ + (y − yb) × cos θ
(xb, yb) = base point; θ = rotation angle (positive = counter-clockwise). This is equivalent to translating the base point to the origin, applying the standard 2D rotation matrix, and translating back — a conjugation pattern familiar from linear algebra.
REFLECTION ACROSS AN ARBITRARY AXIS
P' = 2 × proj(P, L) − P
L = mirror line defined by two points (x₁, y₁) and (x₂, y₂); proj(P, L) = orthogonal projection of point P onto line L. In matrix form, if the axis makes angle α with the X-axis, the reflection matrix (about the origin) is R = [[cos 2α, sin 2α], [sin 2α, −cos 2α]]. Like rotation, an off-origin axis requires a translate–reflect–translate-back sequence.
💡 CS Connection: Matrix Composition
Because all four transforms are representable as 3 × 3 homogeneous matrices, AutoLISP and .NET customization APIs let you chain transforms via matrix multiplication. For example, to rotate-and-then-move an object, you compute M = T × R and apply M once — exactly the same pipeline as a GPU vertex shader.

Detailed Command Syntax & Options

Each of the four commands follows a consistent interaction pattern: invoke the command, build a selection set, specify reference geometry, and confirm. However, each command exposes additional options that experienced users leverage for precision. The following diagram maps the decision flow for all four commands.

Workflow comparison of all four modify commands, showing shared patterns (select → base point → parameter) and command-specific options. The lower panel summarizes precision input methods that apply to every command.
Command aliases and prompt sequences
CommandAliasKey Prompt SequenceNotable Options
MOVEMSelect → Base point → Second point (or Displacement)Displacement mode: type @Δx,Δy then Enter at 'second point'
COPYCOSelect → Base point → Second point(s) → Enter to exitMultiple mode (default since 2011); Array sub-option for linear/rectangular patterns
ROTATEROSelect → Base point → Rotation angleReference: specify current angle then new angle; Copy: keep original
MIRRORMISelect → 1st axis point → 2nd axis point → Delete source? [Y/N]MIRRTEXT sysvar (0 = keep text readable, 1 = reflect text)

Worked Example — Designing a Symmetric Bracket

Consider a common CAD task: you have drawn one half of a symmetric steel bracket (with bolt holes) and need to produce the full bracket, then position two copies of it at specific coordinates on a base plate. This exercise uses MIRROR, COPY, MOVE, and ROTATE in sequence.

Creating and Positioning a Symmetric Bracket
1
Step 1 — Draw the Right HalfUse LINE and CIRCLE to draw the right half of the bracket. The bracket's vertical centerline lies along X = 0. The half-profile consists of a 100mm vertical flange with a Ø12 bolt hole at its midpoint, a 60mm horizontal leg, and a Ø12 bolt hole 15mm from the right edge.
2
Step 2 — MIRROR to Create the Left HalfInvoke MIRROR. Select all objects in the right half. Specify the first mirror-axis point as (0, 0) and the second as (0, 100) — defining the Y-axis as the mirror line. When prompted "Erase source objects? [Yes/No]", answer N to keep both halves.
Full symmetric bracket now exists, centered on X = 0.
3
Step 3 — ROTATE the BracketThe bracket must be oriented at 30° on the base plate. Invoke ROTATE. Select the entire bracket. Specify the base point at the bracket's center of gravity (0, 50). Enter rotation angle 30. All points transform according to the rotation formula: x' = 0 + (x − 0) × cos 30° − (y − 50) × sin 30°, y' = 50 + (x − 0) × sin 30° + (y − 50) × cos 30°.
Bracket is now rotated 30° counter-clockwise about (0, 50).
4
Step 4 — MOVE the Bracket to Its Final PositionInvoke MOVE. Select the bracket. Pick the base point at (0, 50). Specify the second point as (200, 300) — the bracket's mounting location on the base plate. The displacement vector is (200, 250).
Bracket center is now at (200, 300).
5
Step 5 — COPY to Create a Second InstanceInvoke COPY. Select the bracket at (200, 300). Pick the base point at (200, 300). Specify the second point as (500, 300) to place a duplicate 300mm to the right. Press Enter to exit the command.
Two identical brackets at (200, 300) and (500, 300), both rotated 30°.

Strengths, Limitations & Command Comparisons

Strengths and limitations of each modify command
AspectStrengthLimitation / Caveat
MOVESimple, universal; works on any entity type including blocks and xrefs. Supports displacement and two-point input.Destructive — original position is lost. No undo within the command; you must use UNDO (Ctrl+Z) afterward.
COPYMultiple copies in one invocation; useful for bolt patterns, furniture layouts, repeating elements.Copied objects are independent — not linked. For parametric repetition, ARRAY is preferable. Increases file size proportionally.
ROTATEReference option allows aligning to an arbitrary existing angle without computing the delta. Copy sub-option preserves the original.Only 2D rotation in model space (around Z-axis). For 3D rotation, use ROTATE3D or 3DROTATE. Precision depends on ANGDIR and ANGBASE settings.
MIRRORIndispensable for symmetric designs — cuts drawing time nearly in half. MIRRTEXT = 0 keeps text readable.Reverses handedness, which can corrupt directional annotations, leader lines, or hatch origins if not checked. Only mirrors about lines, not arbitrary curves.
🧭 WHEN TO USE WHAT
If your mental model is a scene graph (as in Unity or a DOM tree), MOVE changes a node's transform in place, COPY deep-clones a subtree, ROTATE mutates the node's rotation quaternion, and MIRROR generates a reflected clone. Choosing the right command is analogous to choosing the right data-structure operation — using COPY when you need MOVE leaves orphan geometry, just as leaking memory leaves orphan allocations.

Connection to Advanced Editing & Automation

The four basic modify commands are the atomic building blocks upon which AutoCAD's more sophisticated editing features are constructed. Understanding them prepares you for ARRAY (which automates repeated COPY + ROTATE), ALIGN (which combines MOVE + ROTATE + SCALE in one step), and dynamic blocks (which embed parameterized move, rotate, and mirror actions inside reusable block definitions). For CS students interested in automation, these commands are directly scriptable through AutoLISP, .NET (C#/VB), and Python (via pyautocad).

Basic commands mapped to their advanced counterparts
Basic CommandAdvanced EquivalentKey Difference
COPY (multiple)ARRAY (Rectangular / Polar / Path)ARRAY creates associative instances linked to the source; editing one updates all. COPY creates independent entities.
MOVE + ROTATEALIGNALIGN uses source/destination point pairs to compute the combined translation + rotation + optional scale in one operation.
MIRROR (manual)Dynamic Block with Mirror ActionDynamic blocks embed a flip/mirror parameter so end-users toggle symmetry via a grip, without rerunning MIRROR.
Individual commandsAutoLISP / .NET scriptingScripting composes transforms as matrix multiplications, enabling batch processing of thousands of objects programmatically.
⌨️ AutoLISP Snippet: Move via Script
The following one-liner moves every object on layer "BOLTS" by displacement (50, 0, 0):(command "MOVE" (ssget "X" '((8 . "BOLTS"))) "" '(0 0 0) '(50 0 0)) — this is the same transformation matrix applied programmatically. Learning the command-line syntax of MOVE, COPY, ROTATE, and MIRROR is therefore a prerequisite for effective CAD automation.

Practice Problems

PROBLEM 1CONCEPTUAL
Explain the fundamental difference between the MOVE and COPY commands in terms of the resulting drawing state. Why might using COPY when you intended MOVE cause problems in a production drawing?
PROBLEM 2BASIC CALCULATION
A rectangle has corners at (10, 20), (50, 20), (50, 40), and (10, 40). You MOVE the rectangle using base point (10, 20) and second point (70, 55). What are the new coordinates of all four corners?
PROBLEM 3INTERMEDIATE
A line segment runs from point A = (100, 50) to point B = (160, 50). You ROTATE this line 45° counter-clockwise about base point (100, 50). Compute the new coordinates of point B using the rotation formula.
PROBLEM 4APPLIED
You are designing a symmetric bridge cross-section. The right half has been drawn with its axis of symmetry along the line from (0, 0) to (0, 500). After mirroring, a dimension text reading '12500' on the right side appears reversed on the left. Explain the cause and describe the exact system variable change needed to fix it.
PROBLEM 5CRITICAL THINKING
A colleague proposes using a sequence of two MIRROR operations (first about the X-axis, then about the Y-axis) instead of a single ROTATE by 180°. Are the two approaches mathematically equivalent for all 2D geometry? Prove or disprove your answer, and discuss any practical differences in AutoCAD.

Lesson Summary

The four basic modify commands — MOVE, COPY, ROTATE, and MIRROR — implement the fundamental affine transformations of translation, rotation, and reflection. Each operates on a selection set and is parameterized by a base point plus either a displacement vector, an angle, or a mirror axis. MOVE and COPY perform pure translations but differ in whether the source is preserved. ROTATE applies a 2D rotation matrix about a specified center, and MIRROR reflects geometry across a two-point axis with handedness reversal.

Precision input — including relative coordinates (@Δx,Δy), polar input (@dist<angle), and object snap — is essential for production-quality CAD work. These commands serve as the atomic operations from which advanced features like ARRAY, ALIGN, and dynamic blocks are composed, and they are directly scriptable through AutoLISP and .NET for batch automation — a skill set that bridges CAD proficiency with software engineering.

Varsity Tutors • AutoCAD • Basic Modify Commands — Move, copy, rotate, and mirror objects