Draft Circle

From FreeCAD Documentation
Revision as of 03:38, 10 November 2018 by Vocx (talk | contribs) (Mention Draft Ellipse)
Jump to navigation Jump to search
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎italiano • ‎polski • ‎română • ‎svenska • ‎čeština • ‎русский • ‎中文(中国大陆)‎

Draft Circle.svg Draft Circle

Menu location
Draft → Circle
Draft, Arch
Default shortcut
Introduced in version
See also
Draft Arc, Draft Ellipse


The Circle tool creates a circle in the current work plane by entering two points, the center and the radius, or by picking tangents, or any combination of those. It uses the Draft Linestyle set on the Draft Tray.

This tool works the same way as the Draft Arc tool, except that it creates a full circumference. To draw an ellipse use Draft Ellipse.

Draft Circle example.jpg

How to use

  1. Press the Draft Circle.png Draft Circle button, or press C then I keys
  2. Click a first point on the 3D view, or type a coordinate
  3. Click a second point on the 3D view, or enter a radius value.

The circle can be turned into an arc after creation, by setting its first angle and last angle properties to different values.


  • The primary use of the circle tool is by picking two points, the centre and a point on the circumference.
    • By pressing Alt, you can select a tangent instead of picking a point. You can therefore construct several types of circles by selecting one, two or three tangents.
  • To enter coordinates manually, simply enter the numbers, then press Enter between each X, Y and Z component.
  • Press T or click the checkbox to toggle continue mode. If continue mode is on, the Circle tool will restart after you finish the circle, allowing you to draw another one without pressing the tool button again.
  • Press L or click the checkbox to toggle filled mode. If filled mode is on, the circle will create a filled face (DataMake Face true); if not, the circle will not make a face (DataMake Face false).
  • Press Ctrl while drawing to force snapping your point to the nearest snap location, independently of the distance.
  • Press Shift while drawing to constrain your second point horizontally or vertically in relation to the first one.
  • Press Esc or the Cancel button to abort the current command.


A Circle object shares all properties from a Draft Arc, but some properties only make sense for the circle.


  • DataFirst Angle: specifies the starting angle of the circle; normally 0°.
  • DataLast Angle: specifies the ending angle of the circle; normally 0°.
  • DataRadius: specifies the radius of the circle.
  • DataMake Face: specifies if the Circle makes a face or not. If it is true a face is created, otherwise only the circumference is considered part of the object. This property only works if the shape is a full circumference.
For it to be a full circle DataFirst Angle and DataLast Angle should have the same value; otherwise, a Draft Arc is displayed. The values 0° and 360° aren't considered the same, so if these two values are used, the circle will not form a face.


  • ViewPattern: specifies a Draft Pattern with which to fill the face of the circle. This property only works if DataMake Face is true, and if ViewDisplay Mode is "Flat Lines".
  • ViewPattern Size: specifies the size of the Draft Pattern.


See also: FreeCAD Scripting Basics, Draft API, and the autogenerated API documentation.

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

Circle = makeCircle(radius, placement=None, face=None, startangle=None, endangle=None, support=None)
Circle = makeCircle(Part.Edge, placement=None, face=None, startangle=None, endangle=None, support=None)
  • Creates a Circle object with given radius in millimeters
    • radius can also be a Part.Edge, whose Curve attribute must be a Part.Circle
  • If a placement is given, it is used; otherwise the shape is created at the origin.
  • If face is True, the circle will make a face, that is, it will appear filled.
  • If startangle and endangle are given in degrees, and have different values, they are used and the object appears as a Draft Arc.


import FreeCAD, Draft

Circle1 = Draft.makeCircle(200)

ZAxis = FreeCAD.Vector(0, 0, 1)
p2 = FreeCAD.Vector(1000, 1000, 0)
place2 = FreeCAD.Placement(p2, FreeCAD.Rotation(ZAxis, 0))
Circle2 = Draft.makeCircle(500, placement=place2)

p3 = FreeCAD.Vector(-1000, -1000, 0)
place3 = FreeCAD.Placement(p3, FreeCAD.Rotation(ZAxis, 0))
Circle3 = Draft.makeCircle(750, placement=place3)