Share

ElementTransformUtils.MirrorElement Method

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


Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 26.1.0.0 (26.1.0.34)

Syntax

C#

public static void MirrorElement(
	Document document,
	ElementId elementToMirror,
	Plane plane
)

Parameters

document  Document
The document that owns the element.
elementToMirror  ElementId
The element to mirror.
plane  Plane
The mirror plane.

Exceptions

ExceptionCondition
ArgumentException elementToMirror cannot be mirrored. -or- The element elementToMirror does not exist in the document -or- The input element is a Sketch member and there is no Sketch in the edit mode to place this element in.
ArgumentNullException A non-optional argument was null

Example

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

VB

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

See Also

Reference

Was this information helpful?