FREEcommercial use · no sign-up

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.

Toy train 3D model
This model carries a baked animation clip.

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
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
Make your own with 1DesignTool →

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.

Free under the 1DesignTool 3D library license. Model #8 of 395.