Creates a mirror image of the given object about a plane.
Supported platforms: Windows only
VBA:
RetVal = object.Mirror3D(Point1, Point2, Point3)
Type: All drawing objects, AttributeReference, Dimension
The objects this method applies to.
Access: Input-only
Type: Variant (three-element array of doubles)
The 3D WCS coordinates specifying the first point of the mirror plane.
Access: Input-only
Type: Variant (three-element array of doubles)
The 3D WCS coordinates specifying the second point of the mirror plane.
Access: Input-only
Type: Variant (three-element array of doubles)
The 3D WCS coordinates specifying the third point of the mirror plane.
Type: Object
This object can be one of any drawing object and is the result of mirroring the original object.


Object mirrored about a plane defined by three points
AutoCAD checks to see if the object to be copied owns any other object. If it does, it performs a copy on those objects as well. The process continues until all owned objects have been copied.
AttributeReference: You should not attempt to use this method on AttributeReference objects. AttributeReference objects inherit this method because they are one of the drawing objects, however, it is not feasible to perform this operation on an attribute reference.
VBA:
Sub Example_Mirror3D()
    ' This example creates a box in model space, and mirrors the box about a plane.
    
    Dim boxObj As Acad3DSolid
    Dim length As Double, width As Double, height As Double
    Dim center(0 To 2) As Double
    
    ' Define the box
    center(0) = 5#: center(1) = 5#: center(2) = 0
    length = 5#: width = 7: height = 10#
    
    ' Create the box (3DSolid) object in model space
    Set boxObj = ThisDrawing.ModelSpace.AddBox(center, length, width, height)
    
    ' Define the mirroring plane with three points
    Dim mirrorPt1(0 To 2) As Double
    Dim mirrorPt2(0 To 2) As Double
    Dim mirrorPt3(0 To 2) As Double
    
    mirrorPt1(0) = 1.25: mirrorPt1(1) = 0: mirrorPt1(2) = 0
    mirrorPt2(0) = 1.25: mirrorPt2(1) = 2: mirrorPt2(2) = 0
    mirrorPt3(0) = 1.25: mirrorPt3(1) = 2: mirrorPt3(2) = 2
    
    ' Mirror the box
    Dim mirrorBoxObj As Acad3DSolid
    Set mirrorBoxObj = boxObj.Mirror3D(mirrorPt1, mirrorPt2, mirrorPt3)
    
    ' Change the viewing direction of the viewport
    Dim NewDirection(0 To 2) As Double
    NewDirection(0) = -1: NewDirection(1) = -1: NewDirection(2) = 1
    ThisDrawing.ActiveViewport.direction = NewDirection
    ThisDrawing.ActiveViewport = ThisDrawing.ActiveViewport
    ZoomAll
    
End Sub
Visual LISP:
(vl-load-com)
(defun c:Example_Mirror3D()
    ;; This example creates a box in model space, and mirrors the box about a plane.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;; Define the box
    (setq center (vlax-3d-point 5 5 0)
          boxLength 5
	         boxWidth 7
	         boxHeight 10)
    
    ;; Create the box (3DSolid) object in model space
    (setq modelSpace (vla-get-ModelSpace doc))
    (setq boxObj (vla-AddBox modelSpace center boxLength boxWidth boxHeight))
    
    ;; Define the mirroring plane with three points
    (setq mirrorPt1 (vlax-3d-point 1.25 0 0)
          mirrorPt2 (vlax-3d-point 1.25 2 0)
          mirrorPt3 (vlax-3d-point 1.25 2 2))
    
    ;; Mirror the box
    (setq mirrorBoxObj (vla-Mirror3D boxObj mirrorPt1 mirrorPt2 mirrorPt3))
    
    ;; Change the viewing direction of the viewport
    (setq NewDirection (vlax-3d-point -1 -1 1))
    (setq activeViewport (vla-get-ActiveViewport doc))
    (vla-put-Direction activeViewport NewDirection)
    (vla-put-ActiveViewport doc activeViewport)
    (vla-ZoomAll acadObj)
)