ConstantWidth Example |
Using Programming Languages other than VBA
Sub Example_ConstantWidth() ' This example creates a lightweight polyline in model space and ' uses the ConstantWidth property to determine if the polyline comprises ' equal width segments. If the segments are not equal, ' use the ConstantWidth property to set all the segments to the same ' width. Dim plineObj As AcadLWPolyline Dim points(0 To 9) As Double Dim msg As String, CWidth 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 lightweight Polyline object in model space ' ' * Note: Return the new PolyLine object into a Module ' level variable, which allows events associated ' with that particular object to be intercepted. Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points) ThisDrawing.Application.ZoomAll ' Display segment information before altering the width of segment 1 GoSub DISPLAYSEGMENTS ' Set the first segment width plineObj.SetWidth 1, 0.1, 0.3 ThisDrawing.Regen acAllViewports ' Display segment information after altering the width of segment 1 GoSub DISPLAYSEGMENTS ' Make all segments uniform in width plineObj.ConstantWidth = 0.1 ThisDrawing.Regen acAllViewports ' Display segment information after making the segments uniform GoSub DISPLAYSEGMENTS Exit Sub
DISPLAYSEGMENTS: On Error Resume Next ' Check to see if the segment widths are uniform CWidth = plineObj.ConstantWidth ' If ConstantWidth returns an error, the ' segments are not all the same width If Err.Description = "Invalid input" Then msg = " are not equal." Else msg = " are all equal." End If On Error GoTo 0 MsgBox "The segments of the new polyline" & msg Return End Sub
Comments? |