Veneer & Laminate#
Laminate faces, book match, and slip match veneer
Names: veneer match
When to use#
A show face covered in a thin leaf of another species (veneer) or a sheet good (a laminate),
bonded to a solid substrate. The host keeps its declared dimensions; each leaf is its own
generated part with its own cut-list row. Not for solid banding or stringing inlays: another
file in INDEX.md may cover those, and it extends this one.
Syntax#
veneer face=<face> material=<Name> [thickness=<mm>] [grain_angle=<deg>] [leaves=<n>] [match=book|slip|sunburst]
| Property | Meaning | Default |
|---|---|---|
face= | Part-local face word (pos_x neg_x pos_y neg_y pos_z neg_z) the leaves bond to. | pos_z |
material= | The leaf's species, or a type=sheet material for a laminate. A bare word, never a CEL expression; must be declared in materials. | required |
thickness= | Finished leaf thickness, mm. Real veneer is about 0.6 (paper-backed) to 3 (hand-sawn). | 0.6 |
grain_angle= | Degrees off the host's length axis; recorded on the cut list. A book-matched mirrored half reads at the opposite angle. | 0.0 |
leaves= | Leaves laid side by side, edge to edge, no gap. | 1, or 2 once match= is given |
match= | book (alternate leaves mirror about each seam; exact mirror, ADR-0019) or slip (repeat, unmirrored), or sunburst (leaves laid as a fan, RFC-0141; see banding-and-stringing). | none (single leaf), slip when leaves > 1 |
- A laminate is the same node: give
material=atype=sheetmaterial. There is no separatelaminatenode. veneercuts nothing on the host. Each leaf is a generated part (never written back to the source), bonded not joined: nojoinnames it and it is expected to touch the host, so it never reports a clash or gap.- A leaf follows its host's finished outline (RFC-0123): a
cut_path ... keep="inside"outline or a piercedcut_pathcut-out written on a face parallel to the veneered one, and atrimor scribed tenon shoulder written square to it, shape the leaf as they shape the host, on every leaf of a book, slip or sunburst match. Not followed: a leaning (tilt=) cut on a parallel face, an outline written on a face square to the veneered one, and blind cuts; the leaf keeps the blank rectangle there. A trim that removes a whole leaf leaves that leafnot built: the features remove the entire stock. - The cut list shows each leaf as its own row (species, thickness, grain angle, match), a book-match's mirrored half as a distinct handed row, and the host row twice: the declared substrate size unchanged plus a finished-thickness figure (substrate plus leaves).
Example#
project name="Veneered Lid" units=mm schema_version=1 {
materials {
material Pine type=softwood
material Walnut type=hardwood
}
component Lid role=lid {
stock Pine 280.0 180.0 18.0
// two leaves, opened like a book: the figure mirrors about the centre seam
veneer face=pos_z material=Walnut thickness=3.0 grain_angle=0.0 match=book leaves=2
}
assembly Box {
part Lid instance=Lid { by top_sw; pos x=0.0 y=0.0 z=0.0 }
}
}
Pitfalls and diagnostics#
- Veneer cross-grain to a solid substrate cracks as the substrate moves; align
grain_angle=0.0with the host's grain unless the piece is a stable sheet substrate.examples/biedermeier_box.kdlexplains why it veneers the show faces and balances the back. - A one-sided veneer on a wide panel cups; veneer the balancing face too (a second
veneer). material=is a name, not an expression:material=Walnut, notmaterial="Walnut".veneeris read by name; it is not an edge feature, so it takes noedgeschild.
See also#
docs/KDL_AUTHORING.md§7 ("Veneer and laminate");docs/rfc/0123-veneer-and-laminate.md; ADR-0019 (the mirror used by book match).examples/biedermeier_box.kdl;docs/styles/biedermeier.md.materials-and-hardware.md(declaring the species),edge-and-face-cuts.md.
Names#
Every name this page declares, how the example library uses it, and the shortest real use.
veneer#
feature; node in 15 of 116 examples (30 uses).
Shortest real use, from empire_columned_chest.kdl:
veneer face=neg_x material=Mahogany thickness=veneer_th
match#
word-valued property; property in 15 of 116 examples (26 uses).
Shortest real use, from adirondack_pole_side_table.kdl:
veneer face=pos_z material=Willow thickness=0.6 match=sunburst leaves=8