Skip to content

plycutter.sheetbuild

plycutter.sheetbuild.SheetBuild

Data evolved by heuristics

Semantics:

chosen = set in stone

ok = as far as we know, this could be

chosen <= ok always.

When chosen == ok, we are done

Attributes

sheet_chosen -- PMap(sheet_id, Geom2D). Sheet areas chosen to be included. sheet_ok -- PMap(sheet_id, Geom2D). Sheet areas that are not forbidden by e.g. other sheets or by not being included at all.

interside_chosen -- PMap(sheet_id, Geom1D). For each interside, the regions where the interside's sheet has been chosen.

interside_ok -- PMap(sheet_id, Geom1D). For each interside, the regions where it would still be ok to choose that side.

There is a variety of sanity checks that can be made on a sheetbuild. The checks are relatively slow so by default they are made only infrequently (see sheetbuild.check_interval).

Call sb.check(force=True) to force a check to happen.

Methods

check(self, force=False)

Assert that various invariants are true.

unchoose_interside(self, interside_id, v)

State that the range v will never be chosen


Create an as-free-as-possible SheetBuild for the given SheetPlex.