Skip to content

plycutter.sheetplex


plycutter.sheetplex.SheetPlex

Constant data extracted from a 3D model.

Three classes represent the objects that live in a sheetplex:

  • Sheet -- a single plywood (or other material) sheet
  • Intersection -- the intersection between two sheets
  • InterSide -- one sheet's side of an Intersection

The direct members are

intersections -- PMap[str, Intersection]

Stored in a pyrsistent.PRecord, see the methods therein for how to manipulate this object.

Methods

interside(self, id)

Get the interside with the given id

intersides(self, sheet_id=None)

Return an iterator for intersides of a particular sheet or all

limit(self, sheet_ids)

Return a sub-Sheetplex with only the given sheet_ids included


plycutter.sheetplex.Sheet

A single sheet that is part of the full model.

Contains various data extracted from the 3D model to help geometric reasoning about the joints.

Methods

project_point4(self, pt)

Project a homogeneous point or line to this plane, return 2D point or direction vector for a line


plycutter.sheetplex.Intersection

An intersection between two sheets.

An intersection defines the intersection coordinate system which is a 1D coordinate across the intersection.

The joint fingers are defined in terms of that coordinate.

Methods

sheets(self)

Return a tuple of the particpating sheet ids

side_by_sheet(self, sheet_id)

Get the InterSide for the given sheet_id.

Returns:

Type Description

None if the given sheet_id is not in this intersection.


plycutter.sheetplex.InterSide

A particular sheet's view of an intersection.

Methods

make_fingers(self, where, fract0=0, fract1=1)

Create a geom for fingers on the sheet on this InterSide.

The parameters fract0 and fract1 are useful mostly for visualizations of different rules affecting the fingers.

Parameters:

Name Type Description Default
where

Geom1D of sections along joint

required
fract0

From this fraction coordinate across joint

0
fract1

To this fraction coordinate across joint

1

Returns:

Type Description

2D geometry of fingers.

opposite(self, sheetplex)

Get the other InterSide in the Intersection we are part of

project_to_1d(self, geom2d)

Project a Geom2D in Sheet coords to a Geom1D in Intersection coords.