Face3d

The 3DFACE entity (DXF Reference) is real 3D solid filled triangle or quadrilateral. Access vertices by name (entity.dxf.vtx0 = (1.7, 2.3)) or by index (entity[0] = (1.7, 2.3)).

Unlike the entities Solid and Trace, the vertices of Face3d have the expected vertex order:

msp.add_3dface([(0, 0), (10, 0), (10, 10), (0, 10)])
../_images/3dface.png

Subclass of

ezdxf.entities.DXFGraphic

DXF type

'3DFACE'

Factory function

ezdxf.layouts.BaseLayout.add_3dface()

Inherited DXF attributes

Common graphical DXF attributes

Warning

Do not instantiate entity classes by yourself - always use the provided factory functions!

class ezdxf.entities.Face3d

The class name is Face3d because 3dface is not a valid Python class name.

dxf.vtx0

Location of 1. vertex (3D Point in WCS)

dxf.vtx1

Location of 2. vertex (3D Point in WCS)

dxf.vtx2

Location of 3. vertex (3D Point in WCS)

dxf.vtx3

Location of 4. vertex (3D Point in WCS)

dxf.invisible_edges

invisible edge flag (int, default=0)

1

first edge is invisible

2

second edge is invisible

4

third edge is invisible

8

fourth edge is invisible

Combine values by adding them, e.g. 1+4 = first and third edge is invisible.

transform(m: Matrix44) Face3d

Transform the 3DFACE entity by transformation matrix m inplace.

wcs_vertices(close: bool = False) list[Vec3]

Returns WCS vertices, if argument close is True, the first vertex is also returned as closing last vertex.

Returns 4 vertices when close is False and 5 vertices when close is True. Some edges may have zero-length. This is a compatibility interface to SOLID and TRACE. The 3DFACE entity is already defined by WCS vertices.