SetWidth Example

```Sub Example_SetWidth()
' The following code prompts you to select a lightweight
' polyline, and then prompts you for the width to set each
' segment of the polyline.
' Pressing ENTER without specifying a width is equivalent to
' entering 0.

Dim basePnt As Variant
Dim retCoord As Variant
Dim StartWidth As Double
Dim EndWidth As Double
Dim i, j As Long
Dim nbr_of_segments As Long
Dim nbr_of_vertices As Long
Dim segment As Long
Dim promptStart As String
Dim promptEnd As String

On Error Resume Next

ThisDrawing.Utility.GetEntity returnObj, basePnt, "Select a polyline"

' Make sure the user selected a polyline.
If Err <> 0 Then
If returnObj.EntityName <> "AcDbPolyline" Then
MsgBox "You did not select a polyline"
End If
Exit Sub
End If

' Obtain the coordinates of each vertex of the selected polyline.
' The coordinates are returned in an array of points.
retCoord = returnObj.Coordinates

segment = 0
i = LBound(retCoord)				 ' Start index of coordinates array
j = UBound(retCoord)				 ' End index of coordinates array
nbr_of_vertices = ((j - i) \ 2) + 1  ' Number of vertices in the polyline

' Determine the number of segments in the polyline.
' A closed polyline has as many segments as it has vertices.
' An open polyline has one fewer segment than it has vertices.
' Check the Closed property to determine if the polyline is closed.

If returnObj.Closed Then
nbr_of_segments = nbr_of_vertices
Else
nbr_of_segments = nbr_of_vertices - 1
End If

' Have user set the width for each segment of the polygon
Do While nbr_of_segments > 0

' Get width values from the user
promptStart = vbCrLf & "Specify the width at the beginning of the segment at " & retCoord(i) & "," & retCoord(i + 1) & " ==> "
promptEnd = vbCrLf & "Now specify the width at the end of that segment ==> "

StartWidth = ThisDrawing.Utility.GetReal(promptStart)
EndWidth = ThisDrawing.Utility.GetReal(promptEnd)

' Set the width of the current segment
returnObj.SetWidth segment, StartWidth, EndWidth

' Prepare to obtain width of next segment, if any
i = i + 2
segment = segment + 1
nbr_of_segments = nbr_of_segments - 1
Loop

MsgBox "Segment widths have been set", , "SetWidth Example"

End Sub
```