Polyline Home

A polyline is a connected sequence of line or arc segments created as a single object. Use polylines if you want to edit all segments at once (although you can also edit them singly). You can apply various Fit types to polylines and close the polyline to form a polygon.
Closed polylines can be filled with solid color. LiteCAD treats such objects as polygons and the user can select them by clicking inside of their boundary(s).

To add polylines into a drawing use following functions:

Function Meaning
lcBlockAddPolyline Adds a polyline
lcBlockAddRPolygon Adds regular polygon
lcPlineAddVer Adds a polyline vertex
lcPlineAddVer2 Adds a polyline vertex with parameters
lcPlineAddVerDir Adds a polyline vertex by direction from the previous vertex
lcPlineEnd End of adding vertices
lcPlineFromPtbuf Copies vertices from Points buffer object
lcPlineFromMpgon Copies vertices from Multipolygon object
lcPlineFromFile Copies vertices from a file

More polyline specific functions:

Function Meaning
lcPlineDeleteVer Deletes a vertex from a polyline
lcPlineDelExVers Deletes extra vertices
lcPlineGetFirstVer
lcPlineGetNextVer
lcPlineGetLastVer
lcPlineGetPrevVer
Used to sequentially retrieve all vertices from a polyline
lcPlineGetVer Gets a polyline vertex by its index
lcPlineGetVerPt Gets a polyline vertex by point
lcPlineGetSeg Gets a polyline segment by point
lcPlineReverse Reverse order of polyline vertices
lcPlineContainPoint Determines if some point is placed inside of a polygon
lcPlineSetStartVer Sets start vertex for closed polyline
lcPlineGetPoint Gets a point on a polyline by distance from beginning
lcPlineGetDist Gets a point on a polyline which is nearest to specified point
lcPlineDivide Gets equidistant points on a polyline, by number of points
lcPlineDivide2 Gets equidistant points on a polyline, by a distance

A polyline has properties and functions derived from base class and the following specific properties:

Property Type Access Meaning
LC_PROP_ENT_...    Base class properties
LC_PROP_PLINE_FIT int RW Fit type
LC_PROP_PLINE_NVERS int R Number of vertices
LC_PROP_PLINE_CLOSED bool RW Closed polyline
LC_PROP_PLINE_WIDTH float
bool
RW Constant width
LC_PROP_PLINE_RADIUS float
bool
RW Constant radius (for rounded polyline)
LC_PROP_PLINE_CHAMFER bool RW Chamfer or arc (for rounded polyline)
LC_PROP_PLINE_LEN float R Length
LC_PROP_PLINE_AREA float R Area
LC_PROP_PLINE_HASANG0 bool RW Has start angle (for LC_PLFIT_SPLINE)
LC_PROP_PLINE_ANG0 float RW Start angle (for LC_PLFIT_SPLINE)
LC_PROP_PLINE_HASANG2 bool RW Has end angle (for LC_PLFIT_SPLINE)
LC_PROP_PLINE_ANG2 float RW End angle (for LC_PLFIT_SPLINE)
LC_PROP_PLINE_CW bool R "ClockWise direction" flag
LC_PROP_PLINE_CCW bool R "Counter-ClockWise direction" flag

Polyline vertex properties (use vertex handle to access it):

Property Type Access Meaning
LC_PROP_VER_X float RW Coordinate X
LC_PROP_VER_Y float RW Coordinate Y
LC_PROP_VER_Z float RW Coordinate Z
LC_PROP_VER_FIX bool RW "Fixed vertex" flag (for LC_PLFIT_LINQUAD).
LC_PROP_VER_RADIUS float RW Radius of vertex arc (for LC_PLFIT_ROUND).
LC_PROP_VER_INDEX int R Vertex index (from 0 to LC_PROP_PLINE_NVERS-1).
LC_PROP_VER_FIRST bool R "First vertex" flag
LC_PROP_VER_LAST bool R "Last vertex" flag

   For the segment from current vertex to the next vertex
LC_PROP_VER_W0 float RW Start width
LC_PROP_VER_W1 float RW End width
LC_PROP_VER_SEGDX float RW Delta X to the next vertex
LC_PROP_VER_SEGDY float RW Delta Y to the next vertex
LC_PROP_VER_SEGANG float RW Direction angle to the next vertex
LC_PROP_VER_SEGLEN float RW Distance to the next vertex

   For arc segment (LC_PLFIT_BULGE)
LC_PROP_VER_BULGE float RW Bulge value
LC_PROP_VER_SEGARCANG float RW Arc included Angle
LC_PROP_VER_SEGARCH float RW Arc Height
LC_PROP_VER_SEGARCLEN float R Arc Length
LC_PROP_VER_SEGARCRAD float R Arc Radius


Grips

0...LC_PROP_PLINE_NVERS-1 - vertex position. The grip with additional square indicates current vertex (reflected in the properties window)

If you point cursor on a grip and click right button - context popup menu will appear:


See also

  Retrieve objects