Arc Structure 
The curve is parameterized by an angle expressed in radians. For an IsValid arc the total subtended angle AngleRadians() = Domain()(1)  Domain()(0) must satisfy 0 < AngleRadians() < 2*Pi
The parameterization of the Arc is inherited from the Circle it is derived from. In particular
t > center + cos(t)*radius*xaxis + sin(t)*radius*yaxis
where xaxis and yaxis, (part of Circle.Plane) form an orthonormal frame of the plane containing the circle.
Namespace: Rhino.Geometry
The Arc type exposes the following members.
Name  Description  

Arc(Circle, Interval) 
Initializes a new instance of an arc from a base circle and an interval of angles.
 
Arc(Circle, Double) 
Initializes a new instance of an arc from a base circle and an angle.
 
Arc(Plane, Double, Double) 
Initializes a new arc from a base plane, a radius value and an angle.
 
Arc(Point3d, Point3d, Point3d) 
Initializes a new arc through three points. If the points are coincident
or colinear, this will result in an Invalid arc.
 
Arc(Point3d, Vector3d, Point3d) 
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.
 
Arc(Point3d, Double, Double) 
Initializes a new horizontal arc at the given center point, with a custom radius and angle.
 
Arc(Plane, Point3d, Double, Double) 
Initializes a new aligned arc at the given center point, with a custom radius and angle.

Name  Description  

Angle 
Gets or sets the sweep or subtended angle (in Radians) for this arc segment.
 
AngleDegrees 
Gets or sets the sweep or subtended angle (in Radians) for this arc segment.
 
AngleDomain 
Gets or sets the angle domain (in Radians) of this arc.
 
Center 
Gets or sets the center point for this arc.
 
Circumference 
Gets the circumference of the circle that is coincident with this arc.
 
Diameter 
Gets or sets the Diameter of this arc.
 
EndAngle 
Gets or sets the end angle (in Radians) for this arc segment.
 
EndAngleDegrees 
Gets or sets the end angle (in Radians) for this arc segment.
 
EndPoint 
Gets the end point of the arc.
 
IsCircle 
Gets a value indicating whether or not this arc is a complete circle.
 
IsValid 
Gets a value indicating whether or not this arc is valid.
Detail:
Radius>0 and 0<AngleRadians()<=2*Math.Pi.
 
Length 
Gets the length of the arc. (Length = Radius * (subtended angle in radians)).
 
MidPoint 
Gets the midpoint of the arc.
 
Plane 
Gets or sets the plane in which this arc lies.
 
Radius 
Gets or sets the radius of this arc.
 
StartAngle 
Gets or sets the start angle (in Radians) for this arc segment.
 
StartAngleDegrees 
Gets or sets the start angle (in Radians) for this arc segment.
 
StartPoint 
Gets the start point of the arc.
 
Unset 
Gets an Arc with Unset components.

Name  Description  

BoundingBox 
Computes the 3D axis aligned bounding box for this arc.
 
ClosestParameter 
Gets parameter on the arc closest to a test point.
 
ClosestPoint 
Computes the point on an arc that is closest to a test point.
 
EpsilonEquals 
Check that all values in other are within epsilon of the values in this
 
Equals(Object) 
Determines whether another object is an arc and has the same value as this arc.
(Overrides ValueTypeEquals(Object).)  
Equals(Arc) 
Determines whether another arc has the same value as this arc.
 
GetHashCode 
Computes a hash code for the present arc.
(Overrides ValueTypeGetHashCode.)  
GetType  Gets the Type of the current instance. (Inherited from Object.)  
PointAt 
Gets the point at the given arc parameter.
 
Reverse 
Reverses the orientation of the arc. Changes the domain from [a,b]
to [b,a].
 
TangentAt 
Gets the tangent at the given parameter.
 
ToNurbsCurve 
Initializes a nurbs curve representation of this arc.
This amounts to the same as calling NurbsCurve.CreateFromArc().
 
ToNurbsCurve(Int32, Int32) 
Create a uniform nonrational cubic NURBS approximation of an arc.
 
ToString  Returns the fully qualified type name of this instance. (Inherited from ValueType.)  
Transform 
Transforms the arc using a Transformation matrix.
 
Trim 
Sets arc's angle domain (in radians) as a subdomain of the circle.

Name  Description  

Equality 
Determines whether two arcs have equal values.
 
Inequality 
Determines whether two arcs have different values.
