Dim dx As Double Dim dy As Double Dim arf As Double Dim m As Double Dim r(0 To 3, 0 To 3) As Double '旋转矩阵 r(0, 0) = m * Math.Cos(arf): r(0, 1) = -m * Math.Sin(arf): r(0, 2) = 0: r(0, 3) = dx r(1, 0) = m * Math.Sin(arf): r(1, 1) = m * Math.Cos(arf): r(1, 2) = 0: r(1, 3) = dy r(2, 0) = 0: r(2, 1) = 0: r(2, 2) = m: r(2, 3) = 0 r(3, 0) = 0: r(3, 1) = 0: r(3, 2) = 0: r(3, 3) = 1 Dim pSlct As AcadSelectionSet Set pSlct = CreateSelectionSet UserForm1.Hide pSlct.SelectOnScreen Dim pObject As Object For Each pObject In pSlct pObject.TransformBy (r) Next pObject