Draft Polygon

From FreeCAD Documentation

Draft Polygon

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


The Draft Polygon command creates a regular polygon on the current working plane from a center and a radius. The radius can be defined by picking a point.

A Draft Polygon can be switched from inscribed to circumscribed by changing its DataDraw Mode property. The corners of a Draft Polygon can be filleted (rounded) or chamfered by changing its DataFillet Radius or DataChamfer Size respectively.

Regular polygon defined by two points, center and radius


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

  1. There are several ways to invoke the command:
    • Press the Polygon button.
    • Select the Drafting → Polygon option from the menu.
    • Use the keyboard shortcut: P then G.
  2. The Polygon task panel opens. See Options for more information.
  3. Adjust the desired number of Sides.
  4. Pick the first point, the center of the polygon, in the 3D view, or type coordinates and press the Enter point button.
  5. Pick the second point in the 3D view, or enter a Radius.


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 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. introduced in version 0.20
  • Press F or click the Filled checkbox to toggle filled mode. If filled mode is on, the created polygon 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 polygons.
  • Press S to switch Draft snapping on or off.
  • Press Esc or the Close button to abort the command.


  • A Draft Polygon 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 RegularPolygon instead of a Draft Polygon.


See also: Property editor.

A Draft Polygon 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 polygon. The value will be 0.0 if DataMake Face if false.
  • DataChamfer Size (Length): specifies the length of the chamfers at the corners of the polygon.
  • DataDraw Mode (Enumeration): specifies if the polygon is inscribed in a circle or circumscribed around a circle.
  • DataFaces Number (Integer): specifies the number of sides of the polygon.
  • DataFillet Radius (Length): specifies the radius of the fillets at the corners of the polygon.
  • DataMake Face (Bool): specifies if the polygon makes a face or not. If it is true a face is created, otherwise only the perimeter is considered part of the object.
  • DataRadius (Length): specifies the radius of the circle that defines the polygon.



  • ViewPattern (Enumeration): specifies the Draft Pattern with which to fill the face of the polygon. 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 Polygon use the make_polygon method (introduced in version 0.19) of the Draft module. This method replaces the deprecated makePolygon method.

polygon = make_polygon(nfaces, radius=1, inscribed=True, placement=None, face=None, support=None)
  • Creates a polygon object with the given number of faces (nfaces), and based on a circle of radius in millimeters.
  • If inscribed is True, the polygon is inscribed in the circle, otherwise it will be circumscribed.
  • If placement is None the polygon is created at the origin and one of its vertices will lie on the X axis.
  • If face is True, the polygon will make a face, that is, it will appear filled.


import FreeCAD as App
import Draft

doc = App.newDocument()

polygon1 = Draft.make_polygon(4, radius=500)
polygon2 = Draft.make_polygon(5, radius=750)

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

Polygon3 = Draft.make_polygon(6, radius=1450, placement=place3)