Arc

ARC (DXF Reference) center at location dxf.center and radius of dxf.radius from dxf.start_angle to dxf.end_angle. ARC goes always from dxf.start_angle to dxf.end_angle in counter clockwise orientation around the dxf.extrusion vector, which is (0, 0, 1) by default and the usual case for 2D arcs.

Subclass of ezdxf.entities.Circle
DXF type 'ARC'
Factory function ezdxf.layouts.BaseLayout.add_arc()
Inherited DXF attributes Common graphical DXF attributes

Warning

Do not instantiate entity classes by yourself - always use the provided factory functions!

class ezdxf.entities.Arc
dxf.center

Center point of arc (2D/3D Point in OCS)

dxf.radius

Radius of arc (float)

dxf.start_angle

Start angle in degrees (float)

dxf.end_angle

End angle in degrees (float)

start_point

Returns the start point of the arc in WCS, takes OCS into account.

end_point

Returns the end point of the arc in WCS, takes OCS into account.

angles(num: int) → Iterable[float]

Returns num angles from start- to end angle in degrees in counter clockwise order.

All angles are normalized in the range from [0, 360).

flattening(sagitta: float) → Iterator[ezdxf.math._vector.Vec3]

Approximate the arc by vertices in WCS, argument segment is the max. distance from the center of an arc segment to the center of its chord.

transform(m: ezdxf.math._matrix44.Matrix44) → ezdxf.entities.arc.Arc

Transform ARC entity by transformation matrix m inplace.

Raises NonUniformScalingError() for non uniform scaling.

to_ellipse(replace=True) → Ellipse

Convert CIRCLE/ARC to an Ellipse entity.

Adds the new ELLIPSE entity to the entity database and to the same layout as the source entity.

Parameters:replace – replace (delete) source entity by ELLIPSE entity if True
to_spline(replace=True) → Spline

Convert CIRCLE/ARC 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
construction_tool() → ezdxf.math.arc.ConstructionArc

Returns 2D construction tool ezdxf.math.ConstructionArc, ignoring the extrusion vector.

apply_construction_tool(arc: ezdxf.math.arc.ConstructionArc) → ezdxf.entities.arc.Arc

Set ARC data from construction tool ezdxf.math.ConstructionArc, will not change the extrusion vector.