Draft Rotate
Draft Rotate |
Menu location |
---|
Modification → Rotate |
Workbenches |
Draft, Arch |
Default shortcut |
R O |
Introduced in version |
0.7 |
See also |
Draft Move, Draft Array |
Description
The Rotate tool rotates or copies the selected objects by a given angle around a reference point.
The Rotate 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 move without rotation, use Draft Move. To produce various copies in different arrangements use Draft Array, Draft PathArray and Draft PointArray.
Rotating one object using a center reference point, from one reference angle to another angle
Usage
- Select the objects that you wish to move or copy.
- Press the Draft Rotate button, or press R then O keys. If no object is selected, you will be invited to select one.
- Click a first point on the 3D view, or type a coordinate and press the add point button. This serves as the base point of the operation, through which the axis of rotation will pass.
- Click a second point on the 3D view, or type a base angle. This defines a baseline that will rotate around the first point.
- Click a third point on the 3D view, or type a rotation angle. This indicates the rotation of the baseline, and thus the objects.
Limitations
When rotating 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.
Options
- 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 add point button when you have the desired values to insert the point.
- Press T or click the checkbox to toggle continue mode. If continue mode is on, the Rotate tool will restart after you finish the operation, allowing you to rotate 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 Rotate tool will keep the original shape in its place but will make a copy at the set angle set by the third 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 second point to also toggle copy mode. Keeping Alt pressed after clicking on the third point will allow you to continue placing copies using the same rotation base point and baseline; release Alt to finish the operation and see all copies.
- Hold Ctrl while rotating to force snapping your point to the nearest snap location, independently of the distance.
- Hold Shift while rotating to constrain your next point horizontally or vertically in relation to the rotation base point.
- Press Esc or the Close button to abort the current command; copies already placed will remain.
Scripting
See also: Autogenerated API documentation and FreeCAD Scripting Basics.
To rotate objects use the rotate
method of the Draft module.
rotatedlist = rotate(objectslist, angle, center=Vector(0,0,0), axis=Vector(0,0,1), copy=False)
objectslist
contains the objects to be rotated.objectslist
is either a single object or a list of objects.
angle
indicates the rotation in degrees.center
indicates the center point of rotation.- If omitted the origin of the global coordinate system is used.
axis
indicates the direction of the axis of rotation.- If omitted the Z axis of the global coordinate system is used.
- If
copy
isTrue
copies are created instead of rotating the original objects. rotatedlist
is returned with the original rotated objects, or with the new copies.rotatedlist
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()
- Drafting: Line, Polyline, Fillet, Arc, Arc by 3 points, Circle, Ellipse, Rectangle, Polygon, B-spline, Cubic Bézier curve, Bézier curve, Point, Facebinder, ShapeString, Hatch
- Annotation: Text, Dimension, Label, Annotation styles, Annotation scale
- Modification: Move, Rotate, Scale, Mirror, Offset, Trimex, Stretch, Clone, Array, Polar array, Circular array, Path array, Path link array, Point array, Point link array, Edit, Subelement highlight, Join, Split, Upgrade, Downgrade, Wire to B-spline, Draft to sketch, Set slope, Flip dimension, Shape 2D view
- Draft Tray: Select plane, Set style, Toggle construction mode, AutoGroup
- Snapping: Snap lock, Snap endpoint, Snap midpoint, Snap center, Snap angle, Snap intersection, Snap perpendicular, Snap extension, Snap parallel, Snap special, Snap near, Snap ortho, Snap grid, Snap working plane, Snap dimensions, Toggle grid
- Miscellaneous: Apply current style, Layer, Manage layers, Add a new named group, Move to group, Select group, Add to construction group, Toggle normal/wireframe display, Create working plane proxy, Heal, Show snap toolbar
- Additional: Constraining, Pattern, Preferences, Import Export Preferences, DXF/DWG, SVG, OCA, DAT
- Context menu:
- Layer container: Merge layer duplicates, Add new layer
- Layer: Activate this layer, Select layer contents
- Text: Open hyperlinks
- Wire: Flatten
- Working plane proxy: Write camera position, Write objects state
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Assembly, BIM, CAM, Draft, FEM, Inspection, Material, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub