FREEcommercial use · no sign-up

Portcullis

A low-poly royal castle portcullis: a 3.8 m pale-stone gate frame with quoins, a slotted lintel, iron guide channels, heraldic banners and a lintel crest, holding a spiked timber grille. In a baked 8 s loop a windlass with gold crank wheels winds two chains and lifts the grille 1.4 m through the lintel slot, then lowers it again.

Portcullis 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,760
Vertices
3,891
Meshes · materials
139 · 139
Size (W × H × D)
4.2 m × 6.1 m × 1.1 m
File
GLB · 392 KB
Animation
scene-motion · 8.0s

Palette · named materials

  • stone white#f4f1ec
  • stone white dark#d7cebc
  • dark wood#3d2a1c
  • soot black#1b1b22
  • mid grey#7d828c
  • gold#d0a225
  • crimson#a51d34
  • royal blue#2e67b8

Use it

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

const gltf = await new GLTFLoader().loadAsync(
  "https://assets.stoicsoft.com/1designtool/3d/models/royal-castle-court-portcullis/d087948714/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:

Portcullis for the Royal Castle Court 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 Royal Castle Court kit (Low-poly style, flat-lowpoly direction): A bright castle for ceremonies and intrigue. Use ONLY the kit palette, by name: stone white #f4f1ec, royal blue #2e67b8, gold #d0a225, crimson #a51d34, stone white dark #d7cebc, royal blue dark #1f457a, stone white light #f9f8f6, royal 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 `bannerCrestAndColours` (0–1, default 0.5) for the kit's "Banner crest and colours" setting wherever it makes sense on this part, and keep that id. Material names are the palette colour NAMES listed above (e.g. "leaf green", "dark wood") — never a hex code like "#3d2a1c". meta.json must be valid JSON.
  • Agent: Claude Code · Claude Opus 5.5 in 1DesignTool
  • Generation: 3.05M tokens (94% cached) · ≈ $2.52 at API prices · 5-hour plan +7%
  • Direction: Low-poly · family abstract-kinetic
  • three-check PASS · glb-lint PASS
Make your own with 1DesignTool →

Named parts · 13

  • Portcullis
  • Stone gate frame
  • Left jamb
  • Right jamb
  • Slotted lintel
  • Coping and merlons
  • Iron guide channels
  • Windlass drum and cranks
  • Left lift chain (12 links, chain_left.link_01–12)
  • Right lift chain (12 links, chain_right.link_01–12)
  • Spiked grille
  • Heraldic banners
  • Lintel crest

Note: Size: 4.11 m wide including the crank wheels (3.8 m stone frame), 6.10 m tall to the merlon tops, 1.07 m deep. The clear opening is 2.4 m wide by 3.0 m high. Origin is at the bottom centre, front faces +Z, and the model rests on y = 0: the grille spike tips touch the ground when it is closed. 2,760 triangles. The GLB carries a baked 8 s AnimationClip ('scene-motion'). The grille starts closed at t = 0, rises 1.4 m through the lintel slot (fully open from about 3.5 s to 4.8 s), lowers, and is closed again at t = 8, so the loop is seamless. The windlass rotates only about its own X axle, by lift / 0.22 m drum radius. Each chain link is its own node that climbs with the grille and parks inside the drum once it reaches the axle, so no link ever stretches. That is why the part list has 24 extra link nodes. The frame, guides, banners and crest never move. bannerCrestAndColours is a rebuild knob. Below 0.5 you get royal blue banners and a crimson crest with a gold cross; at 0.5 and above, crimson banners and a royal blue crest with a gold chevron. The banner drop also grows from 1.3 m to 1.9 m across the range. The materials use 8 of the 12 kit colours, each named exactly for its palette colour. The runtime exports one material instance per mesh, so the GLB repeats those 8 names across many slots, which causes glb-lint's duplicate-materials warning. The ground disc in the preview is viewer staging and is not part of the exported model. Part ids use the 'royalcastlecourtportcullis' prefix because the kit's part-id rule rejects hyphens. glb-lint reports 0 blocking errors (verdict 'unverified' only because it ran without a requirements contract). It also gives 6 heuristic warnings: a scale warning because this metres-sized asset is compared against the direction's 1 m reference, overlap warnings for the deliberately embedded quoins, plinths, bars and rails, and 'detached' warnings for the lintel and coping, which rest on the jambs in a sibling group.

Free under the 1DesignTool 3D library license. Model #27 of 515.