Rotate メソッドを使用して、指定した点を中心にして、2D でオブジェクトを回転することができます。
回転方向は、WCS により決定されます。Rotate3D メソッドは、指定した軸を中心にして、3D でオブジェクトを回転します。Rotate3D メソッドには、回転軸を定義する 2 点の WCS 座標、およびラジアン単位の回転角度という 3 つの値を入力します。
3D オブジェクトを回転するには、Rotate か Rotate3D のいずれかのメソッドを使用してください。
次の例では、直方体を作成します。回転軸を定義し、最終的にこの軸を中心に直方体を 30 度回転させます。
Sub Ch8_Rotate_3DBox() Dim boxObj As Acad3DSolid Dim length As Double Dim width As Double Dim 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 object in model space Set boxObj = ThisDrawing.ModelSpace. _ AddBox(center, length, width, height) ' Define the rotation axis with two points Dim rotatePt1(0 To 2) As Double Dim rotatePt2(0 To 2) As Double Dim rotateAngle As Double rotatePt1(0) = -3: rotatePt1(1) = 4: rotatePt1(2) = 0 rotatePt2(0) = -3: rotatePt2(1) = -4: rotatePt2(2) = 0 rotateAngle = 30 rotateAngle = rotateAngle * 3.141592 / 180# ' Rotate the box boxObj.Rotate3D rotatePt1, rotatePt2, rotateAngle ZoomAll End Sub