Revit 2025 API
Ruled |
A ruled surface is created by sweeping a line between two profile curves or between a curve and a point (a point and a curve).
Input curve(s) must be bounded or have natural bounds.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
The RuledSurface type exposes the following members.

Name | Description | |
---|---|---|
![]() | IsValidObject |
Specifies whether the .NET object represents a valid Revit entity.
(Inherited from Surface) |
![]() | OrientationMatchesParametricOrientation |
Indicates whether this Surface's orientation is the same as or opposite to its parametric orientation.
(Inherited from Surface) |

Name | Description | |
---|---|---|
![]() ![]() | Create(Curve, Curve) | Creates a Surface object coincident with the ruled surface joining two bounded generating curves. |
![]() ![]() | Create(Curve, XYZ) | Creates a Surface object coincident with the ruled surface joining a bounded generating curve to a point. |
![]() | Dispose | (Inherited from Surface) |
![]() | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
![]() | GetBoundingBoxUV |
Gets the UV bounding box of the surface.
(Inherited from Surface) |
![]() | GetFirstProfileCurve | Returns a copy of the first profile curve if it is set. |
![]() | GetFirstProfilePoint | If a point was used to define the first profile, returns a copy of that point. |
![]() | GetHashCode | Serves as the default hash function. (Inherited from Object) |
![]() | GetSecondProfileCurve | Returns a copy of the second profile curve if it is set. |
![]() | GetSecondProfilePoint | If a point was used to define the second profile, returns a copy of that point. |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object) |
![]() | HasFirstProfilePoint | Checks if a point was used to define the first profile. |
![]() | HasSecondProfilePoint | Checks if a point was used to define the second profile. |
![]() | Project |
Project a 3D point orthogonally onto a surface (to find the nearest point).
Throws InvalidOperationException if the projection fails.
(Inherited from Surface) |
![]() | ProjectWithGuessPoint |
Project a 3D point orthogonally onto a surface (to find the nearest point).
This method is meant to be used when a good approximate solution for the projection is available.
Throws InvalidOperationException if the projection fails.
(Inherited from Surface) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object) |

Both curves are evaluated in normalized parameters [0, 1]
The parametric equations of a ruled surface are:
- Curve C1 and curve C2 : S(u, v) = C1(u) + v * (C2(u) - C1(u));
- Point P1 and curve C2 : S(u, v) = P1 + v * (C2(u) - P1);
- Curve C1 and point P2 : S(u, v) = C1(u) + v * (P2 - C1(u));
See Also