This class located in module ezdxf.algebra:

from ezdxf.algebra import Arc

Arc

class ezdxf.algebra.Arc

This is a helper class to create parameters for the DXF Arc class.

Arc.center

Center point as Vector

Arc.radius

Arc radius

Arc.start_angle

Start angle of arc in degrees.

Arc.start_angle_rad

Start angle of arc in radians.

Arc.end_angle

End angle of arc in degrees.

Arc.end_angle_rad

End angle of arc in radians.

Class Methods

Arc.from_2p_angle(start_point, end_point, angle, ccw=True)

Create arc from two points and enclosing angle. Arc goes by default in counter clockwise orientation from start_point to end_point, can be changed by ccw =False. Z-axis of start_point and end_point has to be 0 if given.

Parameters:
  • start_point – start point as (x, y [,z]) tuple
  • end_point – end point as (x, y [,z]) tuple
  • angle (float) – enclosing angle in degrees
  • ccw (bool) – counter clockwise orientation
Return:

new Arc

Arc.from_2p_radius(start_point, end_point, radius, ccw=True, center_is_left=True)

Create arc from two points and arc radius. Arc goes by default in counter clockwise orientation from start_point to end_point, can be changed by ccw =False. Z-axis of start_point and end_point has to be 0 if given.

The parameter center_is_left defines if the center of the arc is left or right of the line start point -> end point. Parameter ccw =False swaps start- and end point, which inverts the meaning of center_is_left.

Parameters:
  • start_point – start point as (x, y [,z]) tuple
  • end_point – end point as (x, y [,z]) tuple
  • radius (float) – arc radius
  • ccw (bool) – counter clockwise orientation
  • center_is_left (bool) – center point of arc is left of line start point -> end point if True, else on the right side of this line
Return:

new Arc

Arc.from_3p(start_point, end_point, def_point, ccw=True)

Create arc from three points. Arc goes by default in counter clockwise orientation from start_point to end_point, can be changed by ccw =False. Z-axis of start_point, end_point and def_point has to be 0 if given.

Parameters:
  • start_point – start point as (x, y [,z]) tuple
  • end_point – end point as (x, y [,z]) tuple
  • def_point – additional definition point as (x, y [,z]) tuple
  • ccw (bool) – counter clockwise orientation
Return:

new Arc

Methods

Arc.add_to_layout(layout, ucs=None, dxfattribs=None)

Add arc as DXF entity to a layout.

Supports 3D arcs by using an UCS. An arc is always defined in the xy-plane, by using an arbitrary UCS, the arc can be placed in 3D space, automatically OCS transformation included.

Parameters:
  • layout – destination layout (model space, paper space or block)
  • ucsUCS definition for arc properties transformation to OCS, None for 2D arcs
  • dxfattribs (dict) – usual DXF attributes supported by Arc
Return:

DXF Arc object