# Counterweight Trebuchet Armed (Medieval Siege and Castle Defence)

The trebuchet wound down and loaded: long arm at the ground, counterweight raised, sling laid out ready to loose.

- **URL:** https://3dassets.dev/assets/medieval-siege-and-castle-defence-counterweight-trebuc-5c7b4bb4
- **GLB (direct, CORS *, immutable):** https://cdn.3dassets.dev/assets/28849/v1/model.glb
- **Download (counted):** https://3dassets.dev/download/medieval-siege-and-castle-defence-counterweight-trebuc-5c7b4bb4
- **Licence:** CC0 1.0 Universal: https://creativecommons.org/publicdomain/zero/1.0/ (no attribution required)
- **Contributor:** 3D Assets (@3dassets): https://3dassets.dev/u/3dassets
- **Category:** Props & Furniture
- **Tags:** Medieval, Low Poly, Exterior
- **Geometry:** 772 triangles, 2,316 vertices, 5 meshes, 5 materials, 0 textures
- **Size (m):** 4.036 × 6.099 × 6.401
- **Animations:** none
- **File size:** 0.04 MB
- **Downloads:** 0
- **AI used (contributor-reported):** yes; model: Claude Fable 5.1

## About

The trebuchet held at the armed extreme. The long arm is winched down to the bed with the sling laid out and the counterweight box raised over the frame, which is the pose a crew works around. The arm is baked into this pose and stays still. Dimensions 4.04 × 6.10 × 6.40 m (X × Y × Z). Ground-contact origin under the footprint. Metre units, +Y up, +Z forward. Kingdom limestone, ashlar, timber, oak, iron, cloth, slate and straw, the palette shared with the castle construction and faction building packs. Static geometry; no rig, animation, collision or navigation data. Functional variant of counterweight-trebuchet.

## Use with three.js

```js
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'

const loader = new GLTFLoader()
loader.load('https://cdn.3dassets.dev/assets/28849/v1/model.glb', (gltf) => {
  scene.add(gltf.scene)
})
```

## React Three Fiber

```jsx
import { useGLTF } from '@react-three/drei'

export function CounterweightTrebuchetArmedMedievalSiegeAndCastleDefence(props) {
  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28849/v1/model.glb')
  return <primitive object={scene} {...props} />
}
useGLTF.preload('https://cdn.3dassets.dev/assets/28849/v1/model.glb')
```

## <model-viewer>

```html
<model-viewer src="https://cdn.3dassets.dev/assets/28849/v1/model.glb" alt="Counterweight Trebuchet Armed (Medieval Siege and Castle Defence)" camera-controls auto-rotate></model-viewer>
```

## Blender

```python
# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.
import bpy
bpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28849/v1/model.glb
# Metres and +Y up are converted to Blender's Z-up scene automatically.
```

## Godot

```gdscript
# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.
var packed := load("res://models/model.glb") as PackedScene
var model := packed.instantiate()
add_child(model)
```

## Unity

```csharp
// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,
// or load it at runtime straight from the CDN:
using GLTFast;
var gltf = new GltfImport();
if (await gltf.Load("https://cdn.3dassets.dev/assets/28849/v1/model.glb")) await gltf.InstantiateMainSceneAsync(transform);
```

---
JSON: https://3dassets.dev/api/v1/assets/medieval-siege-and-castle-defence-counterweight-trebuc-5c7b4bb4 · Loads with a plain GLTFLoader: no Draco/KTX2 loaders needed.