Draft Circle

From FreeCAD Documentation
Revision as of 04:09, 6 November 2018 by Vocx (talk | contribs)
Jump to navigation Jump to search
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎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


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 stops after entering the radius.

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 full circle. This property only works if DataMake Face is true.
  • 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.
    • radius can also be a Part.Edge, whose Curve object must be a Part.Circle
  • If a placement is given, it is used.
  • 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 Draft

Circle1 = Draft.makeCircle(200)
Circle2 = Draft.makeCircle(500)
Circle3 = Draft.makeCircle(750)