FREEcommercial use · no sign-up

Swing bridge

A low-poly canal swing bridge: a black-and-white timber deck that swings on a stone turntable between two brick banks, with grey ballast boxes on its heel and a dark-wood push beam. It loops open and shut in 12 seconds and snaps to the Canal and Locks kit on a 1 m grid.

Swing bridge 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
1,620
Vertices
4,860
Meshes · materials
26 · 26
Size (W × H × D)
8.0 m × 1.9 m × 8.0 m
File
GLB · 150 KB
Animation
scene-motion · 12.0s
Collection
Canal and Locks

Palette · named materials

  • brick: abutment walls, plinth and string courses#9e3d2e
  • canal green: grass on both bank tops#3a883a
  • canal green dark: algae line at the waterline#235223
  • boat red and blue: canal water#2e67b8
  • boat red and blue light: ripples on the water#6190d1
  • mid grey: coping stones, turntable race, ballast boxes#7d828c
  • warm white: handrails, coping safety lip, stop post, push-beam end#f2ede2
  • soot black: girders, cross beams, king pin, rollers, roller race, post feet, toe boards, ballast caps#1b1b22
  • dark wood: deck planks, ramps, bearing and rest blocks, push beam#3d2a1c

Use it

import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";

const gltf = await new GLTFLoader().loadAsync(
  "https://assets.stoicsoft.com/1designtool/3d/models/canal-and-locks-swing-bridge/0294852327/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:

Swing bridge for the Canal and Locks 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 is a modular piece that snaps on a 1 m grid: give it a length in whole metres and put the origin at its snapping end, stated in meta.notes. 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 Canal and Locks kit (Low-poly style, flat-lowpoly direction): Slow boats through green country. Use ONLY the kit palette, by name: canal green #3a883a, boat red and blue #2e67b8, brick #9e3d2e, willow #988e81, canal green dark #235223, boat red and blue dark #1f457a, canal green light #5db15d, boat red and 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 `waterLevel` (0–1, default 0.5) for the kit's "Water level" setting wherever it makes sense on this part, and keep that id.
  • Agent: Claude Code · Claude Opus 5.5 in 1DesignTool
  • Direction: Low-poly · family abstract-kinetic
  • three-check PASS · glb-lint PASS
Make your own with 1DesignTool →

Named parts · 9

  • Swing bridge
  • Near abutment
  • Far abutment
  • Canal water
  • Turntable and king pin
  • Swing deck
  • Handrails
  • Heel counterweight
  • Push beam

Note: Size at the default params: 8 m long (snapping end to far end), 7.8 m across the banks, and 1.88 m tall at the handrail tops. The deck is 1.6 m wide and 6.15 m long, its walking surface sits at 0.8 m, and the banks are at 0.5 m (the same grass height as canal-and-locks-canal-tiles). The canal between the abutment faces is 3.0 m wide. Its water sits at 0.27 m by default. Snapping: the bridge runs from its snapping end at z = 0 to z = -length, always in whole metres, so it lands on the kit's 1 m grid. The origin is at the snapping end, centred on the deck, at y = 0 (the foot of the abutments and the canal bed). This replaces the library's usual bottom-centre origin, because the brief asks for an end origin on modular pieces. Both end faces are flat. The footprint is asymmetric across the deck: the banks and the canal run 2.24 m out on +X and 5.59 m out on -X, because the deck swings open over the -X bank and lands on a rest block there. Motion: a 12 s seamless loop baked as the clip 'scene-motion'. The deck turns about the vertical king-pin axis at the turntable centre, 2.3 m from the snapping end. The loop goes: swing open, hold open, swing shut, hold closed. It is phased so that t = 0 is mid-swing (45°), which is the thumbnail pose. Only the deck subtree moves (the railings, counterweight and push beam ride on it). The abutments, water and turntable never move. The GLB's static node pose is the t = 2 s frame (fully open), because three-check exports after its determinism seek. Play the clip, or set t = 0, for the thumbnail pose. The GLB has 1,620 triangles in 26 meshes, merged per part and colour, with flat normals baked in (non-indexed). Every material is named exactly after its kit palette colour, and 9 of the 12 kit colours are used (willow, canal green light and boat red and blue dark are not). The exporter writes one material per mesh, so the same colour name appears on several materials: recolour by name. There is no text or signage. The canal water strip is part of the model, because it carries the kit's Water level. Params are baked into the GLB at their defaults and only change geometry when the scene is rebuilt in the viewer. waterLevel (the kit's 'Water level') raises the water from 0.12 m to 0.42 m, and the algae lines follow it. length (7–11 m) widens the canal and lengthens the span. deckWidth (1.2–2.4 m) widens the deck, and the near ramp shortens to stay clear of the heel's swing circle. openAngle (60–95°) sets how far the loop swings the deck, and the rest block moves with it, staying on the bank. Both param extremes passed three-check (7 m / 2.4 m / 95° / water 1 and 11 m / 1.2 m / 60° / water 0). There is a deliberate 0.4 m gap between the near ramp and the deck heel, because the heel needs room to swing. glb-lint: 0 errors. Its verdict is 'UNVERIFIED' only because no requirements contract was supplied. Its 5 heuristic warnings are expected: material count and duplicate materials (from the per-mesh materials), unindexed geometry (flat shading on purpose), sibling overlap (algae and coping skins on the abutments), and detached parts (the deck rests on the king pin in another part, and the ripples float on the water surface). plan-check passes except for its part-id regex, which rejects the hyphens this library's slug-based ids need. The same plan with the slug de-hyphenated passes. three-check accepts those ids, and all 9 survive the GLB reload. Fix rounds: three on the default captures (swing turned away from the hero camera, banks extended under the open deck, far coping width corrected along with the hero framing), plus two fixes found in param-extreme testing (ballast and ramp clearance at a 2.4 m deck, and the rest block kept off the water at 60°).

About the Swing bridge 3D model

Swing bridge is a free animated low-poly 3D model from the Canal and Locks set. It measures 8.0 m × 1.9 m × 8.0 m (W × H × D) at real-world scale and is built from 1,620 triangles across 26 meshes, with 9 named parts and a baked animation (12.0 s). Download the 150 KB GLB and drop it into three.js, React Three Fiber, Godot or Blender — free for commercial use, no attribution required.

Is the Swing bridge 3D model free for commercial use?
Yes. It is free under the 1DesignTool 3D library license: use it in personal and commercial work — games, apps, websites, renders, ads and client projects — and modify it as you like, with no credit required. What you can't do is re-sell or re-distribute the file on its own or inside a model pack.
What file format is it, and how big is it?
A single binary glTF 2.0 file (.glb), 150 KB: 1,620 triangles, 4,860 vertices and 26 materials, modelled in metres at 8.0 m × 1.9 m × 8.0 m.
Is Swing bridge animated?
Yes — the GLB carries a baked animation (12.0 s), ready to play with any glTF animation mixer.
Which engines and tools can open it?
Anything that reads glTF 2.0. three.js, React Three Fiber, Babylon.js, Godot 4 and Blender import the GLB directly; Unity and Unreal Engine load it through their glTF importers. The snippets above show the exact code for three.js, React Three Fiber, Godot and Blender.
How was the Swing bridge 3D model made?
Claude Code (Claude Opus 5.5) generated it inside 1DesignTool's 3D template from a written brief, then the design kit's checks verified the geometry and the GLB before it was published. You can make your own the same way with 1DesignTool.

Free under the 1DesignTool 3D library license. Model #2 of 1898.