Revit uses a variety of curve types to represent curve geometry in a document. These include:
| 
 Curve type  | 
 Revit API class  | 
 Definition  | 
 Notes  | 
| 
 Bound line  | 
 Line  | 
 A line segment defined by its endpoints.  | 
 Obtain endpoints from Curve.GetEndpoint()  | 
| 
 Unbound line  | 
 Line  | 
 An infinite line defined by a location and direction  | 
 Identify these with Curve.IsBound. Evaluate point and tangent vector at raw parameter= 0 to find the input parameters for the equation of the line.  | 
| 
 Arc  | 
 Arc  | 
 A bound circular arc  | 
 Begin and end at a certain angle. These angles can be obtained by the raw parameter values at each end of the arc.  | 
| 
 Circle  | 
 Arc  | 
 An unbound circle  | 
 Identify with Curve.IsBound. Use raw parameter for evaluation (from 0 to 2π)  | 
| Cylindrical helix | CylindricalHelix | A helix wound around a cylinder making constant angle with the axis of the cylinder | Used only in specific applications in stairs and railings, and should not be used or encountered when accessing curves of other Revit elements and geometry. | 
| 
 Elliptical arc  | 
 Ellipse  | 
 A bound elliptical segment  | 
|
| 
 Ellipse  | 
 Ellipse  | 
 An unbound ellipse  | 
 Identify with Curve.IsBound. Use raw parameter for evaluation (from 0 to 2π)  | 
| 
 NURBS  | 
 NurbSpline  | 
 A non-uniform rational B-spline  | 
 Used for splines sketched in various Revit tools, plus imported geometry  | 
| 
 Hermite  | 
 HermiteSpline  | 
 A spline interpolate between a set of points  | 
 Used for tools like Curve by Points and flexible ducts/pipes, plus imported geometry  | 
Mathematical representations of all of the Revit curve types can be found here.