Draft Ellipse

From FreeCAD Documentation

Draft Ellipse

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


The Draft Ellipse command creates an ellipse on the current working plane from two points defining a rectangle in which the ellipse will fit.

A Draft Ellipse can be turned into an elliptical arc by setting its DataFirst Angle and DataLast Angle properties to different values.

Ellipse defined by the corners of a rectangle


See also: Draft Tray, Draft Snap and Draft Constrain.

  1. There are several ways to invoke the command:
    • Press the Ellipse button.
    • Select the Drafting → Ellipse option from the menu.
    • Use the keyboard shortcut: E then L.
  2. The Ellipse task panel opens. See Options for more information.
  3. Pick the first point in the 3D view, or type coordinates and press the Enter point button.
  4. Pick the second point in the 3D view, or type coordinates and press the Enter point button. This point must not be constrained to the X, Y or Z axis.


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 coordinates 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 R or click the Relative checkbox to toggle relative mode. If relative mode is on, the coordinates of the second point are relative to the first point, else they are relative to the coordinate system origin.
  • 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. introduced in version 0.20
  • Press F or click the Filled checkbox to toggle filled mode. If filled mode is on, the created ellipse will have DataMake Face set to true and will have a filled face.
  • Press N or click the Continue checkbox to toggle continue mode. If continue mode is on, the command will restart after finishing, allowing you to continue creating ellipses.
  • Press S to switch Draft snapping on or off.
  • Press Esc or the Close button to abort the command.


  • A Draft Ellipse can be edited with the Draft Edit command.


See also: Preferences Editor and Draft Preferences.

  • If the Edit → Preferences... → Draft → General → Create Part primitives if possible option is checked, the command will create a Part Ellipse instead of a Draft Ellipse.


See also: Property editor.

A Draft Ellipse object is derived from a Part Part2DObject and inherits all its properties. It also has the following additional properties:



  • DataArea (Area): (read-only) specifies the area of the face of the ellipse. The value will be 0.0 if DataMake Face if false or the face cannot be created.
  • DataFirst Angle (Angle): specifies the angle of the first point of the ellipse, normally .
  • DataLast Angle (Angle): specifies the angle of the last point of the ellipse, normally .
  • DataMajor Radius (Length): specifies the major radius of the ellipse.
  • DataMake Face (Bool): specifies if the ellipse makes a face or not. If it is true a face is created, otherwise only the perimeter is considered part of the object. This property only works if the shape is a full ellipse.
  • DataMinor Radius (Length): specifies the minor radius of the ellipse.



  • ViewPattern (Enumeration): specifies the Draft Pattern with which to fill the face of the ellipse. This property only works if DataMake Face is true and if ViewDisplay Mode is Flat Lines.
  • ViewPattern Size (Float): specifies the size of the Draft Pattern.


See also: Autogenerated API documentation and FreeCAD Scripting Basics.

To create a Draft Ellipse use the make_ellipse method (introduced in version 0.19) of the Draft module. This method replaces the deprecated makeEllipse method.

ellipse = make_ellipse(majradius, minradius, placement=None, face=True, support=None)
  • Creates an ellipse object with given major (majradius) and minor (minradius) radius in millimeters.
    • The bigger value will be used for the major radius (X axis) if no other placement is given.
  • If placement is None the ellipse is created at the origin.
  • If face is True, the ellipse will make a face, that is, it will appear filled.


import FreeCAD as App
import Draft

doc = App.newDocument()

ellipse1 = Draft.make_ellipse(3000, 200)
ellipse2 = Draft.make_ellipse(700, 1000)

zaxis = App.Vector(0, 0, 1)
p3 = App.Vector(1000, 1000, 0)
place3 = App.Placement(p3, App.Rotation(zaxis, 90))

ellipse3 = Draft.make_ellipse(700, 1000, placement=place3)