鏡像化をすると、オブジェクトの鏡像が対称軸に基づいて複写されます。図形オブジェクトはすべて鏡像化できます。
オブジェクトを鏡像化するには、そのオブジェクトの Mirror メソッドを使用します。このメソッドには、2 つの座標を入力します。指定した座標は対称軸の端点になり、その反対側に元のオブジェクトの鏡像が作成されます。3D の場合、この線分を含む UCS の XY 平面に垂直な鏡像平面が対称軸として使用されます。
AutoCAD の MIRROR[鏡像]コマンドとは違って、このメソッドは鏡像を図面内に配置しても、元のオブジェクトは保持されます。(元のオブジェクトを削除するには、Erase メソッドを使用します)。
Text オブジェクトの反転プロパティを管理するには、AutoCAD システム変数 MIRRTEXT を使用します。システム変数 MIRRTEXT の既定設定はオン(1)で、これにより Text オブジェクトは他のオブジェクトと同じように鏡像化されます。 システム変数 MIRRTEXT がオフ(0)の場合、文字は鏡像化されません。GetVariable メソッドと SetVariable メソッドを使用して、システム変数 MIRRTEXTの設定を確認したり、設定することができます。
Viewport オブジェクトはペーパー空間で鏡像化できますが、そのモデル空間ビューやモデル空間オブジェクトには影響ありません。
次の例は、最適化ポリラインを作成し、軸を中心にそのポリラインを鏡像化します。新しく作成したポリラインは赤く色付けします。
Sub Ch4_MirrorPolyline() ' Create the polyline Dim plineObj As AcadLWPolyline Dim points(0 To 11) As Double points(0) = 1: points(1) = 1 points(2) = 1: points(3) = 2 points(4) = 2: points(5) = 2 points(6) = 3: points(7) = 2 points(8) = 4: points(9) = 4 points(10) = 4: points(11) = 1 Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points) plineObj.Closed = True ZoomAll ' Define the mirror axis Dim point1(0 To 2) As Double Dim point2(0 To 2) As Double point1(0) = 0: point1(1) = 4.25: point1(2) = 0 point2(0) = 4: point2(1) = 4.25: point2(2) = 0 ' Mirror the polyline Dim mirrorObj As AcadLWPolyline Set mirrorObj = plineObj.Mirror(point1, point2) Dim col As New AcadAcCmColor Call col.SetRGB(125, 175, 235) mirrorObj.TrueColor = col ZoomAll End Sub