POLYLINE¶
A polyline is a single object that consists of one or (more usefully) multiple linear segments. You can create open or closed regular or irregular polylines.
POLYMESH and POLYFACE are also POLYLINE objects.
Polylines are always 3D-polylines, 2D-polylines are not directly supported, but you can modify the created polylines by clearing the flag POLYLINE_3D_POLYLINE to get a 2D polyline.
-
DXFEngine.
polyline
(points=[], **kwargs)¶ Parameters: - points – list of points, 2D or 3D points, z-value of 2D points is 0.
- polyline_elevation – polyline elevation (xyz-tuple), z-axis supplies elevation, x- and y-axis has to be 0.)
- flags (int) – polyline flags, bit-coded, default=0
- startwidth (float) – default starting width, default=0
- endwidth (float) – default ending width, default=0
- mcount (int) – polygon mesh M vertex count, default=0
- ncount (int) – polygon mesh N vertex count, default=0
- msmooth_density (int) – (if flags-bit POLYLINE_3D_POLYMESH is set) smooth surface M density, default=0
- nsmooth_density (int) – (if flags-bit POLYLINE_3D_POLYMESH is set) smooth surface N density, default=0 same values as msmooth_density
- smooth_surface (int) – curves and smooth surface type, default=0 ??? see dxf-documentation
Common Keyword Arguments for all Basic DXF R12 Entities¶
keyword | description |
---|---|
layer | Layer name as string |
linetype | Linetype name as string, if not defined = BYLAYER |
color | as integer in range [1..255], 0 = BYBLOCK, 256 = BYLAYER |
thickness | Thickness as float |
paper_space | 0 = entity is in model_space, 1 = entity is in paper_space |
extrusion_direction | 3D Point as tuple(x, y, z) if extrusion direction is not parallel to the World Z axis |
Flags¶
Flag | Description |
---|---|
POLYLINE_CLOSED | This is a closed Polyline (or a polygon mesh closed in the M direction) |
POLYLINE_MESH_CLOSED_M_DIRECTION | equals POLYLINE_CLOSED |
POLYLINE_CURVE_FIT_VERTICES_ADDED | Curve-fit vertices have been added |
POLYLINE_SPLINE_FIT_VERTICES_ADDED | Spline-fit vertices have been added |
POLYLINE_3D_POLYLINE | This is a 3D Polyline |
POLYLINE_3D_POLYMESH | This is a 3D polygon mesh |
POLYLINE_MESH_CLOSED_N_DIRECTION | The polygon mesh is closed in the N direction |
POLYLINE_POLYFACE_MESH | This Polyline is a polyface mesh |
POLYLINE_GENERATE_LINETYPE_PATTERN | The linetype pattern is generated continuously around the vertices of this Polyline |
Smooth Density Flags¶
Flag | Description |
---|---|
POLYMESH_NO_SMOOTH | no smooth surface fitted |
POLYMESH_QUADRIC_BSPLINE | quadratic B-spline surface |
POLYMESH_CUBIC_BSPLINE | cubic B-spline surface |
POLYMESH_BEZIER_SURFACE | Bezier surface |
Methods¶
-
Polyline.
add_vertex
(point, **kwargs)¶ Add a point to polyline.
Parameters: point – is a 2D or 3D point, z-value of a 2D point is 0.
-
Polyline.
add_vertices
(points)¶ Add multiple points.
Parameters: points – list of points, 2D or 3D points, z-value of 2D points is 0.
-
Polyline.
close
(status=True)¶ Close Polyline: first vertex is connected with last vertex.
Parameters: status (bool) – True close polyline; False open polyline
Example:
from dxfwrite import DXFEngine as dxf
polyline= dxf.polyline(linetype='DOT')
polyline.add_vertices( [(0,20), (3,20), (6,23), (9,23)] )
drawing.add(polyline)
drawing.save()