# Draft Array

## Draft Array |

Menu location |
---|

Draft → Array |

Workbenches |

Draft, Arch |

Default shortcut |

None |

See also |

PathArray |

## Description

The Array tool creates an orthogonal (3-axes) or polar array from a selected object. If no object is selected, you will be invited to select one.

## How to use

- Select an object you wish to make an array with
- Press the Draft Array button
- Select DATA
**Array Type**: Specifies the type of the array, ortho or polar - For orthogonal arrays:
- DATA
**Interval X**: The interval between each copy on the first axis - DATA
**Interval Y**: The interval between each copy on the second axis - DATA
**Interval Z**: The interval between each copy on the third axis - DATA
**Number X**: The number of copies on the first axis - DATA
**Number Y**: The number of copies on the second axis - DATA
**Number Z**: The number of copies on the third axis

- DATA
- For polar arrays:
- DATA
**Axis**: The normal direction of the array circle - DATA
**Center**: The center point of the array - DATA
**Angle**: The angle to cover with copies - DATA
**Number Polar**: The number of copies

- DATA

## Scripting

The Array tool can by used in macros and from the python console by using one of the following functions, depending if you wish to obtain simple, standalone copies of your base object, or a parametric array object, that stays linked to the original object.

### Simple array

For rectangular array:

array (objectslist,xvector,yvector,xnum,ynum) array (objectslist,xvector,yvector,zvector,xnum,ynum,znum)

For polar array:

array (objectslist,center,totalangle,totalnum)

- Creates an array of the objects contained in list (that can be an object or a list of objects) with, in case of rectangular array, xnum of iterations in the x direction at xvector distance between iterations, and same for y direction with yvector and ynum, and same for z direction with zvector and znum if that version is used. In case of polar array, center is a vector, totalangle is the angle to cover (in degrees) and totalnum is the number of objects, including the original.
- This function produces standalone copies of the base object(s)

### Parametric array

For rectangular array:

makeArray (object,xvector,yvector,xnum,ynum,[name]) makeArray (object,xvector,yvector,zvector,xnum,ynum,znum,[name])

For polar array:

makeArray (object,center,totalangle,totalnum,[name])

- Creates an array of the given object with, in case of rectangular array, xnum of iterations in the x direction at xvector distance between iterations, and same for y direction with yvector and ynum, and for zvector and znum if that version is used. In case of polar array, center is a vector, totalangle is the angle to cover (in degrees) and totalnum is the number of objects, including the original.
- The result of this function is a parametric Draft Array object.

Example:

import FreeCAD,Draft Draft.array(FreeCAD.ActiveDocument.ActiveObject,FreeCAD.Vector(2,0,0),FreeCAD.Vector(0,2,0),2,2)