Coffee Machine
A lever espresso machine at real size (34 cm wide, 58 cm to the lever tip; 50 cm for the double group): a chamfered housing with inset side panels, a domed group head with a portafilter and twin spouts, a tall brew lever that swings forward to pull a shot (lever, rotate rig), a steam wand that swings out (steam_wand), pressure gauges or a digital display, a power light, a slatted drip tray and a railed cup warmer with espresso cups. The display and power light glow at night.
- Size
- 0.36 × 0.68 × 0.51 m
- Triangles
- 1,546
- Kit
- Food
Tune it
4 knobs: Finish, Groups, Cups, Lever.
Specs
- Size
- 0.36 × 0.68 × 0.51 m width × height × depth
- Triangles
- 1,546 of 6,000
- Draw calls
- 1 one vertex-colour material
- Moving parts
- 2 lever · rotate, steam_wand · rotate
- Knobs
- 4 3 presets
- Night lights
- 1 led
Passed the validator: real scale, rests on y = 0, front faces +Z, deterministic.
Use it
Code for the specimen as it is set up above; it follows your knobs.
import { createAsset } from 'https://gaitkit.com/cdn/coffee-machine.mjs';
const coffeeMachine = createAsset();
scene.add(coffeeMachine); // rests on y = 0, front faces +Z
// 'lever' pivots on its hinge: -7° to 88° around x
coffeeMachine.getObjectByName('lever').rotation.x = THREE.MathUtils.degToRad(-7);import { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/coffee-machine.mjs';
export function CoffeeMachine() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import coffee-machine.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
$CoffeeMachine/lever.rotation_degrees.x = -7// Import coffee-machine.glb with glTFast (com.unity.cloud.gltfast).
transform.Find("lever").localEulerAngles = new Vector3(/* x: */ -7, 0, 0);Use the gaitkit MCP server: get_variant({ "id": "coffee-machine", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
finish | choice | chrome black mint rose | chrome | chrome (brushed stainless with black knobs and twin gauges), black (matte black with chrome trim and a glowing digital display), mint or rose (retro pastel housing with cream panels, chrome and gauges). |
groups | choice | single double | single | single (one group head and lever, 34 cm wide, a home or small cafe machine) or double (two group heads and levers, 50 cm wide, a cafe machine). |
cups | range | 0 to 4, step 1 | 3 | Espresso cups on saucers: the first stands under the spouts on the drip tray, the rest warm on top of the machine. |
lever | range | 0 to 1, step 0.05 | 0 | How far the brew lever is pulled as built: 0 upright at rest, 1 pulled forward and down (95 degrees). The lever part also animates. |
Presets: home barista {"finish":"chrome","groups":"single","cups":2,"lever":0} · cafe counter {"finish":"black","groups":"double","cups":4,"lever":0.6} · retro kitchen {"finish":"mint","groups":"single","cups":1,"lever":0}
Files
| File | What |
|---|---|
| coffee-machine.glb Pro | GLB, default look · 201 KB |
| coffee-machine.mjs Pro | ES module, every knob live |
| coffee-machine.obj Pro | OBJ, static; colours in the .mtl |
| coffee-machine.mtl | OBJ colours; keep it next to the .obj |
| coffee-machine-params.json | knob schema, presets, night zones |
Licence
Use it in games, apps, renders and client work, commercially and without credit. Do not resell it as an asset or train a 3D generator on it. The full licence.