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.

A drafting compass with dimension and drawing-panel symbols.
Inside this lesson 10 sections 5 questions 8 figures

SECTION 1

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.

SECTION 2

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.

SECTION 3

Visual Explanation — The Four Transforms

Four Basic Modify TransformsMOVEoriginalΔx, ΔyresultCOPYstayscopy 1copy 2ROTATEbase pt45°MIRRORmirror axissrcmirDashed outlines = original positionFilled shapes = result positionArrows / arcs indicate displacement or rotation directionMOVE deletes the original; COPY preserves it
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.

SECTION 4

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]×∣100∣whereT=(Δx,Δy)∣010∣∣ΔxΔy1∣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θ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)−PP' = 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.

SECTION 5

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.

Command Workflow Decision FlowMOVE (M)1. Select objects → Enter2. Specify base point3. Specify 2nd point or ΔOption: Displacement modeCOPY (CO)1. Select objects → Enter2. Specify base point3. Specify 2nd point(s)Option: Array, MultipleROTATE (RO)1. Select objects → Enter2. Specify base point3. Specify angle or RefOption: Reference, CopyMIRROR (MI)1. Select objects → Enter2. First point of axis3. Second point of axis4. Delete source? Y/NCommon Input Methods for Precision• Absolute coordinates: type x,y (e.g., 150,200)• Relative coordinates: type @Δx,Δy (e.g., @50,0 moves 50 units in X)• Polar coordinates: type @distance<angle (e.g., @100<45 moves 100 units at 45°)• Object Snap (OSNAP): snap to Endpoint, Midpoint, Center, Intersection, etc.• Direct Distance Entry: point in a direction, type a distance, press Enter• Ortho / Polar Tracking: constrain cursor to preset angles for precision alignment• ROTATE Reference option: align to an existing angle, then specify new angle
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.
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)

Command aliases and prompt sequences

SECTION 6

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. 1

    Step 1 — Draw the Right Half

    Use 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. 2

    Step 2 — MIRROR to Create the Left Half

    Invoke 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. 3

    Step 3 — ROTATE the Bracket

    The 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. 4

    Step 4 — MOVE the Bracket to Its Final Position

    Invoke 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. 5

    Step 5 — COPY to Create a Second Instance

    Invoke 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°.

SECTION 7

Strengths, Limitations & Command Comparisons

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.

Strengths and limitations of each modify command

🧭

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.

SECTION 8

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 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.

Basic commands mapped to their advanced counterparts

ℹ

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.

SECTION 9

Practice Problems

Question 1: CONCEPTUAL

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?
Show answer
MOVE performs a translation that relocates objects to a new position and removes them from the original location — the total object count remains constant. COPY also translates objects but retains the originals, creating new independent entities. In a production drawing, an accidental COPY instead of MOVE would leave duplicate geometry at the old position. These overlapping objects are visually indistinguishable on screen but can cause double-weight plotting, incorrect quantity counts in bill-of-materials extraction, and inflated file sizes. This is analogous to a memory leak: the old data still occupies space and can interfere with downstream processing.

Question 2: BASIC 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?
Show answer
The displacement vector is (70 − 10, 55 − 20) = (60, 35). Adding this to each corner: (10 + 60, 20 + 35) = (70, 55); (50 + 60, 20 + 35) = (110, 55); (50 + 60, 40 + 35) = (110, 75); (10 + 60, 40 + 35) = (70, 75). The translated rectangle occupies corners (70, 55), (110, 55), (110, 75), (70, 75). Note that the width (40 units) and height (20 units) are preserved because translation is a rigid-body (isometric) transformation.

Question 3: INTERMEDIATE

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.
Show answer
Using the rotation equations: x' = xbx_b + (x − xbx_b) × cos θ − (y − yby_b) × sin θ and y' = yby_b + (x − xbx_b) × sin θ + (y − yby_b) × cos θ. With base point (100, 50), point B = (160, 50), and θ = 45°: x' = 100 + (160 − 100) × cos 45° − (50 − 50) × sin 45° = 100 + 60 × 0.7071 − 0 = 100 + 42.43 = 142.43. y' = 50 + (160 − 100) × sin 45° + (50 − 50) × cos 45° = 50 + 60 × 0.7071 + 0 = 50 + 42.43 = 92.43. The new B' ≈ (142.43, 92.43). Point A remains at (100, 50) because it coincides with the base point.

Question 4: APPLIED

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.
Show answer
The MIRROR command applies a geometric reflection to every entity in the selection set, including text objects. By default, if the system variable MIRRTEXT is set to 1, text strings are reflected along with their geometry, causing them to appear backward (reversed left-to-right). To keep text readable after mirroring, set MIRRTEXT to 0 by typing MIRRTEXT at the command line and entering 0. With MIRRTEXT = 0, text entities have their insertion point reflected to the correct mirrored position, but the character string remains in its normal left-to-right reading order. This applies to TEXT, MTEXT, and ATTDEF entities. Dimension objects, being compound entities, are handled by the dimension style and typically remain readable regardless of MIRRTEXT.

Question 5: CRITICAL 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.
Show answer
Yes, the two approaches are mathematically equivalent for point geometry. Reflecting about the X-axis maps (x, y) → (x, −y), and then reflecting about the Y-axis maps (x, −y) → (−x, −y). The composition is (x, y) → (−x, −y), which is identical to a 180° rotation about the origin. In matrix terms, the reflection about X has matrix [[1,0],[0,−1]], reflection about Y has [[−1,0],[0,1]], and their product is [[−1,0],[0,−1]] = the 180° rotation matrix. However, there is a subtle distinction: each individual mirror operation reverses handedness (det = −1), while their composition preserves handedness (det = (−1)(−1) = 1), consistent with rotation. Practically in AutoCAD, if MIRRTEXT = 1, the first mirror will flip text, and the second will flip it back, yielding the same result as ROTATE — but during the intermediate state, text is reversed. If you interrupt the sequence or apply it to entities with directional attributes (e.g., hatches with non-symmetric patterns), intermediate states could cause confusion. A single ROTATE 180 is therefore both more elegant and less error-prone.

SUMMARY

Lesson Summary

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