Edit Polylines

2D and 3D polylines, rectangles, polygons, and 3D polygon meshes are all polyline variants and are edited in the same way.

AutoCAD recognizes both fit polylines and spline-fit polylines. A spline-fit polyline uses a curve fit, similar to a B-spline. There are two kinds of spline-fit polylines: quadratic and cubic. Both polylines are controlled by the SPLINETYPE system variable. A fit polyline uses standard curves for curve fit and utilizes any tangent directions set on any given vertex.

To edit a polyline, use the properties and methods of the LightweightPolyline or Polyline object. Use the following properties and methods to open or close a polyline, change the coordinates of a polyline vertex, or add a vertex:

Closed property

Opens or closes the polyline.

Coordinates property

Specifies the coordinates for each vertex in the polyline.

AddVertex method

Adds a vertex to a lightweight polyline.

Use the following methods to update the bulge or width of a polyline:


Sets the bulge of a polyline, given the segment index.


Sets the start and end width of a polyline, given the segment index.

For more information about editing polylines, see “Modify or Join Polyline” in the User's Guide.

Edit a polyline

This example creates a lightweight polyline. It then adds a bulge to the third segment of the polyline, appends a vertex to the polyline, changes the width of the last segment, and finally closes the polyline.

Sub Ch4_EditPolyline()
	Dim plineObj As AcadLWPolyline
	Dim points(0 To 9) As Double

	' Define the 2D polyline points
	points(0) = 1: points(1) = 1
	points(2) = 1: points(3) = 2
	points(4) = 2: points(5) = 2
	points(6) = 3: points(7) = 2
	points(8) = 4: points(9) = 4

	' Create a light weight Polyline object
	Set plineObj = ThisDrawing.ModelSpace. _

	' Add a bulge to segment 3
	plineObj.SetBulge 3, -0.5

	' Define the new vertex
	Dim newVertex(0 To 1) As Double
	newVertex(0) = 4: newVertex(1) = 1

	' Add the vertex to the polyline
	plineObj.AddVertex 5, newVertex

	' Set the width of the new segment
	plineObj.SetWidth 4, 0.1, 0.5

	' Close the polyline
	plineObj.Closed = True
End Sub