{"data":{"id":224,"slug":"curling-club-and-ice-maintenance","title":"Curling Club and Ice Maintenance","summary":"Fifty specialist curling and ice maintenance designs with a complete long sheet in a furnished roofed club.","description":"Original granite curling equipment, ice scraper and water-care workshop with connected ice and divider modules, supported hall roof, enclosed maintenance bay, end storage and spectator edge. Static geometry; no sports physics, competition certification or maintenance instructions.","url":"https://3dassets.dev/packs/curling-club-and-ice-maintenance","coverUrl":"https://cdn.3dassets.dev/assets/31308/v1/poster.webp","assetCount":51,"aiGenerated":true,"aiGeneratedAssetCount":51,"aiModels":["GPT-6"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":8400120,"totalTriangles":527508,"starterScene":{"id":"31308","slug":"curling-club-and-ice-maintenance-long-sh-8bd2e816-starter-scene","title":"Long Sheet Curling Club (Curling Club and Ice Maintenance)","summary":"Complete 45.72 metre joined sheet with two houses, end stone storage, spectator edge and enclosed furnished ice maintenance room.","description":"Complete 45.72 metre joined sheet with two houses, end stone storage, spectator edge and enclosed furnished ice maintenance room.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-long-sh-8bd2e816-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/31308/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-long-sh-8bd2e816-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/31308/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31308/v1/poster.webp","blurhash":"U6BzILoc4moft5~qkBIT00j?-=WCa$00Rjxv","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"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":3996156,"triangles":265704,"vertices":175208,"meshes":175,"materials":12,"textures":0,"animations":[],"boundingBox":{"min":[-26.5,0.0005958768777510892,-8.000869777520066],"max":[26.5,6.507549206450161,8.000869777520066]},"sizeMeters":[53,6.507,16.002],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:48.779Z","updatedAt":"2026-09-08T10:45:48.886Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31308/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LongSheetCurlingClubCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31308/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31308/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31308/v1/model.glb\" alt=\"Long Sheet Curling Club (Curling Club and Ice Maintenance)\" 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/31308/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/31308/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"31258","slug":"curling-club-and-ice-maintenance-roofed-curling-hall-f3663c96","title":"Roofed Curling Hall (Curling Club and Ice Maintenance)","summary":"Enclosed 51 by 14 metre club hall with six metre headroom, framed clear roof and perimeter glazing, suspended lights and a closed glazed maintenance room along one side.","description":"Enclosed 51 by 14 metre club hall with six metre headroom, framed clear roof and perimeter glazing, suspended lights and a closed glazed maintenance room along one side. Dimensions 51.00 × 6.36 × 14.02 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-roofed-curling-hall-f3663c96","cdnUrl":"https://cdn.3dassets.dev/assets/31258/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-roofed-curling-hall-f3663c96","thumbnailUrl":"https://cdn.3dassets.dev/assets/31258/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31258/v1/poster.webp","blurhash":"U7B:$]t88_s;bH~qxaIU00WU-;axxt00IVo#","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":378956,"triangles":21600,"vertices":15311,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-25.50119972229004,0.0002906917829911121,-7.011663487648279],"max":[25.5,6.3575492064501615,7.011001922666098]},"sizeMeters":[51.001,6.357,14.023],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:23.558Z","updatedAt":"2026-09-08T10:45:23.658Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31258/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RoofedCurlingHallCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31258/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31258/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31258/v1/model.glb\" alt=\"Roofed Curling Hall (Curling Club and Ice Maintenance)\" 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/31258/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/31258/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31259","slug":"curling-club-and-ice-maintenance-ice-sheet-centre-modu-19d69adc","title":"Ice Sheet Centre Module (Curling Club and Ice Maintenance)","summary":"Seven metre ice section with a thin physical centre line and full depth ice slab.","description":"Seven metre ice section with a thin physical centre line and full depth ice slab. Dimensions 7.00 × 0.13 × 4.75 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-ice-sheet-centre-modu-19d69adc","cdnUrl":"https://cdn.3dassets.dev/assets/31259/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-ice-sheet-centre-modu-19d69adc","thumbnailUrl":"https://cdn.3dassets.dev/assets/31259/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31259/v1/poster.webp","blurhash":"UCD,Aqxv00ae%M%MWBM{00Rj~qWBD%D$ofxv","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":12380,"triangles":600,"vertices":426,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-3.5,0.0001837200859409957,-2.3749198889126255],"max":[3.5,0.12985451147039842,2.3749198889126255]},"sizeMeters":[7,0.13,4.75],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:23.847Z","updatedAt":"2026-09-08T10:45:23.948Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31259/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function IceSheetCentreModuleCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31259/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31259/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31259/v1/model.glb\" alt=\"Ice Sheet Centre Module (Curling Club and Ice Maintenance)\" 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/31259/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/31259/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31260","slug":"curling-club-and-ice-maintenance-ice-house-end-module-a44559f6","title":"Ice House End Module (Curling Club and Ice Maintenance)","summary":"Long end ice slab with nested house rings, button, tee and hog lines. House is modelled flat with millimetre relief.","description":"Long end ice slab with nested house rings, button, tee and hog lines. House is modelled flat with millimetre relief. Dimensions 8.86 × 0.14 × 4.75 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-ice-house-end-module-a44559f6","cdnUrl":"https://cdn.3dassets.dev/assets/31260/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-ice-house-end-module-a44559f6","thumbnailUrl":"https://cdn.3dassets.dev/assets/31260/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31260/v1/poster.webp","blurhash":"U7DJVH%M00xt%N?voeD%00Rj_NMy9Y00M|?c","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":81160,"triangles":3888,"vertices":3570,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-4.429999828338623,-0.000027465673583790262,-2.375],"max":[4.429999828338623,0.1380884419252057,2.375]},"sizeMeters":[8.86,0.138,4.75],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:22.989Z","updatedAt":"2026-09-08T10:45:23.103Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31260/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function IceHouseEndModuleCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31260/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31260/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31260/v1/model.glb\" alt=\"Ice House End Module (Curling Club and Ice Maintenance)\" 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/31260/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/31260/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31261","slug":"curling-club-and-ice-maintenance-sheet-boundary-divide-e9be377e","title":"Sheet Boundary Divider (Curling Club and Ice Maintenance)","summary":"Seven metre continuous sheet divider with resilient cap and thick sideboard.","description":"Seven metre continuous sheet divider with resilient cap and thick sideboard. Dimensions 7.62 × 0.18 × 0.14 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-sheet-boundary-divide-e9be377e","cdnUrl":"https://cdn.3dassets.dev/assets/31261/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-sheet-boundary-divide-e9be377e","thumbnailUrl":"https://cdn.3dassets.dev/assets/31261/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31261/v1/poster.webp","blurhash":"U68EVlxbIU%2kW_4t7Rj00Sg?cR*V?00I:%g","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":8752,"triangles":600,"vertices":424,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-3.809999942779541,0.000002440894061525589,-0.06976531161435971],"max":[3.809999942779541,0.1850577554945383,0.06976531161435971]},"sizeMeters":[7.62,0.185,0.14],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:24.695Z","updatedAt":"2026-09-08T10:45:24.796Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31261/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SheetBoundaryDividerCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31261/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31261/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31261/v1/model.glb\" alt=\"Sheet Boundary Divider (Curling Club and Ice Maintenance)\" 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/31261/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/31261/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31262","slug":"curling-club-and-ice-maintenance-divider-end-gate-3d87afac","title":"Divider End Gate (Curling Club and Ice Maintenance)","summary":"Low full-width end gate with rounded hinge pins and continuous rubber top.","description":"Low full-width end gate with rounded hinge pins and continuous rubber top. Dimensions 4.96 × 0.19 × 0.10 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-divider-end-gate-3d87afac","cdnUrl":"https://cdn.3dassets.dev/assets/31262/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-divider-end-gate-3d87afac","thumbnailUrl":"https://cdn.3dassets.dev/assets/31262/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31262/v1/poster.webp","blurhash":"U68g{bxuIUtRSi_Nt7Rj00Ip?cWBwI00IV-;","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":20396,"triangles":920,"vertices":754,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-2.4800000190734863,0.00006622492573093997,-0.04995269669449449],"max":[2.4800000190734863,0.18987813517846924,0.04995269669449449]},"sizeMeters":[4.96,0.19,0.1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:25.147Z","updatedAt":"2026-09-08T10:45:25.237Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31262/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DividerEndGateCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31262/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31262/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31262/v1/model.glb\" alt=\"Divider End Gate (Curling Club and Ice Maintenance)\" 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/31262/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/31262/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31263","slug":"curling-club-and-ice-maintenance-hack-block-62d818f3","title":"Hack Block (Curling Club and Ice Maintenance)","summary":"Paired moulded rubber hack cups on a bolted metal mounting plate, with tread ridges and rounded heel stops.","description":"Paired moulded rubber hack cups on a bolted metal mounting plate, with tread ridges and rounded heel stops. Dimensions 0.36 × 0.08 × 0.22 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-hack-block-62d818f3","cdnUrl":"https://cdn.3dassets.dev/assets/31263/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-hack-block-62d818f3","thumbnailUrl":"https://cdn.3dassets.dev/assets/31263/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31263/v1/poster.webp","blurhash":"U26k-Z.l4TwJEnyE$zib00Djk@R4}iHqE4Ej","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":70420,"triangles":3900,"vertices":2764,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.18000000715255737,-0.000002823272679561978,-0.11000946510932078],"max":[0.18000000715255737,0.07800036706067887,0.11000946510932078]},"sizeMeters":[0.36,0.078,0.22],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:26.367Z","updatedAt":"2026-09-08T10:45:26.465Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31263/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HackBlockCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31263/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31263/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31263/v1/model.glb\" alt=\"Hack Block (Curling Club and Ice Maintenance)\" 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/31263/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/31263/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31264","slug":"curling-club-and-ice-maintenance-granite-curling-stone-8702729b","title":"Granite Curling Stone (Curling Club and Ice Maintenance)","summary":"Rounded granite curling stone with narrow running band, convex shoulder, recessed handle mounting collar and detached-looking but mechanically joined raised grip.","description":"Rounded granite curling stone with narrow running band, convex shoulder, recessed handle mounting collar and detached-looking but mechanically joined raised grip. Dimensions 0.30 × 0.31 × 0.30 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-granite-curling-stone-8702729b","cdnUrl":"https://cdn.3dassets.dev/assets/31264/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-granite-curling-stone-8702729b","thumbnailUrl":"https://cdn.3dassets.dev/assets/31264/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31264/v1/poster.webp","blurhash":"UEA1Foxu00M{9bWB$|oL00Rj-=s:~Us;EOWA","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":94208,"triangles":5648,"vertices":3538,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.1509999930858612,0.00000877498991012915,-0.1509999930858612],"max":[0.1509999930858612,0.30540742776340013,0.1509999930858612]},"sizeMeters":[0.302,0.305,0.302],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:25.595Z","updatedAt":"2026-09-08T10:45:25.704Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31264/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GraniteCurlingStoneCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31264/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31264/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31264/v1/model.glb\" alt=\"Granite Curling Stone (Curling Club and Ice Maintenance)\" 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/31264/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/31264/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31265","slug":"curling-club-and-ice-maintenance-replacement-stone-han-e7f18367","title":"Replacement Stone Handle (Curling Club and Ice Maintenance)","summary":"Separate replacement handle with mounting boss, curved grip and steel bottom fixing plate.","description":"Separate replacement handle with mounting boss, curved grip and steel bottom fixing plate. Dimensions 0.24 × 0.18 × 0.12 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-replacement-stone-han-e7f18367","cdnUrl":"https://cdn.3dassets.dev/assets/31265/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-replacement-stone-han-e7f18367","thumbnailUrl":"https://cdn.3dassets.dev/assets/31265/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31265/v1/poster.webp","blurhash":"U669FI%$00DgCAT1#krqD4Si%%r=;[xsJCMw","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":59972,"triangles":3728,"vertices":2218,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.11813707649707794,0.000002823540107589617,-0.057999998331069946],"max":[0.11813707649707794,0.1804074198827859,0.057999998331069946]},"sizeMeters":[0.236,0.18,0.116],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:26.405Z","updatedAt":"2026-09-08T10:45:26.498Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31265/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ReplacementStoneHandleCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31265/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31265/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31265/v1/model.glb\" alt=\"Replacement Stone Handle (Curling Club and Ice Maintenance)\" 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/31265/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/31265/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31266","slug":"curling-club-and-ice-maintenance-stone-storage-rack-80e4d30f","title":"Stone Storage Rack (Curling Club and Ice Maintenance)","summary":"Three-tier stone rack with load-bearing posts, timber shelves and raised protective front and rear lips.","description":"Three-tier stone rack with load-bearing posts, timber shelves and raised protective front and rear lips. Dimensions 1.80 × 1.15 × 0.60 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-stone-storage-rack-80e4d30f","cdnUrl":"https://cdn.3dassets.dev/assets/31266/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-stone-storage-rack-80e4d30f","thumbnailUrl":"https://cdn.3dassets.dev/assets/31266/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31266/v1/poster.webp","blurhash":"U8EV]8^*00r]%$~p%1Ip00XS$wIoM{M|V@I9","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":128436,"triangles":7200,"vertices":5098,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.8999999761581421,-0.000018314390253681978,-0.29996336984231303],"max":[0.8999999761581421,1.150018292373788,0.29996336984231303]},"sizeMeters":[1.8,1.15,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:26.844Z","updatedAt":"2026-09-08T10:45:26.946Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31266/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneStorageRackCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31266/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31266/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31266/v1/model.glb\" alt=\"Stone Storage Rack (Curling Club and Ice Maintenance)\" 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/31266/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/31266/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31267","slug":"curling-club-and-ice-maintenance-stone-transport-cart-b6b02c5b","title":"Stone Transport Cart (Curling Club and Ice Maintenance)","summary":"Four-wheel stone transport cart with padded low deck, retaining sides and a continuous push handle.","description":"Four-wheel stone transport cart with padded low deck, retaining sides and a continuous push handle. Dimensions 1.12 × 1.03 × 0.85 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-stone-transport-cart-b6b02c5b","cdnUrl":"https://cdn.3dassets.dev/assets/31267/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-stone-transport-cart-b6b02c5b","thumbnailUrl":"https://cdn.3dassets.dev/assets/31267/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31267/v1/poster.webp","blurhash":"UB7B=upKH=j?u6tmV?RO4TkDx^V?Q*RPkYs+","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":172200,"triangles":10056,"vertices":6757,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.5609999895095825,0.0000021668863233736957,-0.42375898740658824],"max":[0.5609999895095825,1.0282120544338451,0.42375898740658824]},"sizeMeters":[1.122,1.028,0.848],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:28.395Z","updatedAt":"2026-09-08T10:45:28.493Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31267/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneTransportCartCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31267/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31267/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31267/v1/model.glb\" alt=\"Stone Transport Cart (Curling Club and Ice Maintenance)\" 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/31267/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/31267/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31269","slug":"curling-club-and-ice-maintenance-curling-broom-fa1cfb6e","title":"Curling Broom (Curling Club and Ice Maintenance)","summary":"Curling broom with thick replaceable oval pad, pivot collar, angled shaft and rubber grip.","description":"Curling broom with thick replaceable oval pad, pivot collar, angled shaft and rubber grip. Dimensions 0.52 × 1.26 × 0.06 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-curling-broom-fa1cfb6e","cdnUrl":"https://cdn.3dassets.dev/assets/31269/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-curling-broom-fa1cfb6e","thumbnailUrl":"https://cdn.3dassets.dev/assets/31269/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31269/v1/poster.webp","blurhash":"U33ldbf-00aIVXRNo}yZ9aog=|W9V?tRo#I9","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":63412,"triangles":3896,"vertices":2324,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.25805646156274,-0.0000031732983615927884,-0.03249415389489992],"max":[0.25805646156274,1.2555848360061646,0.03249415389489992]},"sizeMeters":[0.516,1.256,0.065],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:28.079Z","updatedAt":"2026-09-08T10:45:28.190Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31269/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CurlingBroomCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31269/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31269/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31269/v1/model.glb\" alt=\"Curling Broom (Curling Club and Ice Maintenance)\" 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/31269/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/31269/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31268","slug":"curling-club-and-ice-maintenance-broom-head-cartridge-21b2cb3e","title":"Broom Head Cartridge (Curling Club and Ice Maintenance)","summary":"Separate replaceable sweeping pad cartridge with thick fabric base and keyed mounting boss.","description":"Separate replaceable sweeping pad cartridge with thick fabric base and keyed mounting boss. Dimensions 0.24 × 0.05 × 0.06 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-broom-head-cartridge-21b2cb3e","cdnUrl":"https://cdn.3dassets.dev/assets/31268/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-broom-head-cartridge-21b2cb3e","thumbnailUrl":"https://cdn.3dassets.dev/assets/31268/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31268/v1/poster.webp","blurhash":"U8BNNL%hH;%M9b_N%MR4009Gt-s+~A009GXo","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":14816,"triangles":900,"vertices":639,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.11999999731779099,0.000004501945708381902,-0.03249488742334542],"max":[0.11999999731779099,0.0469991468526606,0.03249488742334542]},"sizeMeters":[0.24,0.047,0.065],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:28.063Z","updatedAt":"2026-09-08T10:45:28.180Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31268/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BroomHeadCartridgeCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31268/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31268/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31268/v1/model.glb\" alt=\"Broom Head Cartridge (Curling Club and Ice Maintenance)\" 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/31268/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/31268/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31270","slug":"curling-club-and-ice-maintenance-delivery-stabilizer-a7b2599a","title":"Delivery Stabilizer (Curling Club and Ice Maintenance)","summary":"Four-foot delivery balance stabilizer with joined tubular arches, transverse grip and low-friction feet.","description":"Four-foot delivery balance stabilizer with joined tubular arches, transverse grip and low-friction feet. Dimensions 0.46 × 0.38 × 0.42 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-delivery-stabilizer-a7b2599a","cdnUrl":"https://cdn.3dassets.dev/assets/31270/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-delivery-stabilizer-a7b2599a","thumbnailUrl":"https://cdn.3dassets.dev/assets/31270/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31270/v1/poster.webp","blurhash":"U87_QQV@ISo~?wV@M_t78_RPIAxuDhRiNI%g","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":93520,"triangles":5904,"vertices":3451,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.23000000417232513,0.000005722180138266822,-0.21000915936252315],"max":[0.23000000417232513,0.37550053736162853,0.21000915936252315]},"sizeMeters":[0.46,0.375,0.42],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:28.564Z","updatedAt":"2026-09-08T10:45:28.654Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31270/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DeliveryStabilizerCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31270/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31270/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31270/v1/model.glb\" alt=\"Delivery Stabilizer (Curling Club and Ice Maintenance)\" 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/31270/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/31270/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31272","slug":"curling-club-and-ice-maintenance-delivery-stick-71806e09","title":"Delivery Stick (Curling Club and Ice Maintenance)","summary":"Delivery stick with an open fork around the stone handle, angled shaft and padded upper grip.","description":"Delivery stick with an open fork around the stone handle, angled shaft and padded upper grip. Dimensions 0.38 × 1.08 × 0.13 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-delivery-stick-71806e09","cdnUrl":"https://cdn.3dassets.dev/assets/31272/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-delivery-stick-71806e09","thumbnailUrl":"https://cdn.3dassets.dev/assets/31272/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31272/v1/poster.webp","blurhash":"U139GfRN00yZPWVrveyF01s-~VIrn2t8XUIT","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":53768,"triangles":4704,"vertices":2601,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.1883011758327484,0.0000014270635318169855,-0.06425085086061122],"max":[0.1882967362422797,1.0785671472549438,0.06425085086061122]},"sizeMeters":[0.377,1.079,0.129],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:30.854Z","updatedAt":"2026-09-08T10:45:30.959Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31272/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DeliveryStickCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31272/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31272/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31272/v1/model.glb\" alt=\"Delivery Stick (Curling Club and Ice Maintenance)\" 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/31272/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/31272/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31271","slug":"curling-club-and-ice-maintenance-slider-shoe-pair-929ced8c","title":"Slider Shoe Pair (Curling Club and Ice Maintenance)","summary":"Shaped curling shoes with distinct slider and grip soles, laced rounded uppers and dark padded collar openings.","description":"Shaped curling shoes with distinct slider and grip soles, laced rounded uppers and dark padded collar openings. Dimensions 0.31 × 0.12 × 0.30 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-slider-shoe-pair-929ced8c","cdnUrl":"https://cdn.3dassets.dev/assets/31271/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-slider-shoe-pair-929ced8c","thumbnailUrl":"https://cdn.3dassets.dev/assets/31271/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31271/v1/poster.webp","blurhash":"U64{rJ.9HXIAk?bvV?Vr4TI9yZt7mkrrtSgP","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":308204,"triangles":20288,"vertices":11420,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.15499069428809628,-0.000002941011811329053,-0.15000000596046448],"max":[0.15500205355384955,0.11546958718614524,0.15000000596046448]},"sizeMeters":[0.31,0.115,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:30.822Z","updatedAt":"2026-09-08T10:45:30.928Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31271/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SliderShoePairCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31271/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31271/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31271/v1/model.glb\" alt=\"Slider Shoe Pair (Curling Club and Ice Maintenance)\" 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/31271/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/31271/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31273","slug":"curling-club-and-ice-maintenance-shoe-gripper-5d6e7a40","title":"Shoe Gripper (Curling Club and Ice Maintenance)","summary":"Stretch-over shoe gripper with open raised perimeter and seven tread bars across the backed sole.","description":"Stretch-over shoe gripper with open raised perimeter and seven tread bars across the backed sole. Dimensions 0.14 × 0.04 × 0.30 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-shoe-gripper-5d6e7a40","cdnUrl":"https://cdn.3dassets.dev/assets/31273/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-shoe-gripper-5d6e7a40","thumbnailUrl":"https://cdn.3dassets.dev/assets/31273/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31273/v1/poster.webp","blurhash":"U32Y|nogHqadtRWAV@ozD4V@yZozMwo#tSRO","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":50668,"triangles":2676,"vertices":2037,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.06998962648791593,-0.000005417656528960285,-0.15000000596046448],"max":[0.06998962648791593,0.035005417805540576,0.15000000596046448]},"sizeMeters":[0.14,0.035,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:30.119Z","updatedAt":"2026-09-08T10:45:30.233Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31273/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShoeGripperCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31273/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31273/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31273/v1/model.glb\" alt=\"Shoe Gripper (Curling Club and Ice Maintenance)\" 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/31273/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/31273/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31274","slug":"curling-club-and-ice-maintenance-equipment-bench-4956c53d","title":"Equipment Bench (Curling Club and Ice Maintenance)","summary":"Changing bench with padded top, thick timber core, steel cross braces and four rubber feet.","description":"Changing bench with padded top, thick timber core, steel cross braces and four rubber feet. Dimensions 1.80 × 0.49 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-equipment-bench-4956c53d","cdnUrl":"https://cdn.3dassets.dev/assets/31274/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-equipment-bench-4956c53d","thumbnailUrl":"https://cdn.3dassets.dev/assets/31274/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31274/v1/poster.webp","blurhash":"UB6lGZkVnMtRyZ%hemad8wtmbwROL}D%p0WU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":62316,"triangles":3600,"vertices":2550,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.8999999761581421,-0.000028304397563239103,-0.24997405264489428],"max":[0.8999999761581421,0.4899957405880358,0.24997405264489428]},"sizeMeters":[1.8,0.49,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:30.199Z","updatedAt":"2026-09-08T10:45:30.290Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31274/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EquipmentBenchCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31274/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31274/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31274/v1/model.glb\" alt=\"Equipment Bench (Curling Club and Ice Maintenance)\" 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/31274/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/31274/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31275","slug":"curling-club-and-ice-maintenance-broom-drying-rack-77c49222","title":"Broom Drying Rack (Curling Club and Ice Maintenance)","summary":"Freestanding six-hook broom drying rack with wide weighted base and offset padded hooks.","description":"Freestanding six-hook broom drying rack with wide weighted base and offset padded hooks. Dimensions 1.20 × 1.50 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-broom-drying-rack-77c49222","cdnUrl":"https://cdn.3dassets.dev/assets/31275/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-broom-drying-rack-77c49222","thumbnailUrl":"https://cdn.3dassets.dev/assets/31275/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31275/v1/poster.webp","blurhash":"U39HOv.800Dh00%N~oDhpef+Mcnh?v?wMx00","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":162532,"triangles":10608,"vertices":6056,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.6000320444349498,0,-0.249969481490524],"max":[0.6000320444349498,1.5,0.249969481490524]},"sizeMeters":[1.2,1.5,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:31.801Z","updatedAt":"2026-09-08T10:45:31.895Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31275/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BroomDryingRackCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31275/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31275/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31275/v1/model.glb\" alt=\"Broom Drying Rack (Curling Club and Ice Maintenance)\" 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/31275/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/31275/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31276","slug":"curling-club-and-ice-maintenance-club-locker-f8d03291","title":"Club Locker (Curling Club and Ice Maintenance)","summary":"Ventilated full-height club locker with recessed door, hinges, pull and lower plinth.","description":"Ventilated full-height club locker with recessed door, hinges, pull and lower plinth. Dimensions 0.65 × 1.77 × 0.61 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-club-locker-f8d03291","cdnUrl":"https://cdn.3dassets.dev/assets/31276/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-club-locker-f8d03291","thumbnailUrl":"https://cdn.3dassets.dev/assets/31276/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31276/v1/poster.webp","blurhash":"UJB|jH9b00~T?aa}D*ayVsxsS$E4%Mj[M{ay","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":76888,"triangles":4200,"vertices":3000,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.3250114678016376,0,-0.30250990069670686],"max":[0.3250114678016376,1.7700001001358032,0.3024858184292729]},"sizeMeters":[0.65,1.77,0.605],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:31.869Z","updatedAt":"2026-09-08T10:45:31.962Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31276/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ClubLockerCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31276/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31276/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31276/v1/model.glb\" alt=\"Club Locker (Curling Club and Ice Maintenance)\" 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/31276/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/31276/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31278","slug":"curling-club-and-ice-maintenance-stone-measuring-arm-adef8f9a","title":"Stone Measuring Arm (Curling Club and Ice Maintenance)","summary":"Long pivoting measuring arm with centre foot, rigid beam, sliding end carriage and lowered contact pin.","description":"Long pivoting measuring arm with centre foot, rigid beam, sliding end carriage and lowered contact pin. Dimensions 1.48 × 0.14 × 0.14 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-stone-measuring-arm-adef8f9a","cdnUrl":"https://cdn.3dassets.dev/assets/31278/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-stone-measuring-arm-adef8f9a","thumbnailUrl":"https://cdn.3dassets.dev/assets/31278/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31278/v1/poster.webp","blurhash":"U25}%DxJE8XB_4_NRkM|00.7?ZMv0000?a-o","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":41360,"triangles":2348,"vertices":1574,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.7409999966621399,-0.000017927735648293197,-0.07003143488784172],"max":[0.7409999966621399,0.14496972369859545,0.07003143488784172]},"sizeMeters":[1.482,0.145,0.14],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:32.471Z","updatedAt":"2026-09-08T10:45:32.561Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31278/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneMeasuringArmCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31278/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31278/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31278/v1/model.glb\" alt=\"Stone Measuring Arm (Curling Club and Ice Maintenance)\" 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/31278/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/31278/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31277","slug":"curling-club-and-ice-maintenance-measuring-arm-case-b113fc47","title":"Measuring Arm Case (Curling Club and Ice Maintenance)","summary":"Long fitted measuring-arm case with inset lid panel, end latches and joined carry handle.","description":"Long fitted measuring-arm case with inset lid panel, end latches and joined carry handle. Dimensions 1.60 × 0.08 × 0.24 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-measuring-arm-case-b113fc47","cdnUrl":"https://cdn.3dassets.dev/assets/31277/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-measuring-arm-case-b113fc47","thumbnailUrl":"https://cdn.3dassets.dev/assets/31277/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31277/v1/poster.webp","blurhash":"U439.KbbQ.RptRt:bIaKD4t8t-ocRPL}ofpJ","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":47060,"triangles":2768,"vertices":1722,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.800000011920929,0.000037995172334763516,-0.11792041040929915],"max":[0.800000011920929,0.08000160066525897,0.11795228381687282]},"sizeMeters":[1.6,0.08,0.236],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:33.480Z","updatedAt":"2026-09-08T10:45:33.593Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31277/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MeasuringArmCaseCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31277/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31277/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31277/v1/model.glb\" alt=\"Measuring Arm Case (Curling Club and Ice Maintenance)\" 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/31277/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/31277/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31279","slug":"curling-club-and-ice-maintenance-distance-gauge-19c1c03d","title":"Distance Gauge (Curling Club and Ice Maintenance)","summary":"Compact sliding distance gauge with display, extended bar and perpendicular contact jaw.","description":"Compact sliding distance gauge with display, extended bar and perpendicular contact jaw. Dimensions 0.36 × 0.08 × 0.07 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-distance-gauge-19c1c03d","cdnUrl":"https://cdn.3dassets.dev/assets/31279/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-distance-gauge-19c1c03d","thumbnailUrl":"https://cdn.3dassets.dev/assets/31279/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31279/v1/poster.webp","blurhash":"U35rlTGIzm=XNG_4tSM_00#6T#K6%100I9-=","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":41772,"triangles":2468,"vertices":1506,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.18000000715255737,-0.0000030504165716011,-0.03500350803121136],"max":[0.18000000715255737,0.07498649853925249,0.03500350803121136]},"sizeMeters":[0.36,0.075,0.07],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:33.452Z","updatedAt":"2026-09-08T10:45:33.578Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31279/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DistanceGaugeCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31279/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31279/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31279/v1/model.glb\" alt=\"Distance Gauge (Curling Club and Ice Maintenance)\" 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/31279/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/31279/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31280","slug":"curling-club-and-ice-maintenance-game-clock-8ef6be40","title":"Game Clock (Curling Club and Ice Maintenance)","summary":"Freestanding game clock with two segmented time fields on a rigid double-post stand.","description":"Freestanding game clock with two segmented time fields on a rigid double-post stand. Dimensions 0.70 × 1.35 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-game-clock-8ef6be40","cdnUrl":"https://cdn.3dassets.dev/assets/31280/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-game-clock-8ef6be40","thumbnailUrl":"https://cdn.3dassets.dev/assets/31280/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31280/v1/poster.webp","blurhash":"U37-$r%M009Y00t8_NIT-TozIqR4%0xaNzI:","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":94316,"triangles":5400,"vertices":3824,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.3499999940395355,0,-0.2500221082571716],"max":[0.3499999940395355,1.3499999046325684,0.2500221082571716]},"sizeMeters":[0.7,1.35,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:33.539Z","updatedAt":"2026-09-08T10:45:33.635Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31280/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GameClockCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31280/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31280/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31280/v1/model.glb\" alt=\"Game Clock (Curling Club and Ice Maintenance)\" 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/31280/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/31280/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31281","slug":"curling-club-and-ice-maintenance-end-scoreboard-2dadce1d","title":"End Scoreboard (Curling Club and Ice Maintenance)","summary":"Two-row end scoreboard with ten physically separated columns, number-like marks and stable legs.","description":"Two-row end scoreboard with ten physically separated columns, number-like marks and stable legs. Dimensions 2.00 × 1.65 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-end-scoreboard-2dadce1d","cdnUrl":"https://cdn.3dassets.dev/assets/31281/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-end-scoreboard-2dadce1d","thumbnailUrl":"https://cdn.3dassets.dev/assets/31281/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31281/v1/poster.webp","blurhash":"U6CG#^_N00IpuP?^WB4n00S%_2RO00%O~pH;","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":191532,"triangles":10800,"vertices":7698,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.000008440273821741506,-0.250038148136845],"max":[1,1.6499702384927963,0.250038148136845]},"sizeMeters":[2,1.65,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:35.152Z","updatedAt":"2026-09-08T10:45:35.259Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31281/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EndScoreboardCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31281/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31281/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31281/v1/model.glb\" alt=\"End Scoreboard (Curling Club and Ice Maintenance)\" 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/31281/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/31281/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31283","slug":"curling-club-and-ice-maintenance-score-marker-set-34c384a4","title":"Score Marker Set (Curling Club and Ice Maintenance)","summary":"Six separate handled score tiles stored in a shallow backed tray; counted as one functional set.","description":"Six separate handled score tiles stored in a shallow backed tray; counted as one functional set. Dimensions 0.60 × 0.03 × 0.16 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-score-marker-set-34c384a4","cdnUrl":"https://cdn.3dassets.dev/assets/31283/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-score-marker-set-34c384a4","thumbnailUrl":"https://cdn.3dassets.dev/assets/31283/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31283/v1/poster.webp","blurhash":"U56[s|bZHqXRkr.9bER500kX%%a1Zg4TbKt-","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":49208,"triangles":3900,"vertices":2758,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.30000001192092896,0.000002135674866491147,-0.07999206836613533],"max":[0.30000001192092896,0.035000046683477594,0.07999206836613533]},"sizeMeters":[0.6,0.035,0.16],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:36.286Z","updatedAt":"2026-09-08T10:45:36.389Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31283/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ScoreMarkerSetCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31283/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31283/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31283/v1/model.glb\" alt=\"Score Marker Set (Curling Club and Ice Maintenance)\" 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/31283/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/31283/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31282","slug":"curling-club-and-ice-maintenance-officials-desk-4e755458","title":"Officials Desk (Curling Club and Ice Maintenance)","summary":"Officials writing desk with suspended drawer, metal pull and reinforced legs.","description":"Officials writing desk with suspended drawer, metal pull and reinforced legs. Dimensions 1.50 × 0.78 × 0.70 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-officials-desk-4e755458","cdnUrl":"https://cdn.3dassets.dev/assets/31282/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-officials-desk-4e755458","thumbnailUrl":"https://cdn.3dassets.dev/assets/31282/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31282/v1/poster.webp","blurhash":"UPD9hnaeD*tQ~V%2IoRjD%%Ln~Io4:oJxtRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":71088,"triangles":3900,"vertices":2758,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.75,-0.000027063482866462873,-0.3499481185338908],"max":[0.75,0.7799666859465341,0.3499481185338908]},"sizeMeters":[1.5,0.78,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:35.240Z","updatedAt":"2026-09-08T10:45:35.365Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31282/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OfficialsDeskCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31282/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31282/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31282/v1/model.glb\" alt=\"Officials Desk (Curling Club and Ice Maintenance)\" 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/31282/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/31282/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31284","slug":"curling-club-and-ice-maintenance-player-name-board-52f2384c","title":"Player Name Board (Curling Club and Ice Maintenance)","summary":"Two-slot player name board with framed removable blank inserts and wide stable feet.","description":"Two-slot player name board with framed removable blank inserts and wide stable feet. Dimensions 1.10 × 1.35 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-player-name-board-52f2384c","cdnUrl":"https://cdn.3dassets.dev/assets/31284/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-player-name-board-52f2384c","thumbnailUrl":"https://cdn.3dassets.dev/assets/31284/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31284/v1/poster.webp","blurhash":"U59@*Q-=00H=5@%g#6DNRoNek9rpQl%N.TDh","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":49768,"triangles":2700,"vertices":1918,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.550000011920929,0,-0.2499969452906052],"max":[0.550000011920929,1.351199984550476,0.2499969452906052]},"sizeMeters":[1.1,1.351,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:35.313Z","updatedAt":"2026-09-08T10:45:35.413Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31284/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PlayerNameBoardCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31284/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31284/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31284/v1/model.glb\" alt=\"Player Name Board (Curling Club and Ice Maintenance)\" 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/31284/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/31284/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31286","slug":"curling-club-and-ice-maintenance-spectator-bench-af492498","title":"Spectator Bench (Curling Club and Ice Maintenance)","summary":"Solid timber spectator bench with backrest brackets, underframe cross rails and floor feet.","description":"Solid timber spectator bench with backrest brackets, underframe cross rails and floor feet. Dimensions 2.00 × 0.97 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-spectator-bench-af492498","cdnUrl":"https://cdn.3dassets.dev/assets/31286/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-spectator-bench-af492498","thumbnailUrl":"https://cdn.3dassets.dev/assets/31286/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31286/v1/poster.webp","blurhash":"UJEL]8WV4;o0~V-pIVIV01%L%0IV4;M|xZof","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":80856,"triangles":4500,"vertices":3192,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.00003990590723340626,-0.250038148136845],"max":[1,0.9700148974429024,0.250038148136845]},"sizeMeters":[2,0.97,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:36.983Z","updatedAt":"2026-09-08T10:45:37.096Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31286/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpectatorBenchCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31286/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31286/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31286/v1/model.glb\" alt=\"Spectator Bench (Curling Club and Ice Maintenance)\" 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/31286/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/31286/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31285","slug":"curling-club-and-ice-maintenance-viewing-rail-daf3dac5","title":"Viewing Rail (Curling Club and Ice Maintenance)","summary":"Two-metre viewing rail with clear infill panel, continuous handrail and bolted post feet.","description":"Two-metre viewing rail with clear infill panel, continuous handrail and bolted post feet. Dimensions 2.12 × 1.08 × 0.24 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-viewing-rail-daf3dac5","cdnUrl":"https://cdn.3dassets.dev/assets/31285/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-viewing-rail-daf3dac5","thumbnailUrl":"https://cdn.3dassets.dev/assets/31285/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31285/v1/poster.webp","blurhash":"UGC%Eaxu9Ft7~q?bIUM{00%M?bD%00Rj?bxu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":71360,"triangles":4356,"vertices":2700,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.059999942779541,-0.000044566018357117265,-0.11995238464999965],"max":[1.059999942779541,1.0800444897244117,0.11995238464999965]},"sizeMeters":[2.12,1.08,0.24],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:36.935Z","updatedAt":"2026-09-08T10:45:37.038Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31285/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ViewingRailCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31285/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31285/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31285/v1/model.glb\" alt=\"Viewing Rail (Curling Club and Ice Maintenance)\" 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/31285/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/31285/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31287","slug":"curling-club-and-ice-maintenance-ice-scraper-machine-659460fd","title":"Ice Scraper Machine (Curling Club and Ice Maintenance)","summary":"Walk-behind ice scraper with rubber wheels, motor chassis, transverse blade carriage, adjustment knobs, wired controls and joined push bars.","description":"Walk-behind ice scraper with rubber wheels, motor chassis, transverse blade carriage, adjustment knobs, wired controls and joined push bars. Dimensions 1.77 × 1.11 × 1.05 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-ice-scraper-machine-659460fd","cdnUrl":"https://cdn.3dassets.dev/assets/31287/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-ice-scraper-machine-659460fd","thumbnailUrl":"https://cdn.3dassets.dev/assets/31287/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31287/v1/poster.webp","blurhash":"UC9aT{tQ00R+IpWBxZR*00M{_4t7?Ft8ENxa","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":250088,"triangles":15080,"vertices":9688,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.8837500214576721,-0.00001938442749949143,-0.5250343771079354],"max":[0.8837500214576721,1.1092674947179568,0.5250343771079354]},"sizeMeters":[1.768,1.109,1.05],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:36.999Z","updatedAt":"2026-09-08T10:45:37.109Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31287/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function IceScraperMachineCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31287/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31287/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31287/v1/model.glb\" alt=\"Ice Scraper Machine (Curling Club and Ice Maintenance)\" 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/31287/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/31287/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31288","slug":"curling-club-and-ice-maintenance-scraper-blade-cassett-652e8351","title":"Scraper Blade Cassette (Curling Club and Ice Maintenance)","summary":"Blade cassette with mounting rail, narrow cutting strip and four fixing heads.","description":"Blade cassette with mounting rail, narrow cutting strip and four fixing heads. Dimensions 1.10 × 0.07 × 0.17 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-scraper-blade-cassett-652e8351","cdnUrl":"https://cdn.3dassets.dev/assets/31288/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-scraper-blade-cassett-652e8351","thumbnailUrl":"https://cdn.3dassets.dev/assets/31288/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31288/v1/poster.webp","blurhash":"U59aNz%f4msq%f_Nt6IA00j]_NW-D%00WX?c","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":15584,"triangles":728,"vertices":570,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.550000011920929,0.0000016023946346347198,-0.08374222179645521],"max":[0.550000011920929,0.06596609472313619,0.08374519164262965]},"sizeMeters":[1.1,0.066,0.167],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:38.084Z","updatedAt":"2026-09-08T10:45:38.212Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31288/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ScraperBladeCassetteCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31288/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31288/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31288/v1/model.glb\" alt=\"Scraper Blade Cassette (Curling Club and Ice Maintenance)\" 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/31288/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/31288/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31289","slug":"curling-club-and-ice-maintenance-blade-transport-guard-317b7f40","title":"Blade Transport Guard (Curling Club and Ice Maintenance)","summary":"Open U-channel blade guard with thick walls and retention straps.","description":"Open U-channel blade guard with thick walls and retention straps. Dimensions 1.18 × 0.12 × 0.20 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-blade-transport-guard-317b7f40","cdnUrl":"https://cdn.3dassets.dev/assets/31289/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-blade-transport-guard-317b7f40","thumbnailUrl":"https://cdn.3dassets.dev/assets/31289/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31289/v1/poster.webp","blurhash":"U53ATtW=Qkbct8t:WpVqD4s:u6bEROL}s.pK","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":28148,"triangles":1500,"vertices":1068,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.5899999737739563,-0.000026091177664645804,-0.09996032054166636],"max":[0.5899999737739563,0.11498695176906405,0.09996032054166636]},"sizeMeters":[1.18,0.115,0.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:39.654Z","updatedAt":"2026-09-08T10:45:39.773Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31289/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BladeTransportGuardCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31289/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31289/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31289/v1/model.glb\" alt=\"Blade Transport Guard (Curling Club and Ice Maintenance)\" 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/31289/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/31289/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31290","slug":"curling-club-and-ice-maintenance-blade-honing-stand-15830f69","title":"Blade Honing Stand (Curling Club and Ice Maintenance)","summary":"Braced honing stand with blade clamps, adjustment wheels and separate honing block.","description":"Braced honing stand with blade clamps, adjustment wheels and separate honing block. Dimensions 1.30 × 0.96 × 0.45 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-blade-honing-stand-15830f69","cdnUrl":"https://cdn.3dassets.dev/assets/31290/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-blade-honing-stand-15830f69","thumbnailUrl":"https://cdn.3dassets.dev/assets/31290/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31290/v1/poster.webp","blurhash":"UEB3yjoe9Zxt~o%fIUM{9G%Lt5IV02jZ-:R*","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":94876,"triangles":5120,"vertices":3729,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.6499999761581421,-0.00003869141007117882,-0.22497176212681932],"max":[0.6499999761581421,0.9550366986670689,0.22497176212681932]},"sizeMeters":[1.3,0.955,0.45],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:38.700Z","updatedAt":"2026-09-08T10:45:38.811Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31290/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BladeHoningStandCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31290/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31290/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31290/v1/model.glb\" alt=\"Blade Honing Stand (Curling Club and Ice Maintenance)\" 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/31290/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/31290/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31291","slug":"curling-club-and-ice-maintenance-hand-ice-scraper-26181658","title":"Hand Ice Scraper (Curling Club and Ice Maintenance)","summary":"Hand scraper with reinforced blade, joined angled socket and long timber handle.","description":"Hand scraper with reinforced blade, joined angled socket and long timber handle. Dimensions 0.54 × 1.15 × 0.14 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-hand-ice-scraper-26181658","cdnUrl":"https://cdn.3dassets.dev/assets/31291/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-hand-ice-scraper-26181658","thumbnailUrl":"https://cdn.3dassets.dev/assets/31291/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31291/v1/poster.webp","blurhash":"U35=2[oJ00W=9aV@-:x[0MWB~BtRkUxtjID*","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":45208,"triangles":3436,"vertices":1946,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.27220141887664795,0.000005875392408101476,-0.07248649775426412],"max":[0.2722000931930938,1.154850721359253,0.0724932406502729]},"sizeMeters":[0.544,1.155,0.145],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:38.759Z","updatedAt":"2026-09-08T10:45:38.871Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31291/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HandIceScraperCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31291/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31291/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31291/v1/model.glb\" alt=\"Hand Ice Scraper (Curling Club and Ice Maintenance)\" 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/31291/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/31291/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31292","slug":"curling-club-and-ice-maintenance-pebble-water-backpack-d1b69d6a","title":"Pebble Water Backpack (Curling Club and Ice Maintenance)","summary":"Hollow shouldered backpack with open neck, thick rim, curved straps and supported outlet hose.","description":"Hollow shouldered backpack with open neck, thick rim, curved straps and supported outlet hose. Dimensions 0.53 × 0.53 × 0.45 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-pebble-water-backpack-d1b69d6a","cdnUrl":"https://cdn.3dassets.dev/assets/31292/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-pebble-water-backpack-d1b69d6a","thumbnailUrl":"https://cdn.3dassets.dev/assets/31292/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31292/v1/poster.webp","blurhash":"URDcgv~p8_01SiayoIog4nD*xu%LRiWBfkad","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":109576,"triangles":6592,"vertices":4135,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.26696408780817893,0,-0.2261663630139637],"max":[0.26694750798225564,0.5339999794960022,0.2261862778902521]},"sizeMeters":[0.534,0.534,0.452],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:39.891Z","updatedAt":"2026-09-08T10:45:40.022Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31292/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PebbleWaterBackpackCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31292/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31292/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31292/v1/model.glb\" alt=\"Pebble Water Backpack (Curling Club and Ice Maintenance)\" 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/31292/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/31292/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31293","slug":"curling-club-and-ice-maintenance-pebble-spray-head-7bd8e61b","title":"Pebble Spray Head (Curling Club and Ice Maintenance)","summary":"Curved spray neck and shallow rose with twelve resolved outlet marks.","description":"Curved spray neck and shallow rose with twelve resolved outlet marks. Dimensions 0.20 × 0.31 × 0.11 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-pebble-spray-head-7bd8e61b","cdnUrl":"https://cdn.3dassets.dev/assets/31293/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-pebble-spray-head-7bd8e61b","thumbnailUrl":"https://cdn.3dassets.dev/assets/31293/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31293/v1/poster.webp","blurhash":"U45}z1x]00IA~qM{4m%ND%IUxu-=8_t7?bMx","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":66204,"triangles":3984,"vertices":2514,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.09793684188580423,0,-0.055008661745341615],"max":[0.09793684188580423,0.3092508912086487,0.055008661745341615]},"sizeMeters":[0.196,0.309,0.11],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:40.443Z","updatedAt":"2026-09-08T10:45:40.537Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31293/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PebbleSprayHeadCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31293/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31293/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31293/v1/model.glb\" alt=\"Pebble Spray Head (Curling Club and Ice Maintenance)\" 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/31293/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/31293/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31294","slug":"curling-club-and-ice-maintenance-pebble-water-urn-96b0f45c","title":"Pebble Water Urn (Curling Club and Ice Maintenance)","summary":"Open hollow steel urn with rolled mouth, raised side handles, lower tap and insulated controls.","description":"Open hollow steel urn with rolled mouth, raised side handles, lower tap and insulated controls. Dimensions 0.62 × 0.68 × 0.58 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-pebble-water-urn-96b0f45c","cdnUrl":"https://cdn.3dassets.dev/assets/31294/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-pebble-water-urn-96b0f45c","thumbnailUrl":"https://cdn.3dassets.dev/assets/31294/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31294/v1/poster.webp","blurhash":"U684[9nj00X5*0V?MctRI@M_xD%gtSRjaKxu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":113644,"triangles":6968,"vertices":4309,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.3096874952316284,0,-0.2877034851881307],"max":[0.3096874952316284,0.6839954543301798,0.2877034851881307]},"sizeMeters":[0.619,0.684,0.575],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:40.628Z","updatedAt":"2026-09-08T10:45:40.740Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31294/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PebbleWaterUrnCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31294/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31294/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31294/v1/model.glb\" alt=\"Pebble Water Urn (Curling Club and Ice Maintenance)\" 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/31294/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/31294/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31295","slug":"curling-club-and-ice-maintenance-water-filtration-cabi-fa6216d6","title":"Water Filtration Cabinet (Curling Club and Ice Maintenance)","summary":"Water cabinet with twin external filter bowls, connected manifold and monitoring display.","description":"Water cabinet with twin external filter bowls, connected manifold and monitoring display. Dimensions 0.85 × 1.27 × 0.68 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-water-filtration-cabi-fa6216d6","cdnUrl":"https://cdn.3dassets.dev/assets/31295/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-water-filtration-cabi-fa6216d6","thumbnailUrl":"https://cdn.3dassets.dev/assets/31295/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31295/v1/poster.webp","blurhash":"UFDct89a00^%~qR+9FoIH=%1I[E2_2%1E1Io","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":120516,"triangles":6708,"vertices":4725,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.42502633102514903,0,-0.33749308612669565],"max":[0.42502633102514903,1.2700001001358032,0.33748317942208367]},"sizeMeters":[0.85,1.27,0.675],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:41.524Z","updatedAt":"2026-09-08T10:45:41.657Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31295/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WaterFiltrationCabinetCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31295/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31295/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31295/v1/model.glb\" alt=\"Water Filtration Cabinet (Curling Club and Ice Maintenance)\" 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/31295/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/31295/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31296","slug":"curling-club-and-ice-maintenance-ice-thermometer-538ddfd6","title":"Ice Thermometer (Curling Club and Ice Maintenance)","summary":"Pocket ice thermometer with narrow probe, inset screen and control button.","description":"Pocket ice thermometer with narrow probe, inset screen and control button. Dimensions 0.06 × 0.24 × 0.03 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-ice-thermometer-538ddfd6","cdnUrl":"https://cdn.3dassets.dev/assets/31296/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-ice-thermometer-538ddfd6","thumbnailUrl":"https://cdn.3dassets.dev/assets/31296/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31296/v1/poster.webp","blurhash":"U22jMQpv4TQ9$xoxI]R7QRnNu6TeM[nmxxTD","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":15556,"triangles":1060,"vertices":802,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.03250495806551505,0,-0.015997436195130475],"max":[0.03250495806551505,0.23999999463558197,0.015999832312108154]},"sizeMeters":[0.065,0.24,0.032],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:41.651Z","updatedAt":"2026-09-08T10:45:41.789Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31296/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function IceThermometerCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31296/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31296/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31296/v1/model.glb\" alt=\"Ice Thermometer (Curling Club and Ice Maintenance)\" 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/31296/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/31296/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31297","slug":"curling-club-and-ice-maintenance-surface-inspection-la-222516ea","title":"Surface Inspection Lamp (Curling Club and Ice Maintenance)","summary":"Weighted inspection lamp with joined arm, shade and downward luminous panel.","description":"Weighted inspection lamp with joined arm, shade and downward luminous panel. Dimensions 0.82 × 1.58 × 0.45 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-surface-inspection-la-222516ea","cdnUrl":"https://cdn.3dassets.dev/assets/31297/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-surface-inspection-la-222516ea","thumbnailUrl":"https://cdn.3dassets.dev/assets/31297/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31297/v1/poster.webp","blurhash":"U36*t4?a000001I9?a?w%2WBIpxu-oxvNHMw","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":41712,"triangles":2628,"vertices":1667,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.40998894390271645,0,-0.22498047982681937],"max":[0.4099999964237213,1.5811121463775635,0.22498047982681937]},"sizeMeters":[0.82,1.581,0.45],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:42.248Z","updatedAt":"2026-09-08T10:45:42.378Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31297/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SurfaceInspectionLampCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31297/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31297/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31297/v1/model.glb\" alt=\"Surface Inspection Lamp (Curling Club and Ice Maintenance)\" 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/31297/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/31297/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31298","slug":"curling-club-and-ice-maintenance-ice-cleaning-mop-e675c011","title":"Ice Cleaning Mop (Curling Club and Ice Maintenance)","summary":"Cotton mop with fabric strips, retaining bar and long angled handle.","description":"Cotton mop with fabric strips, retaining bar and long angled handle. Dimensions 0.85 × 1.25 × 0.14 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-ice-cleaning-mop-e675c011","cdnUrl":"https://cdn.3dassets.dev/assets/31298/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-ice-cleaning-mop-e675c011","thumbnailUrl":"https://cdn.3dassets.dev/assets/31298/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31298/v1/poster.webp","blurhash":"U784lCRl00-n00NG_N%2p0s+nNIuIr%Mxs9F","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":119636,"triangles":6968,"vertices":4686,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.42500001192092896,-0.000003433496763394911,-0.06998809974441764],"max":[0.42500001192092896,1.2536956071853638,0.06998809974441764]},"sizeMeters":[0.85,1.254,0.14],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:42.492Z","updatedAt":"2026-09-08T10:45:42.609Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31298/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function IceCleaningMopCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31298/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31298/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31298/v1/model.glb\" alt=\"Ice Cleaning Mop (Curling Club and Ice Maintenance)\" 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/31298/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/31298/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31299","slug":"curling-club-and-ice-maintenance-snow-collection-bin-b505c249","title":"Snow Collection Bin (Curling Club and Ice Maintenance)","summary":"Deep open snow bin with thick walls and two joined carrying handles.","description":"Deep open snow bin with thick walls and two joined carrying handles. Dimensions 0.80 × 0.54 × 0.71 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-snow-collection-bin-b505c249","cdnUrl":"https://cdn.3dassets.dev/assets/31299/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-snow-collection-bin-b505c249","thumbnailUrl":"https://cdn.3dassets.dev/assets/31299/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31299/v1/poster.webp","blurhash":"U64EB4u5H;X3.AkqR$o_Y+VYUvoIVZoiVrQ,","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":73848,"triangles":4636,"vertices":2748,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.4000000059604645,-0.0000033503305698623365,-0.35446614027023315],"max":[0.4000000059604645,0.540003371788242,0.35446614027023315]},"sizeMeters":[0.8,0.54,0.709],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:43.359Z","updatedAt":"2026-09-08T10:45:43.482Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31299/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SnowCollectionBinCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31299/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31299/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31299/v1/model.glb\" alt=\"Snow Collection Bin (Curling Club and Ice Maintenance)\" 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/31299/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/31299/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31300","slug":"curling-club-and-ice-maintenance-hose-reel-2ab13a7a","title":"Hose Reel (Curling Club and Ice Maintenance)","summary":"Hose reel with wound hose, twin flanges, axle frame and outlet tail.","description":"Hose reel with wound hose, twin flanges, axle frame and outlet tail. Dimensions 0.66 × 0.57 × 0.40 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-hose-reel-2ab13a7a","cdnUrl":"https://cdn.3dassets.dev/assets/31300/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-hose-reel-2ab13a7a","thumbnailUrl":"https://cdn.3dassets.dev/assets/31300/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31300/v1/poster.webp","blurhash":"UA7C5H%%8wVr5TRmxZoyL}VXf6XA^%t6Mxs+","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":178640,"triangles":11332,"vertices":6737,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.32890981435775757,-0.000013983797287786537,-0.2000150447599648],"max":[0.32890981435775757,0.5700000040233135,0.2000150447599648]},"sizeMeters":[0.658,0.57,0.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:43.658Z","updatedAt":"2026-09-08T10:45:43.783Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31300/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HoseReelCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31300/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31300/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31300/v1/model.glb\" alt=\"Hose Reel (Curling Club and Ice Maintenance)\" 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/31300/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/31300/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31301","slug":"curling-club-and-ice-maintenance-hose-guide-stand-617fa146","title":"Hose Guide Stand (Curling Club and Ice Maintenance)","summary":"Hose guide with open rounded eye, stout post and stable foot.","description":"Hose guide with open rounded eye, stout post and stable foot. Dimensions 0.35 × 0.69 × 0.30 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-hose-guide-stand-617fa146","cdnUrl":"https://cdn.3dassets.dev/assets/31301/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-hose-guide-stand-617fa146","thumbnailUrl":"https://cdn.3dassets.dev/assets/31301/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31301/v1/poster.webp","blurhash":"U571[:x]00I900WC~VobxvayRhoL_3t7E1V?","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":22544,"triangles":1228,"vertices":821,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.17500107510174934,0,-0.150017401511557],"max":[0.17500107510174934,0.6880000233650208,0.150017401511557]},"sizeMeters":[0.35,0.688,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:45.064Z","updatedAt":"2026-09-08T10:45:45.206Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31301/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HoseGuideStandCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31301/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31301/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31301/v1/model.glb\" alt=\"Hose Guide Stand (Curling Club and Ice Maintenance)\" 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/31301/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/31301/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31302","slug":"curling-club-and-ice-maintenance-ice-marking-stencil-30df2d10","title":"Ice Marking Stencil (Curling Club and Ice Maintenance)","summary":"Open-frame ice stencil with four spacing bridges and flat reusable edge rails.","description":"Open-frame ice stencil with four spacing bridges and flat reusable edge rails. Dimensions 1.30 × 0.01 × 0.33 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-ice-marking-stencil-30df2d10","cdnUrl":"https://cdn.3dassets.dev/assets/31302/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-ice-marking-stencil-30df2d10","thumbnailUrl":"https://cdn.3dassets.dev/assets/31302/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31302/v1/poster.webp","blurhash":"U55YsjXUD#tQkYyZbbMw00ob-?RRZ}D4nP%h","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":43876,"triangles":2400,"vertices":1714,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.6499999761581421,-0.00001522859955355952,-0.16252479032757525],"max":[0.6499999761581421,0.007203021272902529,0.16252479032757525]},"sizeMeters":[1.3,0.007,0.325],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:44.343Z","updatedAt":"2026-09-08T10:45:44.450Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31302/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function IceMarkingStencilCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31302/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31302/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31302/v1/model.glb\" alt=\"Ice Marking Stencil (Curling Club and Ice Maintenance)\" 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/31302/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/31302/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31303","slug":"curling-club-and-ice-maintenance-house-painting-arm-f6174f90","title":"House Painting Arm (Curling Club and Ice Maintenance)","summary":"House marking radius arm with pivot foot, rigid beam, sliding clamp and lowered paint shoe.","description":"House marking radius arm with pivot foot, rigid beam, sliding clamp and lowered paint shoe. Dimensions 1.98 × 0.21 × 0.22 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-house-painting-arm-f6174f90","cdnUrl":"https://cdn.3dassets.dev/assets/31303/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-house-painting-arm-f6174f90","thumbnailUrl":"https://cdn.3dassets.dev/assets/31303/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31303/v1/poster.webp","blurhash":"U35OmU%NE*Nt.8?wWTNI00t1-paJ4T00%3%0","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":47336,"triangles":2648,"vertices":1785,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.9900000095367432,-0.00002372823541915009,-0.10997650180711525],"max":[0.9900000095367432,0.20501154032348973,0.10997650180711525]},"sizeMeters":[1.98,0.205,0.22],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:45.201Z","updatedAt":"2026-09-08T10:45:45.379Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31303/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HousePaintingArmCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31303/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31303/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31303/v1/model.glb\" alt=\"House Painting Arm (Curling Club and Ice Maintenance)\" 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/31303/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/31303/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31304","slug":"curling-club-and-ice-maintenance-paint-supply-trolley-4cc78f12","title":"Paint Supply Trolley (Curling Club and Ice Maintenance)","summary":"Wheeled trolley with two open paint pails, wire bails and push handle.","description":"Wheeled trolley with two open paint pails, wire bails and push handle. Dimensions 0.92 × 1.03 × 0.73 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-paint-supply-trolley-4cc78f12","cdnUrl":"https://cdn.3dassets.dev/assets/31304/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-paint-supply-trolley-4cc78f12","thumbnailUrl":"https://cdn.3dassets.dev/assets/31304/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31304/v1/poster.webp","blurhash":"UCA^Xitm00V@?wtmD%Mx00oy_1Vs0KRi?axX","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":220904,"triangles":12932,"vertices":8669,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.46099212267775597,-0.000016547607640249318,-0.3661666810512543],"max":[0.460999995470047,1.02822945670358,0.3661666810512543]},"sizeMeters":[0.922,1.028,0.732],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:45.499Z","updatedAt":"2026-09-08T10:45:45.607Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31304/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PaintSupplyTrolleyCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31304/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31304/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31304/v1/model.glb\" alt=\"Paint Supply Trolley (Curling Club and Ice Maintenance)\" 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/31304/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/31304/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31305","slug":"curling-club-and-ice-maintenance-maintenance-workbench-fadcd7c5","title":"Maintenance Workbench (Curling Club and Ice Maintenance)","summary":"Maintenance bench with worktop mat, three drawers, tubular braces and joined pulls.","description":"Maintenance bench with worktop mat, three drawers, tubular braces and joined pulls. Dimensions 2.00 × 0.89 × 0.80 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-maintenance-workbench-fadcd7c5","cdnUrl":"https://cdn.3dassets.dev/assets/31305/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-maintenance-workbench-fadcd7c5","thumbnailUrl":"https://cdn.3dassets.dev/assets/31305/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31305/v1/poster.webp","blurhash":"UD8q{WNFrA%Mys%gi]V?4T%hbxMcMbIVXUxD","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":103432,"triangles":5700,"vertices":4046,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-1,0.000013054992909804913,-0.3999450666829432],"max":[1,0.890061034477146,0.3999450666829432]},"sizeMeters":[2,0.89,0.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:46.368Z","updatedAt":"2026-09-08T10:45:46.502Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31305/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MaintenanceWorkbenchCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31305/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31305/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31305/v1/model.glb\" alt=\"Maintenance Workbench (Curling Club and Ice Maintenance)\" 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/31305/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/31305/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31306","slug":"curling-club-and-ice-maintenance-club-reception-counte-c6ed69b1","title":"Club Reception Counter (Curling Club and Ice Maintenance)","summary":"Cream reception counter with thick timber overhang, front reveals and writing pad.","description":"Cream reception counter with thick timber overhang, front reveals and writing pad. Dimensions 2.05 × 1.05 × 0.80 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-club-reception-counte-c6ed69b1","cdnUrl":"https://cdn.3dassets.dev/assets/31306/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-club-reception-counte-c6ed69b1","thumbnailUrl":"https://cdn.3dassets.dev/assets/31306/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31306/v1/poster.webp","blurhash":"UFH2TM-;00Ws~U_2kDIU00s*%fa#SjD%IUj=","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":34940,"triangles":1800,"vertices":1280,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.024999976158142,-0.00004028532657798789,-0.399933612939294],"max":[1.024999976158142,1.0499603076636923,0.399933612939294]},"sizeMeters":[2.05,1.05,0.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:47.310Z","updatedAt":"2026-09-08T10:45:47.423Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31306/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ClubReceptionCounterCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31306/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31306/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31306/v1/model.glb\" alt=\"Club Reception Counter (Curling Club and Ice Maintenance)\" 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/31306/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/31306/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31307","slug":"curling-club-and-ice-maintenance-curling-hall-base-09bb9a6f","title":"Curling Hall Base (Curling Club and Ice Maintenance)","summary":"Continuous level club foundation with perimeter access margin.","description":"Continuous level club foundation with perimeter access margin. Dimensions 53.00 × 0.15 × 16.00 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original cream enamel, blue rubber, granite and brushed steel. Metres; static geometry, no animation or collision. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-curling-hall-base-09bb9a6f","cdnUrl":"https://cdn.3dassets.dev/assets/31307/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-curling-hall-base-09bb9a6f","thumbnailUrl":"https://cdn.3dassets.dev/assets/31307/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31307/v1/poster.webp","blurhash":"U69@YNxu00t7xv?vofD%00WC_4RjIA00Rj?c","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"kit","title":"Kit / Set"},{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":6372,"triangles":300,"vertices":212,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-26.5,0.0005958768777510892,-8.000869777520066],"max":[26.5,0.1494041290827134,8.000869777520066]},"sizeMeters":[53,0.149,16.002],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:48.634Z","updatedAt":"2026-09-08T10:45:48.760Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31307/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CurlingHallBaseCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31307/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31307/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31307/v1/model.glb\" alt=\"Curling Hall Base (Curling Club and Ice Maintenance)\" 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/31307/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/31307/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31308","slug":"curling-club-and-ice-maintenance-long-sh-8bd2e816-starter-scene","title":"Long Sheet Curling Club (Curling Club and Ice Maintenance)","summary":"Complete 45.72 metre joined sheet with two houses, end stone storage, spectator edge and enclosed furnished ice maintenance room.","description":"Complete 45.72 metre joined sheet with two houses, end stone storage, spectator edge and enclosed furnished ice maintenance room.","status":"published","url":"https://3dassets.dev/assets/curling-club-and-ice-maintenance-long-sh-8bd2e816-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/31308/v1/model.glb","downloadUrl":"https://3dassets.dev/download/curling-club-and-ice-maintenance-long-sh-8bd2e816-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/31308/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31308/v1/poster.webp","blurhash":"U6BzILoc4moft5~qkBIT00j?-=WCa$00Rjxv","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"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":3996156,"triangles":265704,"vertices":175208,"meshes":175,"materials":12,"textures":0,"animations":[],"boundingBox":{"min":[-26.5,0.0005958768777510892,-8.000869777520066],"max":[26.5,6.507549206450161,8.000869777520066]},"sizeMeters":[53,6.507,16.002],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:45:48.779Z","updatedAt":"2026-09-08T10:45:48.886Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31308/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LongSheetCurlingClubCurlingClubAndIceMaintenance(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31308/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31308/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31308/v1/model.glb\" alt=\"Long Sheet Curling Club (Curling Club and Ice Maintenance)\" 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/31308/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/31308/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":null}}