Toy train
A chunky push-along toy steam locomotive on a wooden footplate, with a flared chimney, brass dome and bands, a blue-roofed cab and six faceted wheels linked by travelling side rods. It carries a seamless six-second rolling loop and a Toy era knob that morphs it from vintage tinplate to modern moulded plastic.

Left rail: colours and the 4 knobs the agent wrote into this model — they rebuild the geometry and go into your download. Right rail: looks for the viewer. Drag to orbit, scroll to zoom.
- Triangles
- 2,214
- Vertices
- 3,883
- Meshes · materials
- 45 · 45
- Size (W × H × D)
- 11 cm × 15 cm × 23 cm
- File
- GLB · 254 KB
- Animation
- scene-motion · 6.0s
- Style
- Low-poly
- Collection
- Toy Box
Palette · named materials
- primary red#c32222
- primary red dark#821717
- blue#2e67b8
- blue dark#1f457a
- yellow#eecd2b
- soot black#1b1b22
- warm white#f2ede2
- mid grey#7d828c
- wood#7d5736
- dark wood#3d2a1c
Use it
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
const gltf = await new GLTFLoader().loadAsync(
"https://assets.stoicsoft.com/1designtool/3d/models/toy-box-kit-toy-train/6cf1a5b995/model.glb"
);
scene.add(gltf.scene); // metres, +Y up, front faces +Z
const mixer = new THREE.AnimationMixer(gltf.scene);
gltf.animations.forEach((clip) => mixer.clipAction(clip).play());
// in your loop: mixer.update(delta)How it was made
The brief given to 1DesignTool's “3D object” template:
Toy train for the Toy Box kit. Design it as one clear asset at believable real-world scale for that setting (state the size in metres in meta.notes), with its main parts modelled and named, readable at thumbnail size and from every orbit angle. It moves: author a seamless baked loop (2–12 s) with every pivot exactly at its hinge, axle or swivel, and keep the base still. This is one part of the Toy Box kit (Low-poly style, flat-lowpoly direction): A child's floor seen from toy height. Use ONLY the kit palette, by name: primary red #c32222, blue #2e67b8, yellow #eecd2b, wood #7d5736, primary red dark #821717, blue dark #1f457a, primary red light #db5757, blue light #6190d1, soot black #1b1b22, warm white #f2ede2, mid grey #7d828c, dark wood #3d2a1c. Every material's `name` must be exactly the palette colour it uses — the GLB carries these names so the kit recolours as one; an unnamed material fails delivery. Kit knob: expose a param `toyEra` (0–1, default 0.5) for the kit's "Toy era" setting wherever it makes sense on this part, and keep that id.
- Agent: Claude Code · Claude Opus 5 in 1DesignTool
- Generation: 14.05M tokens (97% cached) · ≈ $12.61 at API prices · 5-hour plan +24%
- Direction: Low-poly · family vehicles
- three-check PASS · glb-lint PASS
Named parts · 28
- Toy train
- Wood footplate
- Blue frame sides
- Sprung superstructure
- Red boiler
- Boiler saddle
- Brass boiler bands
- Smokebox and door
- Flared chimney
- Brass steam dome
- Whistle
- Front lamp
- Cab
- Arched cab roof
- Cab windows
- Cab backhead
- Front buffer beam
- Buffers
- Rear beam
- Rear coupling block
- Leading wheel, left
- Leading wheel, right
- Front driving wheel, left
- Front driving wheel, right
- Rear driving wheel, left
- Rear driving wheel, right
- Side rod, left
- Side rod, right
Note: Metres, +Y up, front +Z, origin at the bottom centre, all six wheels resting on y = 0. The loco is 0.228 m long, 0.139 m tall and 0.106 m wide across the side rods — a chunky floor toy at toy-box scale. 2214 triangles, no textures. The `scene-motion` clip is 6 s and loops exactly: the driving wheels turn three times and the leading wheels five, the side rods ride their crank pins, and the superstructure bounces 1.2 mm; the footplate, frame and axle centres never move. Materials are named for the Toy Box palette colour they use, which is how the kit recolours the set; the viewer runtime clones one material per mesh on export, so the GLB holds 45 material records drawn from those 10 names rather than 10 shared ones — renaming or merging by name is safe. `toyEra` morphs the chimney height and flare, dome height, roof arch and overhang, whistle, buffer-beam depth and lamp size continuously; nothing appears or disappears. A short body cannot carry the largest driving wheels, so `driverRadius` is capped by the wheelbase when `bodyLength` is near its minimum. glb-lint exits 0 with 0 blocking errors; its printed verdict reads "unverified" only because no quality-requirements contract is supplied at this stage. It reports a grounding warning (minY -0.0115): that is the axis-aligned bounding box of a wheel captured mid-rotation, not geometry below the floor — the wheel tyres touch y = 0. Ground, lights and camera are viewer-only and stay outside the exported model root.
More like this
All of Toy Box →
Race car on track
Toy Box1,352 tris

Pull-along duck
Toy Box1,400 tris

Spinning top
Toy Box600 tris

Toy tools
Toy Box888 tris

Stacking rings
Toy Box1,988 tris

Rainbow bridges
Cloud Kingdom3,096 tris

Palace
Cloud Kingdom4,788 tris

Cloud islands
Cloud Kingdom7,634 tris
Free under the 1DesignTool 3D library license. Model #8 of 395.