CreateByOriginAndBasis Method


Creates a Plane object defined by the two orthogonal unit vectors and passing through the origin point supplied as arguments.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 22.0.0.0 (22.1.0.0)
Since: 2017

Syntax

C#
public static Plane CreateByOriginAndBasis(
	XYZ origin,
	XYZ basisX,
	XYZ basisY
)
Visual Basic
Public Shared Function CreateByOriginAndBasis ( _
	origin As XYZ, _
	basisX As XYZ, _
	basisY As XYZ _
) As Plane
Visual C++
public:
static Plane^ CreateByOriginAndBasis(
	XYZ^ origin, 
	XYZ^ basisX, 
	XYZ^ basisY
)

Parameters

origin
Type: Autodesk.Revit.DB XYZ
Plane origin. Expected to lie within the Revit design limits IsWithinLengthLimits(XYZ) .
basisX
Type: Autodesk.Revit.DB XYZ
First of the two unit vectors that define the plane. Must be orthogonal to the second one.
basisY
Type: Autodesk.Revit.DB XYZ
Second of the two unit vectors that define the plane. Must be orthogonal to the first one.

Remarks

The parametric equation of the plane is S(u, v) = origin + u*basisX + v*basisY. The plane's normal is defined as basisX.Cross(basisY).

Exceptions

Exception Condition
Autodesk.Revit.Exceptions ArgumentException The input point lies outside of Revit design limits.
Autodesk.Revit.Exceptions ArgumentNullException A non-optional argument was null
Autodesk.Revit.Exceptions ArgumentOutOfRangeException basisX is not length 1.0. -or- basisY is not length 1.0.
Autodesk.Revit.Exceptions ArgumentsInconsistentException The vectors basisX and basisY are not perpendicular.

See Also

ArchiLabs

Stop fighting Revit automation.

Build repeatable BIM design and documentation workflows with scripts, data, and AI in one place, without wrestling brittle one-off automations.

Try ArchiLabs →