Skip to content

Circular Open Source Fashion

1. Objective

weekly assignment

Check out the weekly assignment here or login to your NuEval progress and evaluation page.

This week is about circularity: one open module, no sewing, nothing left over. My design is Modular Bougainvillea — a single triangle-and-circle module inspired by the triangulated geometry of the bougainvillea flower. It tessellates edge-to-edge on a 300 × 300 mm sheet with near-zero waste, and the three outer vertices carry Ø 6 mm assembly holes so the same cut piece can be riveted, stitched or magnetised into necklaces, belts, capes or full garments. The full sheet is now cut from printed cotton and the first modules are linked point-to-point into a wearable triangular bib — see § 7.


2. References & inspiration

The motif comes from the bougainvillea: three triangular bracts orbiting a single circular pistil. Triangles tessellate by definition, so the flower is already a cut pattern waiting to happen. The triangular minimum + a hub circle + three corner holes is everything the module needs — one shape, one joint, one repeat.

An earlier iteration of this week's idea — a diamond-and-slit interlocking textile inspired by Alicja Kamaj's SURRENDER — is preserved at the bottom of this page under § 8 Testing for comparison. The bougainvillea version below replaced it because the triangle tessellation is the more honest zero-waste answer: every piece of the sheet becomes a usable module.


3. Tools

  • TinyPNG — image compression
  • Inkscape 1.4 — module geometry, tessellation, export to SVG / DXF / PNG1
  • Python (gen_modular_svg.py + svg2dxf.py) — script-based regeneration of the module family at any pitch / sheet size2
  • Makeblock Laserbox — cutting the tessellated sheet from printed cotton (felt / leather 1–3 mm planned next)

4. Concept

The bougainvillea is reduced to its smallest honest geometry: three triangular bracts orbiting a single circular pistil. Because the bract is already a triangle, the motif inherits the triangle's superpower — it tessellates. One module repeats across the fabric sheet with almost zero waste, and the pistil circle doubles as a joint: punched holes at each outer vertex let modules clip, rivet or stitch together into necklaces, belts, capes, or full garments.

把三角梅抽象到最小几何:3 片三角形苞片围绕 1 个圆形花蕊。三角形天然可无缝镶嵌,所以一个模块可以在整张布料上近零浪费地重复;花蕊圆同时是「关节」——三个外顶点上的拼装孔让模块能用铆钉 / 缝线 / 磁扣拼成项链、腰带、披肩乃至整件衣服。

Real bougainvillea — three triangular magenta bracts orbiting a small white flower at the centre

The motif, in the wild: three triangular bracts orbiting a single white flower. *Bougainvillea spectabilis* — photo by A S M Jobaer, Wikimedia Commons, CC BY-SA 4.0. The module in this week is exactly this flower, redrawn as cut lines.

Design rules

  • One module only — everything on the sheet is a copy of it.
  • Unit circumradius 30 mm → tessellation pitch 60 mm (edge-to-edge, near-100 % material use).
  • Cut lines as 0.2 mm red hairlines; fills are for the eye, not the machine.
  • Assembly holes Ø 6 mm at the three outer vertices = the modular joint.

5. Process — Inkscape workflow

5.1 Step 1 — Document Setup

Blank 300mm canvas300 × 300 mm

File → Document Properties → set Display units: mm, then File → Document Properties → Resize to content is skipped — instead type 300 × 300 mm custom size. In the toolbar, set the stroke units to mm as well.

文档属性里把单位全部设为毫米,画布自定义 300×300mm——之后所有尺寸都能直接打数字。

5.2 Step 2 — One Equilateral Triangle (the Bract)

A single equilateral triangle

Activate the Polygon tool (*), set Corners: 3, Scatter: 0 in the toolbar. Drag while holding Ctrl to snap an upright equilateral triangle. Type the exact size in the toolbar: base 26 mm (height ≈ 22.5 mm) — the size is arbitrary, the 120° symmetry is what matters.

多边形工具边数设 3,按住 Ctrl 拖出正三角形——尺寸随意,重要的是等边。

5.3 Step 3 — Rotate-Copy × 2 → Three Bracts at 120°

Three triangles at 120 degrees

With the triangle selected, press Ctrl+D (duplicate), then Object → Transform → Rotate 120°. The trick: first click the triangle once more so rotation handles appear, and move the rotation pivot to the point where the pistil circle will sit — about 15 mm from the triangle's base midpoint. Duplicate again, rotate another 120°.

复制一份后用「变换 → 旋转 120°」,关键是把旋转中心点拖到未来花蕊的位置;再复制旋转一次,三片苞片就位。

5.4 Step 4 — The Pistil Circle (and Joint Hub)

Centre circle added

Ellipse tool (E): drag with Ctrl+Shift from the centre outward so the circle stays concentric with the rotation pivot. Set exact radius in the toolbar: R = 15 mm. The three triangles' bases now sit on this circle — this circle is both the flower's pistil and the structural hub of the joint.

椭圆工具按 Ctrl+Shift 从圆心拉出,精确半径 15mm;三片苞片的底边正好落在这个圆上。

5.5 Step 5 — Assembly Holes at the Outer Vertices

Three small holes at outer vertices

Copy the pistil circle (Ctrl+C · Ctrl+V), shrink to R = 3 mm (Ø 6 mm — sized for M3 rivets or waxed cord), and place its centre exactly on each outer vertex of the bracts. Duplicate × 2, rotate 120° / 240° around the pistil centre, same pivot as before.

把花蕊圆复制缩小到半径 3mm,圆心对准三角形外顶点,再用同样的 120° 旋转复制出另外两个。

These holes are the whole point of the module: they are what makes it modular. Rivet, stitch or magnet through them and the same cut piece becomes a necklace, a belt, or the cell of a cape. 这些孔就是「模块化」的全部机关。

5.6 Step 6 — Group → One Master Module

All elements grouped

Select everything (Ctrl+A) and group with Ctrl+G. Set stroke width 0.2 mm, colour #FF0000 (red = cut layer for most laser software), fill: none. Align the module's bounding box to the canvas origin: Object → Align & Distribute → relative to Page.

全选成组,描边统一 0.2mm 红色、无填充——这是大多数激光软件的「切割层」约定。

5.7 Step 7 — Tessellate: Duplicate–Move at 60 mm Pitch

4x4 tessellation thumbnail

Duplicate–move–repeat (the reliable way): select the module, Ctrl+D, then Object → Transform → Move X = +60 mm. From now on every fresh Ctrl+D repeats that same offset — press it three times per row, then select the row and duplicate downwards Y = +60 mm. Result: a 4 × 4 sheet where neighbouring modules interlock, with ~8 mm of breathing gap at the tightest points, so nothing overlaps.

复制后用「变换 → 移动 X+60mm」,之后每次 Ctrl+D 都会自动重复这个位移——这就是 Inkscape 做阵列最快的方式;第二行从整行复制往下挪 60mm。相邻模块的外顶点刚好交错咬合。

Alternative: Edit → Clone → Create Tiled Clones (P1 symmetry, 4 × 4) also works, but its Shift values are percentages of the module size — for a 60 mm pitch set Shift ≈ 91–95 % and verify with the Measure tool. The duplicate-move-repeat method above keeps everything in exact millimetres. 平铺克隆的位移是百分比制,想精确 60mm 还得换算,不如复制-位移法直接。

5.8 Step 8 — Export for the Laser Cutter

Export diagram.svgmaster.dxfcutter.pngpreview

  • DXF: File → Save As → DXF R12 (in GUI; unlink clones first). This file feeds the cutter directly.3
  • PNG preview: File → Export PNG, 1000 px wide, white background — for the portfolio page.3
  • Verify scale: measure one module — it must read 60 mm across.

导出前先解除克隆链接;DXF 给切割机,PNG 留作作品集预览。拿卡尺量一下模块,跨距必须是 60mm。


6. Final sheet & cut parameters

Final 4×4 modular tessellation — 16 modules on a 300 × 300 mm sheet

Final cut sheet. 16 modules · pitch 60 mm · 0.2 mm red cut lines only. Source: bougainvillea_modular.svg → rendered by Inkscape.

Tessellation preview — larger-scale rendering of the same geometry

The same tessellation at a larger render scale for the portfolio page. bougainvillea_tessellation.svg → PNG via Inkscape.
Parameter Value Note
Sheet 300 × 300 mm scales freely
Module pitch 60 mm unit circumradius 30 mm
Pistil circle R 15 mm joint hub
Assembly holes Ø 6 mm M3 rivet / 2 mm cord
Cut stroke 0.2 mm, #FF0000 no fill
Kerf compensation not applied offset +0.1 mm outward for tight fits
Material — this prototype printed cotton laser-sealed edges, no fraying
Material — planned next felt / leather 1–3 mm holes get eyelets if leather

7. Cutting & assembly — the physical sheet

The vector workflow above became fabric on 13–14 Oct: one full tessellated sheet cut on the Makeblock Laserbox, then popped apart and re-linked by hand into the first wearable module chain.

7.1 Cutting the full sheet

The full tessellated sheet in the Laserbox bed after cutting — triangular modules with vertex holes in printed cotton

The 300 × 300 mm sheet straight out of the Laserbox. Every module of the tessellation is cut in one pass — triangles, hub circles and the Ø 6 mm vertex holes — and the laser seals the cotton edges so nothing frays.

7.2 Popping out the modules

Cut bougainvillea modules scattered across the worktable

A chain of modules plus loose pieces next to the offcuts

The sheet breaks down into a bag of identical modules — each one a small triangle with a ring at every vertex. The offcut pile in the corner is tiny: the tessellation really does leave almost nothing behind.

7.3 Linking the chain

Modules linked point-to-point into a zigzag chain along the table edge

The vertex rings interlock point-to-point: two modules share one vertex, and the chain grows in both directions. No thread, no glue — the joint is geometry again.

A vertical chain of linked modules on the dark table — printed ferns and florals

The same chain, read vertically. The printed cotton does half the aesthetic work: every module picks up a different fragment of the botanical print, like bracts on a stem.

7.4 Wearing it — first fitting on the dress form

The modular bib worn on the dress form — front view

The modular bib on the dress form — side view

First fitting. Left: the chain gathers into a triangular bib over the chest — the negative triangle between modules is as much a part of the design as the fabric ones. Right: from the side, the flat modules sit away from the body and hold their shape without any interfacing.

The bib from the shoulder — modules fanning over the shoulder line

The back view of the modular bib on the dress form

Left: over the shoulder, the modules fan and follow the body curve. Right: the back view — the bib is currently held by friction and link geometry alone; rivets or waxed cord through the Ø 6 mm holes are the next step to make the fit permanent and adjustable.

7.5 What I made

  • One full laser-cut sheet of printed cotton — 16+ tessellated bougainvillea modules with vertex holes, cut in a single pass
  • A bag of identical modules with almost zero offcuts, linked point-to-point into chains
  • The first wearable prototype: a triangular modular bib fitted on the dress form, no sewing, no glue

8. Testing

The first modular direction for this week was a diamond-with-slit interlocking textile, cut from printed cotton on the Makeblock Laserbox. The modules slid into each other through horizontal slits and produced a chainmail-like sheet that wrapped a 3D form. That work is documented here as a test of the modular idea — the bougainvillea version above replaced it because a triangular tessellation is the more honest zero-waste answer (every piece of the sheet becomes a usable cell; the diamond version still had small offcuts at the slit bridges). Materials and findings feed forward into the next iteration.

8.1 Inspiration

get inspired!

Check out and research alumni pages to better understand how to document and get inspired.

The original reference was SURRENDER4 by Alicja Kamaj — a deconstructed trench coat rebuilt piece by piece from leather production waste, donated by Elmo Leather and Zadora. Every fragment is an independent cut piece, and the whole garment holds together purely by pieces interlocking into each other — no sewing, no glue.

Leather production waste cut into interlocking modules — from Alicja Kamaj's SURRENDER

Leather offcuts as a modular construction kit — Alicja Kamaj, SURRENDER, 2025, Fashion Frontier Program 2025 finalist.

8.2 Module — diamond with slit

The diamond test-module — single diamond with a horizontal interlocking slit, chained into a strip

The original test-module geometry. One shape, one slit, repeated by chaining at the points.

8.3 Nesting & laser cutting

Laserbox software — the diamond nesting laid out and processing

The nesting job in the Laserbox software. Chained diamond strips and a strip-shaped variant pack edge to edge on the bed.

The cut sheet in the machine bed — outlines and slits cut through the printed cotton

The full sheet after cutting on the Makeblock Laserbox.

Laser cutting the printed cotton — the head traces the diamond outlines and slits.

8.4 Assembly & structural tests

Cut modules and strips spread out on the floor before assembly

The pieces after cutting. Chained strips and single modules, all identical, all with their slits open.

The assembled sheet held up against the light

The interlocked textile held up to show the open structure

Structural tests of the diamond-slit system. Left: the sheet against light — overlaps and gaps create a translucent lattice. Right: the open weave lets the textile bend and twist freely while staying connected.

8.5 Results & what I learned

The diamond-slit textile laid out flat on a table

The same textile wrapped around a water bottle

The diamond-slit prototype. Left: assembled sheet. Right: wrapped around a bottle — the modular joints let a flat textile conform to a curved body, no sewing needed.

  • Diamond-and-slit modules assemble and disassemble without sewing, draping like chainmail, wrapping a flat sheet onto a 3D form.
  • What I learned: geometry alone can replace a sewn chain, and laser-cut edges of woven cloth do not fray. But the slit bridges leave small offcuts and the joint tolerance on cotton is soft.
  • Why this became a test, not the final: the triangular tessellation above (Modular Bougainvillea) is a stricter zero-waste geometry — every triangle is a usable cell, no bridges, the holes double as a real assembly joint for rivets and cord.


9. Weekly reflection & critical thinking

  • What I learned. The strongest zero-waste answers are geometric. The triangle tessellation gave me a single module that fills the sheet edge to edge with no bridges, no slits, and the same cut lines that join the assembly. The hub circle + corner holes is the entire construction system — one shape, one joint, one repeat. Cutting it for real confirmed the promise: the sheet broke into identical modules and the offcut pile stayed tiny.
  • What surprised me. Two things. How far Object → Transform → Move gets you — the duplicate-move-repeat method at 60 mm pitch is more reliable than the Tiled Clones dialog, because every value stays in exact millimetres. And how the printed cotton does half the design work: each module picks up a different fragment of the botanical print, so a bag of identical shapes becomes a bag of unique-looking bracts — exactly the chaos-leads-the-design lesson from SURRENDER.
  • What I would do differently. Parameterise the whole thing from a small script (see gen_modular_svg.py + svg2dxf.py in § 10 Fabrication files & References) so I can regenerate the family at 40 / 60 / 80 mm pitch and on different sheet sizes. On the body: the first bib holds its shape well, but the point-to-point links are still the sheet's own rings — I want proper rivets or waxed cord through the Ø 6 mm holes next, which also makes the fit adjustable. And the flat modules stand away from the chest; a mixed sheet with a few scaled-down modules would drape closer.
  • Connection to my final project. My final project keeps moving towards body-shaped textile structures built from many identical units. Modular Bougainvillea is the cleanest version of that idea yet: open-source, zero-waste, parametric, and the same module can become a necklace, a belt or a cape depending on what you do at the three corner holes.
  • Ethical / environmental note. The system is deliberately open: one small module, publishable as an SVG / DXF, reproducible on any laser cutter, cuttable from any sheet of felt / offcut leather / denim. The triangular tessellation means every offcut is either a complete unit or shared with its neighbour — the cut sheet's end of life is a return to its beginning, a bag of identical pieces.

NuEval — final step

Go to NuEval and fill in the checklist, when not complete notify your instructor.


10. Fabrication files & References

Modular Bougainvillea — the open-source module family and the parametric generator:

References:


  1. Inkscape 1.4 — module geometry, tessellation, export. Vector drawings on this page are the actual Inkscape SVG, rendered inline. ↩↩↩

  2. Parametric regeneration of the module family at any pitch / sheet size — gen_modular_svg.py builds the SVG; svg2dxf.py converts it to a laser-ready DXF. See bougainvillea_modular.svg for the static reference. ↩↩↩

  3. Exported from Inkscape — DXF R12 for the cutter, PNG at 1000 px wide for the portfolio. Verify scale on the cut sheet with a caliper (one module = 60 mm across) before cutting the final material. ↩↩↩↩

  4. Alicja Kamaj, SURRENDER — a trench coat rebuilt from leather production waste, Fashion Frontier Program 2025. alicjakamaj.com/projects-surrender-1 ↩