Draft Scale

Description
This tool scales selected object(s) around a base point. If no object is selected, you will be invited to select one.



How to use

 * 1) Select objects you wish to scale
 * 2) Press the  button, or press  then  keys
 * 3) Click a first point on the 3D view, or type a coordinate
 * 4) Click another point on the 3D view, or type a coordinate

Options

 * To enter coordinates manually, simply enter the numbers, then press between each X, Y and Z component.
 * The x, y and z components of the second point define the scale factor. For example, (1,1,1) would do nothing, (2,2,2) would scale 2x in all directions, (-1,1,1) would mirror in x direction.
 * Pressing or  or clicking the  button will make a copy of the objects, instead of scaling the original. If you keep  pressed after clicking the second point, you will be able to place more copies, until you release the  key.
 * Press while drawing to force snapping your point to the nearest snap location, independently of the distance.
 * Pressing will lock x and y values together, so the shape is not deformed.
 * Press or the  button to abort the current command.
 * The resulting object is a Draft Clone, which allows you to change the scale values after it has been created.

Scripting
The Scale tool can by used in macros and from the python console by using the following function:

scale (objects,vector,[center,copy,legacy]): Scales the objects contained in objects (that can be a list of objects or an object) of the given scale factors defined by the given vector (in X, Y and Z directions) around the given center. If legacy is True, direct (old) mode is used, otherwise a parametric copy is made. If copy is True, the actual objects are not moved, but copies are created instead. The objects (or their copies) are returned.

Example:

import FreeCAD,Draft Draft.scale(FreeCAD.ActiveDocument.ActiveObject,FreeCAD.Vector(2,2,2))