Curve types

Curve types

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.