# Cutouts

For each plane (face) there is an array in which you can specify per line where cutouts should come, what the `origin` of such a recess is, what shape the recess should have (Rectangle, RoundedRect, Circle, CircleWithFlats, CircleWithKey or Polygon).
Depending on the plane, the first element is the position on the X-axis (lid-, base-, left- or rightPlane) or the Y-axis (front- or backPlane) and the second element is the position on the Y-axis (lid-, base-, left- or rightPlane) and the Z-axis (front-, back-, left- or rightPlane).
===================================================================
*** Cutouts ***
There are 6 cutouts one for each surface:
cutoutsBase, cutoutsLid, cutoutsFront, cutoutsBack, cutoutsLeft, cutoutsRight
-------------------------------------------------------------------
Default origin = yappCoordPCB
Required Not Used Note
----------------------+-----------------------+---------------+------------------------------------
yappRectangle | width, length | radius |
yappCircle | radius | width, length |
yappRoundedRect | width, length, radius | |
yappCircleWithFlats | width, radius | length | length=distance
| | | between flats
yappCircleWithKey | width, length, radius | | width = key width
| | | length=key depth
yappPolygon | width, length | radius | yappPolygonDef object
| | | must be provided
----------------------+-----------------------+---------------+------------------------------------
Parameters:
Required:
p(0) = from Back
p(1) = from Left
p(2) = width
p(3) = length
p(5) = shape : { yappRectangle | yappCircle | yappPolygon | yappRoundedRect
| yappCircleWithFlats | yappCircleWithKey }
Optional:
p(6) = depth : Default = 0/Auto : 0 = Auto (plane thickness)
p(7) = angle : Default = 0
n(a) = { yappPolygonDef } : Required if shape = yappPolygon specified -