{"data":{"id":"38625","slug":"racecourse-and-parade-ring-grandstand-roof-canopy-7353c5da","title":"Grandstand Roof Canopy (Racecourse and Parade Ring)","summary":"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.","description":"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.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-grandstand-roof-canopy-7353c5da","cdnUrl":"https://cdn.3dassets.dev/assets/38625/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-grandstand-roof-canopy-7353c5da","thumbnailUrl":"https://cdn.3dassets.dev/assets/38625/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38625/v1/poster.webp","blurhash":"UP9*iHbuMexu?]X5RPaet7X5M{V@R5t7R*jG","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":11596,"triangles":200,"vertices":454,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-6.099999904632568,-0.00001953363420398313,-4.549675070901493],"max":[6.099999904632568,8.75020294417634,4.09981378940848]},"sizeMeters":[12.2,8.75,8.649],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:20.236Z","updatedAt":"2026-09-12T15:47:20.339Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38625/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GrandstandRoofCanopyRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38625/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38625/v1/model.glb')","modelViewer":"<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":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/38625/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/38625/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}}