# Arc¶

class `rhino3dm.``Arc`
`Arc`(circle, angleRadians)

Initializes a new instance of an arc from a base circle and an angle.

Parameters: circle (Circle) – Circle to base arc upon. angleRadians (float) – Sweep angle of arc (in radians)
`Arc`(center, radius, angleRadians)

Initializes a new horizontal arc at the given center point, with a custom radius and angle.

Parameters: center (rhino3dm.Point3d) – Center point of arc. radius (float) – Radius of arc. angleRadians (float) – Sweep angle of arc (in radians)
`Arc`(startPoint, pointOnInterior, endPoint)

Initializes a new arc through three points. If the points are coincident or co-linear, this will result in an Invalid arc.

Parameters: startPoint (rhino3dm.Point3d) – Start point of arc. pointOnInterior (rhino3dm.Point3d) – Point on arc interior. endPoint (rhino3dm.Point3d) – End point of arc.
`Arc`(pointA, tangentA, pointB)

Initializes a new arc from end points and a tangent vector. If the tangent is parallel with the endpoints this will result in an Invalid arc.

Parameters: pointA (rhino3dm.Point3d) – Start point of arc. tangentA (rhino3dm.Vector3d) – Tangent at start of arc. pointB (rhino3dm.Point3d) – End point of arc.
`IsValid`

bool: Gets a value indicating whether or not this arc is valid. Detail: Radius>0 and 0<AngleRadians()<=2*Math.Pi.

`IsCircle`

bool: Gets a value indicating whether or not this arc is a complete circle.

`Radius`

float: Gets or sets the radius of this arc.

`Diameter`

float: Gets or sets the Diameter of this arc.

`Center`

rhino3dm.Point3d: Gets or sets the center point for this arc.

`Circumference`

float: Gets the circumference of the circle that is coincident with this arc.

`Length`

float: Gets the length of the arc. (Length = Radius * (subtended angle in radians)).

`StartPoint`

rhino3dm.Point3d: Gets the start point of the arc.

`MidPoint`

rhino3dm.Point3d: Gets the mid-point of the arc.

`EndPoint`

rhino3dm.Point3d: Gets the end point of the arc.

`AngleDomain`

rhino3dm.Interval: Gets or sets the angle domain (in Radians) of this arc.

`StartAngle`

float: Gets or sets the start angle (in Radians) for this arc segment.

`EndAngle`

float: Gets or sets the end angle (in Radians) for this arc segment.

`AngleRadians`
`StartAngleDegrees`

float: Gets or sets the start angle (in Radians) for this arc segment.

`EndAngleDegrees`

float: Gets or sets the end angle (in Radians) for this arc segment.

`AngleDegrees`

float: Gets or sets the sweep -or subtended- angle (in Radians) for this arc segment.

`Trim`(domain)

Sets arc’s angle domain (in radians) as a sub-domain of the circle.

Parameters: domain (rhino3dm.Interval) – 0 < domain[1] - domain[0] <= 2.0 * RhinoMath.Pi. True on success, False on failure. bool
`BoundingBox`()

Computes the 3D axis aligned bounding box for this arc.

Returns: Bounding box of arc. rhino3dm.BoundingBox
`PointAt`(t)

Gets the point at the given arc parameter.

Parameters: t (float) – Arc parameter to evaluate. The point at the given parameter. rhino3dm.Point3d
`TangentAt`(t)

Gets the tangent at the given parameter.

Parameters: t (float) – Parameter of tangent to evaluate. The tangent at the arc at the given parameter. rhino3dm.Vector3d
`ClosestParameter`(testPoint)

Gets parameter on the arc closest to a test point.

Parameters: testPoint (rhino3dm.Point3d) – Point to get close to. Parameter (in radians) of the point on the arc that is closest to the test point. If testPoint is the center of the arc, then the starting point of the arc is (arc.Domain()[0]) returned. If no parameter could be found, RhinoMath.UnsetValue is returned. float
`ClosestPoint`(testPoint)

Computes the point on an arc that is closest to a test point.

Parameters: testPoint (rhino3dm.Point3d) – Point to get close to. The point on the arc that is closest to testPoint. If testPoint is the center of the arc, then the starting point of the arc is returned. UnsetPoint on failure. rhino3dm.Point3d
`Reverse`()

Reverses the orientation of the arc. Changes the domain from [a,b] to [-b,-a].

Return type: void
`Transform`(xform)

Transforms the arc using a Transformation matrix.

Parameters: xform (Transform) – Transformations to apply. Note that arcs cannot handle non-euclidean transformations. True on success, False on failure. bool
`ToNurbsCurve`()

Initializes a nurbs curve representation of this arc. This amounts to the same as calling NurbsCurve.CreateFromArc().

Returns: A nurbs curve representation of this arc or None if no such representation could be made. rhino3dm.NurbsCurve