Commands

ARRAYRECT command in AutoCAD : Distributes object copies into any combination of rows, columns, and levels

If you’re learning how to make repeated copies in a grid in AutoCAD, this guide explains step‑by‑step how to use the rectangular array feature (commonly referred to as ARRAYRECT, the Rectangular option of the ARRAY command). You’ll get clear explanations, practical steps, alternatives, common errors and fixes, and helpful tips for efficient, predictable results.


What is the ARRAYRECT (Rectangular Array) command?

The Rectangular Array distributes copies of selected objects into a grid defined by rows, columns, and optionally levels (Z). It is used to quickly create patterns such as bolt grids, floor tile layouts, shelving stacks, or repeated 3D elements.

In modern AutoCAD versions the main command is ARRAY with a Rectangular option (historically called ARRAYRECT). The array can be associative (the copies remain linked so you can edit the whole array) or non‑associative (individual objects become separate).


When to use a rectangular array

  • To create a regular grid of identical items (nuts/bolts, windows, tiles).
  • To stack copies in 3D (using levels).
  • When you want an editable, parameter-driven pattern (use associative arrays).
  • When you need precise control over number of items and spacing (by total distance or inter‑item spacing).

Step‑by‑step: How to create a rectangular array

  1. Prepare your object(s). For best results, convert repeated geometry into a block if it represents a single component (better performance and easier editing).
  2. Select the object(s) you want to array (or you can launch the command first and then select).
  3. Start the command:
    • Type ARRAY and press Enter, then choose the Rectangular option; or
    • If your version supports it, type ARRAYRECT (older alias) and press Enter.
    • Or use the Ribbon: Home > Modify > Array > Rectangular.
  4. In the Rectangular Array interface or command prompts, set these parameters:
    • Rows: number of rows in the Y direction.
    • Columns: number of columns in the X direction.
    • Levels (optional): number of stacked copies in Z for 3D arrays.
    • Row Spacing / Column Spacing: either specify the distance between items or the total length to fill (UI provides options like “Specify number and spacing” or “Specify total length”).
    • Base Point: pick a reference point for the array.
    • Rotation: set an angle if you need the grid rotated relative to world axes.
    • Associative: enable if you want a live array that you can edit as a single object later.
  5. Confirm the array. If associative, use grips, the Properties palette, or the ARRAYEDIT command to modify rows/columns/spacing afterwards.

Example keyboard flow (basic):

  • Type ARRAY → Enter → R (Rectangular) → Select objects → Enter → Enter rows, columns, spacing or total → Enter → specify base point → Enter to finish.

Editing arrays after creation

  • Use grips on the array to quickly change rows, columns, or spacing.
  • Type ARRAYEDIT to enter array edit mode for more precise changes.
  • Use the Properties palette to change parameters (Rows, Columns, Levels, Base point, Angle, Associative).
  • To convert an associative array into individual objects, use EXPLODE (be aware this will break the association and may create many objects).

Alternative methods and when to use them

  • Use ARRAY PATH when you need objects distributed along a curve.
  • Use ARRAY POLAR (Polar option) for circular patterns.
  • Use repetitive COPY or COPYMULTIPLE for simple manual placements or when array parameters are not regular.
  • Use BLOCK + manual copy for small quantities to maintain performance.
  • Use ARRAYCLASSIC (if available) to access the legacy array dialog if you prefer the old interface.
  • For non‑uniform repeated elements, consider using a script, LISP, or parametric block (dynamic block with lookup/parameter).

Why ARRAYRECT (or ARRAY) sometimes doesn’t work — Problems and fixes

Problem: Command not recognized or ARRAYRECT does nothing

  • Fix: Type ARRAY and then choose Rectangular. Some installations map legacy aliases differently. Ensure your command aliases are present.

Problem: Nothing selected or preselection ignored

  • Fix: Check the system variable PICKFIRST is set to 1 (allows preselect). If 0, start the command then select objects.

Problem: Objects on a locked or frozen layer; selection prevented

  • Fix: Unlock/unfreeze the layer, or move the object to an editable layer before arraying.

Problem: Array parameters greyed out, or options unavailable

  • Fix: Ensure the selected objects are supported (e.g., some annotation types or complex constrained geometry may restrict associative arrays). Convert to simpler geometry or block.

Problem: Unexpected spacing after changing object size

  • Fix: Arrays store spacing values; if you change a source object size later, you may need to update spacing or recreate the array. Consider using parametrized blocks if you anticipate size changes.

Problem: Performance slow with very large arrays

  • Fix: Use blocks for repeated geometry, reduce display complexity (turn off hatched areas), or create a representative block and use fewer copies; consider replacing distant items with simpler proxy geometry.

Problem: Unable to array an XREF

  • Fix: You cannot array an external reference directly if it is not selectable; insert the XREF as a block or bind the XREF before arraying.

Problem: Associative array won’t edit with ARRAYEDIT

  • Fix: Check whether the array is associative (Properties > Associative). If not associative, editing options are limited; you can explode and recreate an associative array.

Practical tips & best practices

  • Use blocks for the item you plan to repeat — reduces file size and improves performance.
  • For 3D arrays, confirm you set the correct level spacing (Z distance) and orientation.
  • If you need exact overall size instead of spacing, set arrays by total length option (UI offers number vs. total).
  • When you must change the repeated object later, edit the block definition — all block instances inside the array will update.
  • Use Associative arrays if you plan to tweak rows/columns/spacing often. If you need independent control of each copy, create the array then explode it (but beware the resulting many objects).
  • Use ARRAYCLASSIC if you prefer a dialog box for precise numeric input (if available in your version).
  • Save a small test file when experimenting with large arrays to avoid long redraws or file bloat.

FAQ

How do I create a 3D (stacked) grid of objects?

Use the Rectangular array and set the Levels parameter to the number of layers you want, then set the Level spacing (Z distance). Ensure you’re working in a 3D view or UCS aligned properly.

Can I change the number of rows/columns after creating the array?

Yes — if the array is associative, select the array and use grips, the Properties palette, or the ARRAYEDIT command to change rows/columns and spacing.

How do I convert an associative array into editable individual objects?

Select the array and use EXPLODE. This breaks the association and creates separate geometry for each copy.

Why does the array look different after I rotate the source object?

Rotation of the source can change bounding box orientation and how spacing is measured. Set the array base point and rotation deliberately, or rotate after creating the array.

Can I array text or dimensions safely?

You can, but be careful: annotative or dimension objects may not behave as expected when arrayed (scale/annotation scale issues). Test a small sample and prefer block references for grouped annotation.

How can I distribute objects along a curved path instead of a grid?

Use ARRAY PATH (the Path option of the ARRAY command) to place items along a selected curve. For varying spacing use DIVIDE/MEASURE or advanced scripting.

The ARRAY command is slow with many items — how can I improve performance?

Convert repeating geometry to blocks, reduce viewport regen by switching display modes or layers off, and avoid exploding large arrays. If possible, create a lower-detail representation for distant objects.

I can’t find ARRAYRECT on my AutoCAD — what should I do?

Use the ARRAY command and pick Rectangular. Legacy aliases like ARRAYRECT may not be present in every setup. You can also check the alias file (acad.pgp) to add or restore an alias.