{"data":{"id":231,"slug":"canal-boats-and-lock-operations","title":"Canal Boats and Lock Operations","summary":"Fifty original premium canal navigation, boat and lockside maintenance designs.","description":"Weathered oak lock gates and iron mechanisms, red-brick banks, a furnished narrowboat and a distinct open service workboat in a coherent static lower-water lock state. Metres, original generic construction, no fluid simulation, operating tutorial or certified engineering dimensions.","url":"https://3dassets.dev/packs/canal-boats-and-lock-operations","coverUrl":"https://cdn.3dassets.dev/assets/31665/v1/poster.webp","assetCount":51,"aiGenerated":true,"aiGeneratedAssetCount":51,"aiModels":["GPT-6"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":9288848,"totalTriangles":453616,"starterScene":{"id":"31665","slug":"canal-boats-and-lock-operations-canal-bo-0153d0f8-starter-scene","title":"Lower-water canal lock and staffed maintenance yard (Canal Boats and Lock Operations)","summary":"Closed upper gate holding raised pound, lower gates open beside equal-level chamber and downstream water, a complete cabin boat in chamber, moored workboat and furnished roofed lockside buildings.","description":"Closed upper gate holding raised pound, lower gates open beside equal-level chamber and downstream water, a complete cabin boat in chamber, moored workboat and furnished roofed lockside buildings.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-bo-0153d0f8-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/31665/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-bo-0153d0f8-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/31665/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31665/v1/poster.webp","blurhash":"U7BWPW%M02jEIV9Zs,%L00Rj?HRl-.~WbJIo","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":4595856,"triangles":228410,"vertices":201828,"meshes":169,"materials":12,"textures":0,"animations":[],"boundingBox":{"min":[-10.000549333170568,-0.00019760585874098457,-16.5],"max":[8.000549333170568,6.274056865696242,16.5]},"sizeMeters":[18.001,6.274,33],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":2,"publishedAt":"2026-09-08T10:48:54.779Z","updatedAt":"2026-09-08T16:10:46.133Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31665/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LowerWaterCanalLockAndStaffedMaintenanceYardCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31665/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31665/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31665/v1/model.glb\" alt=\"Lower-water canal lock and staffed maintenance yard (Canal Boats and Lock Operations)\" 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/31665/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/31665/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"31614","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-d0a81999","title":"Roofed Lock Keepers Cottage (Canal Boats and Lock Operations)","summary":"Pitched masonry cottage with bonded brick courses, front entry, framed sash windows and glazed roof slope exposing furnished recording area.","description":"Pitched masonry cottage with bonded brick courses, front entry, framed sash windows and glazed roof slope exposing furnished recording area. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-d0a81999","cdnUrl":"https://cdn.3dassets.dev/assets/31614/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-d0a81999","thumbnailUrl":"https://cdn.3dassets.dev/assets/31614/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31614/v1/poster.webp","blurhash":"U4CiHyt-01+u004o?H-:00aKrDEO;2~qx[4:","category":{"slug":"props","title":"Props & Furniture"},"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":248180,"triangles":13768,"vertices":9929,"meshes":7,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-2.356434077486611,-0.00001953108116536928,-2.1500000953674316],"max":[2.3563321539905067,3.650083120193677,2.1500000953674316]},"sizeMeters":[4.713,3.65,4.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:29.809Z","updatedAt":"2026-09-08T10:48:29.904Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31614/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RoofedLockKeepersCottageCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31614/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31614/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31614/v1/model.glb\" alt=\"Roofed Lock Keepers Cottage (Canal Boats and Lock Operations)\" 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/31614/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/31614/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31616","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-83386836","title":"Covered Lock Maintenance Shed (Canal Boats and Lock Operations)","summary":"Tall open-ended timber maintenance shed with braced posts, partial plank sidewalls, thick slab and supported pitched roof.","description":"Tall open-ended timber maintenance shed with braced posts, partial plank sidewalls, thick slab and supported pitched roof. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-83386836","cdnUrl":"https://cdn.3dassets.dev/assets/31616/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-83386836","thumbnailUrl":"https://cdn.3dassets.dev/assets/31616/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31616/v1/poster.webp","blurhash":"U6EV$t9a00_34o00-:%g00f4IoIT.6~qxvRO","category":{"slug":"props","title":"Props & Furniture"},"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":126716,"triangles":6084,"vertices":5472,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-2.3564602921865774,0.00017151138522389364,-3.0250000953674316],"max":[2.3564602921865774,3.6740568656962425,3.02620005607605]},"sizeMeters":[4.713,3.674,6.051],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:30.124Z","updatedAt":"2026-09-08T10:48:30.229Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31616/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CoveredLockMaintenanceShedCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31616/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31616/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31616/v1/model.glb\" alt=\"Covered Lock Maintenance Shed (Canal Boats and Lock Operations)\" 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/31616/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/31616/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31617","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-09c02e87","title":"Narrow Lock Chamber (Canal Boats and Lock Operations)","summary":"Sixteen-metre chamber with thick bed and masonry sidewalls; water at fixed lower-pound level. Upper interface meets raised cill, not a floating sheet.","description":"Sixteen-metre chamber with thick bed and masonry sidewalls; water at fixed lower-pound level. Upper interface meets raised cill, not a floating sheet. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-09c02e87","cdnUrl":"https://cdn.3dassets.dev/assets/31617/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-09c02e87","thumbnailUrl":"https://cdn.3dassets.dev/assets/31617/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31617/v1/poster.webp","blurhash":"U5A08t-;ACt7+v4:IoxF00EL-UniB.~V%LWY","category":{"slug":"props","title":"Props & Furniture"},"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":185880,"triangles":11016,"vertices":7250,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.8994720297860652,-0.00019760585874098457,-8],"max":[1.8994720297860652,2.5996466886481704,8]},"sizeMeters":[3.799,2.6,16],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:30.244Z","updatedAt":"2026-09-08T10:48:30.356Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31617/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NarrowLockChamberCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31617/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31617/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31617/v1/model.glb\" alt=\"Narrow Lock Chamber (Canal Boats and Lock Operations)\" 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/31617/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/31617/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31618","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-b257cd78","title":"Upper Pound Channel (Canal Boats and Lock Operations)","summary":"Raised upstream pound with thick bed and retaining banks; outlet meets closed upper gate.","description":"Raised upstream pound with thick bed and retaining banks; outlet meets closed upper gate. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-b257cd78","cdnUrl":"https://cdn.3dassets.dev/assets/31618/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-b257cd78","thumbnailUrl":"https://cdn.3dassets.dev/assets/31618/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31618/v1/poster.webp","blurhash":"U8C?ZL?^0KVF_MIUMdS~00Q-IoFv8_tlF_r?","category":{"slug":"props","title":"Props & Furniture"},"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":71936,"triangles":3456,"vertices":2963,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-2.119876705221717,-0.00007553182083699927,-3],"max":[2.119876705221717,2.900088830790507,3]},"sizeMeters":[4.24,2.9,6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:31.639Z","updatedAt":"2026-09-08T10:48:31.734Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31618/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function UpperPoundChannelCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31618/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31618/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31618/v1/model.glb\" alt=\"Upper Pound Channel (Canal Boats and Lock Operations)\" 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/31618/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/31618/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31619","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-51f4cf43","title":"Lower Pound Channel (Canal Boats and Lock Operations)","summary":"Lower approach with equal water height to chamber, solid bed and lower retaining walls.","description":"Lower approach with equal water height to chamber, solid bed and lower retaining walls. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-51f4cf43","cdnUrl":"https://cdn.3dassets.dev/assets/31619/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-51f4cf43","thumbnailUrl":"https://cdn.3dassets.dev/assets/31619/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31619/v1/poster.webp","blurhash":"U4Av%w_M0Ka^ib8{Mxtl00IBt,NeKk?]yX+I","category":{"slug":"props","title":"Props & Furniture"},"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":26700,"triangles":1068,"vertices":1029,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.9000823999755851,-0.0000631533470593082,-4],"max":[1.9000823999755851,2.4198058934528537,4]},"sizeMeters":[3.8,2.42,8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:31.688Z","updatedAt":"2026-09-08T10:48:31.780Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31619/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LowerPoundChannelCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31619/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31619/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31619/v1/model.glb\" alt=\"Lower Pound Channel (Canal Boats and Lock Operations)\" 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/31619/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/31619/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31620","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-9f4b442e","title":"Chamber Coping Run (Canal Boats and Lock Operations)","summary":"Four-metre rounded coping with individual capstones and bed.","description":"Four-metre rounded coping with individual capstones and bed. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-9f4b442e","cdnUrl":"https://cdn.3dassets.dev/assets/31620/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-9f4b442e","thumbnailUrl":"https://cdn.3dassets.dev/assets/31620/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31620/v1/poster.webp","blurhash":"UBAmuKt8D%tR-:9FM{xu00D%?aof9G~q-;D*","category":{"slug":"props","title":"Props & Furniture"},"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":21524,"triangles":972,"vertices":847,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.26001770073549607,-0.00009063818500433529,-2],"max":[0.26001770073549607,0.21501274742887538,2]},"sizeMeters":[0.52,0.215,4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:32.966Z","updatedAt":"2026-09-08T10:48:33.078Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31620/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ChamberCopingRunCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31620/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31620/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31620/v1/model.glb\" alt=\"Chamber Coping Run (Canal Boats and Lock Operations)\" 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/31620/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/31620/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31621","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-e79038da","title":"Upper Single Lock Gate (Canal Boats and Lock Operations)","summary":"Single full-width oak upper gate with diagonal iron straps, heel and closing posts. Closed static gate seats on raised cill.","description":"Single full-width oak upper gate with diagonal iron straps, heel and closing posts. Closed static gate seats on raised cill. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-e79038da","cdnUrl":"https://cdn.3dassets.dev/assets/31621/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-e79038da","thumbnailUrl":"https://cdn.3dassets.dev/assets/31621/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31621/v1/poster.webp","blurhash":"UEF=:U?a00jvjv?bxt9G00M{~pofWBRkWDoy","category":{"slug":"props","title":"Props & Furniture"},"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":82236,"triangles":3144,"vertices":3765,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.5950000286102295,-0.00009308961337339827,-0.17241336811333552],"max":[1.5950000286102295,1.8400931063026738,0.10991336811333552]},"sizeMeters":[3.19,1.84,0.282],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:32.010Z","updatedAt":"2026-09-08T10:48:32.138Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31621/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function UpperSingleLockGateCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31621/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31621/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31621/v1/model.glb\" alt=\"Upper Single Lock Gate (Canal Boats and Lock Operations)\" 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/31621/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/31621/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31622","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-0423c01b","title":"Lower Mitre Gate Pair (Canal Boats and Lock Operations)","summary":"Two independently framed mitre gate leaves posed open against chamber sides; shorter leaves and opposed heel pivots differ from single upper gate.","description":"Two independently framed mitre gate leaves posed open against chamber sides; shorter leaves and opposed heel pivots differ from single upper gate. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-0423c01b","cdnUrl":"https://cdn.3dassets.dev/assets/31622/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-0423c01b","thumbnailUrl":"https://cdn.3dassets.dev/assets/31622/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31622/v1/poster.webp","blurhash":"U7B3$rE1%M-;R*~poy4o00-:IoIUxtE1ofxt","category":{"slug":"props","title":"Props & Furniture"},"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":126332,"triangles":4560,"vertices":5988,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.5399999618530273,0.000014989723687741652,-0.05493909926316998],"max":[1.5399999618530273,1.8199850365023562,1.63493909002445]},"sizeMeters":[3.08,1.82,1.69],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:34.414Z","updatedAt":"2026-09-08T10:48:34.524Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31622/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LowerMitreGatePairCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31622/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31622/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31622/v1/model.glb\" alt=\"Lower Mitre Gate Pair (Canal Boats and Lock Operations)\" 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/31622/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/31622/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31623","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-82f4e750","title":"Gate Balance Beam (Canal Boats and Lock Operations)","summary":"Heavy rectangular counterweight beam with cream hand end and seated mounting saddle, matching upper gate beam.","description":"Heavy rectangular counterweight beam with cream hand end and seated mounting saddle, matching upper gate beam. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-82f4e750","cdnUrl":"https://cdn.3dassets.dev/assets/31623/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-82f4e750","thumbnailUrl":"https://cdn.3dassets.dev/assets/31623/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31623/v1/poster.webp","blurhash":"U66@~800?aaK9G^+IUR*00?HM{f+~W00?Hxt","category":{"slug":"props","title":"Props & Furniture"},"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":27804,"triangles":804,"vertices":1343,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.5,2.6822091214739885e-9,-0.12499488013710183],"max":[1.5011999607086182,0.26499998569488525,0.12499488013710183]},"sizeMeters":[3.001,0.265,0.25],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:33.361Z","updatedAt":"2026-09-08T10:48:33.461Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31623/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GateBalanceBeamCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31623/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31623/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31623/v1/model.glb\" alt=\"Gate Balance Beam (Canal Boats and Lock Operations)\" 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/31623/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/31623/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31624","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-cb116332","title":"Heel Post Bearing Shoe (Canal Boats and Lock Operations)","summary":"Bolted cast bearing shoe with full annular socket and retained heel pivot, matching gate heel diameter.","description":"Bolted cast bearing shoe with full annular socket and retained heel pivot, matching gate heel diameter. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-cb116332","cdnUrl":"https://cdn.3dassets.dev/assets/31624/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-cb116332","thumbnailUrl":"https://cdn.3dassets.dev/assets/31624/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31624/v1/poster.webp","blurhash":"U268Nw-;00D$IARPtQtR00M{~qt6x]ofaijv","category":{"slug":"props","title":"Props & Furniture"},"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":38108,"triangles":1452,"vertices":1697,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.20999999344348907,0.000006951894289924931,-0.20999999344348907],"max":[0.20999999344348907,0.30499305645036034,0.20999999344348907]},"sizeMeters":[0.42,0.305,0.42],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:33.886Z","updatedAt":"2026-09-08T10:48:33.994Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31624/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HeelPostBearingShoeCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31624/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31624/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31624/v1/model.glb\" alt=\"Heel Post Bearing Shoe (Canal Boats and Lock Operations)\" 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/31624/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/31624/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31625","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-f41f66d8","title":"Gate Paddle Assembly (Canal Boats and Lock Operations)","summary":"Gate paddle with retained sliding board, paired guide rails, toothed lifting rack and seated pinion axle.","description":"Gate paddle with retained sliding board, paired guide rails, toothed lifting rack and seated pinion axle. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-f41f66d8","cdnUrl":"https://cdn.3dassets.dev/assets/31625/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-f41f66d8","thumbnailUrl":"https://cdn.3dassets.dev/assets/31625/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31625/v1/poster.webp","blurhash":"U46bMdQW00y.DStj?FIBQql4oyV0yBa3IUti","category":{"slug":"props","title":"Props & Furniture"},"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":77972,"triangles":3564,"vertices":3340,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.277550573768216,8.344650304081824e-9,-0.04992819284290728],"max":[0.277550573768216,1.7999999523162842,0.3649282016345924]},"sizeMeters":[0.555,1.8,0.415],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:34.675Z","updatedAt":"2026-09-08T10:48:34.787Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31625/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GatePaddleAssemblyCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31625/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31625/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31625/v1/model.glb\" alt=\"Gate Paddle Assembly (Canal Boats and Lock Operations)\" 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/31625/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/31625/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31626","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-83a8a983","title":"Ground Paddle Pedestal (Canal Boats and Lock Operations)","summary":"Separate ground sluice pedestal with narrow elevated rack, geared top casing and anchor plinth.","description":"Separate ground sluice pedestal with narrow elevated rack, geared top casing and anchor plinth. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-83a8a983","cdnUrl":"https://cdn.3dassets.dev/assets/31626/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-83a8a983","thumbnailUrl":"https://cdn.3dassets.dev/assets/31626/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31626/v1/poster.webp","blurhash":"U47K*j-;00IA00IU_3%M-;t7IUM{~qofRQt7","category":{"slug":"props","title":"Props & Furniture"},"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":56964,"triangles":2088,"vertices":2583,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.2900021478193128,0.000007930739794978492,-0.30000001192092896],"max":[0.2900021478193128,1.159999966621399,0.30000001192092896]},"sizeMeters":[0.58,1.16,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:35.138Z","updatedAt":"2026-09-08T10:48:35.233Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31626/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GroundPaddlePedestalCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31626/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31626/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31626/v1/model.glb\" alt=\"Ground Paddle Pedestal (Canal Boats and Lock Operations)\" 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/31626/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/31626/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31627","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-fa02fea5","title":"Paddle Winding Spindle (Canal Boats and Lock Operations)","summary":"Bearing-mounted winding spindle with protruding square windlass socket, matching pedestal shaft.","description":"Bearing-mounted winding spindle with protruding square windlass socket, matching pedestal shaft. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-fa02fea5","cdnUrl":"https://cdn.3dassets.dev/assets/31627/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-fa02fea5","thumbnailUrl":"https://cdn.3dassets.dev/assets/31627/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31627/v1/poster.webp","blurhash":"U87-pF%g4nM|_Nx]IURjDitRt7IUIAWCofM{","category":{"slug":"props","title":"Props & Furniture"},"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":14504,"triangles":528,"vertices":568,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.1599999964237213,0.0000033562537814328663,-0.08499710200815529],"max":[0.20999999344348907,0.24999832007245548,0.08499710200815529]},"sizeMeters":[0.37,0.25,0.17],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:35.667Z","updatedAt":"2026-09-08T10:48:35.772Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31627/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PaddleWindingSpindleCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31627/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31627/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31627/v1/model.glb\" alt=\"Paddle Winding Spindle (Canal Boats and Lock Operations)\" 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/31627/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/31627/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31628","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-91c972c1","title":"Lock Windlass (Canal Boats and Lock Operations)","summary":"Offset lock windlass with real square socket opening and retained rotating-style handgrip.","description":"Offset lock windlass with real square socket opening and retained rotating-style handgrip. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-91c972c1","cdnUrl":"https://cdn.3dassets.dev/assets/31628/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-91c972c1","thumbnailUrl":"https://cdn.3dassets.dev/assets/31628/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31628/v1/poster.webp","blurhash":"U47-j0.8DixuWBIUIAoL00D$?bRjt6-=_NRj","category":{"slug":"props","title":"Props & Furniture"},"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":15616,"triangles":320,"vertices":715,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.039006465053352715,5.65729733569692e-7,-0.24700269706310898],"max":[0.16700269885124833,0.12399999797344208,0.004000000189989805]},"sizeMeters":[0.206,0.124,0.251],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:36.195Z","updatedAt":"2026-09-08T10:48:36.313Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31628/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LockWindlassCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31628/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31628/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31628/v1/model.glb\" alt=\"Lock Windlass (Canal Boats and Lock Operations)\" 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/31628/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/31628/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31629","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-fa0092d6","title":"Lock Cill (Canal Boats and Lock Operations)","summary":"Raised full-width upper cill with broad masonry step and oak sealing sill; sits below closed upper gate.","description":"Raised full-width upper cill with broad masonry step and oak sealing sill; sits below closed upper gate. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-fa0092d6","cdnUrl":"https://cdn.3dassets.dev/assets/31629/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-fa0092d6","thumbnailUrl":"https://cdn.3dassets.dev/assets/31629/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31629/v1/poster.webp","blurhash":"U8Cj2@%M00xt_2~pWYD%00%1_3IV0100xZ%M","category":{"slug":"props","title":"Props & Furniture"},"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":6416,"triangles":216,"vertices":186,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.600000023841858,-0.000008393707818077356,-0.34004944505248264],"max":[1.600000023841858,0.6500845284736942,0.34004944505248264]},"sizeMeters":[3.2,0.65,0.68],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:36.402Z","updatedAt":"2026-09-08T10:48:36.506Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31629/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LockCillCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31629/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31629/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31629/v1/model.glb\" alt=\"Lock Cill (Canal Boats and Lock Operations)\" 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/31629/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/31629/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31630","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-df96c9fb","title":"Gate Crossing Walkway (Canal Boats and Lock Operations)","summary":"Narrow supported timber crossing walkway, bounded rear handrail and clear front side for gate equipment.","description":"Narrow supported timber crossing walkway, bounded rear handrail and clear front side for gate equipment. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-df96c9fb","cdnUrl":"https://cdn.3dassets.dev/assets/31630/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-df96c9fb","thumbnailUrl":"https://cdn.3dassets.dev/assets/31630/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31630/v1/poster.webp","blurhash":"U79H2@xt9Fxu9G?axuIU009G?Hxa~p4o9F-:","category":{"slug":"props","title":"Props & Furniture"},"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":55392,"triangles":2580,"vertices":2356,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.899999976158142,0.00005852360957903091,-0.27508163356102866],"max":[1.899999976158142,1.0049414725161192,0.27508163356102866]},"sizeMeters":[3.8,1.005,0.55],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:36.915Z","updatedAt":"2026-09-08T10:48:37.029Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31630/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GateCrossingWalkwayCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31630/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31630/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31630/v1/model.glb\" alt=\"Gate Crossing Walkway (Canal Boats and Lock Operations)\" 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/31630/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/31630/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31631","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-9880631f","title":"Lockside Ladder (Canal Boats and Lock Operations)","summary":"Nine-rung ladder with paired rails and four wall fixing standoffs.","description":"Nine-rung ladder with paired rails and four wall fixing standoffs. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-9880631f","cdnUrl":"https://cdn.3dassets.dev/assets/31631/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-9880631f","thumbnailUrl":"https://cdn.3dassets.dev/assets/31631/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31631/v1/poster.webp","blurhash":"U15r6^~q0000?If89YoxNFM{o3-qsqofSJR%","category":{"slug":"props","title":"Props & Furniture"},"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":53420,"triangles":1464,"vertices":2706,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.25241248032453495,2.3841858265427618e-8,-0.1799676885096608],"max":[0.25241248032453495,2.299999952316284,0.0224676822511731]},"sizeMeters":[0.505,2.3,0.202],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:37.353Z","updatedAt":"2026-09-08T10:48:37.457Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31631/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LocksideLadderCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31631/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31631/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31631/v1/model.glb\" alt=\"Lockside Ladder (Canal Boats and Lock Operations)\" 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/31631/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/31631/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31632","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-80d4ff8c","title":"Rubbing Strip (Canal Boats and Lock Operations)","summary":"Vertical replaceable oak rubbing strip with recessed washer fixings.","description":"Vertical replaceable oak rubbing strip with recessed washer fixings. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-80d4ff8c","cdnUrl":"https://cdn.3dassets.dev/assets/31632/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-80d4ff8c","thumbnailUrl":"https://cdn.3dassets.dev/assets/31632/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31632/v1/poster.webp","blurhash":"U3A,g[_M0000tloMR6S10fRQ^*yC?GR*E1xa","category":{"slug":"props","title":"Props & Furniture"},"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":22948,"triangles":1260,"vertices":829,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.06994842371898556,0,-0.03753776665547655],"max":[0.06994842371898556,1.5,0.054024065392141954]},"sizeMeters":[0.14,1.5,0.092],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:37.888Z","updatedAt":"2026-09-08T10:48:37.996Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31632/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RubbingStripCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31632/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31632/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31632/v1/model.glb\" alt=\"Rubbing Strip (Canal Boats and Lock Operations)\" 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/31632/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/31632/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31633","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-65e264bd","title":"Lockside Mooring Bollard (Canal Boats and Lock Operations)","summary":"Cross-headed cast mooring bollard with chamfered shaft, paired horns and bolted base.","description":"Cross-headed cast mooring bollard with chamfered shaft, paired horns and bolted base. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-65e264bd","cdnUrl":"https://cdn.3dassets.dev/assets/31633/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-65e264bd","thumbnailUrl":"https://cdn.3dassets.dev/assets/31633/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31633/v1/poster.webp","blurhash":"U142bg?u00DPH@VubFf}9FV[t7WB-;t7tRWX","category":{"slug":"props","title":"Props & Furniture"},"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":35588,"triangles":1164,"vertices":1647,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.2000022228612846,1.490116086078075e-10,-0.17500115342974387],"max":[0.2000022228612846,0.4150000214576721,0.17500115342974387]},"sizeMeters":[0.4,0.415,0.35],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:38.155Z","updatedAt":"2026-09-08T10:48:38.264Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31633/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LocksideMooringBollardCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31633/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31633/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31633/v1/model.glb\" alt=\"Lockside Mooring Bollard (Canal Boats and Lock Operations)\" 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/31633/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/31633/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31634","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-93cd18e8","title":"Recessed Mooring Ring (Canal Boats and Lock Operations)","summary":"Recessed annular mooring ring with retained hinge lug in stone socket.","description":"Recessed annular mooring ring with retained hinge lug in stone socket. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-93cd18e8","cdnUrl":"https://cdn.3dassets.dev/assets/31634/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-93cd18e8","thumbnailUrl":"https://cdn.3dassets.dev/assets/31634/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31634/v1/poster.webp","blurhash":"U4AK8X_M00D%MfV[bERj009F?vxb.7t7a}%M","category":{"slug":"props","title":"Props & Furniture"},"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":36392,"triangles":2136,"vertices":1278,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.1899999976158142,0.0000017555436454853857,-0.1899999976158142],"max":[0.1899999976158142,0.10000107119019452,0.1899999976158142]},"sizeMeters":[0.38,0.1,0.38],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:38.664Z","updatedAt":"2026-09-08T10:48:38.776Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31634/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RecessedMooringRingCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31634/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31634/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31634/v1/model.glb\" alt=\"Recessed Mooring Ring (Canal Boats and Lock Operations)\" 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/31634/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/31634/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31635","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-21409791","title":"Towpath Straight (Canal Boats and Lock Operations)","summary":"Four-metre paved towpath with low edging and full thickness.","description":"Four-metre paved towpath with low edging and full thickness. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-21409791","cdnUrl":"https://cdn.3dassets.dev/assets/31635/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-21409791","thumbnailUrl":"https://cdn.3dassets.dev/assets/31635/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31635/v1/poster.webp","blurhash":"UABM#xxu4poytR9ZRj%L00Mx?GbHMx~Vx[9a","category":{"slug":"props","title":"Props & Furniture"},"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":16044,"triangles":804,"vertices":571,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.7000335703604236,-0.000060427319314701466,-2],"max":[0.7000335703604236,0.1699031032853789,2]},"sizeMeters":[1.4,0.17,4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:39.025Z","updatedAt":"2026-09-08T10:48:39.123Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31635/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TowpathStraightCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31635/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31635/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31635/v1/model.glb\" alt=\"Towpath Straight (Canal Boats and Lock Operations)\" 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/31635/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/31635/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31636","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-6b9f7e11","title":"Towpath Turn (Canal Boats and Lock Operations)","summary":"Thick right-angle towpath return with continuous outside edging and open adjoining ends.","description":"Thick right-angle towpath return with continuous outside edging and open adjoining ends. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-6b9f7e11","cdnUrl":"https://cdn.3dassets.dev/assets/31636/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-6b9f7e11","thumbnailUrl":"https://cdn.3dassets.dev/assets/31636/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31636/v1/poster.webp","blurhash":"UAB:Z_-;00jrtRa|V@oM00D%~VWBMxoLogR%","category":{"slug":"props","title":"Props & Furniture"},"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":25784,"triangles":1392,"vertices":950,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.699999988079071,0.00001281812500331797,-1.399999976158142],"max":[1.399999976158142,0.16999465767872285,0.699999988079071]},"sizeMeters":[2.1,0.17,2.1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:40.741Z","updatedAt":"2026-09-08T10:48:40.866Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31636/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TowpathTurnCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31636/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31636/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31636/v1/model.glb\" alt=\"Towpath Turn (Canal Boats and Lock Operations)\" 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/31636/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/31636/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31637","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-6d89af3a","title":"Towpath Access Stair (Canal Boats and Lock Operations)","summary":"Six solid supported towpath access steps with seated posts and continuous handrails.","description":"Six solid supported towpath access steps with seated posts and continuous handrails. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-6d89af3a","cdnUrl":"https://cdn.3dassets.dev/assets/31637/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-6d89af3a","thumbnailUrl":"https://cdn.3dassets.dev/assets/31637/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31637/v1/poster.webp","blurhash":"U5Am*jxa00D%00D%?b?b00-;~qIU?voyxbV[","category":{"slug":"props","title":"Props & Furniture"},"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":30904,"triangles":1272,"vertices":1316,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.6749656487963556,-0.00005585085768311515,-0.911339282989502],"max":[0.6749656487963556,1.8900578651824738,0.911339282989502]},"sizeMeters":[1.35,1.89,1.823],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:40.019Z","updatedAt":"2026-09-08T10:48:40.245Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31637/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TowpathAccessStairCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31637/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31637/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31637/v1/model.glb\" alt=\"Towpath Access Stair (Canal Boats and Lock Operations)\" 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/31637/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/31637/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31638","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-d10da37d","title":"Bywash Overflow Inlet (Canal Boats and Lock Operations)","summary":"Bounded overflow entry with low weir crest and seated debris bars.","description":"Bounded overflow entry with low weir crest and seated debris bars. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-d10da37d","cdnUrl":"https://cdn.3dassets.dev/assets/31638/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-d10da37d","thumbnailUrl":"https://cdn.3dassets.dev/assets/31638/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31638/v1/poster.webp","blurhash":"U57BM{004T?v9F%Mx[IB00?v.8Mx_MD%IB%g","category":{"slug":"props","title":"Props & Furniture"},"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":54464,"triangles":1836,"vertices":2462,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-2.0999999046325684,-0.000032190726764413924,-0.4250053294803617],"max":[0.44999998807907104,0.4700321908757761,0.4250053294803617]},"sizeMeters":[2.55,0.47,0.85],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:40.484Z","updatedAt":"2026-09-08T10:48:40.583Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31638/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BywashOverflowInletCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31638/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31638/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31638/v1/model.glb\" alt=\"Bywash Overflow Inlet (Canal Boats and Lock Operations)\" 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/31638/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/31638/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31639","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-8e6e1339","title":"Bywash Channel (Canal Boats and Lock Operations)","summary":"Thick four-metre open overflow trough with recessed water and retained sidewalls.","description":"Thick four-metre open overflow trough with recessed water and retained sidewalls. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-8e6e1339","cdnUrl":"https://cdn.3dassets.dev/assets/31639/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-8e6e1339","thumbnailUrl":"https://cdn.3dassets.dev/assets/31639/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31639/v1/poster.webp","blurhash":"U59@bR-;D%x]-;00ITt700D%%fofD%_N-;t8","category":{"slug":"props","title":"Props & Furniture"},"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":10608,"triangles":432,"vertices":372,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.4499649037141026,-0.0000718680350779155,-2],"max":[0.4499649037141026,0.8700718741445541,2]},"sizeMeters":[0.9,0.87,4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:41.256Z","updatedAt":"2026-09-08T10:48:41.359Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31639/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BywashChannelCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31639/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31639/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31639/v1/model.glb\" alt=\"Bywash Channel (Canal Boats and Lock Operations)\" 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/31639/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/31639/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31640","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-a4a2cd9e","title":"Bywash Outlet Grille (Canal Boats and Lock Operations)","summary":"Supported stepped bywash headwall with visible grille and connected downpipe returning to lower canal water.","description":"Supported stepped bywash headwall with visible grille and connected downpipe returning to lower canal water. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-a4a2cd9e","cdnUrl":"https://cdn.3dassets.dev/assets/31640/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-a4a2cd9e","thumbnailUrl":"https://cdn.3dassets.dev/assets/31640/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31640/v1/poster.webp","blurhash":"U79Qy~004n~q9FxuozWB00.7xuMxt7t7t7Rj","category":{"slug":"props","title":"Props & Furniture"},"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":51592,"triangles":1512,"vertices":2404,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-2.0999999046325684,-9.53674295089968e-9,-0.4000187003273811],"max":[0.45005723091383587,1.725000023841858,0.7349469699412352]},"sizeMeters":[2.55,1.725,1.135],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:41.954Z","updatedAt":"2026-09-08T10:48:42.074Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31640/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BywashOutletGrilleCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31640/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31640/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31640/v1/model.glb\" alt=\"Bywash Outlet Grille (Canal Boats and Lock Operations)\" 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/31640/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/31640/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31641","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-0ff5b182","title":"Canal Footbridge (Canal Boats and Lock Operations)","summary":"Humped timber deck on curved iron girders, retained rails and masonry abutments; clear water span beneath.","description":"Humped timber deck on curved iron girders, retained rails and masonry abutments; clear water span beneath. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-0ff5b182","cdnUrl":"https://cdn.3dassets.dev/assets/31641/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-0ff5b182","thumbnailUrl":"https://cdn.3dassets.dev/assets/31641/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31641/v1/poster.webp","blurhash":"U48gpdMx0L?v0K_3aJ9F004.~Biv={9FcE_3","category":{"slug":"props","title":"Props & Furniture"},"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":385940,"triangles":18828,"vertices":16815,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-5.314909934997559,-0.00006875927216065669,-0.6948782055583221],"max":[5.314909934997559,3.359830133271533,0.6948782055583221]},"sizeMeters":[10.63,3.36,1.39],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:42.279Z","updatedAt":"2026-09-08T10:48:42.385Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31641/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CanalFootbridgeCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31641/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31641/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31641/v1/model.glb\" alt=\"Canal Footbridge (Canal Boats and Lock Operations)\" 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/31641/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/31641/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31642","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-4e70647f","title":"Cabin Narrowboat (Canal Boats and Lock Operations)","summary":"Long hollow cabin narrowboat with curved raised bow, continuous hull sides, stern well, windowed cabin and rounded clear roof on fitted ribs. Interior galley, dinette and berth; separate canonical vent and chimney fittings mounted in the scene.","description":"Long hollow cabin narrowboat with curved raised bow, continuous hull sides, stern well, windowed cabin and rounded clear roof on fitted ribs. Interior galley, dinette and berth; separate canonical vent and chimney fittings mounted in the scene. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-4e70647f","cdnUrl":"https://cdn.3dassets.dev/assets/31642/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-4e70647f","thumbnailUrl":"https://cdn.3dassets.dev/assets/31642/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31642/v1/poster.webp","blurhash":"U47w~W%M00IX~XD$D%xw00D$_3?I00?c_3aI","category":{"slug":"props","title":"Props & Furniture"},"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":791908,"triangles":29916,"vertices":37858,"meshes":7,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-1.1277077953368775,0.00005755774993088103,-5.300000190734863],"max":[1.1277077953368775,2.2069337446281567,5.300000190734863]},"sizeMeters":[2.255,2.207,10.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:43.085Z","updatedAt":"2026-09-08T10:48:43.200Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31642/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CabinNarrowboatCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31642/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31642/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31642/v1/model.glb\" alt=\"Cabin Narrowboat (Canal Boats and Lock Operations)\" 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/31642/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/31642/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31643","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-342fc263","title":"Open Maintenance Workboat (Canal Boats and Lock Operations)","summary":"Low angular steel workboat with flat transom, tapered working bow and broad uninterrupted interior, five transverse floor stiffeners, tool locker, stern transom seat and mounted small tackle jib. Different open servicing arrangement from cabin narrowboat.","description":"Low angular steel workboat with flat transom, tapered working bow and broad uninterrupted interior, five transverse floor stiffeners, tool locker, stern transom seat and mounted small tackle jib. Different open servicing arrangement from cabin narrowboat. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-342fc263","cdnUrl":"https://cdn.3dassets.dev/assets/31643/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-342fc263","thumbnailUrl":"https://cdn.3dassets.dev/assets/31643/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31643/v1/poster.webp","blurhash":"U57BM}xt00NGMwIUt7%M00Rn~WxZ.8?bIo9Z","category":{"slug":"props","title":"Props & Furniture"},"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":168872,"triangles":6718,"vertices":7672,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-1.0750068666646322,-0.0000497229979619096,-2.75],"max":[1.0750068666646322,1.8250029214308843,2.75]},"sizeMeters":[2.15,1.825,5.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:43.183Z","updatedAt":"2026-09-08T10:48:43.324Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31643/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OpenMaintenanceWorkboatCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31643/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31643/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31643/v1/model.glb\" alt=\"Open Maintenance Workboat (Canal Boats and Lock Operations)\" 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/31643/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/31643/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31644","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-a9549ea9","title":"Narrowboat Rudder And Tiller (Canal Boats and Lock Operations)","summary":"Complete attached rudder blade, stock, curved tiller and wood hand end; fits aft narrowboat well.","description":"Complete attached rudder blade, stock, curved tiller and wood hand end; fits aft narrowboat well. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-a9549ea9","cdnUrl":"https://cdn.3dassets.dev/assets/31644/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-a9549ea9","thumbnailUrl":"https://cdn.3dassets.dev/assets/31644/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31644/v1/poster.webp","blurhash":"U34U~MtR00sV_MM{4o?H?aIU8{-;-;RjD%%2","category":{"slug":"props","title":"Props & Furniture"},"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":31016,"triangles":1036,"vertices":1350,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.03797418178382979,0,-0.7799999713897705],"max":[0.4104663005475186,1.4480512142181396,0.07497390973886114]},"sizeMeters":[0.448,1.448,0.855],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:43.651Z","updatedAt":"2026-09-08T10:48:43.766Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31644/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NarrowboatRudderAndTillerCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31644/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31644/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31644/v1/model.glb\" alt=\"Narrowboat Rudder And Tiller (Canal Boats and Lock Operations)\" 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/31644/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/31644/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31645","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-a36adc18","title":"Stern Deck Hatch (Canal Boats and Lock Operations)","summary":"Raised sealed stern hatch with bevelled perimeter, strap hinges and folding-style handle; fits cabin boat stern deck.","description":"Raised sealed stern hatch with bevelled perimeter, strap hinges and folding-style handle; fits cabin boat stern deck. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-a36adc18","cdnUrl":"https://cdn.3dassets.dev/assets/31645/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-a36adc18","thumbnailUrl":"https://cdn.3dassets.dev/assets/31645/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31645/v1/poster.webp","blurhash":"U44{6zW?8woJ%hWCROof00n#%%WC8^t5tlRj","category":{"slug":"props","title":"Props & Furniture"},"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":21148,"triangles":720,"vertices":958,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.33500000834465027,0.000018691828005259342,-0.3100132832738679],"max":[0.33500000834465027,0.11699198968541391,0.3100132832738679]},"sizeMeters":[0.67,0.117,0.62],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:44.081Z","updatedAt":"2026-09-08T10:48:44.193Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31645/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SternDeckHatchCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31645/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31645/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31645/v1/model.glb\" alt=\"Stern Deck Hatch (Canal Boats and Lock Operations)\" 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/31645/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/31645/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31646","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-0077d402","title":"Mushroom Roof Vent (Canal Boats and Lock Operations)","summary":"Spun mushroom vent with mounting flange, separated stalk and wide protective cap; identical to mounted cabin vents.","description":"Spun mushroom vent with mounting flange, separated stalk and wide protective cap; identical to mounted cabin vents. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-0077d402","cdnUrl":"https://cdn.3dassets.dev/assets/31646/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-0077d402","thumbnailUrl":"https://cdn.3dassets.dev/assets/31646/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31646/v1/poster.webp","blurhash":"U5ATvH~q0000_3%MIUIU00IU_3%M9FIUxu%M","category":{"slug":"props","title":"Props & Furniture"},"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":25452,"triangles":1536,"vertices":931,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.11999999731779099,-0.000009002028771618042,-0.11999999731779099],"max":[0.11999999731779099,0.19000899964458584,0.11999999731779099]},"sizeMeters":[0.24,0.19,0.24],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:44.877Z","updatedAt":"2026-09-08T10:48:44.992Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31646/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MushroomRoofVentCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31646/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31646/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31646/v1/model.glb\" alt=\"Mushroom Roof Vent (Canal Boats and Lock Operations)\" 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/31646/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/31646/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31647","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-691093f1","title":"Canal Boat Stove Chimney (Canal Boats and Lock Operations)","summary":"Hollow stove chimney with flanged foot and supported rain cap; matches galley roof chimney.","description":"Hollow stove chimney with flanged foot and supported rain cap; matches galley roof chimney. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-691093f1","cdnUrl":"https://cdn.3dassets.dev/assets/31647/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-691093f1","thumbnailUrl":"https://cdn.3dassets.dev/assets/31647/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31647/v1/poster.webp","blurhash":"U02~W6o$00R3?cRUD%x=?vRoD%xr~qoe9FbI","category":{"slug":"props","title":"Props & Furniture"},"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":31580,"triangles":1584,"vertices":1238,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.1050160189387192,0,-0.1050160189387192],"max":[0.1050160189387192,0.4212000072002411,0.1050160189387192]},"sizeMeters":[0.21,0.421,0.21],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:45.934Z","updatedAt":"2026-09-08T10:48:46.051Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31647/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CanalBoatStoveChimneyCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31647/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31647/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31647/v1/model.glb\" alt=\"Canal Boat Stove Chimney (Canal Boats and Lock Operations)\" 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/31647/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/31647/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31648","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-859d995c","title":"Mooring Rope Coil (Canal Boats and Lock Operations)","summary":"Five-turn laid rope coil with visible open centre and attached loose tail.","description":"Five-turn laid rope coil with visible open centre and attached loose tail. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-859d995c","cdnUrl":"https://cdn.3dassets.dev/assets/31648/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-859d995c","thumbnailUrl":"https://cdn.3dassets.dev/assets/31648/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31648/v1/poster.webp","blurhash":"U9A0m=?H00IV-pt6M|Rk00D*~VtQ4oNG%Lt6","category":{"slug":"props","title":"Props & Furniture"},"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":128940,"triangles":8304,"vertices":4860,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.22200000286102295,0.00000859446220810925,-0.22202142312357384],"max":[0.34789353609085083,0.03207999818629806,0.22202142312357384]},"sizeMeters":[0.57,0.032,0.444],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:46.429Z","updatedAt":"2026-09-08T10:48:46.538Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31648/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MooringRopeCoilCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31648/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31648/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31648/v1/model.glb\" alt=\"Mooring Rope Coil (Canal Boats and Lock Operations)\" 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/31648/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/31648/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31649","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-af3dea03","title":"Rope Bow Fender (Canal Boats and Lock Operations)","summary":"Filled rounded padded core with tightly fitted rope sheath, concentric end binding and seated closed suspension eyes.","description":"Filled rounded padded core with tightly fitted rope sheath, concentric end binding and seated closed suspension eyes. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-af3dea03","cdnUrl":"https://cdn.3dassets.dev/assets/31649/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-af3dea03","thumbnailUrl":"https://cdn.3dassets.dev/assets/31649/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31649/v1/poster.webp","blurhash":"UBC6fG?a009atQt6t6Rk00n%~VR*xGxua~IV","category":{"slug":"props","title":"Props & Furniture"},"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":442856,"triangles":29184,"vertices":16651,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.30611658096313477,-0.000007657532427512992,-0.2040154391635773],"max":[0.30611658096313477,0.4672342224166133,0.2040154391635773]},"sizeMeters":[0.612,0.467,0.408],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:45.951Z","updatedAt":"2026-09-08T10:48:46.067Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31649/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RopeBowFenderCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31649/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31649/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31649/v1/model.glb\" alt=\"Rope Bow Fender (Canal Boats and Lock Operations)\" 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/31649/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/31649/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31650","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-39dec753","title":"Boat Hook (Canal Boats and Lock Operations)","summary":"Long wood boat hook with ferrule, curved return hook and short opposing point.","description":"Long wood boat hook with ferrule, curved return hook and short opposing point. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-39dec753","cdnUrl":"https://cdn.3dassets.dev/assets/31650/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-39dec753","thumbnailUrl":"https://cdn.3dassets.dev/assets/31650/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31650/v1/poster.webp","blurhash":"U684e_Rk4.oz-:9GRj%M00Ri_2xZ4o~qx]9F","category":{"slug":"props","title":"Props & Furniture"},"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":31836,"triangles":1344,"vertices":1348,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.08652778027171211,-0.0000034748917169223625,-1],"max":[0.14775998202675894,0.05200347596460053,0.9732381701469421]},"sizeMeters":[0.234,0.052,1.973],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:46.695Z","updatedAt":"2026-09-08T10:48:46.785Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31650/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BoatHookCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31650/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31650/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31650/v1/model.glb\" alt=\"Boat Hook (Canal Boats and Lock Operations)\" 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/31650/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/31650/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31652","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-e589927a","title":"Gangplank (Canal Boats and Lock Operations)","summary":"Three-board gangplank with underside cross battens, beveled ends and seven seated grip cleats.","description":"Three-board gangplank with underside cross battens, beveled ends and seven seated grip cleats. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-e589927a","cdnUrl":"https://cdn.3dassets.dev/assets/31652/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-e589927a","thumbnailUrl":"https://cdn.3dassets.dev/assets/31652/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31652/v1/poster.webp","blurhash":"UECi]n%M9GWBxu01M{-:00D*^+%MR*~p-:D%","category":{"slug":"props","title":"Props & Furniture"},"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":28924,"triangles":1296,"vertices":1131,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.2499409690528865,-0.000022405807443781622,-1.01256263256073],"max":[0.2499409690528865,0.5902888719481909,1.0267341136932373]},"sizeMeters":[0.5,0.59,2.039],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:47.745Z","updatedAt":"2026-09-08T10:48:47.842Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31652/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GangplankCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31652/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31652/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31652/v1/model.glb\" alt=\"Gangplank (Canal Boats and Lock Operations)\" 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/31652/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/31652/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31651","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-ebc1d663","title":"Shore Service Pedestal (Canal Boats and Lock Operations)","summary":"Lockable shore electricity pedestal with distinct socket recesses and cable parked on attached cleat; static unpowered prop.","description":"Lockable shore electricity pedestal with distinct socket recesses and cable parked on attached cleat; static unpowered prop. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-ebc1d663","cdnUrl":"https://cdn.3dassets.dev/assets/31651/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-ebc1d663","thumbnailUrl":"https://cdn.3dassets.dev/assets/31651/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31651/v1/poster.webp","blurhash":"U58z=P~q0000-=t7M^Rk00D%?a_3xuWAIoo#","category":{"slug":"props","title":"Props & Furniture"},"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":170848,"triangles":8952,"vertices":7109,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.221012610800939,6.705522803684971e-10,-0.17050465337352402],"max":[0.221012610800939,1.125,0.262004652539059]},"sizeMeters":[0.442,1.125,0.433],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:47.700Z","updatedAt":"2026-09-08T10:48:47.805Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31651/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShoreServicePedestalCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31651/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31651/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31651/v1/model.glb\" alt=\"Shore Service Pedestal (Canal Boats and Lock Operations)\" 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/31651/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/31651/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31653","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-5096505f","title":"Fresh Water Service Point (Canal Boats and Lock Operations)","summary":"Rounded enamel water standpipe with swan-neck outlet, tap crosshead and hose on dedicated hanger.","description":"Rounded enamel water standpipe with swan-neck outlet, tap crosshead and hose on dedicated hanger. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-5096505f","cdnUrl":"https://cdn.3dassets.dev/assets/31653/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-5096505f","thumbnailUrl":"https://cdn.3dassets.dev/assets/31653/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31653/v1/poster.webp","blurhash":"U27xRA.S008w00IA_M_3u,MdK$.S%gRis:%M","category":{"slug":"props","title":"Props & Furniture"},"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":127044,"triangles":7704,"vertices":4797,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.23999999463558197,0.00001800741030449221,-0.23999999463558197],"max":[0.23999999463558197,1.1219550371170044,0.2620190140110602]},"sizeMeters":[0.48,1.122,0.502],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:48.185Z","updatedAt":"2026-09-08T10:48:48.292Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31653/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FreshWaterServicePointCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31653/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31653/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31653/v1/model.glb\" alt=\"Fresh Water Service Point (Canal Boats and Lock Operations)\" 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/31653/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/31653/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31654","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-9d1afe0e","title":"Lock Gate Repair Trestles (Canal Boats and Lock Operations)","summary":"Paired splayed timber gate trestles with full top saddles and supported lower ties.","description":"Paired splayed timber gate trestles with full top saddles and supported lower ties. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-9d1afe0e","cdnUrl":"https://cdn.3dassets.dev/assets/31654/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-9d1afe0e","thumbnailUrl":"https://cdn.3dassets.dev/assets/31654/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31654/v1/poster.webp","blurhash":"UCDvZZt59FWB~pD*NG?a009ZD*?a9Gs:M{WA","category":{"slug":"props","title":"Props & Furniture"},"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":12740,"triangles":480,"vertices":476,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.6499937270021411,-0.000052783218153273914,-0.8349999785423279],"max":[0.6499937270021411,0.962693247524031,0.8349999785423279]},"sizeMeters":[1.3,0.963,1.67],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:48.442Z","updatedAt":"2026-09-08T10:48:48.537Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31654/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LockGateRepairTrestlesCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31654/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31654/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31654/v1/model.glb\" alt=\"Lock Gate Repair Trestles (Canal Boats and Lock Operations)\" 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/31654/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/31654/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31656","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-0ed13e3d","title":"Replacement Gate Plank Bundle (Canal Boats and Lock Operations)","summary":"Five separate thick replacement planks secured by wrapped bands and retained buckles, sized for maintenance trestles.","description":"Five separate thick replacement planks secured by wrapped bands and retained buckles, sized for maintenance trestles. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-0ed13e3d","cdnUrl":"https://cdn.3dassets.dev/assets/31656/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-0ed13e3d","thumbnailUrl":"https://cdn.3dassets.dev/assets/31656/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31656/v1/poster.webp","blurhash":"UDEMB%xu9Fxaxu~pogRQ00WE_2WCIV00f6%L","category":{"slug":"props","title":"Props & Furniture"},"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":22552,"triangles":972,"vertices":848,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.2000000476837158,-0.00004204862174228552,-0.11497512947713744],"max":[1.2000000476837158,0.598040789976058,0.11497512947713744]},"sizeMeters":[2.4,0.598,0.23],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:49.454Z","updatedAt":"2026-09-08T10:48:49.573Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31656/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ReplacementGatePlankBundleCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31656/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31656/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31656/v1/model.glb\" alt=\"Replacement Gate Plank Bundle (Canal Boats and Lock Operations)\" 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/31656/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/31656/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31655","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-7683e3cb","title":"Paddle Gear Service Bench (Canal Boats and Lock Operations)","summary":"Braced repair bench with hardwood top, seated bearing repair parts, sorting tray and screw-vise jaws.","description":"Braced repair bench with hardwood top, seated bearing repair parts, sorting tray and screw-vise jaws. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-7683e3cb","cdnUrl":"https://cdn.3dassets.dev/assets/31655/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-7683e3cb","thumbnailUrl":"https://cdn.3dassets.dev/assets/31655/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31655/v1/poster.webp","blurhash":"UGB:vuxu9GRl~p-;M{IU0KxuxuM{00M{xuxa","category":{"slug":"props","title":"Props & Furniture"},"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":81112,"triangles":3528,"vertices":3536,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.9900000095367432,-0.00003859203691791713,-0.43002625006062395],"max":[0.9900000095367432,1.2500385918506534,0.43002625006062395]},"sizeMeters":[1.98,1.25,0.86],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:49.433Z","updatedAt":"2026-09-08T10:48:49.555Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31655/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PaddleGearServiceBenchCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31655/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31655/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31655/v1/model.glb\" alt=\"Paddle Gear Service Bench (Canal Boats and Lock Operations)\" 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/31655/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/31655/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31657","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-607770e8","title":"Stop Plank Rack (Canal Boats and Lock Operations)","summary":"Three-level cantilever rack with six thick stop planks and supported arm geometry.","description":"Three-level cantilever rack with six thick stop planks and supported arm geometry. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-607770e8","cdnUrl":"https://cdn.3dassets.dev/assets/31657/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-607770e8","thumbnailUrl":"https://cdn.3dassets.dev/assets/31657/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31657/v1/poster.webp","blurhash":"UOE{d~xu01WB~p%MIUIU0Kxu-pM{E1azt7oJ","category":{"slug":"props","title":"Props & Furniture"},"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":46264,"triangles":2160,"vertices":1892,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.25,-0.000005058200369556509,-0.41006348378439933],"max":[1.25,1.8100494268723293,0.41006348378439933]},"sizeMeters":[2.5,1.81,0.82],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:49.863Z","updatedAt":"2026-09-08T10:48:49.970Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31657/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StopPlankRackCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31657/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31657/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31657/v1/model.glb\" alt=\"Stop Plank Rack (Canal Boats and Lock Operations)\" 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/31657/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/31657/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31658","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-a5353342","title":"Stop Plank Lifting Frame (Canal Boats and Lock Operations)","summary":"Braced stop-plank lifting frame with seated trolley, twin tackle lines, retained load clamp and plank resting on two support stands.","description":"Braced stop-plank lifting frame with seated trolley, twin tackle lines, retained load clamp and plank resting on two support stands. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-a5353342","cdnUrl":"https://cdn.3dassets.dev/assets/31658/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-a5353342","thumbnailUrl":"https://cdn.3dassets.dev/assets/31658/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31658/v1/poster.webp","blurhash":"U368Klt700X8NHxus-IU00M{~q%2~VWC9G%L","category":{"slug":"props","title":"Props & Furniture"},"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":36620,"triangles":1392,"vertices":1572,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.9249999523162842,-0.00013348064895546408,-0.5001228246122174],"max":[1.9249999523162842,3.0001334819900602,0.5001228246122174]},"sizeMeters":[3.85,3,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:50.071Z","updatedAt":"2026-09-08T10:48:50.165Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31658/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StopPlankLiftingFrameCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31658/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31658/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31658/v1/model.glb\" alt=\"Stop Plank Lifting Frame (Canal Boats and Lock Operations)\" 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/31658/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/31658/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31659","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-965c67df","title":"Depth Gauge Board (Canal Boats and Lock Operations)","summary":"Depth board with nineteen modeled simple scale marks and fixed washer sockets; no certified measurement claim.","description":"Depth board with nineteen modeled simple scale marks and fixed washer sockets; no certified measurement claim. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-965c67df","cdnUrl":"https://cdn.3dassets.dev/assets/31659/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-965c67df","thumbnailUrl":"https://cdn.3dassets.dev/assets/31659/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31659/v1/poster.webp","blurhash":"U09jr=~q0000~pRj01%M9FWB?at8_3Rj4n%M","category":{"slug":"props","title":"Props & Furniture"},"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":58468,"triangles":2928,"vertices":2362,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.08001953033989545,1.1920929132713809e-8,-0.027484969116746694],"max":[0.08497073304897329,1.899999976158142,0.04403871257811631]},"sizeMeters":[0.165,1.9,0.072],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:51.089Z","updatedAt":"2026-09-08T10:48:51.191Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31659/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DepthGaugeBoardCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31659/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31659/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31659/v1/model.glb\" alt=\"Depth Gauge Board (Canal Boats and Lock Operations)\" 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/31659/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/31659/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31660","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-3ba60bae","title":"Lock Status Signal Board (Canal Boats and Lock Operations)","summary":"Supported original two-field lock status board with retained divider and simple color fields, no operational instructions.","description":"Supported original two-field lock status board with retained divider and simple color fields, no operational instructions. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-3ba60bae","cdnUrl":"https://cdn.3dassets.dev/assets/31660/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-3ba60bae","thumbnailUrl":"https://cdn.3dassets.dev/assets/31660/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31660/v1/poster.webp","blurhash":"UA71fut700Io~Ws:4oNH?Hs:D%M{oMt6ayM{","category":{"slug":"props","title":"Props & Furniture"},"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":16084,"triangles":636,"vertices":679,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.2750000059604645,-7.450581263057643e-10,-0.19002166516701652],"max":[0.2750000059604645,1.7800097681990577,0.19002166516701652]},"sizeMeters":[0.55,1.78,0.38],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:51.154Z","updatedAt":"2026-09-08T10:48:51.253Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31660/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LockStatusSignalBoardCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31660/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31660/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31660/v1/model.glb\" alt=\"Lock Status Signal Board (Canal Boats and Lock Operations)\" 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/31660/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/31660/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31661","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-889a1e68","title":"Keepers Recording Desk (Canal Boats and Lock Operations)","summary":"Furnished record desk with bound logbook, paper pad and seated pencil on thick timber top.","description":"Furnished record desk with bound logbook, paper pad and seated pencil on thick timber top. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-889a1e68","cdnUrl":"https://cdn.3dassets.dev/assets/31661/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-889a1e68","thumbnailUrl":"https://cdn.3dassets.dev/assets/31661/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31661/v1/poster.webp","blurhash":"UGB:sle.01IV~pM{9Zs:9FWVbHt79Z%Mt7IU","category":{"slug":"props","title":"Props & Furniture"},"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":64912,"triangles":2928,"vertices":2690,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.7900000214576721,-0.000028362697225225997,-0.3799917703236296],"max":[0.7900000214576721,0.9649957991731968,1.0249763147003734]},"sizeMeters":[1.58,0.965,1.405],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:51.531Z","updatedAt":"2026-09-08T10:48:51.625Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31661/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function KeepersRecordingDeskCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31661/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31661/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31661/v1/model.glb\" alt=\"Keepers Recording Desk (Canal Boats and Lock Operations)\" 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/31661/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/31661/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31662","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-ec0f723e","title":"Canal Route Relief Display (Canal Boats and Lock Operations)","summary":"Original relief route display with raised winding canal and four abstract lock blocks on a supported framed board.","description":"Original relief route display with raised winding canal and four abstract lock blocks on a supported framed board. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-ec0f723e","cdnUrl":"https://cdn.3dassets.dev/assets/31662/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-ec0f723e","thumbnailUrl":"https://cdn.3dassets.dev/assets/31662/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31662/v1/poster.webp","blurhash":"UJCi~+xt00M|~pxu9FIU4oxt%MIU9FWB-;j]","category":{"slug":"props","title":"Props & Furniture"},"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":57468,"triangles":2640,"vertices":2290,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.6100000143051147,-0.000010147604644076408,-0.2599765068444144],"max":[0.6100000143051147,1.449975724854868,0.2599765068444144]},"sizeMeters":[1.22,1.45,0.52],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:51.686Z","updatedAt":"2026-09-08T10:48:51.919Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31662/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CanalRouteReliefDisplayCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31662/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31662/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31662/v1/model.glb\" alt=\"Canal Route Relief Display (Canal Boats and Lock Operations)\" 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/31662/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/31662/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31663","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-405b277a","title":"Waterside Bench With Tackle Locker (Canal Boats and Lock Operations)","summary":"Lockable tackle chest supporting slatted bench seat and low back, with side hinges and accessible front latch.","description":"Lockable tackle chest supporting slatted bench seat and low back, with side hinges and accessible front latch. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-405b277a","cdnUrl":"https://cdn.3dassets.dev/assets/31663/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-405b277a","thumbnailUrl":"https://cdn.3dassets.dev/assets/31663/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31663/v1/poster.webp","blurhash":"UHFFmWt800V@~p%MM{IU00xt-:M|9GafRjWU","category":{"slug":"props","title":"Props & Furniture"},"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":85408,"triangles":3252,"vertices":3800,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.8600000143051147,0.0000545109079053141,-0.26050202546366497],"max":[0.8600000143051147,0.7899420321302396,0.33003452398951855]},"sizeMeters":[1.72,0.79,0.591],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:52.696Z","updatedAt":"2026-09-08T10:48:52.794Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31663/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WatersideBenchWithTackleLockerCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31663/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31663/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31663/v1/model.glb\" alt=\"Waterside Bench With Tackle Locker (Canal Boats and Lock Operations)\" 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/31663/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/31663/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31664","slug":"canal-boats-and-lock-operations-canal-boats-and-lock-o-9f88d1a8","title":"Stepped Canal Landscape Base (Canal Boats and Lock Operations)","summary":"Thick stepped canal landscape with void along navigation route, upper lock banks and lower downstream banks; supported earth forms preserve level difference.","description":"Thick stepped canal landscape with void along navigation route, upper lock banks and lower downstream banks; supported earth forms preserve level difference. Original canal navigation scenery. Metres, Y up, Z forward, ground-contact origin. Static scenery without water simulation, operating instructions or certified engineering dimensions.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-boats-and-lock-o-9f88d1a8","cdnUrl":"https://cdn.3dassets.dev/assets/31664/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-boats-and-lock-o-9f88d1a8","thumbnailUrl":"https://cdn.3dassets.dev/assets/31664/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31664/v1/poster.webp","blurhash":"U6C6oe-=00WA-.9HM{-:00D%^*t79H~V%MD*","category":{"slug":"props","title":"Props & Furniture"},"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":304976,"triangles":18276,"vertices":12014,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-10.000549333170568,0.0004722851100118497,-16.5],"max":[8.000549333170568,3.1250217788972607,16.5]},"sizeMeters":[18.001,3.125,33],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:52.914Z","updatedAt":"2026-09-08T10:48:53.019Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31664/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SteppedCanalLandscapeBaseCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31664/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31664/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31664/v1/model.glb\" alt=\"Stepped Canal Landscape Base (Canal Boats and Lock Operations)\" 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/31664/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/31664/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31665","slug":"canal-boats-and-lock-operations-canal-bo-0153d0f8-starter-scene","title":"Lower-water canal lock and staffed maintenance yard (Canal Boats and Lock Operations)","summary":"Closed upper gate holding raised pound, lower gates open beside equal-level chamber and downstream water, a complete cabin boat in chamber, moored workboat and furnished roofed lockside buildings.","description":"Closed upper gate holding raised pound, lower gates open beside equal-level chamber and downstream water, a complete cabin boat in chamber, moored workboat and furnished roofed lockside buildings.","status":"published","url":"https://3dassets.dev/assets/canal-boats-and-lock-operations-canal-bo-0153d0f8-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/31665/v1/model.glb","downloadUrl":"https://3dassets.dev/download/canal-boats-and-lock-operations-canal-bo-0153d0f8-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/31665/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31665/v1/poster.webp","blurhash":"U7BWPW%M02jEIV9Zs,%L00Rj?HRl-.~WbJIo","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":4595856,"triangles":228410,"vertices":201828,"meshes":169,"materials":12,"textures":0,"animations":[],"boundingBox":{"min":[-10.000549333170568,-0.00019760585874098457,-16.5],"max":[8.000549333170568,6.274056865696242,16.5]},"sizeMeters":[18.001,6.274,33],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":2,"publishedAt":"2026-09-08T10:48:54.779Z","updatedAt":"2026-09-08T16:10:46.133Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31665/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LowerWaterCanalLockAndStaffedMaintenanceYardCanalBoatsAndLockOperations(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31665/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31665/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31665/v1/model.glb\" alt=\"Lower-water canal lock and staffed maintenance yard (Canal Boats and Lock Operations)\" 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/31665/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/31665/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":null}}