3dface four points defining the corners of the face: (10, 20,
30), (11, 21, 31), (12, 22, 32), and (13, 23, 33). 70
(invisible edge flags -optional 0). if only
three points are entered (forming a triangular face), the
third and fourth points will be the same. the meanings of
the bit-coded "invisible edge flags" are shown in the
following table:
table 11-15. group 70 bit codes for 3d face entity
+===========================================+
| flag bit | meaning |
| value | |
|----------|--------------------------------|
| 1 | first edge is invisible |
|----------|--------------------------------|
| 2 | second edge is invisible |
|----------|--------------------------------|
| 4 | third edge is invisible |
|----------|--------------------------------|
| 8 | fourth edge is invisible |
+-------------------------------------------+
polyline 66 (vertices-follow flag), 10, 20, 30 (polyline elevation
- 30 supplies elevation, 10 and 20 are always set to
zero), 70 (polyline flag -optional 0), 40 (default
starting width - optional 0), 41 (default ending width
-optional 0), 71 and 72 (polygon mesh m and n vertex counts
-optional 0), 73 and 74 (smooth surface m and n densities
-optional 0), 75 (curves and smooth surface type -optional
0). the default widths apply to any vertex that doesn't
supply widths (see later).
the "vertices follow" flag is always 1, indicating that a
series of vertex entities is expected to follow the
polyline, terminated by a sequence end (seqend) entity.
the polyline flag (group code 70) is a bit-coded field
with bits defined as follows:
table 11-13. group 70 bit codes for polyline entity
+======================================================+
| flag bit | meaning |
| value | |
|----------|-------------------------------------------|
| 1 | this is a closed polyline (or a polygon |
| | mesh closed in the m direction) |
|----------|-------------------------------------------|
| 2 | curve-fit vertices have been added |
|----------|-------------------------------------------|
| 4 | spline-fit vertices have been added |
|----------|-------------------------------------------|
| 8 | this is a 3d polyline |
|----------|-------------------------------------------|
| 16 | this is a 3d polygon mesh. |
| | group 75 indicates the smooth surface type|
| | as follows: |
| | 0 = no smooth surface fitted |
| | 5 = quadratic b-spline surface |
| | 6 = cubic b-spline surface |
| | 8 = bezier surface |
|----------|-------------------------------------------|
| 32 | the polygon mesh is closed in the n |
| | direction |
|----------|-------------------------------------------|
| 64 | this polyline is a polyface mesh |
|----------|-------------------------------------------|
| 128 | the linetype pattern is generated |
| | continuously around the vertices of |
| | this polyline |
+------------------------------------------------------+
a polyface mesh is represented in dxf as a variant of a
polyline entity. the polyline header is identified as
introducing a polyface mesh by the presence of the 64 bit
in the polyline flags (70) group. the 71 group specifies
the number of vertices in the mesh, and the 72 group, the
number of faces. while these counts are correct for all
meshes created with the pface command, applications are
not required to place correct values in these fields, and
autocad actually never relies upon their accuracy.
following the polyline header is a sequence of vertex
entities that specify the vertex coordinates and faces
that compose the mesh. vertices such as these are
described in the following subsection on vertex.
applications might want to represent polygons with an
arbitrarily large number of sides in polyface meshes.
however, the autocad entity structure imposes a limit on
the number of vertices that a given face entity can
specify. you can represent more complex polygons by
decomposing them into triangular wedges. their edges
should be made invisible to prevent visible artifacts of
this subdivision from being drawn. the pface command
performs this subdivision automatically, but when
applications generate polyface meshes directly, the
applications must do this themselves.
the number of vertices per face is the key parameter in
this subdivision process. the pfacevmax system variable
provides an application with the number of vertices per
face entity. this value is read-only, and is set to 4.
polyface meshes created with the pface command are always
generated with all the vertex coordinate entities first,
followed by the face definition entities. the code within
autocad that processes polyface meshes does not, at
present, require this ordering; it works even with
interleaved vertex coordinates and face definitions as
long as no face specifies a vertex with an index that
appears after it in the database. programs that read
polyface meshes from dxf would be wise to be as tolerant
of odd vertex and face ordering as autocad is.