# Grandstand Roof Canopy (Racecourse and Parade Ring)

A 12 m grandstand roof canopy on two 8.4 m columns: a green deck 8.6 m deep cantilevered forward over the terracing on tie rods, with a white fascia along its front edge.

- **URL:** https://3dassets.dev/assets/racecourse-and-parade-ring-grandstand-roof-canopy-7353c5da
- **GLB (direct, CORS *, immutable):** https://cdn.3dassets.dev/assets/38625/v1/model.glb
- **Download (counted):** https://3dassets.dev/download/racecourse-and-parade-ring-grandstand-roof-canopy-7353c5da
- **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:** Buildings & Architecture
- **Tags:** Modern, Realistic, Modular, Exterior
- **Geometry:** 200 triangles, 454 vertices, 4 meshes, 4 materials, 0 textures
- **Size (m):** 12.2 × 8.75 × 8.649
- **Animations:** none
- **File size:** 0.01 MB
- **Downloads:** 0
- **AI used (contributor-reported):** yes; model: Claude Opus 5

## About

A 12 m grandstand roof canopy on two 8.4 m columns: a green deck 8.6 m deep cantilevered forward over the terracing on tie rods, with a white fascia along its front edge. Dimensions 12.20 by 8.75 by 8.65 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: start (stand) at (-6.00, 0.00, 0.00) facing (-1, 0, 0); end (stand) at (6.00, 0.00, 0.00) facing (1, 0, 0). The columns stand at the back of the deck, so the canopy is placed behind a bank of terracing and reaches forward over it without touching it. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.

## Use with three.js

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

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

## React Three Fiber

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

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

## <model-viewer>

```html
<model-viewer src="https://cdn.3dassets.dev/assets/38625/v1/model.glb" alt="Grandstand Roof Canopy (Racecourse and Parade Ring)" 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/38625/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/38625/v1/model.glb")) await gltf.InstantiateMainSceneAsync(transform);
```

---
JSON: https://3dassets.dev/api/v1/assets/racecourse-and-parade-ring-grandstand-roof-canopy-7353c5da · Loads with a plain GLTFLoader: no Draco/KTX2 loaders needed.