Part Ellipse

From FreeCAD Documentation

Part Ellipse

Menu location
Part → Create primitives → Ellipse
Workbenches
Part, OpenSCAD
Default shortcut
None
Introduced in version
-
See also
Part Primitives

Description

A Part Ellipse is a parametric shape that can be created with the Part Primitives command. In the coordinate system defined by its DataPlacement property, the ellipse lies on the XY plane with its center at the origin. Its mayor axis is parallel to the X axis.

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

Usage

See Part Primitives.

Example

Part Ellipse from the scripting example

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

Properties

See also: Property editor.

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

Data

Attachment

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

Base

  • DataMajorRadius (Length): The major radius of the ellipse or elliptical arc. The default is 4mm.
  • DataMinorRadius (Length): The minor radius of the ellipse or elliptical arc. The default is 2mm.
  • DataAngle1 (Angle): The start angle of the elliptical arc. Valid range: 0° < value <= 360°. The default is .
  • DataAngle2 (Angle): The end angle of the elliptical 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 ellipse is created.

Scripting

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

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

ellipse = FreeCAD.ActiveDocument.addObject("Part::Ellipse", "myEllipse")
  • Where "myEllipse" is the name for the object.
  • The function returns the newly created object.

Example:

import FreeCAD as App

doc = App.activeDocument()

ellipse = doc.addObject("Part::Ellipse", "myEllipse")
ellipse.MajorRadius = 20
ellipse.MinorRadius = 10
ellipse.Angle1 = 45
ellipse.Angle2 = 135
ellipse.Placement = App.Placement(App.Vector(1, 2, 3), App.Rotation(30, 45, 10))

doc.recompute()