Skip to content

Arc.Create(XYZ, Double, Double, Double, XYZ, XYZ)

Public Class

Creates a new geometric arc object based on center, radius, unit vectors, and angles.

Namespace: Autodesk.Revit.DB

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

Syntax

public static Arc Create(
XYZ center,
double radius,
double startAngle,
double endAngle,
XYZ xAxis,
XYZ yAxis
)

Parameters

center XYZ

The center of the arc.

radiusDouble

The radius of the arc.

startAngleDouble

The start angle of the arc (in radians).

endAngleDouble

The end angle of the arc (in radians).

xAxis XYZ

The x axis to define the arc plane. Must be normalized.

yAxis XYZ

The y axis to define the arc plane. Must be normalized.

Return Value

Arc
The new arc.

Exceptions

Exception

Condition


ArgumentNullException

A non-optional argument was NULL


ArgumentOutOfRangeException

xAxis is not length 1.0. -or- yAxis is not length 1.0. -or- The given value for radius must be between 0 and 30000 feet.


ArgumentsInconsistentException

The vectors xAxis and yAxis are not perpendicular. -or- Start angle must be less than end angle. -or- Curve length is too small for Revit’s tolerance (as identified by Application.ShortCurveTolerance).


Remarks

If the angle range is equal to or greater than 2 * PI, the curve will be automatically converted to an unbounded circle.

Example

// Create a new arc defined by its center, radios, angles and 2 axes
double radius = 10;
double startAngle = 0; // In radian
double endAngle = Math.PI; // In radian
XYZ center = new XYZ(5, 0, 0);
XYZ xAxis = new XYZ(1, 0, 0); // The x axis to define the arc plane. Must be normalized
XYZ yAxis = new XYZ(0, 1, 0); // The y axis to define the arc plane. Must be normalized
Arc arc = Arc.Create(center, radius, startAngle, endAngle, xAxis, yAxis);