Banding & Stringing#
Inlaid border bands, strung lines, and sunburst veneer, as generated parts
Names: banding stringing lay pattern
When to use#
Use banding or stringing when a design needs a strip of contrasting wood let flush into
a face: a line of holly round a walnut top, a herringbone or cross-banded border on a
Federal, Hepplewhite or Sheraton panel, a flush edge band. One node cuts the groove in the
host and generates the filler part that fills it exactly, so the two cannot disagree.
Use veneer match=sunburst for a fan of veneer leaves radiating from a point. Do not use any
of these for a pictorial motif (patera, bellflower, marquetry): out of scope (RFC-0141).
Syntax#
banding face=pos_z material=<Species> width=<mm> depth=<mm> offset=<mm>
[lay=inlay|surface] [thickness=<mm>] [pattern=plain|herringbone] [angle=<deg>]
[{ edges <neighbour face>... }]
stringing face=pos_z material=<Species> offset=<mm> [width=<mm>] [depth=<mm>] [angle=<deg>]
veneer face=pos_z material=<Species> match=sunburst leaves=<n>
[center_u=<mm> center_v=<mm>] [start_angle=<deg> end_angle=<deg>]
offset=is the distance from the face's edge to the strip's near side. Required forstringing;0on abandingopens the groove through the side.- Defaults: banding 12mm wide, 3mm deep; stringing 1.5mm wide, 2mm deep.
lay=surfacebonds the strip on the face instead (thickness=, default 0.6; no groove, nodepth=). pattern=herringbonesplits each strip into two halves at+angleand-angle(default 45).angle=90is cross-banding. The figure is a grain angle, never geometry.{ edges pos_x pos_y }limits the banding to edges named by their neighbouring faces. Strips mitre only where two selected edges meet; the others end square.- Strips are mitred at 45 degrees where two neighbouring edges are both banded.
repeat i count=3 { stringing ... offset="10.0 + i * 6.0" }makes concentric lines.match=sunburst:leaveswedges (default 8) tile the face from the centre point; each leaf must span under 180 degrees, so a full circle needs at least 3 leaves.
Example#
project name="Inlaid Panel" units=mm schema_version=1 {
materials {
material Poplar type=hardwood
material Walnut type=hardwood
material Holly type=hardwood
}
assembly InlaidPanel {
part Panel role=panel {
stock Poplar 300.0 200.0 22.0 lengthwise
by top_sw
pos x=0.0 y=0.0 z=0.0
banding face=pos_z material=Walnut width=10.0 depth=3.0 offset=10.0 pattern=herringbone
repeat i count=2 {
stringing face=pos_z material=Holly offset="6.0 + i * 16.0"
}
}
part Fan role=panel {
stock Poplar 160.0 160.0 16.0 lengthwise
by top_sw
pos x=330.0 y=0.0 z=0.0
veneer face=pos_z material=Walnut thickness=0.6 match=sunburst leaves=8
}
}
}
The full worked fixture is examples/inlaid_tray.kdl.
Pitfalls and diagnostics#
- A bad property or an impossible section is a named skip on both the groove and the
filler, never a silent no-op:
stringingwithoutoffset=,depth=that reaches through the part,width=0, a missingmaterial=,lay=other thaninlay/surface,pattern=other thanplain/herringbone, a strip wider than the face allows,thickness=on an inlay,depth=on a surface strip, anedgesword that is not a neighbour of the face. - Strips must not meet their opposite strip:
2 * (offset + width)must stay under the face's extent. - The filler sits flush with no gap, touching its groove: expected, never a clash.
- Cut list: strips are ordinary strip stock,
Lthe outer edge's length (the mitre is cut from it), the grain angle in the component name (Walnut herringbone banding (+45°)). A flush inlay does not change the host's thickness. - Do not put an inlay groove on a face that also carries
veneer; surface banding likewise is not meant to share a face with a veneer leaf. - Ids:
Host@banding_<n>/Strip_<j>andHost@stringing_<n>/Strip_<j>,nnumbering the unrolled banding/stringing nodes of that host in document order. - Not built: curved banding, stopped bands, the pictorial motifs, the chevron figure itself.
See also#
docs/KDL_AUTHORING.md§7, Banding and stringing and Veneer and laminatedocs/rfc/0141-banding-stringing-sunburst.md,docs/adr/0025-banding-stringing-inlay.mdexamples/inlaid_tray.kdldocs/agent-reference/nodes.md,docs/agent-reference/tasks.md
Names#
Every name this page declares, how the example library uses it, and the shortest real use.
banding#
feature; node in 6 of 116 examples (12 uses).
Shortest real use, from serpentine_sideboard.kdl:
banding face=neg_x material=Tulipwood width=band_w depth=3.0 offset=band_off
stringing#
feature; node in 12 of 116 examples (20 uses).
Shortest real use, from deco_console_table.kdl:
stringing face=neg_y material=Ivory offset=8.0
lay#
word-valued property; not used by any example yet.
pattern#
word-valued property; property in 4 of 116 examples (6 uses).
Shortest real use, from william_and_mary_lowboy.kdl:
banding face=pos_z material=Maple width=7.0 depth=3.0 offset=29.0 pattern=herringbone