Skip to content

Assemblies

assembly

Assemblies of parts and joints, and their resolution.

Assembly

Assembly(
    name: str,
    root_location: Orientation | Location | None = None,
    description: str | None = None,
)

Parts and the joints between them. The first part added is the root.

The root is placed by root_location: an Orientation (see orient) or a build123d Location of its part frame. A description in Markdown goes into the plans (see woodwright.pdf).

resolve

resolve() -> ResolvedModel

Fill in joint defaults, size the blanks, place the parts, collect cuts.

ResolvedPart dataclass

ResolvedPart(
    part: Part,
    blank: tuple[Point, Point],
    cuts: list[Cut],
    location: Location,
)

A part with its blank, its cuts and its location in the assembly.

size property

size: tuple[float, float, float]

Cut dimensions: length, width, thickness (for a rod, the diameter twice).

solid cached property

solid: Part

Blank minus all cuts, in the part frame, in one piece.

shape cached property

shape: Part

Blank minus all cuts, in the part frame; a laminated board in its plies.

ResolvedModel dataclass

ResolvedModel(
    name: str,
    parts: list[ResolvedPart],
    joints: list[Joint],
    description: str | None = None,
)

groups cached property

groups: list[PartGroup]

The parts grouped into identical ones and mirror pairs (see woodwright.grouping).

cut_list

cut_list() -> str

Parts with their cut dimensions and the cuts made into them: identical parts once, with their count and names, and identical cuts of a part once; sides named without the part (in back_edge).

compound

compound() -> Compound

All parts placed in the assembly.