Skip to content

RevolvedSurface.Create(XYZ, XYZ, Curve, Double, Double)

Public Class

Creates a Surface object coincident with the surface of revolution defined by an axis, a profile curve, and start and end angles of revolution.

Namespace: Autodesk.Revit.DB

Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)

Syntax

public static Surface Create(
XYZ axisBasePoint,
XYZ axisDirection,
Curve profileCurve,
double startAngle,
double endAngle
)

Parameters

axisBasePoint XYZ

The base point of the axis of revolution. Expected to lie within the Revit design limits IsWithinLengthLimits(XYZ).

axisDirection XYZ

The direction of the axis.

profileCurve Curve

The profile curve, which should satisfy the following conditions:

  • It is bounded and non-degenerate.
  • It is co-planar with the axis of revolution.
  • It lies on only one side of the axis.
  • Only the end points of the profile curve can touch the axis.

startAngleDouble

Start angle of rotation. The angles are measured around the axis of revolution, using the right-hand rule. The profile curve is at the zero angle.

endAngleDouble

End angle of rotation. Start angle must be less than end angle and their difference must be less than or equal to two times PI.

Return Value

Surface
The created surface. Note that this surface may not be of type RevolvedSurface.

Exceptions

Exception

Condition


ArgumentException

The input point lies outside of Revit design limits. -or- The input profile curve is not valid to create a surface revolution around the given axis.


ArgumentNullException

A non-optional argument was null


ArgumentOutOfRangeException

axisDirection has zero length.


ArgumentsInconsistentException

Start angle must be less than end angle and their difference must be less than or equal to two times PI.


Remarks

The returned surface may not be of type RevolvedSurface - this function will create a surface of the simplest possible type (Plane, Cylinder, etc.) that can be used to represent the required surface of revolution. Given that the surface may be simplified, this function does not guarantee any particular parameterization of the surface.