SECTION 1
Historical Context & Motivation
Before computer-aided design became ubiquitous, engineers and architects produced rotational copies of geometric features—bolt circles on flanges, radially symmetric structural elements, or repeated decorative motifs—by laboriously repositioning a protractor and tracing each instance by hand. The ROTATE command in AutoCAD, and in particular its Copy option, distills this tedious manual workflow into a single parametric operation that preserves geometric accuracy down to sub-millimeter tolerances. Understanding this command is foundational for anyone seeking to automate repetitive drafting tasks—a concern that directly parallels the DRY (Don't Repeat Yourself) principle familiar to Computer Science students.
1982 • AutoCAD 1.0 Released
1988 • ROTATE Copy Mode Introduced
1997 • Reference Angle Option
2006 • Dynamic Input & Grips
2020+ • Scripting & Automation
The central question this lesson addresses is deceptively simple: how do you rotate a copy of an object around an arbitrary base point in one atomic operation, and what geometric mathematics underpin that transformation? Mastering this single command lays the groundwork for polar arrays, parametric pattern generation, and ultimately scripting rotational patterns programmatically—skills that sit at the intersection of CAD proficiency and computational thinking.
SECTION 2
Core Principles & Definitions
The ROTATE command operates on a simple but powerful geometric premise: every planar rotation can be fully described by a center of rotation (the base point), a rotation angle, and the selection set of objects to transform. When the Copy option is activated, AutoCAD clones the selection set before applying the rotation, leaving the original geometry in place. This mirrors, conceptually, a functional-programming approach to transformation—immutable source data plus a pure transformation yields a new result without side effects.
Base Point (Center of Rotation)
Rotation Angle (θ)
Copy Sub-Option
Reference Angle
Selection Set
KEY TAKEAWAY
SECTION 3
Visual Explanation — Anatomy of a Rotate-Copy
Several details deserve attention. First, the base point need not lie on or within the selected objects; placing it at the origin, a known intersection, or the center of a bolt-hole circle is a common practice. Second, every vertex of the rotated copy is exactly the same radial distance from the base point as its corresponding vertex on the original—rotation is an isometry (distance-preserving transformation). Third, the rotation direction follows AutoCAD's angle convention: positive angles are counter-clockwise when ANGDIR is set to 0 (the default). Changing ANGDIR to 1 reverses this to clockwise-positive.
SECTION 4
Mathematical Framework — 2-D Rotation Matrix
Under the hood, every ROTATE operation in AutoCAD applies a 2-D rotation matrix to each control point of the selected entities. Because the rotation can occur around an arbitrary base point B = (bx, by), the transformation is actually a sequence of three affine steps: translate to origin, rotate, then translate back. This is identical to the composite-transformation pipeline you encounter in computer graphics courses when manipulating scene graphs.
TRANSLATE-ROTATE-TRANSLATE COMPOSITE
where P = (x, y) is the original point, P' = (x', y') is the transformed point, B = (bx, by) is the base point, and R(θ) is the 2×2 rotation matrix.
2-D ROTATION MATRIX
θ is measured in degrees (AutoCAD internally converts to radians). For a 45° rotation: cos 45° ≈ 0.7071, sin 45° ≈ 0.7071.
EXPANDED COMPONENT FORM
This is the component-wise expansion of the matrix equation above. Each coordinate of the new point is a linear combination of the translated coordinates, weighted by trigonometric functions of the rotation angle.
For Computer Science students familiar with homogeneous coordinates in OpenGL or WebGL, the same operation is expressible as a single 3×3 matrix multiplication by composing T(−B) · R(θ) · T(B) where T denotes a translation matrix. AutoCAD performs precisely this composition internally when transforming entity data in its drawing database. The Copy option simply instructs the engine to write the transformed coordinates as a new entity rather than overwriting the original entity's control-point data.
HOMOGENEOUS FORM
| cos θ -sin θ bₓ(1-cos θ)+bᵧ sin θ |
| sin θ cos θ bᵧ(1-cos θ)-bₓ sin θ |
| 0 0 1 |
This single matrix replaces the three-step translate-rotate-translate pipeline, which is exactly how GPU shader pipelines handle arbitrary-pivot rotations.SECTION 5
Detailed Command-Line Workflow
Understanding the exact sequence of prompts and responses is critical for efficient drafting and for scripting the ROTATE command via AutoLISP or SendCommand in .NET. The command flow follows a strict state machine: selection → base point → angle prompt (with branching options for Copy and Reference). The diagram below illustrates this state machine, and the table beneath it catalogs every prompt and its valid inputs.
C to enable copy mode before entering the angle, or (3) typing R to use reference angle mode.| Prompt | Input | Effect |
|---|---|---|
| Select objects: | Pick, Window, Crossing, All, etc. | Defines the selection set to be rotated. |
| Specify base point: | Click point or type coordinates | Sets the center of rotation. |
| Specify rotation angle: | Numeric angle (e.g., 45) | Rotates the selection by the specified angle. |
| [Copy] at angle prompt | C then Enter | Preserves the original; rotates a duplicate. |
| [Reference] at angle prompt | R then Enter | Specify current angle and desired angle; AutoCAD computes delta. |
ROTATE command prompt sequence and valid inputs
SCRIPTING TIP
(command "ROTATE" ss "" base_pt "C" angle)
where ss is a selection set variable, base_pt is a point list like '(0.0 0.0), and angle is a real number in degrees. This is invaluable for generating parametric radial patterns in a loop.SECTION 6
Worked Example — Creating a 6-Bolt Flange Pattern
Suppose you are drafting a flange plate with six equally spaced bolt holes on a bolt circle of radius 50 mm, centered at the origin (0, 0). You have already drawn one bolt hole (a circle of radius 5 mm) at (50, 0). Your task is to use ROTATE with Copy to place the remaining five holes at 60° intervals. This is a canonical application of rotate-copy that generalizes to any n-fold radial pattern.
Placing 6 Bolt Holes at 60° Intervals via ROTATE Copy
- 1
Step 1 — Compute the Angular Increment
A full circle is 360°, and we need 6 equally spaced copies including the original. The angular increment is θ = 360° ÷ 6 = 60°. Because the original already occupies the 0° position, we need five additional copies at 60°, 120°, 180°, 240°, and 300°.θ = 60° - 2
Step 2 — Invoke ROTATE and Select the Bolt Hole
TypeROTATEat the command line and press Enter. When prompted to select objects, click the circle at (50, 0) and press Enter to confirm the selection set. - 3
Step 3 — Specify the Base Point
At the 'Specify base point:' prompt, type0,0and press Enter. This sets the center of the flange as the pivot for rotation.Base point = (0, 0) - 4
Step 4 — Activate Copy Mode
At the 'Specify rotation angle or [Copy/Reference]:' prompt, typeCand press Enter. AutoCAD echoes 'Copy mode = ON' and re-prompts for the rotation angle. - 5
Step 5 — Enter the Rotation Angle
Type60and press Enter. AutoCAD places a copy of the circle at 60° CCW—i.e., at approximately (25, 43.3). The original at (50, 0) is preserved.Copy placed at ≈ (25.0, 43.3) — verification: 50 × cos 60° = 25, 50 × sin 60° ≈ 43.3 ✓ - 6
Step 6 — Repeat for Remaining Copies
Repeat the ROTATE command (or press Enter to re-invoke the last command) four more times, each time selecting all existing bolt holes and entering 60° with Copy. Alternatively, select only the original circle each time and enter 120°, 180°, 240°, and 300° respectively. For maximum efficiency, use the ARRAYPOLAR command, which wraps this entire workflow into a single invocation—but the manual rotate-copy method is essential knowledge for understanding what ARRAYPOLAR automates.Six bolt holes at 60° intervals: 0°, 60°, 120°, 180°, 240°, 300°
EFFICIENCY NOTE
ARRAYPOLAR (introduced in AutoCAD 2012) is the production-ready tool. However, ROTATE with Copy remains the fundamental building block: ARRAYPOLAR is essentially a loop of rotate-copy operations with an associative wrapper. Understanding the primitive helps you debug and script the higher-level command.SECTION 7
Strengths, Limitations & Comparison with Alternatives
The ROTATE-with-Copy workflow is just one of several strategies for creating rotationally displaced duplicates in AutoCAD. Each alternative makes different trade-offs between interactivity, associativity, and scriptability. The table below compares the most common approaches, enabling you to choose the right tool for a given context—much as you would choose between a for-loop and a map/reduce pipeline depending on the problem's complexity and readability requirements.
| Method | Strengths | Limitations |
|---|---|---|
| ROTATE + Copy | Simple, fast for one-off copies. Works on any selection set. Full control of base point. Easily scripted. | Only creates one copy per invocation. Non-associative—editing the original does not update copies. |
| ARRAYPOLAR | Creates many copies in one command. Associative by default—editing the source updates all instances. Built-in item count and fill-angle options. | Less transparent to beginners. Associativity can cause unexpected edits. Overkill for a single copy. |
| COPY + ROTATE (separate) | Explicit two-step process; easy to understand. Can copy to a specific location before rotating. | Two commands instead of one. Risk of mis-selecting the copy or misaligning the base point between operations. |
| Grip Rotate-Copy | Fully visual, on-canvas workflow via blue grips. Hold Ctrl during grip rotation to clone. | Requires clicking on an entity grip—cannot specify an arbitrary base point easily. Not scriptable. |
| Dynamic Block with Rotate Action | Reusable, parametric. Angle can be constrained. Ideal for repeated-use components. | Significant setup overhead. Requires Block Editor knowledge. Not suitable for ad hoc geometry. |
Comparison of rotational duplication methods in AutoCAD
WHEN TO USE WHICH
SECTION 8
Connection to Advanced Topics — Polar Arrays & Parametric Automation
The rotate-copy operation you have learned is the atomic building block for several advanced AutoCAD features and workflows. Understanding its mechanics enables you to reason about—and debug—these higher-level constructs, which abstract away the low-level geometry manipulation behind convenience interfaces.
| This Lesson (ROTATE + Copy) | Advanced Extension |
|---|---|
| Single copy at a specified angle | ARRAYPOLAR — n copies distributed over a fill angle, with optional associativity |
| Manual base-point selection | Geometric constraints (GCENTER) — parametrically lock the center, allowing design-intent-driven changes |
| Typed angle value | Dimensional constraints — define angle as a parameter expression (e.g., 360/n) that auto-updates |
| Single command invocation | AutoLISP / .NET loop — programmatic iteration with conditional logic and data-driven parameters |
| 2-D rotation matrix | 3-D rotation (ROTATE3D) — rotation about an arbitrary axis in 3-D space using Rodrigues' formula or quaternions |
Mapping introductory concepts to advanced extensions
From a Computer Science perspective, the progression from ROTATE+Copy to ARRAYPOLAR to AutoLISP scripting mirrors the abstraction hierarchy you encounter in software engineering: assembly → standard library → framework. The rotate-copy command is the 'instruction'; ARRAYPOLAR is the 'library call'; and a parametric AutoLISP routine that reads bolt-count from a CSV file and generates arbitrary patterns is the 'application.' Each layer hides the complexity beneath it, but understanding the lowest layer—rotation about a base point with copy semantics—gives you the power to troubleshoot and extend the higher layers when they fall short.
LOOKING AHEAD
EXPLODE an associative array back into independent objects—effectively reversing the abstraction to regain fine-grained control, which is directly analogous to 'ejecting' from a framework in web development.SECTION 9
Practice Problems
Question 1: CONCEPTUAL
Show answer
Question 2: BASIC CALCULATION
Show answer
Question 3: INTERMEDIATE
Show answer
C for Copy, and enter 20°. This creates tooth #2. Then re-invoke ROTATE, select the original tooth again, same base point, Copy, enter 40°. Continue incrementally (60°, 80°, …, 340°) for a total of 17 invocations. A far more efficient strategy is to use ARRAYPOLAR with 18 items and 360° fill angle, but if only ROTATE+Copy is available, the 17-invocation approach is necessary. Alternatively, after each copy, you could select only the most recent copy and always rotate by 20°, which avoids accumulating angle values but still requires 17 steps.Question 4: APPLIED
Show answer
function boltCircle(center, radius, n):
angle_inc = 360.0 / n
// Draw first bolt hole at (center.x + radius, center.y)
drawCircle(center.x + radius, center.y, boltRadius)
ss = selectLast()
for i from 1 to n-1:
command("ROTATE", ss, "", center, "C", angle_inc * i)
end
The rotation angle at iteration i is angle_inc × i (i.e., 360/n × i), because each ROTATE operates on the original bolt hole (not the last copy), so the cumulative angle must be specified. If you instead select the last-created copy each time, you would always pass angle_inc as the angle. The choice parallels absolute vs. relative positioning in programming.Question 5: CRITICAL THINKING
Show answer
SUMMARY
Lesson Summary
Summary
The ROTATE command in AutoCAD pivots selected geometry around a user-specified base point by a given rotation angle. When the Copy sub-option (invoked by typing C at the angle prompt) is engaged, AutoCAD duplicates the selection set before applying the rotation, preserving the original geometry in place—analogous to a non-destructive transformation. The underlying mathematics is a 2-D rotation matrix applied after a translate-to-origin step, expressible as P' = R(θ) · (P − B) + B.
This fundamental operation serves as the building block for polar arrays (ARRAYPOLAR), parametric pattern scripting in AutoLISP and .NET, and more advanced 3-D rotational workflows. Key practical details include the Reference angle mode (type R) for aligning objects to a known orientation, the role of ANGDIR in determining positive-angle direction, and the grip-based rotate-copy shortcut (Ctrl + grip drag). Mastering this command equips you with the conceptual and mathematical toolkit to approach any rotational duplication task in AutoCAD, whether manual or programmatic.