Part Circle

    From FreeCAD Documentation

    Part Circle.svg Part Circle

    Menu location
    Part → Create primitives → Circle
    Part, OpenSCAD
    Default shortcut
    Introduced in version
    See also
    Part Primitives


    A Part Circle.svg Part Circle is a parametric shape that can be created with the Part Primitives.svg Part Primitives command. In the coordinate system defined by its DataPlacement property, the circle lies on the XY plane with its center at the origin.

    A Part Circle is in fact a closed counterclockwise circular arc, it can be turned into an arc by changing its DataAngle1 and/or DataAngle2 properties.

    Part Circle Example.png


    See Part Primitives.

    A Part Circle can alternatively be created by selecting three points:

    1. In the task panel of the Part Primitives.svg Part Primitives command select the Part Circle.svg Circle option from the dropdown list.
    2. Press the From three points button.
    3. Select three vertices in the 3D view. There is no need to hold down the Ctrl key.
    4. A circle is created.
    5. The selected vertices are only used at creation time to calculate the DataRadius and DataPlacement of the circle.


    Part Circle from the scripting example

    A Part Circle object created with the scripting example below is shown here.


    See also: Property editor.

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



    The object has the same attachment properties as a Part Part2DObject.


    • DataRadius (Length): The radius of the circle or circular arc. The default is 2mm.
    • DataAngle1 (Angle): The start angle of the circular arc. Valid range: 0° < value <= 360°. The default is .
    • DataAngle2 (Angle): The end angle of the circular arc. Valid range: 0° < value <= 360°. The default is 360°. If DataAngle1 and DataAngle2 are equal, or if one angle is and the other 360°, a full circle is created.


    See also: Autogenerated API documentation, Part scripting and FreeCAD Scripting Basics.

    A Part Circle can be created with the addObject() method of the document:

    circle = FreeCAD.ActiveDocument.addObject("Part::Circle", "myCircle")
    • Where "myCircle" is the name for the object.
    • The function returns the newly created object.


    import FreeCAD as App
    doc = App.activeDocument()
    circle = doc.addObject("Part::Circle", "myCircle")
    circle.Radius = 10
    circle.Angle1 = 45
    circle.Angle2 = 225
    circle.Placement = App.Placement(App.Vector(1, 2, 3), App.Rotation(30, 45, 10))