Skip to main content

Regular Nesting

Nesting is the process which attempts to find a good placement for all parts within the sheet. A NestingOrder is defined as a set of parts and a sheet.

Creating a Nesting Order#

Part#

A part covers the geometric definition of objects that should be fabricated by cutting them out of some material. Geometrically described, a part itself is a geometric shape with an outline and, potentially, holes. Holes themselves are again described with geometric shapes that must lie within the outline of the part. Holes must not intersect the outline of the part (i.e. effectively change the part outline) and must not intersect each other (i.e. can be merged to a larger hole).

For a better structure, a part is usually described with the following property structure:

Part
- Scope Identifier: (String)
- Geometry: (Part Geometry)

The scope identifier unambiguously identifies a part within its scope of usage, which is usually the cutting plan in which the part is or should be positioned. The geometry of the part describes the outline and its holes:

Part Geometry
- Outline: (some geometric shape as SVG string)
- Holes: [(some geometric shape as SVG string)]

Sheet#

The sheet is the geometric definition of the raw material object out of which parts can be cut out during fabrication. Geometrically described, the sheet is the largest shape of the whole cutting process and must be large enough to accommodate all parts that need to be cut out from it. Since a sheet usually does not hold any other properties such as an identifier, it is mostly just represented by the geometric shape that forms the outline.

Part
- Outline (some geometric shape as SVG string)

Geometry#

The contained geometry will be encoded as SVG string which needs to be valid SVG 1.1 containing only a single path element representing a shape.

Retrieving Results#

The result of a NestingOrder can be retrieved in two different formats.

Part Transformations#

A transformation for each part of the cutting plan, describing the relative transformations that are required to place it within the sheet (see reference). This nesting transformation may include a translation and a rotation of the part. Nesting Transformation:

  • Translation (2D Vector)
  • Rotation (Float) The nesting transformation can be appended as another property of the part, which remains empty if the nesting algorithm cannot find an appropriate positioning for the part.

Cutting Plan Geometry#

A CuttingPlanGeometry which can be created directly form a nesting order (see reference).