{"data":{"id":34,"slug":"salvage-and-repair-workshop","title":"Salvage and Repair Workshop","summary":"A salvage workshop: workbenches, vices and presses, hand tools, soldering and diagnostic gear, calipers and gauges, plus stripped fans, radios, drums and compressors to break down for parts.","description":"Salvage and Repair Workshop: individually specified survival equipment, honest static construction, metre scale. CC0, AI-generated. ","url":"https://3dassets.dev/packs/salvage-and-repair-workshop","coverUrl":"https://cdn.3dassets.dev/assets/25508/v1/poster.webp","assetCount":72,"aiGenerated":true,"aiGeneratedAssetCount":72,"aiModels":["Claude Fable 5.1"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":5408812,"totalTriangles":123684,"starterScene":{"id":"25508","slug":"salvage-and-repair-workshop-electronics--a0ee9ffa-starter-scene","title":"Electronics Repair Bay (Salvage and Repair Workshop)","summary":"Composed electronics repair bay with clear access paths and use-specific object placement. Static demonstration only.","description":"Composed electronics repair bay with clear access paths and use-specific object placement. Static demonstration only.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-electronics--a0ee9ffa-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/25508/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-electronics--a0ee9ffa-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/25508/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25508/v1/poster.webp","blurhash":"U27dUh}R56~q~p^iVrpI00F|#,IA0L0fg4VY","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":339488,"triangles":17020,"vertices":13424,"meshes":19,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-3.1500014315741605,0,-1.6207632671594512],"max":[1.949999988079071,1.7699999809265137,1.2999988472228499]},"sizeMeters":[5.1,1.77,2.921],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":16,"publishedAt":"2026-09-07T20:40:06.131Z","updatedAt":"2026-10-12T19:32:52.581Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25508/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ElectronicsRepairBaySalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25508/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25508/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25508/v1/model.glb\" alt=\"Electronics Repair Bay (Salvage and Repair Workshop)\" 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/25508/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/25508/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"25438","slug":"salvage-and-repair-workshop-salvage-workbench-d690234f","title":"Salvage Workbench (Salvage and Repair Workshop)","summary":"Salvage Workbench: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Salvage Workbench. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 1.80 × 1.00 × 0.80 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-salvage-workbench-d690234f","cdnUrl":"https://cdn.3dassets.dev/assets/25438/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-salvage-workbench-d690234f","thumbnailUrl":"https://cdn.3dassets.dev/assets/25438/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25438/v1/poster.webp","blurhash":"U48py0$*00RO~q^k9F4n0f%NxH9FNeIAspyE","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":89872,"triangles":1512,"vertices":4536,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.8999999761581421,0.000016421910939090623,-0.39994200423715043],"max":[0.8999999761581421,1.0050116769061532,0.39994200423715043]},"sizeMeters":[1.8,1.005,0.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:39:36.529Z","updatedAt":"2026-10-12T09:14:04.693Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25438/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SalvageWorkbenchSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25438/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25438/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25438/v1/model.glb\" alt=\"Salvage Workbench (Salvage and Repair Workshop)\" 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/25438/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/25438/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25439","slug":"salvage-and-repair-workshop-vice-bench-bd3abe1a","title":"Vice Bench (Salvage and Repair Workshop)","summary":"Vice Bench: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Vice Bench. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 1.40 × 1.09 × 0.65 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-vice-bench-bd3abe1a","cdnUrl":"https://cdn.3dassets.dev/assets/25439/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-vice-bench-bd3abe1a","thumbnailUrl":"https://cdn.3dassets.dev/assets/25439/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25439/v1/poster.webp","blurhash":"U46@D=s:0fxC~B$%IUEfEixYn$Na0zjs-VX8","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":76844,"triangles":1268,"vertices":3804,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.699999988079071,-0.000007997271808446449,-0.32499465372621567],"max":[0.699999988079071,1.0900092540517967,0.32499465372621567]},"sizeMeters":[1.4,1.09,0.65],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":12,"publishedAt":"2026-09-07T20:39:36.562Z","updatedAt":"2026-10-25T06:37:44.978Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25439/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ViceBenchSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25439/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25439/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25439/v1/model.glb\" alt=\"Vice Bench (Salvage and Repair Workshop)\" 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/25439/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/25439/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25437","slug":"salvage-and-repair-workshop-teardown-tray-18907d0e","title":"Teardown Tray (Salvage and Repair Workshop)","summary":"Teardown Tray: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Teardown Tray. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.85 × 0.09 × 0.60 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-teardown-tray-18907d0e","cdnUrl":"https://cdn.3dassets.dev/assets/25437/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-teardown-tray-18907d0e","thumbnailUrl":"https://cdn.3dassets.dev/assets/25437/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25437/v1/poster.webp","blurhash":"U39%^%?v009F_3%gM{IU00IA~qxv008_xu%M","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":45824,"triangles":756,"vertices":2268,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.42500001192092896,0.000012510984074273757,-0.3000045861913232],"max":[0.42500001192092896,0.08501190350248546,0.3000045861913232]},"sizeMeters":[0.85,0.085,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:39:36.545Z","updatedAt":"2026-10-05T14:30:57.954Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25437/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TeardownTraySalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25437/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25437/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25437/v1/model.glb\" alt=\"Teardown Tray (Salvage and Repair Workshop)\" 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/25437/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/25437/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25440","slug":"salvage-and-repair-workshop-component-sorter-aa6ed7c8","title":"Component Sorter (Salvage and Repair Workshop)","summary":"Component Sorter: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Component Sorter. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.90 × 0.86 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-component-sorter-aa6ed7c8","cdnUrl":"https://cdn.3dassets.dev/assets/25440/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-component-sorter-aa6ed7c8","thumbnailUrl":"https://cdn.3dassets.dev/assets/25440/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25440/v1/poster.webp","blurhash":"UC8p_pt69Fs9_Nt7D%RktmozRPV@Rjt7ofV?","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":207836,"triangles":3996,"vertices":11988,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.44999998807907104,0.000014113154574169062,-0.25002898596049583],"max":[0.44999998807907104,0.8649903778667202,0.25002898596049583]},"sizeMeters":[0.9,0.865,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:39:36.678Z","updatedAt":"2026-10-05T14:30:58.173Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25440/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ComponentSorterSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25440/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25440/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25440/v1/model.glb\" alt=\"Component Sorter (Salvage and Repair Workshop)\" 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/25440/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/25440/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25443","slug":"salvage-and-repair-workshop-pegboard-tool-wall-3c5bbb15","title":"Pegboard Tool Wall (Salvage and Repair Workshop)","summary":"Pegboard Tool Wall: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Pegboard Tool Wall. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 1.67 × 1.77 × 0.14 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-pegboard-tool-wall-3c5bbb15","cdnUrl":"https://cdn.3dassets.dev/assets/25443/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-pegboard-tool-wall-3c5bbb15","thumbnailUrl":"https://cdn.3dassets.dev/assets/25443/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25443/v1/poster.webp","blurhash":"U684GFIU0KtR~qt79FNGKjtRrCM{o}tRRPMx","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":178724,"triangles":3552,"vertices":10656,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.8349795436009273,0,-0.07076326715945107],"max":[0.8349795436009273,1.7699999809265137,0.07076326715945107]},"sizeMeters":[1.67,1.77,0.142],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:39:38.280Z","updatedAt":"2026-10-05T14:30:59.787Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25443/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PegboardToolWallSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25443/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25443/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25443/v1/model.glb\" alt=\"Pegboard Tool Wall (Salvage and Repair Workshop)\" 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/25443/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/25443/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25441","slug":"salvage-and-repair-workshop-folding-repair-table-2afeeccf","title":"Folding Repair Table (Salvage and Repair Workshop)","summary":"Folding Repair Table: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Folding Repair Table. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 1.20 × 0.91 × 0.65 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-folding-repair-table-2afeeccf","cdnUrl":"https://cdn.3dassets.dev/assets/25441/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-folding-repair-table-2afeeccf","thumbnailUrl":"https://cdn.3dassets.dev/assets/25441/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25441/v1/poster.webp","blurhash":"UGB42St7D*og_M%MMzRQRixtM{RQIVoJtQRk","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":54360,"triangles":1080,"vertices":3240,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.6000000238418579,-0.000014168219792387582,-0.325022138834589],"max":[0.6000000238418579,0.9125742152732085,0.325022138834589]},"sizeMeters":[1.2,0.913,0.65],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:39:38.240Z","updatedAt":"2026-10-25T10:54:47.121Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25441/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FoldingRepairTableSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25441/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25441/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25441/v1/model.glb\" alt=\"Folding Repair Table (Salvage and Repair Workshop)\" 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/25441/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/25441/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25442","slug":"salvage-and-repair-workshop-parts-washing-basin-c9ba253a","title":"Parts Washing Basin (Salvage and Repair Workshop)","summary":"Parts Washing Basin: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Parts Washing Basin. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 1.00 × 1.26 × 0.65 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-parts-washing-basin-c9ba253a","cdnUrl":"https://cdn.3dassets.dev/assets/25442/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-parts-washing-basin-c9ba253a","thumbnailUrl":"https://cdn.3dassets.dev/assets/25442/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25442/v1/poster.webp","blurhash":"U48#4*%L00xH_4%MIAE000NG%2kC00M{?cn,","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":65932,"triangles":1336,"vertices":4008,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.49999245218235705,0,-0.3250037386568224],"max":[0.49999245218235705,1.2589428424835205,0.3250037386568224]},"sizeMeters":[1,1.259,0.65],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:39:38.262Z","updatedAt":"2026-10-25T13:29:08.702Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25442/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PartsWashingBasinSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25442/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25442/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25442/v1/model.glb\" alt=\"Parts Washing Basin (Salvage and Repair Workshop)\" 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/25442/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/25442/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25444","slug":"salvage-and-repair-workshop-magnetic-parts-tray-6d810927","title":"Magnetic Parts Tray (Salvage and Repair Workshop)","summary":"Magnetic Parts Tray: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Magnetic Parts Tray. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.32 × 0.04 × 0.32 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-magnetic-parts-tray-6d810927","cdnUrl":"https://cdn.3dassets.dev/assets/25444/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-magnetic-parts-tray-6d810927","thumbnailUrl":"https://cdn.3dassets.dev/assets/25444/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25444/v1/poster.webp","blurhash":"U384rW%f00V]_3bZMys;00M{_NWU00n,xuIo","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":21772,"triangles":416,"vertices":1248,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.1599999964237213,-6.103701758776447e-7,-0.1599999964237213],"max":[0.1599999964237213,0.04000328038484458,0.1599999964237213]},"sizeMeters":[0.32,0.04,0.32],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:39:38.356Z","updatedAt":"2026-10-05T14:31:05.092Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25444/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MagneticPartsTraySalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25444/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25444/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25444/v1/model.glb\" alt=\"Magnetic Parts Tray (Salvage and Repair Workshop)\" 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/25444/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/25444/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25445","slug":"salvage-and-repair-workshop-spool-dispenser-13af116e","title":"Spool Dispenser (Salvage and Repair Workshop)","summary":"Spool Dispenser: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Spool Dispenser. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.82 × 0.72 × 0.35 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-spool-dispenser-13af116e","cdnUrl":"https://cdn.3dassets.dev/assets/25445/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-spool-dispenser-13af116e","thumbnailUrl":"https://cdn.3dassets.dev/assets/25445/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25445/v1/poster.webp","blurhash":"U9AmPM-A00S5.TxuMcIU0LT0?HVrMdt7x]R%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":87864,"triangles":1644,"vertices":4932,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.4099999964237213,-0.000020142738094947044,-0.17501755075091338],"max":[0.4099999964237213,0.7199997119403401,0.17501755075091338]},"sizeMeters":[0.82,0.72,0.35],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:39:39.899Z","updatedAt":"2026-10-05T14:31:04.974Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25445/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpoolDispenserSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25445/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25445/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25445/v1/model.glb\" alt=\"Spool Dispenser (Salvage and Repair Workshop)\" 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/25445/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/25445/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25446","slug":"salvage-and-repair-workshop-bench-grinding-station-b4ce5493","title":"Bench Grinding Station (Salvage and Repair Workshop)","summary":"Bench Grinding Station: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Bench Grinding Station. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.90 × 1.20 × 0.61 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-bench-grinding-station-b4ce5493","cdnUrl":"https://cdn.3dassets.dev/assets/25446/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-bench-grinding-station-b4ce5493","thumbnailUrl":"https://cdn.3dassets.dev/assets/25446/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25446/v1/poster.webp","blurhash":"U89tP?tR00t7~qWB4oof8_RQtRxt4naf%gxt","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":73636,"triangles":1480,"vertices":4440,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.4499870203043189,0,-0.30503813714806743],"max":[0.4499870203043189,1.200012986712101,0.3050000071525574]},"sizeMeters":[0.9,1.2,0.61],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:39:39.931Z","updatedAt":"2026-10-25T10:43:52.484Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25446/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BenchGrindingStationSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25446/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25446/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25446/v1/model.glb\" alt=\"Bench Grinding Station (Salvage and Repair Workshop)\" 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/25446/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/25446/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25447","slug":"salvage-and-repair-workshop-bench-vice-25480ebf","title":"Bench Vice (Salvage and Repair Workshop)","summary":"Bench Vice: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Bench Vice. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.43 × 0.25 × 0.25 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-bench-vice-25480ebf","cdnUrl":"https://cdn.3dassets.dev/assets/25447/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-bench-vice-25480ebf","thumbnailUrl":"https://cdn.3dassets.dev/assets/25447/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25447/v1/poster.webp","blurhash":"U68qEH%200Io.TtRMdM_00tR_NMx8wjE%#WY","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":43144,"triangles":728,"vertices":2184,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.2151961624622345,0.000005341111687328509,-0.125],"max":[0.2151961624622345,0.249989672099801,0.125]},"sizeMeters":[0.43,0.25,0.25],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:39:40.024Z","updatedAt":"2026-10-13T03:08:11.741Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25447/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BenchViceSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25447/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25447/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25447/v1/model.glb\" alt=\"Bench Vice (Salvage and Repair Workshop)\" 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/25447/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/25447/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25448","slug":"salvage-and-repair-workshop-pipe-vice-2f71a986","title":"Pipe Vice (Salvage and Repair Workshop)","summary":"Pipe Vice: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Pipe Vice. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.30 × 0.46 × 0.28 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-pipe-vice-2f71a986","cdnUrl":"https://cdn.3dassets.dev/assets/25448/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-pipe-vice-2f71a986","thumbnailUrl":"https://cdn.3dassets.dev/assets/25448/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25448/v1/poster.webp","blurhash":"U39j=g?v004T4nRPM{R%ahbcR*Mx_3%Nt6IT","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":36692,"triangles":728,"vertices":2184,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.15000152850080936,4.4703482582342247e-10,-0.14000610610562209],"max":[0.15000152850080936,0.46000000834465027,0.14000610610562209]},"sizeMeters":[0.3,0.46,0.28],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:39:40.104Z","updatedAt":"2026-10-05T14:31:10.250Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25448/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PipeViceSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25448/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25448/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25448/v1/model.glb\" alt=\"Pipe Vice (Salvage and Repair Workshop)\" 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/25448/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/25448/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25450","slug":"salvage-and-repair-workshop-small-arbor-press-57919278","title":"Small Arbor Press (Salvage and Repair Workshop)","summary":"Small Arbor Press: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Small Arbor Press. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.46 × 0.71 × 0.35 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-small-arbor-press-57919278","cdnUrl":"https://cdn.3dassets.dev/assets/25450/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-small-arbor-press-57919278","thumbnailUrl":"https://cdn.3dassets.dev/assets/25450/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25450/v1/poster.webp","blurhash":"U584rW_N00009FMxt7t89ERj-=%Mt8a#ofxu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":27824,"triangles":540,"vertices":1620,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.23153268526413603,0,-0.17498550750070754],"max":[0.2315180531788661,0.7085307864099741,0.17498550750070754]},"sizeMeters":[0.463,0.709,0.35],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":12,"publishedAt":"2026-09-07T20:39:42.169Z","updatedAt":"2026-10-25T16:29:46.590Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25450/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SmallArborPressSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25450/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25450/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25450/v1/model.glb\" alt=\"Small Arbor Press (Salvage and Repair Workshop)\" 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/25450/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/25450/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25449","slug":"salvage-and-repair-workshop-bearing-puller-ae4536a8","title":"Bearing Puller (Salvage and Repair Workshop)","summary":"Bearing Puller: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Bearing Puller. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.30 × 0.31 × 0.04 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-bearing-puller-ae4536a8","cdnUrl":"https://cdn.3dassets.dev/assets/25449/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-bearing-puller-ae4536a8","thumbnailUrl":"https://cdn.3dassets.dev/assets/25449/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25449/v1/poster.webp","blurhash":"U68N,_%g00IA_Nx]DiMx9Fozt7MxM{bFj[Mx","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":25068,"triangles":500,"vertices":1500,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.1497398785628074,0,-0.017998150831525166],"max":[0.1497398785628074,0.3103923201560974,0.017998150831525166]},"sizeMeters":[0.299,0.31,0.036],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":5,"publishedAt":"2026-09-07T20:39:41.862Z","updatedAt":"2026-10-05T14:31:12.126Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25449/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BearingPullerSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25449/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25449/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25449/v1/model.glb\" alt=\"Bearing Puller (Salvage and Repair Workshop)\" 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/25449/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/25449/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25452","slug":"salvage-and-repair-workshop-soldering-stand-b115a4d3","title":"Soldering Stand (Salvage and Repair Workshop)","summary":"Soldering Stand: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Soldering Stand. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.18 × 0.22 × 0.28 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-soldering-stand-b115a4d3","cdnUrl":"https://cdn.3dassets.dev/assets/25452/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-soldering-stand-b115a4d3","thumbnailUrl":"https://cdn.3dassets.dev/assets/25452/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25452/v1/poster.webp","blurhash":"U371$V_N0000D%IAIU%g00M_~q%N?v-;x]IA","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":107216,"triangles":2196,"vertices":6588,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.09000640927018996,0.000006943000849172001,-0.14000000059604645],"max":[0.09000640927018996,0.22492449867668457,0.14000000059604645]},"sizeMeters":[0.18,0.225,0.28],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:39:42.314Z","updatedAt":"2026-10-25T15:29:41.377Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25452/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SolderingStandSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25452/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25452/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25452/v1/model.glb\" alt=\"Soldering Stand (Salvage and Repair Workshop)\" 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/25452/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/25452/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25451","slug":"salvage-and-repair-workshop-helping-hands-clamp-92454035","title":"Helping Hands Clamp (Salvage and Repair Workshop)","summary":"Helping Hands Clamp: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Helping Hands Clamp. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.36 × 0.26 × 0.20 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-helping-hands-clamp-92454035","cdnUrl":"https://cdn.3dassets.dev/assets/25451/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-helping-hands-clamp-92454035","thumbnailUrl":"https://cdn.3dassets.dev/assets/25451/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25451/v1/poster.webp","blurhash":"U77K*l%M00D%~qxvIUM_Mx%M%gMx9F%M%gM{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":30224,"triangles":592,"vertices":1776,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.17999999225139618,0.000006790144942175891,-0.10000000149011612],"max":[0.17999999225139618,0.2550094518299473,0.10000000149011612]},"sizeMeters":[0.36,0.255,0.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:39:42.298Z","updatedAt":"2026-10-25T13:47:57.994Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25451/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HelpingHandsClampSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25451/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25451/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25451/v1/model.glb\" alt=\"Helping Hands Clamp (Salvage and Repair Workshop)\" 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/25451/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/25451/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25453","slug":"salvage-and-repair-workshop-circuit-board-holder-f91be26f","title":"Circuit Board Holder (Salvage and Repair Workshop)","summary":"Circuit Board Holder: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Circuit Board Holder. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.44 × 0.26 × 0.25 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-circuit-board-holder-f91be26f","cdnUrl":"https://cdn.3dassets.dev/assets/25453/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-circuit-board-holder-f91be26f","thumbnailUrl":"https://cdn.3dassets.dev/assets/25453/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25453/v1/poster.webp","blurhash":"U697Lp%f00Ip*J%MIAIA00kW?bMxD4R5?utR","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":46420,"triangles":836,"vertices":2508,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.2199999988079071,-3.8157450639279833e-7,-0.12499160927241419],"max":[0.2199999988079071,0.2600096834765905,0.12499160927241419]},"sizeMeters":[0.44,0.26,0.25],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:39:43.499Z","updatedAt":"2026-10-05T14:31:15.429Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25453/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CircuitBoardHolderSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25453/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25453/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25453/v1/model.glb\" alt=\"Circuit Board Holder (Salvage and Repair Workshop)\" 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/25453/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/25453/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25454","slug":"salvage-and-repair-workshop-drill-guide-84ab978c","title":"Drill Guide (Salvage and Repair Workshop)","summary":"Drill Guide: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Drill Guide. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.28 × 0.48 × 0.28 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-drill-guide-84ab978c","cdnUrl":"https://cdn.3dassets.dev/assets/25454/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-drill-guide-84ab978c","thumbnailUrl":"https://cdn.3dassets.dev/assets/25454/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25454/v1/poster.webp","blurhash":"U58g]R-=00Di00Rj-=WEaLjbf$WU_Nt7M{af","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":33592,"triangles":664,"vertices":1992,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.14000716739758487,-7.450581818169155e-11,-0.14000716739758487],"max":[0.14000716739758487,0.48499998450279236,0.14000716739758487]},"sizeMeters":[0.28,0.485,0.28],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:39:43.835Z","updatedAt":"2026-10-05T14:31:19.660Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25454/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DrillGuideSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25454/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25454/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25454/v1/model.glb\" alt=\"Drill Guide (Salvage and Repair Workshop)\" 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/25454/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/25454/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25456","slug":"salvage-and-repair-workshop-gear-inspection-fixture-3400b6d0","title":"Gear Inspection Fixture (Salvage and Repair Workshop)","summary":"Gear Inspection Fixture: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Gear Inspection Fixture. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.32 × 0.27 × 0.25 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-gear-inspection-fixture-3400b6d0","cdnUrl":"https://cdn.3dassets.dev/assets/25456/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-gear-inspection-fixture-3400b6d0","thumbnailUrl":"https://cdn.3dassets.dev/assets/25456/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25456/v1/poster.webp","blurhash":"U5B|Z_.800M_8_axIUWC00IBx]oz~qjY?bxu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":76180,"triangles":1564,"vertices":4692,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.1599999964237213,8.346210054188674e-7,-0.12499892905822449],"max":[0.1599999964237213,0.2649991501798102,0.12499892905822449]},"sizeMeters":[0.32,0.265,0.25],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:39:44.011Z","updatedAt":"2026-10-05T14:31:35.008Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25456/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GearInspectionFixtureSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25456/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25456/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25456/v1/model.glb\" alt=\"Gear Inspection Fixture (Salvage and Repair Workshop)\" 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/25456/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/25456/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25455","slug":"salvage-and-repair-workshop-coil-winding-jig-1c6b4a56","title":"Coil Winding Jig (Salvage and Repair Workshop)","summary":"Coil Winding Jig: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Coil Winding Jig. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.50 × 0.46 × 0.30 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-coil-winding-jig-1c6b4a56","cdnUrl":"https://cdn.3dassets.dev/assets/25455/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-coil-winding-jig-1c6b4a56","thumbnailUrl":"https://cdn.3dassets.dev/assets/25455/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25455/v1/poster.webp","blurhash":"U797O$-;00D**Jx]McIT4nof.8M{H=nN-;bv","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":68328,"triangles":1224,"vertices":3672,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.2484951913356781,0.000010319218295556931,-0.1499875780977983],"max":[0.2484951913356781,0.45800167722161106,0.1499875780977983]},"sizeMeters":[0.497,0.458,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:39:43.994Z","updatedAt":"2026-10-11T06:57:37.678Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25455/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CoilWindingJigSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25455/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25455/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25455/v1/model.glb\" alt=\"Coil Winding Jig (Salvage and Repair Workshop)\" 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/25455/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/25455/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25457","slug":"salvage-and-repair-workshop-adjustable-wrench-a1f57bb4","title":"Adjustable Wrench (Salvage and Repair Workshop)","summary":"Adjustable Wrench: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Adjustable Wrench. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.15 × 0.34 × 0.08 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-adjustable-wrench-a1f57bb4","cdnUrl":"https://cdn.3dassets.dev/assets/25457/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-adjustable-wrench-a1f57bb4","thumbnailUrl":"https://cdn.3dassets.dev/assets/25457/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25457/v1/poster.webp","blurhash":"U35#-AVY00yr~Wkq4.e9rrkWXRVYXmaKa0k=","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":13760,"triangles":248,"vertices":744,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.07338648056399671,0,-0.03873803721568303],"max":[0.07338648056399671,0.3435957431793213,0.038750000298023224]},"sizeMeters":[0.147,0.344,0.077],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:39:45.163Z","updatedAt":"2026-10-05T14:31:38.637Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25457/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AdjustableWrenchSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25457/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25457/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25457/v1/model.glb\" alt=\"Adjustable Wrench (Salvage and Repair Workshop)\" 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/25457/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/25457/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25458","slug":"salvage-and-repair-workshop-pipe-wrench-875ec263","title":"Pipe Wrench (Salvage and Repair Workshop)","summary":"Pipe Wrench: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Pipe Wrench. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.15 × 0.35 × 0.08 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-pipe-wrench-875ec263","cdnUrl":"https://cdn.3dassets.dev/assets/25458/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-pipe-wrench-875ec263","thumbnailUrl":"https://cdn.3dassets.dev/assets/25458/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25458/v1/poster.webp","blurhash":"U48pllI;00^5G^so:PI;1OxZ}SE2]gbcAJnN","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":44220,"triangles":868,"vertices":2604,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.07339558005332947,0,-0.04124487798502281],"max":[0.07339558005332947,0.34524461215720476,0.041251714401228816]},"sizeMeters":[0.147,0.345,0.082],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:39:45.472Z","updatedAt":"2026-10-05T14:32:07.359Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25458/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PipeWrenchSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25458/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25458/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25458/v1/model.glb\" alt=\"Pipe Wrench (Salvage and Repair Workshop)\" 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/25458/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/25458/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25459","slug":"salvage-and-repair-workshop-ratchet-handle-efc637de","title":"Ratchet Handle (Salvage and Repair Workshop)","summary":"Ratchet Handle: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Ratchet Handle. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.07 × 0.38 × 0.05 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-ratchet-handle-efc637de","cdnUrl":"https://cdn.3dassets.dev/assets/25459/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-ratchet-handle-efc637de","thumbnailUrl":"https://cdn.3dassets.dev/assets/25459/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25459/v1/poster.webp","blurhash":"U44V5exu00IU_Nt78_In%gt7IAM{kWofaKNG","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":18496,"triangles":348,"vertices":1044,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.034997635084679686,0,-0.024738303359952522],"max":[0.034997635084679686,0.375,0.024738303359952522]},"sizeMeters":[0.07,0.375,0.049],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:39:45.663Z","updatedAt":"2026-10-05T14:32:54.288Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25459/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RatchetHandleSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25459/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25459/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25459/v1/model.glb\" alt=\"Ratchet Handle (Salvage and Repair Workshop)\" 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/25459/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/25459/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25460","slug":"salvage-and-repair-workshop-socket-rail-dbf40ca1","title":"Socket Rail (Salvage and Repair Workshop)","summary":"Socket Rail: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Socket Rail. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.35 × 0.07 × 0.07 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-socket-rail-dbf40ca1","cdnUrl":"https://cdn.3dassets.dev/assets/25460/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-socket-rail-dbf40ca1","thumbnailUrl":"https://cdn.3dassets.dev/assets/25460/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25460/v1/poster.webp","blurhash":"U37ndyDi00%M?J.8RhIA00?c~qIT004n-=?c","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":99116,"triangles":2028,"vertices":6084,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.17499999701976776,0.000001602265625413879,-0.03499252236925927],"max":[0.17499999701976776,0.07500091387892582,0.03499252236925927]},"sizeMeters":[0.35,0.075,0.07],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:39:45.680Z","updatedAt":"2026-10-25T12:19:19.702Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25460/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SocketRailSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25460/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25460/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25460/v1/model.glb\" alt=\"Socket Rail (Salvage and Repair Workshop)\" 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/25460/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/25460/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25461","slug":"salvage-and-repair-workshop-long-nose-pliers-cd167d28","title":"Long Nose Pliers (Salvage and Repair Workshop)","summary":"Long Nose Pliers: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Long Nose Pliers. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.14 × 0.32 × 0.04 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-long-nose-pliers-cd167d28","cdnUrl":"https://cdn.3dassets.dev/assets/25461/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-long-nose-pliers-cd167d28","thumbnailUrl":"https://cdn.3dassets.dev/assets/25461/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25461/v1/poster.webp","blurhash":"U49GN]tR00Md22s:{wIp0yR*^k$*{Jn$C7XA","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":18724,"triangles":352,"vertices":1056,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.07028168659128238,0,-0.021499811572024696],"max":[0.07028168659128238,0.3171786963939667,0.021502163041639172]},"sizeMeters":[0.141,0.317,0.043],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:39:46.790Z","updatedAt":"2026-10-05T11:17:21.872Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25461/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LongNosePliersSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25461/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25461/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25461/v1/model.glb\" alt=\"Long Nose Pliers (Salvage and Repair Workshop)\" 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/25461/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/25461/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25462","slug":"salvage-and-repair-workshop-diagonal-cutters-83adbef9","title":"Diagonal Cutters (Salvage and Repair Workshop)","summary":"Diagonal Cutters: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Diagonal Cutters. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.14 × 0.23 × 0.04 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-diagonal-cutters-83adbef9","cdnUrl":"https://cdn.3dassets.dev/assets/25462/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-diagonal-cutters-83adbef9","thumbnailUrl":"https://cdn.3dassets.dev/assets/25462/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25462/v1/poster.webp","blurhash":"U6Altit700aJ3Xt6+GIp0#Na}r$%;1sAKjS#","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":18724,"triangles":352,"vertices":1056,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.07028168659128238,0,-0.021499811572024696],"max":[0.07028168659128238,0.23194952728091772,0.02150277571358901]},"sizeMeters":[0.141,0.232,0.043],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:39:47.110Z","updatedAt":"2026-10-05T14:33:00.167Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25462/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DiagonalCuttersSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25462/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25462/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25462/v1/model.glb\" alt=\"Diagonal Cutters (Salvage and Repair Workshop)\" 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/25462/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/25462/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25463","slug":"salvage-and-repair-workshop-locking-pliers-9580fcfd","title":"Locking Pliers (Salvage and Repair Workshop)","summary":"Locking Pliers: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Locking Pliers. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.15 × 0.28 × 0.05 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-locking-pliers-9580fcfd","cdnUrl":"https://cdn.3dassets.dev/assets/25463/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-locking-pliers-9580fcfd","thumbnailUrl":"https://cdn.3dassets.dev/assets/25463/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25463/v1/poster.webp","blurhash":"U69ZZXT000#6K+xZrCEM0fV@}?o};1WBF|t7","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":32964,"triangles":648,"vertices":1944,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.0735496307984456,0,-0.022999811566993558],"max":[0.07354704221217657,0.2840045392513275,0.022996221210817906]},"sizeMeters":[0.147,0.284,0.046],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":5,"publishedAt":"2026-09-07T20:39:47.322Z","updatedAt":"2026-10-05T14:33:08.455Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25463/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LockingPliersSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25463/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25463/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25463/v1/model.glb\" alt=\"Locking Pliers (Salvage and Repair Workshop)\" 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/25463/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/25463/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25464","slug":"salvage-and-repair-workshop-wire-stripper-6d8a3045","title":"Wire Stripper (Salvage and Repair Workshop)","summary":"Wire Stripper: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Wire Stripper. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.14 × 0.27 × 0.04 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-wire-stripper-6d8a3045","cdnUrl":"https://cdn.3dassets.dev/assets/25464/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-wire-stripper-6d8a3045","thumbnailUrl":"https://cdn.3dassets.dev/assets/25464/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25464/v1/poster.webp","blurhash":"U69sVRt700V?15j[}SRk0LRk}[%1[TxYGGIq","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":109864,"triangles":2236,"vertices":6708,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.07028168659128238,0,-0.021499811572024696],"max":[0.07028168659128238,0.2690553241489655,0.021495552186434355]},"sizeMeters":[0.141,0.269,0.043],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:39:47.422Z","updatedAt":"2026-10-12T11:32:21.812Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25464/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WireStripperSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25464/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25464/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25464/v1/model.glb\" alt=\"Wire Stripper (Salvage and Repair Workshop)\" 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/25464/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/25464/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25465","slug":"salvage-and-repair-workshop-hacksaw-567c7b9d","title":"Hacksaw (Salvage and Repair Workshop)","summary":"Hacksaw: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Hacksaw. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.49 × 0.24 × 0.05 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-hacksaw-567c7b9d","cdnUrl":"https://cdn.3dassets.dev/assets/25465/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-hacksaw-567c7b9d","thumbnailUrl":"https://cdn.3dassets.dev/assets/25465/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25465/v1/poster.webp","blurhash":"U8ATZd^h=q_1~q?bRioy00O]9}4;9GIVt8IB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":21928,"triangles":420,"vertices":1260,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.24694608242182792,0,-0.022993743147700002],"max":[0.24694928526878357,0.23866649674600762,0.022993743147700002]},"sizeMeters":[0.494,0.239,0.046],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":5,"publishedAt":"2026-09-07T20:39:48.425Z","updatedAt":"2026-10-05T14:33:14.097Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25465/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HacksawSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25465/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25465/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25465/v1/model.glb\" alt=\"Hacksaw (Salvage and Repair Workshop)\" 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/25465/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/25465/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25466","slug":"salvage-and-repair-workshop-ball-peen-hammer-cc57cd6c","title":"Ball Peen Hammer (Salvage and Repair Workshop)","summary":"Ball Peen Hammer: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Ball Peen Hammer. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.29 × 0.38 × 0.08 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-ball-peen-hammer-cc57cd6c","cdnUrl":"https://cdn.3dassets.dev/assets/25466/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-ball-peen-hammer-cc57cd6c","thumbnailUrl":"https://cdn.3dassets.dev/assets/25466/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25466/v1/poster.webp","blurhash":"UA6[2Hof0KR*_NogDiWBx]t7RPRPM{t7t8M{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":62984,"triangles":1132,"vertices":3396,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.14749999344348907,0,-0.03999564933455612],"max":[0.14749999344348907,0.3799984781458943,0.03999564933455612]},"sizeMeters":[0.295,0.38,0.08],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:39:48.805Z","updatedAt":"2026-10-05T14:33:14.374Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25466/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BallPeenHammerSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25466/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25466/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25466/v1/model.glb\" alt=\"Ball Peen Hammer (Salvage and Repair Workshop)\" 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/25466/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/25466/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25467","slug":"salvage-and-repair-workshop-multimeter-d50fa9f4","title":"Multimeter (Salvage and Repair Workshop)","summary":"Multimeter: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Multimeter. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.28 × 0.18 × 0.11 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-multimeter-d50fa9f4","cdnUrl":"https://cdn.3dassets.dev/assets/25467/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-multimeter-d50fa9f4","thumbnailUrl":"https://cdn.3dassets.dev/assets/25467/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25467/v1/poster.webp","blurhash":"UBBL*6Ej0M}=xFs.J8R-5Sr?-ANe$*baI:WA","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":30996,"triangles":608,"vertices":1824,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.14054229855537415,-0.0000026954020360681064,-0.05419060906340916],"max":[0.14054229855537415,0.18000270255459344,0.0541913325295478]},"sizeMeters":[0.281,0.18,0.108],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:39:49.015Z","updatedAt":"2026-10-05T14:33:23.886Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25467/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MultimeterSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25467/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25467/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25467/v1/model.glb\" alt=\"Multimeter (Salvage and Repair Workshop)\" 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/25467/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/25467/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25468","slug":"salvage-and-repair-workshop-continuity-probe-cb1a5a56","title":"Continuity Probe (Salvage and Repair Workshop)","summary":"Continuity Probe: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Continuity Probe. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.16 × 0.23 × 0.06 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-continuity-probe-cb1a5a56","cdnUrl":"https://cdn.3dassets.dev/assets/25468/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-continuity-probe-cb1a5a56","thumbnailUrl":"https://cdn.3dassets.dev/assets/25468/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25468/v1/poster.webp","blurhash":"U77mW.}s0f0M%Mt7M{IU1$At,o|?ozofaKWA","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":15760,"triangles":316,"vertices":948,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.07960547165755366,-0.0000013664202692387217,-0.03134063336808418],"max":[0.07960846275091171,0.2317752093076706,0.03134559659375387]},"sizeMeters":[0.159,0.232,0.063],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:39:49.108Z","updatedAt":"2026-10-05T14:33:24.251Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25468/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ContinuityProbeSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25468/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25468/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25468/v1/model.glb\" alt=\"Continuity Probe (Salvage and Repair Workshop)\" 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/25468/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/25468/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25469","slug":"salvage-and-repair-workshop-soldering-iron-1d3f9624","title":"Soldering Iron (Salvage and Repair Workshop)","summary":"Soldering Iron: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Soldering Iron. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.14 × 0.34 × 0.05 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-soldering-iron-1d3f9624","cdnUrl":"https://cdn.3dassets.dev/assets/25469/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-soldering-iron-1d3f9624","thumbnailUrl":"https://cdn.3dassets.dev/assets/25469/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25469/v1/poster.webp","blurhash":"U13+G$_30000_3%M9F9EV@WBbHoy4nM{?b-;","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":18900,"triangles":356,"vertices":1068,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.07067693053364524,0,-0.025576582304612867],"max":[0.07067693053364524,0.33806511759757996,0.025576582304612867]},"sizeMeters":[0.141,0.338,0.051],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:39:50.092Z","updatedAt":"2026-10-05T14:33:24.218Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25469/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SolderingIronSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25469/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25469/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25469/v1/model.glb\" alt=\"Soldering Iron (Salvage and Repair Workshop)\" 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/25469/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/25469/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25470","slug":"salvage-and-repair-workshop-desolder-pump-367b0d6b","title":"Desolder Pump (Salvage and Repair Workshop)","summary":"Desolder Pump: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Desolder Pump. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.05 × 0.27 × 0.05 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-desolder-pump-367b0d6b","cdnUrl":"https://cdn.3dassets.dev/assets/25470/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-desolder-pump-367b0d6b","thumbnailUrl":"https://cdn.3dassets.dev/assets/25470/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25470/v1/poster.webp","blurhash":"U78M:Kxa029to}kCa0WB10WU}pxGspf8S1bF","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":15808,"triangles":320,"vertices":960,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.02500000037252903,4.4703483970121027e-10,-0.02500000037252903],"max":[0.02500000037252903,0.26499915370017824,0.02500000037252903]},"sizeMeters":[0.05,0.265,0.05],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:39:50.480Z","updatedAt":"2026-10-05T14:33:33.199Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25470/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DesolderPumpSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25470/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25470/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25470/v1/model.glb\" alt=\"Desolder Pump (Salvage and Repair Workshop)\" 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/25470/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/25470/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25472","slug":"salvage-and-repair-workshop-hot-air-handpiece-a9143d01","title":"Hot Air Handpiece (Salvage and Repair Workshop)","summary":"Hot Air Handpiece: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Hot Air Handpiece. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.08 × 0.26 × 0.08 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-hot-air-handpiece-a9143d01","cdnUrl":"https://cdn.3dassets.dev/assets/25472/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-hot-air-handpiece-a9143d01","thumbnailUrl":"https://cdn.3dassets.dev/assets/25472/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25472/v1/poster.webp","blurhash":"U24Ldwxu00D*~qof00Rj-=a{D$a$%Mj[M_WW","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":64772,"triangles":1312,"vertices":3936,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.038004700416773465,0,-0.038004700416773465],"max":[0.038004700416773465,0.25999999046325684,0.038004700416773465]},"sizeMeters":[0.076,0.26,0.076],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:39:50.734Z","updatedAt":"2026-10-25T14:01:26.632Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25472/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HotAirHandpieceSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25472/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25472/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25472/v1/model.glb\" alt=\"Hot Air Handpiece (Salvage and Repair Workshop)\" 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/25472/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/25472/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25471","slug":"salvage-and-repair-workshop-caliper-5c8af10d","title":"Caliper (Salvage and Repair Workshop)","summary":"Caliper: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Caliper. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.10 × 0.30 × 0.03 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-caliper-5c8af10d","cdnUrl":"https://cdn.3dassets.dev/assets/25471/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-caliper-5c8af10d","thumbnailUrl":"https://cdn.3dassets.dev/assets/25471/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25471/v1/poster.webp","blurhash":"U05r6{?w0000t7%MM{00MdV[tSkUIX%O%L00","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":22512,"triangles":432,"vertices":1296,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.0475000012665987,0,-0.012500076792982094],"max":[0.04749603448109089,0.30000001192092896,0.012500076792982094]},"sizeMeters":[0.095,0.3,0.025],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:39:50.720Z","updatedAt":"2026-10-05T14:33:42.675Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25471/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CaliperSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25471/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25471/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25471/v1/model.glb\" alt=\"Caliper (Salvage and Repair Workshop)\" 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/25471/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/25471/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25473","slug":"salvage-and-repair-workshop-micrometer-fa6a329f","title":"Micrometer (Salvage and Repair Workshop)","summary":"Micrometer: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Micrometer. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.17 × 0.23 × 0.04 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-micrometer-fa6a329f","cdnUrl":"https://cdn.3dassets.dev/assets/25473/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-micrometer-fa6a329f","thumbnailUrl":"https://cdn.3dassets.dev/assets/25473/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25473/v1/poster.webp","blurhash":"U46a|;xu00IU00ay?vWB00IU?b.8_Nt7D%Rj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":20608,"triangles":392,"vertices":1176,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.08657806366682053,-0.000005304110778911464,-0.018000125241067866],"max":[0.08657604870030713,0.2255883365869522,0.018000125241067866]},"sizeMeters":[0.173,0.226,0.036],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:39:51.723Z","updatedAt":"2026-10-05T14:33:42.371Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25473/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MicrometerSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25473/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25473/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25473/v1/model.glb\" alt=\"Micrometer (Salvage and Repair Workshop)\" 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/25473/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/25473/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25474","slug":"salvage-and-repair-workshop-dial-indicator-a1c43228","title":"Dial Indicator (Salvage and Repair Workshop)","summary":"Dial Indicator: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Dial Indicator. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.12 × 0.18 × 0.06 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-dial-indicator-a1c43228","cdnUrl":"https://cdn.3dassets.dev/assets/25474/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-dial-indicator-a1c43228","thumbnailUrl":"https://cdn.3dassets.dev/assets/25474/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25474/v1/poster.webp","blurhash":"UB9tP;%L009a~qt79FM{01Rj?b%201NG-;%2","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":19260,"triangles":348,"vertices":1044,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.06000365963811153,0,-0.031497618821239394],"max":[0.06000365963811153,0.17999999225139618,0.03149879195992846]},"sizeMeters":[0.12,0.18,0.063],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:39:52.120Z","updatedAt":"2026-10-05T14:33:51.771Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25474/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DialIndicatorSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25474/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25474/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25474/v1/model.glb\" alt=\"Dial Indicator (Salvage and Repair Workshop)\" 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/25474/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/25474/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25476","slug":"salvage-and-repair-workshop-precision-bit-case-50038892","title":"Precision Bit Case (Salvage and Repair Workshop)","summary":"Precision Bit Case: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Precision Bit Case. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.22 × 0.20 × 0.17 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-precision-bit-case-50038892","cdnUrl":"https://cdn.3dassets.dev/assets/25476/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-precision-bit-case-50038892","thumbnailUrl":"https://cdn.3dassets.dev/assets/25476/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25476/v1/poster.webp","blurhash":"ULDRf_5m0g-S}qI;9^xZ5R$$oMNdAHxFxDS4","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":64492,"triangles":1288,"vertices":3864,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.10999999940395357,0.000005492993013160585,-0.0830023799963463],"max":[0.10999999940395355,0.199998167959817,0.0829981670850462]},"sizeMeters":[0.22,0.2,0.166],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:39:52.418Z","updatedAt":"2026-10-05T14:33:52.470Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25476/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PrecisionBitCaseSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25476/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25476/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25476/v1/model.glb\" alt=\"Precision Bit Case (Salvage and Repair Workshop)\" 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/25476/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/25476/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25475","slug":"salvage-and-repair-workshop-inspection-mirror-c0e001e8","title":"Inspection Mirror (Salvage and Repair Workshop)","summary":"Inspection Mirror: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Inspection Mirror. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.11 × 0.40 × 0.03 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-inspection-mirror-c0e001e8","cdnUrl":"https://cdn.3dassets.dev/assets/25475/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-inspection-mirror-c0e001e8","thumbnailUrl":"https://cdn.3dassets.dev/assets/25475/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25475/v1/poster.webp","blurhash":"U65rMax]00Di?^ozDOR5-;ofIARjxan%NGS3","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":13352,"triangles":240,"vertices":720,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.05500007779016433,0,-0.014988784731103714],"max":[0.05500007779016433,0.39500001072883606,0.014999084413055811]},"sizeMeters":[0.11,0.395,0.03],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:39:52.386Z","updatedAt":"2026-10-05T14:33:51.803Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25475/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function InspectionMirrorSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25475/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25475/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25475/v1/model.glb\" alt=\"Inspection Mirror (Salvage and Repair Workshop)\" 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/25475/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/25475/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25478","slug":"salvage-and-repair-workshop-stripped-fan-cd5bbcf9","title":"Stripped Fan (Salvage and Repair Workshop)","summary":"Stripped Fan: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Stripped Fan. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.47 × 0.97 × 0.28 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-stripped-fan-cd5bbcf9","cdnUrl":"https://cdn.3dassets.dev/assets/25478/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-stripped-fan-cd5bbcf9","thumbnailUrl":"https://cdn.3dassets.dev/assets/25478/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25478/v1/poster.webp","blurhash":"U27naq-;004n_3ayD%t7D%j[%MWB00ay_3jZ","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":48480,"triangles":988,"vertices":2964,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.23602154685286283,-3.7252906315288215e-10,-0.14002887097579828],"max":[0.23602154685286283,0.972000002861023,0.14002887097579828]},"sizeMeters":[0.472,0.972,0.28],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:39:53.938Z","updatedAt":"2026-10-05T14:33:52.035Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25478/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StrippedFanSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25478/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25478/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25478/v1/model.glb\" alt=\"Stripped Fan (Salvage and Repair Workshop)\" 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/25478/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/25478/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25477","slug":"salvage-and-repair-workshop-opened-radio-ec33a8bb","title":"Opened Radio (Salvage and Repair Workshop)","summary":"Opened Radio: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Opened Radio. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.38 × 0.60 × 0.18 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-opened-radio-ec33a8bb","cdnUrl":"https://cdn.3dassets.dev/assets/25477/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-opened-radio-ec33a8bb","thumbnailUrl":"https://cdn.3dassets.dev/assets/25477/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25477/v1/poster.webp","blurhash":"U15XfKMc00.m1OIU}r.800pI~pQm[U-;5m4n","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":55080,"triangles":836,"vertices":2508,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.19004762172698975,-0.000008543905265362417,-0.08998931597802422],"max":[0.1900554345079658,0.601019024848938,0.08999732976806799]},"sizeMeters":[0.38,0.601,0.18],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:39:53.805Z","updatedAt":"2026-10-05T12:16:09.104Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25477/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OpenedRadioSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25477/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25477/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25477/v1/model.glb\" alt=\"Opened Radio (Salvage and Repair Workshop)\" 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/25477/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/25477/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25480","slug":"salvage-and-repair-workshop-washer-drum-2469398e","title":"Washer Drum (Salvage and Repair Workshop)","summary":"Washer Drum: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Washer Drum. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.57 × 0.45 × 0.54 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-washer-drum-2469398e","cdnUrl":"https://cdn.3dassets.dev/assets/25480/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-washer-drum-2469398e","thumbnailUrl":"https://cdn.3dassets.dev/assets/25480/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25480/v1/poster.webp","blurhash":"U39@ks?v00IU~qMx8_-;00IU_3%ga}%MxuD%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":432616,"triangles":8976,"vertices":26928,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.28299999237060547,-0.000009628232028130457,-0.27000001072883606],"max":[0.28299999237060547,0.45000961631109915,0.27000001072883606]},"sizeMeters":[0.566,0.45,0.54],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:39:54.153Z","updatedAt":"2026-10-25T12:34:31.510Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25480/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WasherDrumSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25480/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25480/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25480/v1/model.glb\" alt=\"Washer Drum (Salvage and Repair Workshop)\" 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/25480/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/25480/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25479","slug":"salvage-and-repair-workshop-compressor-unit-9cb878df","title":"Compressor Unit (Salvage and Repair Workshop)","summary":"Compressor Unit: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Compressor Unit. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.56 × 0.47 × 0.46 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-compressor-unit-9cb878df","cdnUrl":"https://cdn.3dassets.dev/assets/25479/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-compressor-unit-9cb878df","thumbnailUrl":"https://cdn.3dassets.dev/assets/25479/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25479/v1/poster.webp","blurhash":"U58XLQ.800H=?vj[9FRj00Vs_4XT4TRj?ct7","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":79916,"triangles":1612,"vertices":4836,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.28095361590385437,-0.000010071055774968363,-0.23000000417232513],"max":[0.28094987095718393,0.4699999988079071,0.23000000417232513]},"sizeMeters":[0.562,0.47,0.46],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:39:54.086Z","updatedAt":"2026-10-05T14:33:53.213Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25479/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CompressorUnitSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25479/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25479/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25479/v1/model.glb\" alt=\"Compressor Unit (Salvage and Repair Workshop)\" 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/25479/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/25479/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25481","slug":"salvage-and-repair-workshop-exposed-toaster-2b52f753","title":"Exposed Toaster (Salvage and Repair Workshop)","summary":"Exposed Toaster: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Exposed Toaster. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.30 × 0.21 × 0.20 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-exposed-toaster-2b52f753","cdnUrl":"https://cdn.3dassets.dev/assets/25481/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-exposed-toaster-2b52f753","thumbnailUrl":"https://cdn.3dassets.dev/assets/25481/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25481/v1/poster.webp","blurhash":"U5A^as_N4nWVof%M-;j[00MxD%a|oyxuD$D%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":90648,"triangles":1836,"vertices":5508,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.15000000596046448,-0.000008239997885947647,-0.10000610767578073],"max":[0.15000000596046448,0.21000000834465027,0.10000610767578073]},"sizeMeters":[0.3,0.21,0.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:39:55.495Z","updatedAt":"2026-10-05T14:33:52.964Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25481/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ExposedToasterSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25481/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25481/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25481/v1/model.glb\" alt=\"Exposed Toaster (Salvage and Repair Workshop)\" 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/25481/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/25481/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25482","slug":"salvage-and-repair-workshop-fridge-condenser-874989ee","title":"Fridge Condenser (Salvage and Repair Workshop)","summary":"Fridge Condenser: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Fridge Condenser. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.67 × 1.17 × 0.07 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-fridge-condenser-874989ee","cdnUrl":"https://cdn.3dassets.dev/assets/25482/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-fridge-condenser-874989ee","thumbnailUrl":"https://cdn.3dassets.dev/assets/25482/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25482/v1/poster.webp","blurhash":"U371vG%M00D%~qtQ8_IU?bt7D%IU?bxvD%D%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":84728,"triangles":1728,"vertices":5184,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.33503554177450867,0,-0.03499252168166029],"max":[0.33503554177450867,1.1699999570846558,0.03499252168166029]},"sizeMeters":[0.67,1.17,0.07],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:39:55.664Z","updatedAt":"2026-10-05T14:33:56.433Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25482/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FridgeCondenserSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25482/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25482/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25482/v1/model.glb\" alt=\"Fridge Condenser (Salvage and Repair Workshop)\" 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/25482/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/25482/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25483","slug":"salvage-and-repair-workshop-disassembled-pump-baa46304","title":"Disassembled Pump (Salvage and Repair Workshop)","summary":"Disassembled Pump: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Disassembled Pump. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.71 × 0.39 × 0.36 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-disassembled-pump-baa46304","cdnUrl":"https://cdn.3dassets.dev/assets/25483/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-disassembled-pump-baa46304","thumbnailUrl":"https://cdn.3dassets.dev/assets/25483/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25483/v1/poster.webp","blurhash":"U37-sOt,00D%My_NM{4m00DO?b?bD$00?H?v","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":100312,"triangles":2052,"vertices":6156,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.3564999997615814,-0.0000066139682114163545,-0.18000043321562434],"max":[0.3564999997615814,0.3899886398315139,0.18000043321562434]},"sizeMeters":[0.713,0.39,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:39:55.718Z","updatedAt":"2026-10-05T14:33:56.524Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25483/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DisassembledPumpSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25483/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25483/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25483/v1/model.glb\" alt=\"Disassembled Pump (Salvage and Repair Workshop)\" 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/25483/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/25483/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25484","slug":"salvage-and-repair-workshop-open-motor-74f7cba1","title":"Open Motor (Salvage and Repair Workshop)","summary":"Open Motor: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Open Motor. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.26 × 0.40 × 0.26 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-open-motor-74f7cba1","cdnUrl":"https://cdn.3dassets.dev/assets/25484/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-open-motor-74f7cba1","thumbnailUrl":"https://cdn.3dassets.dev/assets/25484/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25484/v1/poster.webp","blurhash":"U5AAEv-:009Z9aWU-Vn*0MNH}?%0VXafpJof","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":46300,"triangles":928,"vertices":2784,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.13199865900499633,4.4703482582342247e-10,-0.13199865900499633],"max":[0.13199865900499633,0.4000000059604645,0.13199865900499633]},"sizeMeters":[0.264,0.4,0.264],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:39:55.782Z","updatedAt":"2026-10-05T14:33:57.869Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25484/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OpenMotorSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25484/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25484/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25484/v1/model.glb\" alt=\"Open Motor (Salvage and Repair Workshop)\" 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/25484/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/25484/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25485","slug":"salvage-and-repair-workshop-transformer-chassis-e86f4b3e","title":"Transformer Chassis (Salvage and Repair Workshop)","summary":"Transformer Chassis: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Transformer Chassis. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.30 × 0.26 × 0.25 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-transformer-chassis-e86f4b3e","cdnUrl":"https://cdn.3dassets.dev/assets/25485/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-transformer-chassis-e86f4b3e","thumbnailUrl":"https://cdn.3dassets.dev/assets/25485/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25485/v1/poster.webp","blurhash":"U59Zv5?G00M{1htR-AIV00Io?axG~BRPIB%L","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":190940,"triangles":3832,"vertices":11496,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.15000000596046448,0.000004271573250395205,-0.12500534570642424],"max":[0.15000000596046448,0.25999358796245153,0.12500534570642424]},"sizeMeters":[0.3,0.26,0.25],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":5,"publishedAt":"2026-09-07T20:39:57.176Z","updatedAt":"2026-10-05T14:33:59.328Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25485/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TransformerChassisSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25485/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25485/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25485/v1/model.glb\" alt=\"Transformer Chassis (Salvage and Repair Workshop)\" 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/25485/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/25485/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25486","slug":"salvage-and-repair-workshop-stove-burner-assembly-f7471377","title":"Stove Burner Assembly (Salvage and Repair Workshop)","summary":"Stove Burner Assembly: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Stove Burner Assembly. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.35 × 0.08 × 0.35 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-stove-burner-assembly-f7471377","cdnUrl":"https://cdn.3dassets.dev/assets/25486/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-stove-burner-assembly-f7471377","thumbnailUrl":"https://cdn.3dassets.dev/assets/25486/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25486/v1/poster.webp","blurhash":"U28z_g_300IAITWTxuae00D%kWM{.9oNE0tQ","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":45016,"triangles":900,"vertices":2700,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.17499999701976776,0.000008544876501766219,-0.17499999701976776],"max":[0.17499999701976776,0.07999145314909437,0.17499999701976776]},"sizeMeters":[0.35,0.08,0.35],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:39:57.395Z","updatedAt":"2026-10-25T17:00:41.191Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25486/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoveBurnerAssemblySalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25486/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25486/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25486/v1/model.glb\" alt=\"Stove Burner Assembly (Salvage and Repair Workshop)\" 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/25486/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/25486/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25487","slug":"salvage-and-repair-workshop-cable-stripping-machine-a3d62b3f","title":"Cable Stripping Machine (Salvage and Repair Workshop)","summary":"Cable Stripping Machine: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Cable Stripping Machine. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.67 × 0.94 × 0.45 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-cable-stripping-machine-a3d62b3f","cdnUrl":"https://cdn.3dassets.dev/assets/25487/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-cable-stripping-machine-a3d62b3f","thumbnailUrl":"https://cdn.3dassets.dev/assets/25487/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25487/v1/poster.webp","blurhash":"U59HCK~q00IU_3t79FMx00IUo#RjM{xutRM{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":66568,"triangles":1348,"vertices":4044,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.33509185817726483,0,-0.22496635164056752],"max":[0.33509185817726483,0.9449999928474426,0.22496635164056752]},"sizeMeters":[0.67,0.945,0.45],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:39:57.465Z","updatedAt":"2026-10-05T14:34:02.203Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25487/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CableStrippingMachineSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25487/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25487/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25487/v1/model.glb\" alt=\"Cable Stripping Machine (Salvage and Repair Workshop)\" 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/25487/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/25487/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25488","slug":"salvage-and-repair-workshop-wire-spool-rack-35515106","title":"Wire Spool Rack (Salvage and Repair Workshop)","summary":"Wire Spool Rack: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Wire Spool Rack. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 1.30 × 1.57 × 0.60 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-wire-spool-rack-35515106","cdnUrl":"https://cdn.3dassets.dev/assets/25488/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-wire-spool-rack-35515106","thumbnailUrl":"https://cdn.3dassets.dev/assets/25488/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25488/v1/poster.webp","blurhash":"U7B3Z*$~00NL*0%MMdD%01kr-nR4t6n+RkR%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":55368,"triangles":968,"vertices":2904,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.6499999761581421,0,-0.2999557371589485],"max":[0.6499999761581421,1.5700000524520874,0.2999557371589485]},"sizeMeters":[1.3,1.57,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:39:57.483Z","updatedAt":"2026-10-05T14:34:00.838Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25488/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WireSpoolRackSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25488/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25488/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25488/v1/model.glb\" alt=\"Wire Spool Rack (Salvage and Repair Workshop)\" 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/25488/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/25488/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25489","slug":"salvage-and-repair-workshop-mechanical-crusher-94e06c98","title":"Mechanical Crusher (Salvage and Repair Workshop)","summary":"Mechanical Crusher: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Mechanical Crusher. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.70 × 1.03 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-mechanical-crusher-94e06c98","cdnUrl":"https://cdn.3dassets.dev/assets/25489/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-mechanical-crusher-94e06c98","thumbnailUrl":"https://cdn.3dassets.dev/assets/25489/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25489/v1/poster.webp","blurhash":"U29Qv__400004mt7o#IUDiRjx]j=-:xuxvM|","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":36720,"triangles":728,"vertices":2184,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.3499999940395355,6.705522803684971e-10,-0.24997939289970347],"max":[0.3499999940395355,1.0299999713897705,0.24997939289970347]},"sizeMeters":[0.7,1.03,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:39:58.814Z","updatedAt":"2026-10-05T14:34:10.526Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25489/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MechanicalCrusherSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25489/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25489/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25489/v1/model.glb\" alt=\"Mechanical Crusher (Salvage and Repair Workshop)\" 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/25489/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/25489/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25490","slug":"salvage-and-repair-workshop-metal-shears-1f094d75","title":"Metal Shears (Salvage and Repair Workshop)","summary":"Metal Shears: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Metal Shears. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.47 × 0.91 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-metal-shears-1f094d75","cdnUrl":"https://cdn.3dassets.dev/assets/25490/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-metal-shears-1f094d75","thumbnailUrl":"https://cdn.3dassets.dev/assets/25490/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25490/v1/poster.webp","blurhash":"U47n2k%h00Hr8w9ZyY~W5Rog^jjXuP%2q[E2","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":13576,"triangles":244,"vertices":732,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.23475824636408477,-0.000017989372848387086,-0.25],"max":[0.234743482976756,0.9094301746785641,0.25]},"sizeMeters":[0.47,0.909,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:39:59.052Z","updatedAt":"2026-10-25T17:34:15.176Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25490/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MetalShearsSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25490/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25490/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25490/v1/model.glb\" alt=\"Metal Shears (Salvage and Repair Workshop)\" 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/25490/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/25490/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25491","slug":"salvage-and-repair-workshop-coil-extraction-frame-8b7e4773","title":"Coil Extraction Frame (Salvage and Repair Workshop)","summary":"Coil Extraction Frame: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Coil Extraction Frame. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.80 × 0.97 × 0.40 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-coil-extraction-frame-8b7e4773","cdnUrl":"https://cdn.3dassets.dev/assets/25491/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-coil-extraction-frame-8b7e4773","thumbnailUrl":"https://cdn.3dassets.dev/assets/25491/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25491/v1/poster.webp","blurhash":"U88||syX00Me.mtSMdRODirr%2S1v#xGS5Ip","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":225992,"triangles":4520,"vertices":13560,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.4000000059604645,-7.631490127855967e-7,-0.200030521490163],"max":[0.4000000059604645,0.9700000286102295,0.200030521490163]},"sizeMeters":[0.8,0.97,0.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:39:59.245Z","updatedAt":"2026-10-05T14:34:05.611Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25491/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CoilExtractionFrameSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25491/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25491/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25491/v1/model.glb\" alt=\"Coil Extraction Frame (Salvage and Repair Workshop)\" 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/25491/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/25491/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25492","slug":"salvage-and-repair-workshop-filter-press-5d6a7119","title":"Filter Press (Salvage and Repair Workshop)","summary":"Filter Press: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Filter Press. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.80 × 1.07 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-filter-press-5d6a7119","cdnUrl":"https://cdn.3dassets.dev/assets/25492/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-filter-press-5d6a7119","thumbnailUrl":"https://cdn.3dassets.dev/assets/25492/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25492/v1/poster.webp","blurhash":"UEBWi5xu00Rj~pt74oM{D%aeogWB9Gf7%Ma{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":79480,"triangles":1620,"vertices":4860,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.3999849868378459,0,-0.24997905956784572],"max":[0.3999849868378459,1.0750083389459255,0.24997905956784572]},"sizeMeters":[0.8,1.075,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:39:59.272Z","updatedAt":"2026-10-25T14:18:21.776Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25492/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FilterPressSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25492/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25492/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25492/v1/model.glb\" alt=\"Filter Press (Salvage and Repair Workshop)\" 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/25492/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/25492/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25493","slug":"salvage-and-repair-workshop-belt-sander-17a5cff5","title":"Belt Sander (Salvage and Repair Workshop)","summary":"Belt Sander: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Belt Sander. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.40 × 0.34 × 0.55 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-belt-sander-17a5cff5","cdnUrl":"https://cdn.3dassets.dev/assets/25493/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-belt-sander-17a5cff5","thumbnailUrl":"https://cdn.3dassets.dev/assets/25493/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25493/v1/poster.webp","blurhash":"U5AT4b-.00RS~UNZ0hW?00jttlRP0$tS}rwb","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":27436,"triangles":484,"vertices":1452,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.19999542655836264,0.000007858475720875363,-0.2750000059604645],"max":[0.19999542655836264,0.3449929107047526,0.2750000059604645]},"sizeMeters":[0.4,0.345,0.55],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:40:00.438Z","updatedAt":"2026-10-05T14:34:11.255Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25493/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BeltSanderSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25493/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25493/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25493/v1/model.glb\" alt=\"Belt Sander (Salvage and Repair Workshop)\" 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/25493/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/25493/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25494","slug":"salvage-and-repair-workshop-parts-tumbler-ca00074e","title":"Parts Tumbler (Salvage and Repair Workshop)","summary":"Parts Tumbler: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Parts Tumbler. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.65 × 0.71 × 0.65 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-parts-tumbler-ca00074e","cdnUrl":"https://cdn.3dassets.dev/assets/25494/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-parts-tumbler-ca00074e","thumbnailUrl":"https://cdn.3dassets.dev/assets/25494/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25494/v1/poster.webp","blurhash":"U48g,3-=00IoH@WBb]kB00IT%goe_4s;R%t7","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":37896,"triangles":780,"vertices":2340,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.32499998807907104,0,-0.32499998807907104],"max":[0.32499998807907104,0.7149970943836558,0.32499998807907104]},"sizeMeters":[0.65,0.715,0.65],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:40:00.702Z","updatedAt":"2026-10-05T14:34:14.780Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25494/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PartsTumblerSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25494/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25494/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25494/v1/model.glb\" alt=\"Parts Tumbler (Salvage and Repair Workshop)\" 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/25494/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/25494/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25495","slug":"salvage-and-repair-workshop-manual-winch-183cbdcc","title":"Manual Winch (Salvage and Repair Workshop)","summary":"Manual Winch: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Manual Winch. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.32 × 0.40 × 0.30 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-manual-winch-183cbdcc","cdnUrl":"https://cdn.3dassets.dev/assets/25495/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-manual-winch-183cbdcc","thumbnailUrl":"https://cdn.3dassets.dev/assets/25495/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25495/v1/poster.webp","blurhash":"U29aNx_N004U00IU%M.800xukq9Fx]xu%29E","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":26364,"triangles":512,"vertices":1536,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.1614978508515874,0,-0.1499923726076915],"max":[0.1614978508515874,0.4000000059604645,0.1499923726076915]},"sizeMeters":[0.323,0.4,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:40:00.902Z","updatedAt":"2026-10-05T14:34:18.194Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25495/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ManualWinchSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25495/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25495/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25495/v1/model.glb\" alt=\"Manual Winch (Salvage and Repair Workshop)\" 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/25495/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/25495/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25496","slug":"salvage-and-repair-workshop-recovery-hoist-5402eb05","title":"Recovery Hoist (Salvage and Repair Workshop)","summary":"Recovery Hoist: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Recovery Hoist. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 1.68 × 2.37 × 1.20 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-recovery-hoist-5402eb05","cdnUrl":"https://cdn.3dassets.dev/assets/25496/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-recovery-hoist-5402eb05","thumbnailUrl":"https://cdn.3dassets.dev/assets/25496/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25496/v1/poster.webp","blurhash":"U46[8Y%200IV_N%M9EDjIBt7t7IUoKozkCRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":37484,"triangles":744,"vertices":2232,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.8400000333786011,-0.000040591233508434355,-0.6000256593908364],"max":[0.8400000333786011,2.369999885559082,0.6000256593908364]},"sizeMeters":[1.68,2.37,1.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:40:00.912Z","updatedAt":"2026-10-05T14:34:18.762Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25496/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RecoveryHoistSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25496/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25496/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25496/v1/model.glb\" alt=\"Recovery Hoist (Salvage and Repair Workshop)\" 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/25496/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/25496/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25497","slug":"salvage-and-repair-workshop-scrap-metal-bin-b5db0993","title":"Scrap Metal Bin (Salvage and Repair Workshop)","summary":"Scrap Metal Bin: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Scrap Metal Bin. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 1.10 × 0.68 × 0.80 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-scrap-metal-bin-b5db0993","cdnUrl":"https://cdn.3dassets.dev/assets/25497/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-scrap-metal-bin-b5db0993","thumbnailUrl":"https://cdn.3dassets.dev/assets/25497/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25497/v1/poster.webp","blurhash":"U3AdJ@x[00?be?D$Rj~q008_D$t7x[?bbW8_","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":38064,"triangles":756,"vertices":2268,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.550000011920929,-0.000029865660622130363,-0.40119798919172067],"max":[0.550000011920929,0.6800298728131795,0.40119798919172067]},"sizeMeters":[1.1,0.68,0.802],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:40:02.092Z","updatedAt":"2026-10-25T06:53:31.087Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25497/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ScrapMetalBinSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25497/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25497/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25497/v1/model.glb\" alt=\"Scrap Metal Bin (Salvage and Repair Workshop)\" 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/25497/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/25497/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25498","slug":"salvage-and-repair-workshop-wire-basket-bin-31a969a9","title":"Wire Basket Bin (Salvage and Repair Workshop)","summary":"Wire Basket Bin: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Wire Basket Bin. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.65 × 0.61 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-wire-basket-bin-31a969a9","cdnUrl":"https://cdn.3dassets.dev/assets/25498/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-wire-basket-bin-31a969a9","thumbnailUrl":"https://cdn.3dassets.dev/assets/25498/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25498/v1/poster.webp","blurhash":"U4D9@wRP009Fxa%M-;of00-;4n-q_4kCDiRk","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":141048,"triangles":2916,"vertices":8748,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.32499998807907104,0.000003881259396265602,-0.2500160130469419],"max":[0.32499998807907104,0.6119961071102475,0.2500160130469419]},"sizeMeters":[0.65,0.612,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:40:02.374Z","updatedAt":"2026-10-25T12:58:10.392Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25498/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WireBasketBinSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25498/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25498/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25498/v1/model.glb\" alt=\"Wire Basket Bin (Salvage and Repair Workshop)\" 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/25498/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/25498/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25499","slug":"salvage-and-repair-workshop-glass-sorting-rack-82ecf7b8","title":"Glass Sorting Rack (Salvage and Repair Workshop)","summary":"Glass Sorting Rack: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Glass Sorting Rack. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 1.00 × 1.34 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-glass-sorting-rack-82ecf7b8","cdnUrl":"https://cdn.3dassets.dev/assets/25499/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-glass-sorting-rack-82ecf7b8","thumbnailUrl":"https://cdn.3dassets.dev/assets/25499/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25499/v1/poster.webp","blurhash":"U49%^*?c00D$?c-=4T4m00IU?bt3_NxbtPR$","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":115136,"triangles":2376,"vertices":7128,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.49999833211771616,0,-0.24999916605885808],"max":[0.49999833211771616,1.3450000286102295,0.24999916605885808]},"sizeMeters":[1,1.345,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:40:02.706Z","updatedAt":"2026-10-05T14:42:43.671Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25499/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GlassSortingRackSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25499/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25499/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25499/v1/model.glb\" alt=\"Glass Sorting Rack (Salvage and Repair Workshop)\" 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/25499/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/25499/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25500","slug":"salvage-and-repair-workshop-component-drawer-cabinet-7a4cc095","title":"Component Drawer Cabinet (Salvage and Repair Workshop)","summary":"Component Drawer Cabinet: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Component Drawer Cabinet. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.70 × 1.00 × 0.45 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-component-drawer-cabinet-7a4cc095","cdnUrl":"https://cdn.3dassets.dev/assets/25500/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-component-drawer-cabinet-7a4cc095","thumbnailUrl":"https://cdn.3dassets.dev/assets/25500/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25500/v1/poster.webp","blurhash":"U98}6|M{00%M_Nt7DiRj-;xuD%M{x]t7RjNF","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":162496,"triangles":3348,"vertices":10044,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.3500167851802118,0,-0.22371593371379742],"max":[0.3500167851802118,1,0.22371593371379742]},"sizeMeters":[0.7,1,0.447],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:40:02.743Z","updatedAt":"2026-10-12T15:54:02.062Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25500/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ComponentDrawerCabinetSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25500/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25500/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25500/v1/model.glb\" alt=\"Component Drawer Cabinet (Salvage and Repair Workshop)\" 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/25500/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/25500/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25501","slug":"salvage-and-repair-workshop-oil-drain-tray-9eb6ee74","title":"Oil Drain Tray (Salvage and Repair Workshop)","summary":"Oil Drain Tray: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Oil Drain Tray. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.80 × 0.08 × 0.70 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-oil-drain-tray-9eb6ee74","cdnUrl":"https://cdn.3dassets.dev/assets/25501/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-oil-drain-tray-9eb6ee74","thumbnailUrl":"https://cdn.3dassets.dev/assets/25501/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25501/v1/poster.webp","blurhash":"U03S6GIT00?bozxuRiM{00%N~qD$sl9Zxb?I","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":23124,"triangles":444,"vertices":1332,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.39750000834465027,0.000008544969634025068,-0.3499999940395355],"max":[0.39750000834465027,0.07999145324222663,0.3499999940395355]},"sizeMeters":[0.795,0.08,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:40:03.830Z","updatedAt":"2026-10-13T10:43:15.481Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25501/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OilDrainTraySalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25501/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25501/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25501/v1/model.glb\" alt=\"Oil Drain Tray (Salvage and Repair Workshop)\" 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/25501/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/25501/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25502","slug":"salvage-and-repair-workshop-fastener-compartment-case-feeefb63","title":"Fastener Compartment Case (Salvage and Repair Workshop)","summary":"Fastener Compartment Case: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Fastener Compartment Case. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.40 × 0.09 × 0.30 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-fastener-compartment-case-feeefb63","cdnUrl":"https://cdn.3dassets.dev/assets/25502/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-fastener-compartment-case-feeefb63","thumbnailUrl":"https://cdn.3dassets.dev/assets/25502/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25502/v1/poster.webp","blurhash":"U35#qrt700og-=j[M_j]00af_4Rj00az%Nax","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":48500,"triangles":972,"vertices":2916,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.20000000298023224,0.000003889340503278327,-0.1499923726076915],"max":[0.20000000298023224,0.08499115065206198,0.1499923726076915]},"sizeMeters":[0.4,0.085,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:40:04.096Z","updatedAt":"2026-10-05T14:34:26.549Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25502/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FastenerCompartmentCaseSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25502/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25502/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25502/v1/model.glb\" alt=\"Fastener Compartment Case (Salvage and Repair Workshop)\" 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/25502/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/25502/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25503","slug":"salvage-and-repair-workshop-stacking-parts-tray-58fe225a","title":"Stacking Parts Tray (Salvage and Repair Workshop)","summary":"Stacking Parts Tray: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Stacking Parts Tray. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.46 × 0.20 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-stacking-parts-tray-58fe225a","cdnUrl":"https://cdn.3dassets.dev/assets/25503/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-stacking-parts-tray-58fe225a","thumbnailUrl":"https://cdn.3dassets.dev/assets/25503/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25503/v1/poster.webp","blurhash":"U4FgtJ~V01ivy?AcNG]z005T,.MxqZ^Kvf0+","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":38056,"triangles":756,"vertices":2268,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.22750000655651093,-0.0000016780709863328802,-0.25],"max":[0.22750000655651093,0.19499733475896333,0.25]},"sizeMeters":[0.455,0.195,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:40:04.342Z","updatedAt":"2026-10-05T14:34:26.741Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25503/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StackingPartsTraySalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25503/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25503/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25503/v1/model.glb\" alt=\"Stacking Parts Tray (Salvage and Repair Workshop)\" 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/25503/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/25503/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25504","slug":"salvage-and-repair-workshop-reclamation-trolley-890f784f","title":"Reclamation Trolley (Salvage and Repair Workshop)","summary":"Reclamation Trolley: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Reclamation Trolley. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.76 × 1.07 × 1.10 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-reclamation-trolley-890f784f","cdnUrl":"https://cdn.3dassets.dev/assets/25504/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-reclamation-trolley-890f784f","thumbnailUrl":"https://cdn.3dassets.dev/assets/25504/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25504/v1/poster.webp","blurhash":"UC9@edRj00%MRPD%bH%g8_Rjxvt7_NxuIUt7","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":238356,"triangles":4928,"vertices":14784,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.380015753248473,-0.000027604621443466648,-0.550000011920929],"max":[0.380015753248473,1.0700276570735308,0.550000011920929]},"sizeMeters":[0.76,1.07,1.1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:40:04.414Z","updatedAt":"2026-10-05T14:35:02.946Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25504/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ReclamationTrolleySalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25504/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25504/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25504/v1/model.glb\" alt=\"Reclamation Trolley (Salvage and Repair Workshop)\" 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/25504/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/25504/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25505","slug":"salvage-and-repair-workshop-coil-storage-spindle-c90cd624","title":"Coil Storage Spindle (Salvage and Repair Workshop)","summary":"Coil Storage Spindle: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Coil Storage Spindle. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 0.60 × 0.85 × 0.60 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-coil-storage-spindle-c90cd624","cdnUrl":"https://cdn.3dassets.dev/assets/25505/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-coil-storage-spindle-c90cd624","thumbnailUrl":"https://cdn.3dassets.dev/assets/25505/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25505/v1/poster.webp","blurhash":"U29i*g={009a_Lsp4oOA02R*^%s:Rle.smf+","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":72196,"triangles":1264,"vertices":3792,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.30001067630530076,1.490116363633831e-10,-0.30001067630530076],"max":[0.30001067630530076,0.8550000190734863,0.30001067630530076]},"sizeMeters":[0.6,0.855,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:40:05.580Z","updatedAt":"2026-10-05T14:34:28.941Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25505/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CoilStorageSpindleSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25505/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25505/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25505/v1/model.glb\" alt=\"Coil Storage Spindle (Salvage and Repair Workshop)\" 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/25505/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/25505/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25506","slug":"salvage-and-repair-workshop-repaired-equipment-shelf-5d3e2433","title":"Repaired Equipment Shelf (Salvage and Repair Workshop)","summary":"Repaired Equipment Shelf: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Repaired Equipment Shelf. Repair and recovery fixture with distinct working interfaces; purely static equipment, no simulated electronics or cutting. Dimensions 1.30 × 1.77 × 0.60 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-repaired-equipment-shelf-5d3e2433","cdnUrl":"https://cdn.3dassets.dev/assets/25506/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-repaired-equipment-shelf-5d3e2433","thumbnailUrl":"https://cdn.3dassets.dev/assets/25506/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25506/v1/poster.webp","blurhash":"U69ZZVs;0Nxt}?g49^r;$xa~E3ad={xaEfNG","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":49064,"triangles":972,"vertices":2916,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.6500014315741606,0,-0.2999988472228499],"max":[0.6500014315741606,1.7699688496626624,0.2999988472228499]},"sizeMeters":[1.3,1.77,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T20:40:05.822Z","updatedAt":"2026-10-05T06:27:35.054Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25506/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RepairedEquipmentShelfSalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25506/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25506/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25506/v1/model.glb\" alt=\"Repaired Equipment Shelf (Salvage and Repair Workshop)\" 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/25506/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/25506/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25508","slug":"salvage-and-repair-workshop-electronics--a0ee9ffa-starter-scene","title":"Electronics Repair Bay (Salvage and Repair Workshop)","summary":"Composed electronics repair bay with clear access paths and use-specific object placement. Static demonstration only.","description":"Composed electronics repair bay with clear access paths and use-specific object placement. Static demonstration only.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-electronics--a0ee9ffa-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/25508/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-electronics--a0ee9ffa-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/25508/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25508/v1/poster.webp","blurhash":"U27dUh}R56~q~p^iVrpI00F|#,IA0L0fg4VY","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":339488,"triangles":17020,"vertices":13424,"meshes":19,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-3.1500014315741605,0,-1.6207632671594512],"max":[1.949999988079071,1.7699999809265137,1.2999988472228499]},"sizeMeters":[5.1,1.77,2.921],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":16,"publishedAt":"2026-09-07T20:40:06.131Z","updatedAt":"2026-10-12T19:32:52.581Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25508/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ElectronicsRepairBaySalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25508/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25508/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25508/v1/model.glb\" alt=\"Electronics Repair Bay (Salvage and Repair Workshop)\" 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/25508/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/25508/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25507","slug":"salvage-and-repair-workshop-mechanical-recovery-bay-85f7ada9","title":"Mechanical Recovery Bay (Salvage and Repair Workshop)","summary":"Composed mechanical recovery bay with clear access paths and use-specific object placement. Static demonstration only.","description":"Composed mechanical recovery bay with clear access paths and use-specific object placement. Static demonstration only.","status":"published","url":"https://3dassets.dev/assets/salvage-and-repair-workshop-mechanical-recovery-bay-85f7ada9","cdnUrl":"https://cdn.3dassets.dev/assets/25507/v1/model.glb","downloadUrl":"https://3dassets.dev/download/salvage-and-repair-workshop-mechanical-recovery-bay-85f7ada9","thumbnailUrl":"https://cdn.3dassets.dev/assets/25507/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25507/v1/poster.webp","blurhash":"U37^_N4o9E.TM{VrXT-;00-pMyn3-ppdrp8_","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":237772,"triangles":11440,"vertices":9228,"meshes":17,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-2.699999988079071,-0.000040591233508434355,-2.1000256593908366],"max":[2.649999976158142,2.369999885559082,2.3250037386568225]},"sizeMeters":[5.35,2.37,4.425],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:40:06.110Z","updatedAt":"2026-10-05T14:34:33.008Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25507/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MechanicalRecoveryBaySalvageAndRepairWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25507/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25507/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25507/v1/model.glb\" alt=\"Mechanical Recovery Bay (Salvage and Repair Workshop)\" 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/25507/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/25507/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":null}}