概要 - オブジェクトを回転する(VBA/ActiveX)

すべての図面オブジェクトおよび属性参照オブジェクトを回転することができます。

オブジェクトを回転させるには、そのオブジェクトの Rotate メソッドを使用します。このメソッドには、基点と回転角度を入力します。基点は、3 つの倍精度浮動小数点数を持ったバリアント型配列です。これらの座標値が、回転の軸を定義する点を指定するための 3D WCS 座標を示します。回転角度は、ラジアン単位で指定します。この角度は、基点を中心にして、オブジェクトが現在の位置からどれだけ回転するかを決定します。



基点を中心にポリラインを回転する

次の例は、閉じた最適化ポリラインを作成し、次に基点(4, 4.25, 0)を中心に 45 度回転します。

Sub Ch4_RotatePolyline()
  ' 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 rotation of 45 degrees about a
  ' base point of (4, 4.25, 0)
  Dim basePoint(0 To 2) As Double
  Dim rotationAngle As Double
  basePoint(0) = 4: basePoint(1) = 4.25: basePoint(2) = 0
  rotationAngle = 0.7853981   ' 45 degrees

  ' Rotate the polyline
  plineObj.Rotate basePoint, rotationAngle
  plineObj.Update
End Sub