CreateByNormalAndOrigin Method


Constructs a Plane object from a normal and an origin represented as XYZ objects. Follows the standard conventions for a planar surface. The constructed Plane object will pass through origin and be perpendicular to normal. The X and Y axes of the plane will be defined arbitrarily.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 21.0.0.0 (21.1.1.109)
Since: 2017

Syntax

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

Parameters

normal
Type: Autodesk.Revit.DB XYZ
Plane normal. Expected to be a valid non-zero length vector. Doesn't need to be a unit vector.
origin
Type: Autodesk.Revit.DB XYZ
Plane origin. Expected to lie within the Revit design limits IsWithinLengthLimits(XYZ) .

Remarks

This function does not guarantee a specific parameterization of the created Plane. Use Plane.Create(Frame) to enforce a specific parameterization of the created Plane object.

Examples

Copy C#
 // Create a geometry plane in Revit application
XYZ normal = XYZ.BasisZ;    // use basis of the z-axis (0,0,1) for normal vector 
XYZ origin = XYZ.Zero;  // origin is (0,0,0)  
Plane geomPlane = Plane.CreateByNormalAndOrigin(normal, origin);
Copy VB.NET
   ' Create a geometry plane in Revit application
   Dim normal As XYZ = XYZ.BasisZ
   ' use basis of the z-axis (0,0,1) for normal vector 
   Dim origin As XYZ = XYZ.Zero
   ' origin is (0,0,0)  
Dim geomPlane As Plane = Plane.CreateByNormalAndOrigin(normal, origin)

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 normal has zero length.

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 →