使用 Rotate 方法可以在二维空间中绕指定点旋转对象。旋转的方向由 WCS 确定。而使用 Rotate3D 方法可以在三维空间中绕指定轴旋转对象。Rotate3D 方法将输入三个值:定义旋转轴的两点的 WCS 坐标和以弧度为单位的旋转角度。
要旋转三维对象,既可以使用 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
' 定义长方体
center(0) = 5: center(1) = 5: center(2) = 0
length = 5
width = 7
height = 10
' 在模型空间中创建长方体对象
Set boxObj = ThisDrawing.ModelSpace. _
AddBox(center, length, width, height)
' 用两点定义旋转轴
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#
' 旋转长方体
boxObj.Rotate3D rotatePt1, rotatePt2, rotateAngle
ZoomAll
End Sub