---
GuiCommand:
Name: Draft Rotate
MenuLocation: Modification , Rotate
Workbenches: Draft_Workbench, Arch_Workbench
Shortcut: **R** **O**
Version: 0.7
SeeAlso: Draft_SubelementHighlight
---
The Draft Rotate command rotates or copies selected objects around a center point by a given angle. In subelement mode the command rotates selected points and edges, or copies selected edges, of Draft Lines and Draft Wires.
The command can be used on 2D objects created with the Draft Workbench or Sketcher Workbench, but also on many 3D objects such as those created with the Part Workbench, PartDesign Workbench or Arch Workbench.
*Rotating an object around a center point*See also: Draft Snap and Draft Constrain.
- Optionally select one or more objects, or one or more subelements of Draft Lines or Draft Wires.
- There are several ways to invoke the command:
- Press the Rotate button.
- Select the Modification → Rotate option from the menu.
- Use the keyboard shortcut: R then O.
- If you have not yet selected an object: select an object in the 3D view.
- The Rotate task panel opens. See Options for more information.
- If subelements have been selected: check the Modify subelements checkbox to switch on subelement mode.
- Pick the first point, the center of rotation, in the 3D view, or type coordinates and press the Enter point button.
- Pick the second point in the 3D view, or enter a Base angle.
- Pick the third point in the 3D view, or enter a Rotation.
The single character keyboard shortcuts available in the task panel can be changed. See Draft Preferences. The shortcuts mentioned here are the default shortcuts (for version 0.22).
- To manually enter the coordinates for the center of rotation enter the X, Y and Z component, and press Enter after each. Or you can press the Enter point button when you have the desired values. It is advisable to move the pointer out of the 3D view before entering coordinates.
- Press G or click the Global checkbox to toggle global mode. If global mode is on, coordinates are relative to the global coordinate system, else they are relative to the working plane coordinate system. (v0.20)
- Press N or click the Continue checkbox to toggle continue mode. If continue mode is on, the command will restart after finishing. This mode really only makes sense if copy mode is switched on. Depending on the Select base objects after copying preference, either the original objects are selected for the next command call or the copies that were created last. See Preferences.
- Press C or click the Copy checkbox to toggle copy mode. If copy mode is on, the command will create rotated copies instead of rotating the original objects.
- Press B or click the Modify subelements checkbox to toggle subelement mode. If subelement mode is on, the command will use the selected subelements instead of the whole objects. The subelements must belong to Draft Lines or Draft Wires.
- If copy mode and subelement mode are both on, and edges of Draft Wires are selected, new wires will be created from those edges.
- Holding down Alt after entering the Base angle will also toggle copy mode. While Alt is held down multiple points can be picked for the Rotation. Release Alt to finish the command and see the created copies.
- Press S to switch Draft snapping on or off.
- Press Esc or the Close button to abort the command.
- An Object that is attached cannot be rotated with the Draft Rotate command. To rotate it either its Support object has to be rotated, or its Attachment Offset has to be changed.
See also: Preferences Editor and Draft Preferences.
- To reselect the base objects after copying objects: Edit → Preferences... → Draft → General → Select base objects after copying.
See also: Autogenerated API documentation and FreeCAD Scripting Basics.
To rotate objects use the rotate
method of the Draft module.
rotated_list = rotate(objectslist, angle, center=Vector(0,0,0), axis=Vector(0,0,1), copy=False)
-
objectslist
contains the objects to be rotated. It is either a single object or a list of objects. -
angle
is the angle of rotation in degrees. -
center
is the center point of rotation. -
axis
is the direction of the axis of rotation. -
If
copy
isTrue
copies are created instead of rotating the original objects. -
rotated_list
is returned with the original rotated objects, or with the new copies. It is either a single object or a list of objects, depending onobjectlist
.
Example:
import FreeCAD as App
import Draft
doc = App.newDocument()
polygon1 = Draft.make_polygon(3, radius=300)
Draft.move(polygon1, App.Vector(1000, 0, 0))
# Rotation around the origin
angle1 = 45
rot2 = Draft.rotate(polygon1, angle1, copy=True)
rot3 = Draft.rotate(polygon1, 2*angle1, copy=True)
rot4 = Draft.rotate(polygon1, 4*angle1, copy=True)
polygon2 = Draft.make_polygon(3, radius=1000)
polygon3 = Draft.make_polygon(5, radius=500)
Draft.move(polygon2, App.Vector(2000, 0, 0))
Draft.move(polygon3, App.Vector(2000, 0, 0))
# Rotation around another point
angle2 = 60
cen = App.Vector(3100, 0, 0)
list2 = [polygon2, polygon3]
rot_list2 = Draft.rotate(list2, angle2, center=cen, copy=True)
rot_list3 = Draft.rotate(list2, 2*angle2, center=cen, copy=True)
rot_list4 = Draft.rotate(list2, 4*angle2, center=cen, copy=True)
doc.recompute()
⏵ documentation index > Draft > Draft Rotate