MirrorElement Method


Creates a mirrored copy of an element about a given plane.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 17.0.0.0 (17.0.1090.0)
Since: 2012

Syntax

C#
public static void MirrorElement(
	Document document,
	ElementId elementToMirror,
	Plane plane
)
Visual Basic
Public Shared Sub MirrorElement ( _
	document As Document, _
	elementToMirror As ElementId, _
	plane As Plane _
)
Visual C++
public:
static void MirrorElement(
	Document^ document, 
	ElementId^ elementToMirror, 
	Plane^ plane
)

Parameters

document
Type: Autodesk.Revit.DB Document
The document that owns the element.
elementToMirror
Type: Autodesk.Revit.DB ElementId
The element to mirror.
plane
Type: Autodesk.Revit.DB Plane
The mirror plane.

Examples

Copy C#
public void MirrorWall(Autodesk.Revit.DB.Document document, Wall wall)
{
    Reference reference = HostObjectUtils.GetSideFaces(wall, ShellLayerType.Exterior).First();
    Face face = wall.GetGeometryObjectFromReference(reference) as Face; // get one of the wall's major side faces

    UV bboxMin = face.GetBoundingBox().Min;
    Plane plane = Plane.CreateByNormalAndOrigin(face.ComputeNormal(bboxMin), face.Evaluate(bboxMin).Add(new XYZ(10, 10, 0)));
    // create a plane based on this side face with an offset of 10 in the X & Y directions

    ElementTransformUtils.MirrorElement(document, wall.Id, plane);
}
Copy VB.NET
Public Sub MirrorWall(document As Autodesk.Revit.DB.Document, wall As Wall)
    Dim reference As Reference = HostObjectUtils.GetSideFaces(wall, ShellLayerType.Exterior).First()
    Dim face As Face = TryCast(wall.GetGeometryObjectFromReference(reference), Face)
    ' get one of the wall's major side faces
    Dim bboxMin As UV = face.GetBoundingBox().Min
 Dim plane As Plane = Autodesk.Revit.DB.Plane.CreateByNormalAndOrigin(face.ComputeNormal(bboxMin), face.Evaluate(bboxMin).Add(New XYZ(10, 10, 0)))
    ' create a plane based on this side face with an offset of 10 in the X & Y directions


    ElementTransformUtils.MirrorElement(document, wall.Id, plane)
End Sub

Exceptions

Exception Condition
Autodesk.Revit.Exceptions ArgumentException elementToMirror cannot be mirrored. -or- The element elementToMirror does not exist in the document
Autodesk.Revit.Exceptions ArgumentNullException A non-optional argument was NULL

See Also

ArchiLabs Desktop

Put AI to work inside Revit.

Give Desktop your instructions and project files to build Revit families, update model elements, and create views and schedules. Works directly in Revit and AutoCAD.

Explore Desktop →