Provide options without default values
Optionalshape: TOptionalnrHexagonsU: numberOptionalnrHexagonsV: numberOptionalflatU: booleanOptionalholesToFaces: booleanOptionalscalePatternU: number[]OptionalscalePatternV: number[]OptionalfilletPattern: number[]OptionalinclusionPattern: boolean[]OptionaloffsetFromBorderU: numberOptionaloffsetFromBorderV: numberThe face to cut the holes into.
OptionalnrHow many hexagons across the U range.
OptionalnrHow many hexagons across the V range.
When true, the hexagons turn a flat side toward the U direction; when false a corner points that way.
OptionalholesWhen true, the result also carries one face per hole after the perforated face.
OptionalscaleSizes of the holes along U as fractions of their hexagon, applied in turn; leaving the list out uses 0.5.
OptionalscaleSizes of the holes along V as fractions of their hexagon, applied in turn; leaving the list out uses 0.5.
OptionalfilletCorner rounding of the holes as fractions from 0 to 1 of the largest radius that fits, applied in turn; 0 leaves sharp corners.
OptionalinclusionWhich hexagons become holes, applied in turn: true cuts one, false leaves the face whole there.
OptionaloffsetA fraction of the U range trimmed at each end before laying the grid, so the holes keep clear of the border; keep it below 0.5.
OptionaloffsetA fraction of the V range trimmed at each end before laying the grid, so the holes keep clear of the border; keep it below 0.5.
A face, hexagon counts and optional patterns for
shapes.face.subdivideToHexagonHoles, which cuts a honeycomb of hexagonal holes into the face. Without a scale pattern each hole is half the size of its hexagon.