Sub RevPline() Dim ent As AcadEntity Dim pnt As Variant Dim NewCoord() As Double Dim i As Integer On Error Resume Next Do ThisDrawing.Utility.GetEntity ent, pnt, "选择多段线:" If Err Then Exit Sub If TypeName(ent) Like "IAcad*Polyline" Then Exit Do Loop Dim Coord As Variant If TypeName(ent) = "IAcadLWPolyline" Then Coord = ent.Coordinates ReDim NewCoord(UBound(Coord)) As Double For i = 0 To UBound(Coord) - 1 Step 2 NewCoord(UBound(Coord) - i - 1) = Coord(i) NewCoord(UBound(Coord) - i) = Coord(i + 1) Next ent.Coordinates = NewCoord ThisDrawing.Regen acActiveViewport ElseIf TypeName(ent) = "IAcadPolyline" Then Coord = ent.Coordinates ReDim NewCoord(UBound(Coord)) As Double For i = 0 To UBound(Coord) - 1 Step 3 NewCoord(UBound(Coord) - i - 2) = Coord(i) NewCoord(UBound(Coord) - i - 1) = Coord(i + 1) NewCoord(UBound(Coord) - i) = Coord(i + 2) Next ent.Coordinates = NewCoord ThisDrawing.Regen acActiveViewport End If End Sub