Kumiko is Japanese lattice woodwork assembled from thin strips without nails. Asanoha, the hemp-leaf pattern, splits every triangle of a triangular grid with three spokes from its centre to its corners. Around every grid point the spokes form a six-pointed star. Here the panel is built in one 60° sector and turned six times inside a hexagonal frame, with three strip depths.

A hexagonal timber panel filled with the asanoha star pattern in strips of three depths

Reference: choose Examples  Kumiko asanoha panel on the canvas toolbar to load the finished definition.

Build it

The grid in one sector

  1. Place six sliders: Cells: 3 (2 – 6) with Decimals 0, Cell size: 12 (6 – 30), Frame width: 3 (1 – 8), Frame depth: 12 (4 – 30), Grid depth: 8 (2 – 30) and Spoke depth: 5 (1 – 30).

  2. Place a Multiplication (Maths), Cells × Cell size (the sector’s side R), and an Expression (Maths), Row height, x*sqrt(3)/2, with Cell size.

  3. Place a Series (Sets), Line no., with Cells → C, a Multiplication of it by the row height, and two Expression components, Line start x*y/2 (line no., Cell size) and Line end z*(y - x/2) (line no., Cells, Cell size). Place two Construct Point (Vector) components and a Line (Curve): the grid lines parallel to the sector’s base.

  4. Place a Construct Point at the sector’s centre (R/2, x/(2*sqrt(3)) of R), a Series, 0, 120, 3, and a Rotate (Transform), Three families, about that centre with Graft on A: the sector is an equilateral triangle, so turning one family by 120° and 240° gives the other two.

The spokes in one sector

  1. Place a Multiplication, Cells × Cells, and a Series, Triangle no., with it as C. Triangle q sits in row ⌊q/Cells⌋ at position q % Cells.

  2. Place two Expression components, Up triangle? max(0, 1 - floorx % y + floor(x/y/y)) and Down triangle? max(0, 1 - floorx % y + floor(x/y) + 1)/y, with the triangle numbers and Cells, and two Cull Pattern (Sets): keep the triangles that fit in the sector.

  3. Place four Expression components for their centres, with the kept numbers, Cells and Cell size: z*(x % y + floor(x/y)/2 + 0.5) and z*sqrt(3)/2*(floor(x/y) + 1/3) for the up triangles, z*(x % y + floor(x/y)/2 + 1) and z*sqrt(3)/2*(floor(x/y) + 2/3) for the down ones.

  4. Place an Expression, Spoke length, x/sqrt(3), a Construct Point at (length, 0, 0) and a Line from the origin to it: one spoke pointing along X.

  5. Place two Series, 90, 120, 3 and 30, 120, 3, and two Rotate components of the spoke with Graft on A: the three spokes of an up triangle and of a down triangle. Place two Move (Transform) components to put them at the centres.

Six sectors, strips and frame

  1. Place a Series, Sector angles, 0, 60, 6, and two Rotate components: the three families, and the up and down spokes wired into one G, each with Flatten on G and Graft on A.

  2. Place three Vector XYZ (Vector) components with the three depths as Z, and two Extrude (Surface) components, Grid strips and Spoke strips.

  3. For the frame, place an Expression, x + y*2/sqrt(3), with R and Frame width, two Regular Polygon (Curve) components with S 6 (radius R and that), a Ruled Surface (Surface) between them and an Extrude, Frame, by the frame depth.

  4. Turn Preview off on everything except the strips and the frame.

The kumiko definition on the canvas
Figure 1. The finished definition
The red preview of the kumiko panel
Figure 2. The preview in FreeCAD’s 3D view

What is happening

The hexagon splits into six equilateral sectors, and each sector into Cells² small triangles: rows of up-pointing triangles (i + j ≤ Cells − 1) with down-pointing ones between them (i + j ≤ Cells − 2). The two Cull Pattern formulas are those two tests written with floor, because Expression has no comparisons: max(0, 1 - floor(s/y)) is 1 when s < y and 0 otherwise. A spoke runs from a triangle’s centre to a corner, so each spoke is a/√3 long and its outer end is a grid point. The geometry tests check both of these for every spoke, and that all of them lie inside the hexagon. Turning a spoke the wrong way makes them fail.

The strips are ribbons standing on the panel’s back face, so the three depths read as three levels from the front, as the frame, the grid (jigumi) and the infill pieces of a kumiko panel often differ in depth. The panel updates in about a third of a second.

Things to try

  • Set Cells to 5 for a fine pattern of 450 spokes.

  • Set Spoke depth to 8, equal to Grid depth, for a flush face.

  • Set Frame width to 8 for a heavy border.