Draft Move

From FreeCAD Documentation
Jump to navigation Jump to search
This page contains changes which are not marked for translation.
Under construction icon-blue.svg
This documentation is work in progress. Please don't mark it as translatable since it will change the next hours and days.
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎italiano • ‎polski • ‎română • ‎svenska • ‎čeština • ‎русский

Draft Move.svg Draft Move

Menu location
Modification → Move
Draft, Arch
Default shortcut
Introduced in version
See also
Draft Array, Draft PathArray


The Move tool moves or copies the selected objects from one point to another.

The Move tool can be used on 2D shapes created with the Draft Workbench or Sketcher Workbench, but can also be used on many types of 3D objects such as those created with the Part Workbench or Arch Workbench.

To produce various copies in different arrangements use Draft Array, Draft PathArray and Draft PointArray.

Draft Move example.jpg

Moving an object from one point to another point


  1. Select the objects that you wish to move or copy.
  2. Press the Draft Move.svg Draft Move button, or press M then V keys. If no object is selected, you will be invited to select one.
  3. Click a first point on the 3D view, or type a coordinate and press the Draft AddPoint.svg add point button. This serves as the base point of the operation.
  4. Click another point on the 3D view, or type a coordinate and press the Draft AddPoint.svg add point button. This is the new position of the base point.


When moving an object that is based on a Sketcher Sketch, for example, a feature created with the PartDesign Workbench (Pad, Revolution, etc.) you must move the original sketch. If you move the derived object, it will just go back to the position defined by the sketch.


  • Press X, Y or Z after a point to constrain the next point on the given axis.
  • To enter coordinates manually, simply enter the numbers, then press Enter between each X, Y and Z component. You can press the Draft AddPoint.svg add point button when you have the desired values to insert the point.
  • Press R or click the checkbox to toggle relative mode. If relative mode is on, the coordinates of the next point are relative to the last one; if not, they are absolute, taken from the origin (0,0,0).
  • Press T or click the checkbox to toggle continue mode. If continue mode is on, the Move tool will restart after you finish the operation, allowing you to move or copy the objects again without pressing the tool button again.
  • Press P or click the checkbox to toggle copy mode. If copy mode is on, the Move tool will keep the original shape in its place but will make a copy at the second point.
You can use both T and P to place several copies in sequence. In this case, the duplicated element is the last placed copy.
  • Hold Alt after the first point to also toggle copy mode. Keeping Alt pressed after clicking on the second point will allow you to continue placing copies; release Alt to finish the operation and see all copies.
  • Hold Ctrl while moving to force snapping your point to the nearest snap location, independently of the distance.
  • Hold Shift while moving to constrain your next point horizontally or vertically in relation to the last one.
  • Press Esc or the Close button to abort the current command; copies already placed will remain.


See also: Autogenerated API documentation and FreeCAD Scripting Basics.

The Move tool can be used in macros and from the Python console by using the following function:

movedlist = move(objectslist, vector, copy=False)
  • Moves the base point of the objects in objectslist by the displacement and direction indicated by vector.
    • objectslist is either a single object or a list of objects.
The displacement vector is relative to the base point of the object, which means that if an object is moved 2 units, and then another 2 units, it will have moved 4 units in total from its original position.
  • If copy is True copies are created instead of moving the original objects.
  • movedlist is returned with the original moved objects, or with the new copies.
    • movedlist is either a single object or a list of objects, depending on the input objectslist.


import FreeCAD, Draft

Polygon1 = Draft.makePolygon(5, radius=1000)
Polygon2 = Draft.makePolygon(3, radius=500)
Polygon3 = Draft.makePolygon(6, radius=220)

Draft.move(Polygon1, FreeCAD.Vector(500, 500, 0))
Draft.move(Polygon1, FreeCAD.Vector(500, 500, 0))
Draft.move(Polygon2, FreeCAD.Vector(1000, -1000, 0))
Draft.move(Polygon3, FreeCAD.Vector(-500, -500, 0))

List1 = [Polygon1, Polygon2, Polygon3]

vector = FreeCAD.Vector(-2000, -2000, 0)
List2 = Draft.move(List1, vector, copy=True)
List3 = Draft.move(List1, -2*vector, copy=True)