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.

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
- Style
- Low-poly
- Collection
- Royal Castle Court
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
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.
More like this
All of Royal Castle Court →
Royal carriage
Royal Castle Court3,072 tris

Gatehouse
Royal Castle Court2,132 tris

Catapult
Royal Castle Court1,160 tris

Flower urns
Royal Castle Court5,528 tris

Drawbridge
Royal Castle Court1,464 tris

Moat
Royal Castle Court396 tris

Armour stands
Royal Castle Court792 tris

Tapestries
Royal Castle Court3,452 tris
Free under the 1DesignTool 3D library license. Model #27 of 515.