ALIEN TECH · a fair question, answered with arithmetic
The person the bucket is for asked, watching it print: do slicers have anything that saves wall material this aggressively? A fair question, and it earns a precise answer. The bars below are that answer's shape. Every number on this page is measured from the emitted gcode file, never from intention.
This page was written mid-print on 2026-08-08 and its stage line has moved as the day did; the history is in the repo. The print completed: full 304.8 mm, 518 minutes, no error, the 62 mm spans taut on every one of the 79 bridge layers. Then the person the bucket is for took it off the plate, held it, and gave the plate read, with a photo: "Perfect bucket." All 16 fabric panels even, the floor attached, the acceptance recorded in the project's send ledger. Two claims are still not made anywhere here: whether the C-channels grip a bamboo stick over the full height, which is unread, and what the bucket can carry. Every mass on this page is computed from the emitted file at a nominal 1.24 g/cm³; the accepted part has still never been on a scale.
A bucket 339.5 mm across and 304.8 mm tall, printed on a Creality K2 Plus with a 0.8 mm nozzle: 1,268 layers, 83.6 m of filament. The wall is 16 posts shaped to take bamboo sticks, an open fabric of free-air strands between them at 18% of a normal bead's flow, and a bridge hierarchy at 1.8×, 3.6× and 7.2×. All of it emitted directly as machine motion by bucket_towers.py. No CAD, no mesh, no slicer.
| Feature | Mass | Extruded path | What it is |
|---|---|---|---|
| Floor | 69.6 g | 89 m | 3 cross-latch layers, lap-welded border |
| Posts | 77.1 g | 449 m | 16 C-channels, single bead, laps included |
| Fabric | 53.2 g | 1,211 m | free-air strands, 0.212 mm rods |
| Bridges | 49.4 g | 83 m | the three-tier flow hierarchy |
| Whole part | 249.4 g | 1,832 m | computed from the file; unweighed |
The gcode is 46 MB and its 700-line header carries its own evidence and its own doubts. A small public script, slicers_figure.py, streams the file once and attributes every millimetre of extruded filament to the feature that laid it: layers are announced in the file, and a gap crossing is one straight move of ~64 mm while a post arc moves a millimetre at a time, so the two cannot be confused. Volume is filament length times the 1.75 mm filament's cross-section; mass is a nominal 1.24 g/cm³.
The attribution is then verified by an independent route: each category's measured cross-section must reproduce what the header declares. The fabric measured 0.0354 mm² per strand against 0.0354 declared. The posts measured 0.1384 mm² against a predicted 0.1385 (287 m of arcs at full bead plus 161.8 m of weld laps at 0.18×). The bridges measured 0.4811 against a 0.4810 layer-weighted prediction, and that prediction only lands when the rim is counted as what it physically is, two circuits of the accent-size rod. Two routes, one number, three times.
The leanest wall a slicer emits is spiralize, vase mode: one continuous single-bead wall, no infill. The right baseline, and still a full bead at every millimetre. At this bucket's own diameter, height and bead:
; vase-mode wall, same size, same 0.82 mm bead circumference pi × 339.5 mm = 1,066.6 mm wall area × 304.8 mm height = 325,091 mm² wall volume × 0.82 mm bead = 266,574 mm³ wall mass × 1.24 g/cm³ = 330.6 g ; the wall alone, no floor ; this bucket, measured from the emitted file wall posts + fabric + bridges = 179.6 g whole part wall + floor + prime = 249.4 g
These are not the same wall. A vase wall is closed and holds water; this one is mostly daylight, and the file's own header calls the part a bucket in shape, not a vessel. The fair claim is the ceiling: a slicer's leanest wall spends 1.8× the material of this one.
The aggressive saving is not the posts. The file crosses the 16 gaps once per layer for 1,186 layers: 1.21 kilometres of strand, weighing 53.2 grams. The same path at body flow would weigh 295.6 g. Each strand exists because the extruder is metered to 18% while the head flies the 62 mm gap at 80 mm/s, and what lands is a 0.212 mm rod, a quarter of the nozzle's own bore: drawn from it like wire, not pressed out of it like toothpaste.
That rod's diameter is written nowhere as geometry. There is no 0.212 mm cylinder in any model, because there is no model. The rod is a flow decision: one G1 move with its extrusion metered to 18%, against a speed, through air. More flow and the same move is a bridge; more again, the rim. Three structural roles, identical geometry, distinguished only by how much plastic one gcode line pushes.
A slicer's contract runs the other way: mesh in, full beads out. The geometry is the input and the flow is a consequence. This wall inverts that. The flow schedule is the design, and the shape is whatever the flow leaves hanging between 16 posts. It exists only as toolpath, the thesis this site opened with; this bucket is the first part where the thesis is also the cheapest way to build.
No strawmen: each of these is real and useful, and each stops at the same line. Expand any of them for what it can and cannot do.
Spiralize prints one unbroken single-bead wall with a continuous Z rise, plus solid bottom layers. It saves everything except the wall itself, which is a full bead at every point of every layer. The arithmetic above is its best case at this size, and it loses to a wall that is mostly air. What it keeps that this bucket gives up: a closed, water-tight surface.
The closest in spirit, and it deserves respect. It grew from the WirePrint research (UIST 2014), which printed a mesh's surface as a wireframe of free-air strands ten times faster than slicing it, and Cura still ships a descendant as an experimental mode. It really does extrude in mid-air. But it renders the surface of a mesh in one wire recipe: flow and speed are global settings for the whole wireframe, its own documentation warns that gravity will disagree with the preview, and it cannot make one strand structural and its neighbour decorative. A post-and-fabric wall with a 1.8×/3.6×/7.2× rod hierarchy is not a setting it has, because that hierarchy is not a property of any surface.
Every serious slicer detects spans in the model with nothing under them and switches flow, speed and fan to survive them. The bridge is a hazard the mesh created; the slicer's job is to get across it. Here the spans are in no mesh at all. The 62 mm rods exist because the generator decided a chord should exist at that layer at that flow. A slicer cannot bridge a void its input never described.
Honesty requires saying this one really does save material aggressively: it can cut an interior to a few percent, growing a supporting lattice under roofs where nobody sees it. But it is interior by definition, and it leaves every wall at full bead. Nothing in it touches the problem this wall solves, which is making the visible, structural surface out of 18% thread.
The variable-width generator in Cura, PrusaSlicer and Orca modulates bead width to fit the mesh's own walls, and it is very good at it. But the width it varies belongs to a wall the mesh gave it, in a band around the nozzle size, always deposited onto material below. A freestanding 0.21 mm round strand from a 0.8 mm orifice is not a thin wall. It is a different physical object, and no mesh can carry it to a slicer, because meshes describe surfaces and this is a behaviour.
Cutting a wall to 18% flow is easy. Knowing when you may is the work, and these numbers deserve trust only because the file was built under gates that refuse. The claims ledger, as it moved:
validate.py reads the emitted gcode, not the intention, and it has refused real files: a five-layer floor died on the spot when the overhang rule measured 23% of a layer extruded onto nothing. A physical weld simulation measured an earlier floor border at 0% welded and exposed that the border fill had never been emitted at all; the stitch-comb weld in this file exists because that gate fired. And the send step keeps a ledger: when a recorded human observation contradicts a computed value that has never been proven, the recorded words win. A slicer would have prevented this whole experiment. It also would have prevented the wall. That trade, made visible, is the price.