基点と長さを指定すると、オブジェクトを尺度変更できます。この点と長さが、現在の作図単位に基づいた尺度として使用されます。すべての図形オブジェクトと同様に、属性参照オブジェクトも尺度変更できます。
オブジェクトの尺度を変更するには、そのオブジェクトの ScaleEntity メソッドを使用します。このメソッドは、X、Y、および Z の方向に等しい量だけオブジェクトを尺度変更します。これは尺度変更の基点と、尺度係数を入力として受け取ります。基点は、3 つの倍精度浮動小数点数を持ったバリアント型配列です。これらの座標値が、尺度変更処理の開始点を指定する 3D WCS 座標を表します。尺度係数とは、オブジェクトを拡大/縮小するときの係数です。オブジェクトの寸法に、尺度係数を乗算します。尺度係数が 1 よりも大きければ、オブジェクトは大きくなります。尺度係数が 0 と 1 の間の場合、オブジェクトは縮小されます。
次の例は、閉じたライトウェイト ポリラインを作成し、次に 0.5 で尺度変更します。
Sub Ch4_ScalePolyline() ' Create the polyline Dim plineObj As AcadLWPolyline Dim points(0 To 11) As Double points(0) = 1: points(1) = 2 points(2) = 1: points(3) = 3 points(4) = 2: points(5) = 3 points(6) = 3: points(7) = 3 points(8) = 4: points(9) = 4 points(10) = 4: points(11) = 2 Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points) plineObj.Closed = True ZoomAll ' Define the scale Dim basePoint(0 To 2) As Double Dim scalefactor As Double basePoint(0) = 4: basePoint(1) = 4.25: basePoint(2) = 0 scalefactor = 0.5 ' Scale the polyline plineObj.ScaleEntity basePoint, scalefactor plineObj.Update End Sub