FREEcommercial use · no sign-up

Bell swing

A low-poly Venetian bell gable: a gold bronze bell on a dark-wood headstock swinging between two brick piers under a stone lintel and terracotta roof, with a spoked rope wheel on the axle. It plays a seamless 4-second loop in which the bell swings twice and its clapper lags inside.

Bell swing 3D model
This model carries a baked animation clip.

Left rail: colours and the 3 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
860
Vertices
2,580
Meshes · materials
17 · 17
Size (W × H × D)
3.5 m × 4.0 m × 2.0 m
File
GLB · 90 KB
Animation
scene-motion · 4.0s
Collection
Canal City

Palette · named materials

  • terracotta: brick piers#be5937
  • terracotta dark: pitched roof, recessed pier panels#823d26
  • stone white: plinth, front step, pier bases and caps, lintel, eaves slab, finial post#f4f1ec
  • carnival gold: bell, finial orb#d0a225
  • canal green dark: tide band on the plinth (waterLevel)#235223
  • soot black: clapper#1b1b22
  • mid grey: footing step, bearings, axle, gudgeon straps, wheel hub, clapper pin#7d828c
  • dark wood: headstock, rope wheel#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-city-bell-swing/1ca5465b72/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:

Bell swing for the Canal City 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 Canal City kit (Low-poly style, flat-lowpoly direction): A trading city of bridges and palaces. Use ONLY the kit palette, by name: terracotta #be5937, canal green #3a883a, stone white #f4f1ec, carnival gold #d0a225, terracotta dark #823d26, canal green dark #235223, terracotta light #d08971, canal green light #5db15d, 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 · 8

  • Bell swing
  • Stone plinth
  • Brick piers
  • Lintel and roof
  • Headstock and axle
  • Bronze bell
  • Clapper
  • Rope wheel

Note: Size: 3.96 m tall to the finial, 3.53 m wide across the footing step and 2.02 m deep including the front step. The bell is 0.95 m across the mouth and hangs from an axle 2.56 m above the ground, with its mouth 1.5 m up at rest. The front faces +Z, +Y is up, and the footing rests on y = 0. The origin is centred in X; the front step pushes the footprint 0.09 m forward of it. The GLB has 860 triangles in 17 meshes (merged per part and colour), no textures, and flat normals (non-indexed), so the facets survive in any engine. Every material is named exactly after its kit palette colour (8 of the 12 kit colours). The exporter writes one material per mesh, so a colour name can repeat: recolour by name. Motion: one baked 4 s clip, 'scene-motion', sampled at 30 fps. The headstock group pivots on the axle line (x = 0, y = 2.56, z = 0) and makes two whole swings of ±50° per loop. The bell and the rope wheel are children of the headstock and ride with it. The clapper pivots on a pin inside the crown and lags the bell, within the bell's inner wall. The plinth, piers and canopy never move. The swing is phase-shifted by an eighth of a cycle, so the static node pose in the GLB (captured at t = 2 s) shows the bell about 35° forward, not hanging plumb. Params are baked into the GLB at their defaults and change the geometry only when the scene is rebuilt in the viewer. waterLevel (the kit's 'Water level') is the acqua alta mark: it raises the dark-green tide band on the stone plinth from 0.19 m at 0 to 0.41 m at 1. The piece holds no water itself; set it on the kit's quay tiles. bellSize (0.7–1.1 m) rescales the bell and clapper, and the pier opening and axle height grow with it. swingAmplitude (0–70°) sets the arc, and the clapper's swing fades out below 20°. glb-lint: 0 errors and 6 heuristic warnings: material count and duplicate materials (from the per-mesh materials), unindexed geometry (flat shading, on purpose), sibling overlap (pier panels and the tide band embedded on purpose), 'detached' bell (its crown is embedded 2 cm in the headstock, which sits in a parent group) and scale (compared with the direction's 1 m reference). 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 8 survive the GLB reload.

About the Bell swing 3D model

Bell swing is a free animated low-poly 3D model from the Canal City set. It measures 3.5 m × 4.0 m × 2.0 m (W × H × D) at real-world scale and is built from 860 triangles across 17 meshes, with 8 named parts and a baked animation (4.0 s). Download the 90 KB GLB and drop it into three.js, React Three Fiber, Godot or Blender — free for commercial use, no attribution required.

Is the Bell swing 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), 90 KB: 860 triangles, 2,580 vertices and 17 materials, modelled in metres at 3.5 m × 4.0 m × 2.0 m.
Is Bell swing animated?
Yes — the GLB carries a baked animation (4.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 Bell swing 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 #59 of 1344.