construction.FaceSet

construction.FaceSet(owner_kind, builder)

The analytic faces of one feature, built on first use.

Parameters

Name Type Description Default
owner_kind str The feature that owns the faces — extrude, loft, box and so on. Reported in the payload so the viewer can say what a highlighted face belongs to. required
builder Callable[[], Sequence[Face]] Callable returning the face list. Deferred so declaring faces costs nothing until something asks for one. required

Methods

Name Description
all Every face this feature declares, in a stable order.
cap The cap at the + or - end of the feature’s sweep.
face The face with this key.
keys The key of every declared face.
side The side wall swept by profile edge index.

all

construction.FaceSet.all()

Every face this feature declares, in a stable order.

cap

construction.FaceSet.cap(sign='+')

The cap at the + or - end of the feature’s sweep.

Parameters

Name Type Description Default
sign str "+"/"top"/1 for the cap at +depth/2, and "-"/"bottom"/-1 for the one at -depth/2. '+'

Returns

Name Type Description
Face The matching :class:Face.

Raises

Name Type Description
KeyError If the feature declares no cap on that side.
ValueError If sign names neither end.

face

construction.FaceSet.face(key)

The face with this key.

Parameters

Name Type Description Default
key str A key from :meth:keys — cap+, side2, +x. required

Returns

Name Type Description
Face The matching :class:Face.

Raises

Name Type Description
KeyError If no face carries that key.

keys

construction.FaceSet.keys()

The key of every declared face.

side

construction.FaceSet.side(index)

The side wall swept by profile edge index.

Parameters

Name Type Description Default
index int Zero-based edge index; edge i runs from profile vertex i to vertex i + 1 (wrapping at the end). required

Returns

Name Type Description
Face The matching :class:Face.

Raises

Name Type Description
KeyError If the feature declares no such side wall.