Creates a mirrored copy of an element about a given plane.
Namespace:
Autodesk.Revit.DB
Assembly:
RevitAPI
(in RevitAPI.dll) Version: 22.0.0.0 (22.1.0.0)
Since:
2012
Syntax
C# |
---|
|
Visual Basic |
---|
|
Visual C++ |
---|
|
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 |