Arc Create(XYZ, Double, Double, Double, XYZ, XYZ) Method |
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)

public static Arc Create(
XYZ center,
double radius,
double startAngle,
double endAngle,
XYZ xAxis,
XYZ yAxis
)
Parameters
- center XYZ
- The center of the arc.
- radius Double
- The radius of the arc.
- startAngle Double
- The start angle of the arc (in radians).
- endAngle Double
- 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
ArcThe new arc.

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). |

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

// 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);
