Ellipse
The ELLIPSE entity (DXF Reference) is an elliptic 3D curve defined by the DXF
attributes dxf.center
, the dxf.major_axis
vector and the
dxf.extrusion
vector.
The dxf.ratio
attribute is the ratio of minor axis to major axis and has
to be smaller or equal 1. The dxf.start_param
and dxf.end_param
attributes defines the starting- and the end point of the ellipse, a full
ellipse goes from 0 to 2π. The curve always goes from start- to end
param in counter clockwise orientation.
The dxf.extrusion
vector defines the normal vector of the ellipse plane.
The minor axis direction is calculated by dxf.extrusion
cross
dxf.major_axis
. The default extrusion vector (0, 0, 1) defines an ellipse
plane parallel to xy-plane of the WCS.
All coordinates and vectors in WCS.
See also
Subclass of |
|
DXF type |
|
factory function |
|
Inherited DXF attributes |
|
Required DXF version |
DXF R2000 ( |
- class ezdxf.entities.Ellipse
-
- dxf.major_axis
Endpoint of major axis, relative to the
dxf.center
(Vec3), default value is (1, 0, 0).
- dxf.ratio
Ratio of minor axis to major axis (float), has to be in range from 0.000001 to 1.0, default value is 1.
- dxf.start_param
Start parameter (float), default value is 0.
- dxf.end_param
End parameter (float), default value is 2π.
- start_point
Returns the start point of the ellipse in WCS.
- end_point
Returns the end point of the ellipse in WCS.
- minor_axis
Returns the minor axis of the ellipse as
Vec3
in WCS.
- construction_tool() ConstructionEllipse
Returns construction tool
ezdxf.math.ConstructionEllipse
.
- apply_construction_tool(e: ConstructionEllipse) Ellipse
Set ELLIPSE data from construction tool
ezdxf.math.ConstructionEllipse
.
- vertices(params: Iterable[float]) Iterable[Vec3]
Yields vertices on ellipse for iterable params in WCS.
- Parameters:
params – param values in the range from 0 to 2π in radians, param goes counter-clockwise around the extrusion vector, major_axis = local x-axis = 0 rad.
- flattening(distance: float, segments: int = 8) Iterable[Vec3]
Adaptive recursive flattening. The argument segments is the minimum count of approximation segments, if the distance from the center of the approximation segment to the curve is bigger than distance the segment will be subdivided. Returns a closed polygon for a full ellipse where the start vertex has the same value as the end vertex.
- Parameters:
distance – maximum distance from the projected curve point onto the segment chord.
segments – minimum segment count
- params(num: int) Iterable[float]
Returns num params from start- to end param in counter-clockwise order.
All params are normalized in the range [0, 2π).
- translate(dx: float, dy: float, dz: float) Ellipse
Optimized ELLIPSE translation about dx in x-axis, dy in y-axis and dz in z-axis, returns self (floating interface).
- to_spline(replace=True) Spline
Convert ELLIPSE to a
Spline
entity.Adds the new SPLINE entity to the entity database and to the same layout as the source entity.
- Parameters:
replace – replace (delete) source entity by SPLINE entity if
True
- classmethod from_arc(entity: DXFGraphic) Ellipse
Create a new virtual ELLIPSE entity from an ARC or a CIRCLE entity.
The new entity has no owner, no handle, is not stored in the entity database nor assigned to any layout!