{"data":{"id":232,"slug":"optician-and-optical-lens-workshop","title":"Optician and Optical Lens Workshop","summary":"Fifty original premium optical shop assets with complete examination instruments, eyewear retail fittings and a furnished lens workshop.","description":"Warm ivory, petrol blue, beech and steel optician setting with substantial refraction instruments, guarded lens processing fixtures, fine spectacles and differentiated frame-repair tools. Roofed retail frontage, enclosed examination area and stocked work surfaces. Static game props only; no clinical diagnosis, testing software, calibration, real prescriptions or certification.","url":"https://3dassets.dev/packs/optician-and-optical-lens-workshop","coverUrl":"https://cdn.3dassets.dev/assets/31716/v1/poster.webp","assetCount":51,"aiGenerated":true,"aiGeneratedAssetCount":51,"aiModels":["GPT-6"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":8388864,"totalTriangles":379848,"starterScene":{"id":"31716","slug":"optician-and-optical-lens-workshop-optic-6d824622-starter-scene","title":"Eyewear fitting, examination and lens workshop (Optician and Optical Lens Workshop)","summary":"Compact furnished optician with stocked display columns, reception and fitting desks, enclosed exam room and supported lens-workshop tools at physical scale.","description":"Compact furnished optician with stocked display columns, reception and fitting desks, enclosed exam room and supported lens-workshop tools at physical scale.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optic-6d824622-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/31716/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optic-6d824622-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/31716/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31716/v1/poster.webp","blurhash":"U5C71uIo00-;E1IoRP-p00s.?vRj~V-;%M9F","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":4107084,"triangles":190152,"vertices":186114,"meshes":174,"materials":10,"textures":0,"animations":[],"boundingBox":{"min":[-6,0.00016357831672164647,-5.499740592669454],"max":[6,3.679005335043038,5.499740592669454]},"sizeMeters":[12,3.679,10.999],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":2,"publishedAt":"2026-09-08T10:49:20.253Z","updatedAt":"2026-09-08T16:10:44.578Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31716/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EyewearFittingExaminationAndLensWorkshopOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31716/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31716/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31716/v1/model.glb\" alt=\"Eyewear fitting, examination and lens workshop (Optician and Optical Lens 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/31716/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/31716/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"31666","slug":"optician-and-optical-lens-workshop-optician-and-optica-7d0f051d","title":"Roofed Opticians Shop (Optician and Optical Lens Workshop)","summary":"Closed roofed optical shop with full rear wall, supported clear glazed roof, framed side glazing, low retail frontage and broad central entry.","description":"Closed roofed optical shop with full rear wall, supported clear glazed roof, framed side glazing, low retail frontage and broad central entry. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-7d0f051d","cdnUrl":"https://cdn.3dassets.dev/assets/31666/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-7d0f051d","thumbnailUrl":"https://cdn.3dassets.dev/assets/31666/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31666/v1/poster.webp","blurhash":"U7Ep1fD*00-;E1D*of-:00xt-;M{~V^+WB9G","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":82836,"triangles":3996,"vertices":3484,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-5.037499904632568,-0.00008392500698928274,-4.555073387480875],"max":[5.037499904632568,3.5150053350430372,4.5498461768731]},"sizeMeters":[10.075,3.515,9.105],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:54.978Z","updatedAt":"2026-09-08T10:48:55.084Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31666/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RoofedOpticiansShopOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31666/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31666/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31666/v1/model.glb\" alt=\"Roofed Opticians Shop (Optician and Optical Lens 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/31666/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/31666/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31667","slug":"optician-and-optical-lens-workshop-optician-and-optica-2c28f512","title":"Examination Room Shell (Optician and Optical Lens Workshop)","summary":"Distinct privacy partition booth with raised opaque panels, framed viewing glazing, deliberate threshold doorway, perimeter ceiling soffit and supported raised glazed clerestory roof.","description":"Distinct privacy partition booth with raised opaque panels, framed viewing glazing, deliberate threshold doorway, perimeter ceiling soffit and supported raised glazed clerestory roof. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-2c28f512","cdnUrl":"https://cdn.3dassets.dev/assets/31667/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-2c28f512","thumbnailUrl":"https://cdn.3dassets.dev/assets/31667/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31667/v1/poster.webp","blurhash":"U8F?Ibx]00%L01D%%L%M00%18{D%~V-:={oL","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":103176,"triangles":4968,"vertices":4330,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.9048931019515811,0.00006220317136662601,-2.0511999130249023],"max":[1.9048931019515811,3.038870563571829,2.079990489886271]},"sizeMeters":[3.81,3.039,4.131],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:54.500Z","updatedAt":"2026-09-08T10:48:54.599Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31667/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ExaminationRoomShellOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31667/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31667/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31667/v1/model.glb\" alt=\"Examination Room Shell (Optician and Optical Lens 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/31667/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/31667/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31668","slug":"optician-and-optical-lens-workshop-optician-and-optica-c19e6604","title":"Refraction Chair (Optician and Optical Lens Workshop)","summary":"Adjustable-looking refraction chair with weighted pedestal, upholstered seat/back/headrest, supported armrests and cantilevered footrest.","description":"Adjustable-looking refraction chair with weighted pedestal, upholstered seat/back/headrest, supported armrests and cantilevered footrest. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-c19e6604","cdnUrl":"https://cdn.3dassets.dev/assets/31668/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-c19e6604","thumbnailUrl":"https://cdn.3dassets.dev/assets/31668/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31668/v1/poster.webp","blurhash":"U47ByDI900?wTdR5Z$%gD4of*0kWicbao}jI","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":88568,"triangles":4608,"vertices":3558,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.3674901602144851,0.000006069865476909797,-0.3400000035762787],"max":[0.3674901602144851,1.3600000143051147,0.7049961854773446]},"sizeMeters":[0.735,1.36,1.045],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:54.698Z","updatedAt":"2026-09-08T10:48:54.820Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31668/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RefractionChairOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31668/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31668/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31668/v1/model.glb\" alt=\"Refraction Chair (Optician and Optical Lens 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/31668/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/31668/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31669","slug":"optician-and-optical-lens-workshop-optician-and-optica-3e0c0da8","title":"Instrument Support Column (Optician and Optical Lens Workshop)","summary":"Anchored instrument support column with telescoping collar, locking knobs and substantial upper mounting plate.","description":"Anchored instrument support column with telescoping collar, locking knobs and substantial upper mounting plate. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-3e0c0da8","cdnUrl":"https://cdn.3dassets.dev/assets/31669/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-3e0c0da8","thumbnailUrl":"https://cdn.3dassets.dev/assets/31669/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31669/v1/poster.webp","blurhash":"U06H}*~q0000I9D*E2-;+LRiK}-rNKxu$$IU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":39044,"triangles":1104,"vertices":1830,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.25999356642244376,6.705522803684971e-10,-0.24004427599894804],"max":[0.25999356642244376,1.7111999988555908,0.24004427599894804]},"sizeMeters":[0.52,1.711,0.48],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:56.178Z","updatedAt":"2026-09-08T10:48:56.276Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31669/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function InstrumentSupportColumnOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31669/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31669/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31669/v1/model.glb\" alt=\"Instrument Support Column (Optician and Optical Lens 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/31669/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/31669/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31670","slug":"optician-and-optical-lens-workshop-optician-and-optica-3dfb9d2e","title":"Articulated Phoropter Arm (Optician and Optical Lens Workshop)","summary":"Two-link articulated refraction arm with supported pivot barrels, connecting bars and a lowered instrument mounting bracket.","description":"Two-link articulated refraction arm with supported pivot barrels, connecting bars and a lowered instrument mounting bracket. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-3dfb9d2e","cdnUrl":"https://cdn.3dassets.dev/assets/31670/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-3dfb9d2e","thumbnailUrl":"https://cdn.3dassets.dev/assets/31670/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31670/v1/poster.webp","blurhash":"U35=Ry-W00O?-=?vR%4T00XT.SVWDj9F%M_3","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":40472,"triangles":1944,"vertices":1654,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.07999999821186066,-0.00001182150162662432,-0.0900011461577275],"max":[0.8199999928474426,0.27501182761110277,0.31000993171282787]},"sizeMeters":[0.9,0.275,0.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:56.324Z","updatedAt":"2026-09-08T10:48:56.441Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31670/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ArticulatedPhoropterArmOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31670/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31670/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31670/v1/model.glb\" alt=\"Articulated Phoropter Arm (Optician and Optical Lens 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/31670/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/31670/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31671","slug":"optician-and-optical-lens-workshop-optician-and-optica-ddfdff5c","title":"Manual Phoropter (Optician and Optical Lens Workshop)","summary":"Manual phoropter with two substantial lens banks, distinct viewing apertures, selector dials, rear covers and a supported bridge mount.","description":"Manual phoropter with two substantial lens banks, distinct viewing apertures, selector dials, rear covers and a supported bridge mount. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-ddfdff5c","cdnUrl":"https://cdn.3dassets.dev/assets/31671/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-ddfdff5c","thumbnailUrl":"https://cdn.3dassets.dev/assets/31671/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31671/v1/poster.webp","blurhash":"U8CGc5%g00aK00%M_29F00D%~q%M_2IUD*?b","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":173896,"triangles":8952,"vertices":7203,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.25,-0.00001372736879973191,-0.11000992922055444],"max":[0.25099998712539673,0.5600000023841858,0.11801358508143102]},"sizeMeters":[0.501,0.56,0.228],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:56.456Z","updatedAt":"2026-09-08T10:48:56.580Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31671/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ManualPhoropterOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31671/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31671/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31671/v1/model.glb\" alt=\"Manual Phoropter (Optician and Optical Lens 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/31671/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/31671/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31672","slug":"optician-and-optical-lens-workshop-optician-and-optica-4a22b5fc","title":"Slit Lamp (Optician and Optical Lens Workshop)","summary":"Slit lamp with paired ocular tubes, independent lamp column, chin and forehead rests, supported moving-looking stage and joystick.","description":"Slit lamp with paired ocular tubes, independent lamp column, chin and forehead rests, supported moving-looking stage and joystick. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-4a22b5fc","cdnUrl":"https://cdn.3dassets.dev/assets/31672/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-4a22b5fc","thumbnailUrl":"https://cdn.3dassets.dev/assets/31672/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31672/v1/poster.webp","blurhash":"U68;x%M_00x]~AE19u?b00D%.8~WXUbHaKxG","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":141248,"triangles":6780,"vertices":5978,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.20999999344348907,-0.000004268968791909522,-0.17500747157082908],"max":[0.20999999344348907,0.577307403087616,0.28501181465474384]},"sizeMeters":[0.42,0.577,0.46],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:56.678Z","updatedAt":"2026-09-08T10:48:56.801Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31672/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SlitLampOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31672/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31672/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31672/v1/model.glb\" alt=\"Slit Lamp (Optician and Optical Lens 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/31672/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/31672/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31673","slug":"optician-and-optical-lens-workshop-optician-and-optica-c3c32435","title":"Instrument Sliding Table (Optician and Optical Lens Workshop)","summary":"Sliding instrument table with full legs, dual linear guides, thick top and a supported front positioning handle.","description":"Sliding instrument table with full legs, dual linear guides, thick top and a supported front positioning handle. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-c3c32435","cdnUrl":"https://cdn.3dassets.dev/assets/31673/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-c3c32435","thumbnailUrl":"https://cdn.3dassets.dev/assets/31673/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31673/v1/poster.webp","blurhash":"UZD9*Uof9Gay~qoyD%WBxut7RjRjIVt7t7Rj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":39920,"triangles":1584,"vertices":1703,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.4749999940395355,-0.000022354942221240737,-0.3100176968452866],"max":[0.4749999940395355,0.8550230636849382,0.36202219708929506]},"sizeMeters":[0.95,0.855,0.672],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:57.943Z","updatedAt":"2026-09-08T10:48:58.044Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31673/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function InstrumentSlidingTableOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31673/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31673/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31673/v1/model.glb\" alt=\"Instrument Sliding Table (Optician and Optical Lens 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/31673/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/31673/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31674","slug":"optician-and-optical-lens-workshop-optician-and-optica-6f3b2c6d","title":"Autorefractor (Optician and Optical Lens Workshop)","summary":"Enclosed autorefractor with distinct measurement aperture, separate patient support frame, chin rest and rear operator display.","description":"Enclosed autorefractor with distinct measurement aperture, separate patient support frame, chin rest and rear operator display. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-6f3b2c6d","cdnUrl":"https://cdn.3dassets.dev/assets/31674/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-6f3b2c6d","thumbnailUrl":"https://cdn.3dassets.dev/assets/31674/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31674/v1/poster.webp","blurhash":"UIE3SMxu00Rj~Vad9Gt700WB%LofE1kCx[Rk","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":83080,"triangles":3840,"vertices":3388,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.20001373047841153,0.00000763417373411679,-0.24250474582709425],"max":[0.20001373047841153,0.4464833100843678,0.22499999403953552]},"sizeMeters":[0.4,0.446,0.468],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:59.108Z","updatedAt":"2026-09-08T10:48:59.206Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31674/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AutorefractorOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31674/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31674/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31674/v1/model.glb\" alt=\"Autorefractor (Optician and Optical Lens 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/31674/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/31674/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31675","slug":"optician-and-optical-lens-workshop-optician-and-optica-3a9f35ce","title":"Visual Chart Display (Optician and Optical Lens Workshop)","summary":"Wall chart display with original abstract graduated glyph rows, framed front panel and supported mounting block; no clinical chart certification.","description":"Wall chart display with original abstract graduated glyph rows, framed front panel and supported mounting block; no clinical chart certification. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-3a9f35ce","cdnUrl":"https://cdn.3dassets.dev/assets/31675/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-3a9f35ce","thumbnailUrl":"https://cdn.3dassets.dev/assets/31675/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31675/v1/poster.webp","blurhash":"UBCjOq~q00D*T0%g%MIA009Z_3%1s,NaM|wv","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":225732,"triangles":11124,"vertices":9784,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.25,-6.115622824542921e-7,-0.09250343405867092],"max":[0.25,0.38000060917809664,0.045496291595245646]},"sizeMeters":[0.5,0.38,0.138],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:59.263Z","updatedAt":"2026-09-08T10:48:59.359Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31675/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VisualChartDisplayOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31675/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31675/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31675/v1/model.glb\" alt=\"Visual Chart Display (Optician and Optical Lens 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/31675/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/31675/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31676","slug":"optician-and-optical-lens-workshop-optician-and-optica-1ed61ec6","title":"Trial Lens Case (Optician and Optical Lens Workshop)","summary":"Open fitted trial lens case with twenty individually rimmed glass disks nested in a foam bed, hinge blocks and raised lid.","description":"Open fitted trial lens case with twenty individually rimmed glass disks nested in a foam bed, hinge blocks and raised lid. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-1ed61ec6","cdnUrl":"https://cdn.3dassets.dev/assets/31676/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-1ed61ec6","thumbnailUrl":"https://cdn.3dassets.dev/assets/31676/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31676/v1/poster.webp","blurhash":"UEAA]w%2Dha#9aRjrqV@8_IpM{nh~W%Mozni","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":303412,"triangles":18228,"vertices":11828,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.25,0.000007857454482333714,-0.18361554485721995],"max":[0.25,0.41620867296375286,0.1750083925901059]},"sizeMeters":[0.5,0.416,0.359],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:58.483Z","updatedAt":"2026-09-08T10:48:58.579Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31676/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TrialLensCaseOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31676/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31676/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31676/v1/model.glb\" alt=\"Trial Lens Case (Optician and Optical Lens 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/31676/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/31676/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31677","slug":"optician-and-optical-lens-workshop-optician-and-optica-3cf7ed37","title":"Adjustable Trial Frame (Optician and Optical Lens Workshop)","summary":"Adjustable trial frame with separate circular lens-retaining rims, bridge screw, temple hinges and external retaining knobs.","description":"Adjustable trial frame with separate circular lens-retaining rims, bridge screw, temple hinges and external retaining knobs. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-3cf7ed37","cdnUrl":"https://cdn.3dassets.dev/assets/31677/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-3cf7ed37","thumbnailUrl":"https://cdn.3dassets.dev/assets/31677/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31677/v1/poster.webp","blurhash":"U571$T_NDi4nIARjxut700D%x[-;?bt7IUj[","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":176164,"triangles":9884,"vertices":7160,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.06574577835721054,0.0000011360005422386688,-0.1260448843240738],"max":[0.06574577835721054,0.06375886148652593,0.013000000268220901]},"sizeMeters":[0.131,0.064,0.139],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:48:59.650Z","updatedAt":"2026-09-08T10:49:00.145Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31677/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AdjustableTrialFrameOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31677/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31677/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31677/v1/model.glb\" alt=\"Adjustable Trial Frame (Optician and Optical Lens 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/31677/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/31677/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31678","slug":"optician-and-optical-lens-workshop-optician-and-optica-3bfa99b7","title":"Handheld Occluder (Optician and Optical Lens Workshop)","summary":"Handheld occluder with thin closed rounded paddle and integrated narrow handle.","description":"Handheld occluder with thin closed rounded paddle and integrated narrow handle. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-3bfa99b7","cdnUrl":"https://cdn.3dassets.dev/assets/31678/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-3bfa99b7","thumbnailUrl":"https://cdn.3dassets.dev/assets/31678/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31678/v1/poster.webp","blurhash":"U33JDJR5Hrt,x]R4RPtl4To}%#a1H=ys%NMJ","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":12644,"triangles":576,"vertices":489,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.022997192652229197,-9.764640927396873e-7,-0.023000000044703484],"max":[0.022997192652229197,0.00800097684407235,0.11500000208616257]},"sizeMeters":[0.046,0.008,0.138],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:00.264Z","updatedAt":"2026-09-08T10:49:00.370Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31678/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HandheldOccluderOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31678/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31678/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31678/v1/model.glb\" alt=\"Handheld Occluder (Optician and Optical Lens 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/31678/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/31678/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31679","slug":"optician-and-optical-lens-workshop-optician-and-optica-6bbc54e3","title":"Near Vision Card Stand (Optician and Optical Lens Workshop)","summary":"Near-card stand with weighted base, supported stem and original graduated line pattern card.","description":"Near-card stand with weighted base, supported stem and original graduated line pattern card. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-6bbc54e3","cdnUrl":"https://cdn.3dassets.dev/assets/31679/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-6bbc54e3","thumbnailUrl":"https://cdn.3dassets.dev/assets/31679/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31679/v1/poster.webp","blurhash":"U7AK2Hx]00D%~poy01M{%3xaM{E18{xa?bIn","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":19924,"triangles":744,"vertices":769,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.07999999821186066,-5.215405884939628e-11,-0.04999633751980485],"max":[0.07999999821186066,0.29999695634475926,0.04999633751980485]},"sizeMeters":[0.16,0.3,0.1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:00.986Z","updatedAt":"2026-09-08T10:49:01.091Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31679/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NearVisionCardStandOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31679/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31679/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31679/v1/model.glb\" alt=\"Near Vision Card Stand (Optician and Optical Lens 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/31679/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/31679/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31680","slug":"optician-and-optical-lens-workshop-optician-and-optica-9edc104d","title":"Pupil Distance Gauge (Optician and Optical Lens Workshop)","summary":"Compact handheld pupil-distance gauge with paired observation apertures, recessed display and adjustment controls.","description":"Compact handheld pupil-distance gauge with paired observation apertures, recessed display and adjustment controls. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-9edc104d","cdnUrl":"https://cdn.3dassets.dev/assets/31680/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-9edc104d","thumbnailUrl":"https://cdn.3dassets.dev/assets/31680/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31680/v1/poster.webp","blurhash":"UAEfQXIU00My_3?bIUD%00-;~qof004o%g%M","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":79724,"triangles":4632,"vertices":2933,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.07999999821186066,-0.0000031271972023329264,-0.044001189475450404],"max":[0.07999999821186066,0.05000120688365205,0.05765642604876777]},"sizeMeters":[0.16,0.05,0.102],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:01.033Z","updatedAt":"2026-09-08T10:49:01.132Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31680/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PupilDistanceGaugeOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31680/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31680/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31680/v1/model.glb\" alt=\"Pupil Distance Gauge (Optician and Optical Lens 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/31680/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/31680/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31681","slug":"optician-and-optical-lens-workshop-optician-and-optica-3074623a","title":"Lensmeter (Optician and Optical Lens Workshop)","summary":"Bench lensmeter with supported optical barrel, retained lens stage, adjustment shafts and enclosed instrument body.","description":"Bench lensmeter with supported optical barrel, retained lens stage, adjustment shafts and enclosed instrument body. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-3074623a","cdnUrl":"https://cdn.3dassets.dev/assets/31681/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-3074623a","thumbnailUrl":"https://cdn.3dassets.dev/assets/31681/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31681/v1/poster.webp","blurhash":"UFCZw;IV00%M~VM{9F%M00of%2bb9uxa%MRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":99572,"triangles":5148,"vertices":3989,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.14999969146215078,-8.387188247388488e-7,-0.1599999964237213],"max":[0.14999969146215078,0.35500001907348633,0.1858000010251999]},"sizeMeters":[0.3,0.355,0.346],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:02.852Z","updatedAt":"2026-09-08T10:49:02.951Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31681/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LensmeterOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31681/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31681/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31681/v1/model.glb\" alt=\"Lensmeter (Optician and Optical Lens 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/31681/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/31681/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31682","slug":"optician-and-optical-lens-workshop-optician-and-optica-df2004f4","title":"Spectacle Fitting Desk (Optician and Optical Lens Workshop)","summary":"Beech-topped fitting desk with twin drawer pedestals, clear central knee space, handles and reinforced rear panel.","description":"Beech-topped fitting desk with twin drawer pedestals, clear central knee space, handles and reinforced rear panel. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-df2004f4","cdnUrl":"https://cdn.3dassets.dev/assets/31682/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-df2004f4","thumbnailUrl":"https://cdn.3dassets.dev/assets/31682/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31682/v1/poster.webp","blurhash":"UJB3~Lxu4:og~pxuE2M|IAt7ofIV4.j?%1R*","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":90852,"triangles":3228,"vertices":4160,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.7400000095367432,-0.000018075803309480776,-0.3799932908250752],"max":[0.7400000095367432,0.8400369889277703,0.3799932908250752]},"sizeMeters":[1.48,0.84,0.76],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:01.938Z","updatedAt":"2026-09-08T10:49:02.041Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31682/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpectacleFittingDeskOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31682/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31682/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31682/v1/model.glb\" alt=\"Spectacle Fitting Desk (Optician and Optical Lens 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/31682/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/31682/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31683","slug":"optician-and-optical-lens-workshop-optician-and-optica-71364d06","title":"Adjustable Fitting Mirror (Optician and Optical Lens Workshop)","summary":"Oval fitting mirror with a closed reflective face, pivot axle, full rim and weighted support base.","description":"Oval fitting mirror with a closed reflective face, pivot axle, full rim and weighted support base. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-71364d06","cdnUrl":"https://cdn.3dassets.dev/assets/31683/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-71364d06","thumbnailUrl":"https://cdn.3dassets.dev/assets/31683/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31683/v1/poster.webp","blurhash":"U27-m8.8004T00IU_3.8V@aea{oz^,%MM{D%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":46880,"triangles":2688,"vertices":1836,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.09999274166571077,0,-0.09999274166571077],"max":[0.09999274166571077,0.3620000183582306,0.09999274166571077]},"sizeMeters":[0.2,0.362,0.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:02.691Z","updatedAt":"2026-09-08T10:49:02.784Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31683/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AdjustableFittingMirrorOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31683/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31683/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31683/v1/model.glb\" alt=\"Adjustable Fitting Mirror (Optician and Optical Lens 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/31683/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/31683/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31684","slug":"optician-and-optical-lens-workshop-optician-and-optica-64b5012e","title":"Frame Display Column (Optician and Optical Lens Workshop)","summary":"Stockable display column with seven supported shallow eyewear ledges and retaining arms.","description":"Stockable display column with seven supported shallow eyewear ledges and retaining arms. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-64b5012e","cdnUrl":"https://cdn.3dassets.dev/assets/31684/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-64b5012e","thumbnailUrl":"https://cdn.3dassets.dev/assets/31684/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31684/v1/poster.webp","blurhash":"U4ATWU_30000waV@I[tR01NG~W-ps:oyWXRQ","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":48056,"triangles":1644,"vertices":2192,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.15002167033811556,-8.940697071579962e-10,-0.13999115168178808],"max":[0.15002167033811556,1.6949999332427979,0.16496353080485335]},"sizeMeters":[0.3,1.695,0.305],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:02.764Z","updatedAt":"2026-09-08T10:49:02.871Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31684/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrameDisplayColumnOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31684/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31684/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31684/v1/model.glb\" alt=\"Frame Display Column (Optician and Optical Lens 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/31684/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/31684/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31685","slug":"optician-and-optical-lens-workshop-optician-and-optica-798014c2","title":"Spectacle Display Tray (Optician and Optical Lens Workshop)","summary":"Padded spectacle tray with two separated fitting bays and complete retaining rim.","description":"Padded spectacle tray with two separated fitting bays and complete retaining rim. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-798014c2","cdnUrl":"https://cdn.3dassets.dev/assets/31685/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-798014c2","thumbnailUrl":"https://cdn.3dassets.dev/assets/31685/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31685/v1/poster.webp","blurhash":"UBCGfE%300k9~qxuMxRj00ayyDM{00IUWXWD","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":27836,"triangles":1344,"vertices":1040,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.17000000178813934,0.000006942922630238935,-0.125003205758337],"max":[0.17000000178813934,0.055594655897500275,0.125003205758337]},"sizeMeters":[0.34,0.056,0.25],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:03.700Z","updatedAt":"2026-09-08T10:49:03.800Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31685/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpectacleDisplayTrayOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31685/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31685/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31685/v1/model.glb\" alt=\"Spectacle Display Tray (Optician and Optical Lens 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/31685/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/31685/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31688","slug":"optician-and-optical-lens-workshop-optician-and-optica-d1329752","title":"Acetate Spectacle Frame (Optician and Optical Lens Workshop)","summary":"Broad acetate spectacles with substantial oval rims, formed bridge, hinged temples and curved ear tips.","description":"Broad acetate spectacles with substantial oval rims, formed bridge, hinged temples and curved ear tips. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-d1329752","cdnUrl":"https://cdn.3dassets.dev/assets/31688/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-d1329752","thumbnailUrl":"https://cdn.3dassets.dev/assets/31688/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31688/v1/poster.webp","blurhash":"U43JY@ysIAMwjFoMofW.8wMJt6spbvWSRjnj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":303684,"triangles":7736,"vertices":15935,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.06707831472158432,-0.000003124989729947486,-0.12696163350223513],"max":[0.06707831472158432,0.04600407875345332,0.003002473325198013]},"sizeMeters":[0.134,0.046,0.13],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:04.537Z","updatedAt":"2026-09-08T10:49:04.657Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31688/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AcetateSpectacleFrameOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31688/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31688/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31688/v1/model.glb\" alt=\"Acetate Spectacle Frame (Optician and Optical Lens 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/31688/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/31688/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31687","slug":"optician-and-optical-lens-workshop-optician-and-optica-0e5eaec2","title":"Wire Spectacle Frame (Optician and Optical Lens Workshop)","summary":"Fine wire spectacles with narrow metal rims, separate nose pads, hinge barrels and slender swept temple arms.","description":"Fine wire spectacles with narrow metal rims, separate nose pads, hinge barrels and slender swept temple arms. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-0e5eaec2","cdnUrl":"https://cdn.3dassets.dev/assets/31687/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-0e5eaec2","thumbnailUrl":"https://cdn.3dassets.dev/assets/31687/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31687/v1/poster.webp","blurhash":"U67nao_NE1D%M{RjRjju009Ft7xb-;xuxtoz","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":105520,"triangles":5552,"vertices":4370,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.06574571877717972,-0.0000022354350983321003,-0.12604260413802262],"max":[0.06574571877717972,0.04313267048463218,0.0019977199089437347]},"sizeMeters":[0.131,0.043,0.128],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:04.535Z","updatedAt":"2026-09-08T10:49:04.639Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31687/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WireSpectacleFrameOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31687/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31687/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31687/v1/model.glb\" alt=\"Wire Spectacle Frame (Optician and Optical Lens 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/31687/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/31687/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31686","slug":"optician-and-optical-lens-workshop-optician-and-optica-9dda7baa","title":"Spectacle Storage Case (Optician and Optical Lens Workshop)","summary":"Open spectacle storage case with padded hollow base, thick lid and connected raised hinge supports.","description":"Open spectacle storage case with padded hollow base, thick lid and connected raised hinge supports. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-9dda7baa","cdnUrl":"https://cdn.3dassets.dev/assets/31686/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-9dda7baa","thumbnailUrl":"https://cdn.3dassets.dev/assets/31686/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31686/v1/poster.webp","blurhash":"UFBq0a%M8^n%EMx]$%M{00E1xus-~pIoD*so","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":34732,"triangles":1428,"vertices":1326,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.09000000357627869,-0.000002823365811820827,-0.04110949811590077],"max":[0.09000000357627869,0.11702990885674462,0.03750023037894628]},"sizeMeters":[0.18,0.117,0.079],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:04.508Z","updatedAt":"2026-09-08T10:49:04.602Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31686/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpectacleStorageCaseOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31686/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31686/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31686/v1/model.glb\" alt=\"Spectacle Storage Case (Optician and Optical Lens 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/31686/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/31686/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31689","slug":"optician-and-optical-lens-workshop-optician-and-optica-c07d251d","title":"Lens Cleaning Cloth Holder (Optician and Optical Lens Workshop)","summary":"Recessed cloth holder with four separate folded cleaning cloths and a retaining tab.","description":"Recessed cloth holder with four separate folded cleaning cloths and a retaining tab. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-c07d251d","cdnUrl":"https://cdn.3dassets.dev/assets/31689/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-c07d251d","thumbnailUrl":"https://cdn.3dassets.dev/assets/31689/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31689/v1/poster.webp","blurhash":"U4BgPS_M009G?vxuMxM{00D%?^WB4TIAxuxt","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":54420,"triangles":3000,"vertices":2078,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.07500000298023224,0.000002669966112143693,-0.06500213887861615],"max":[0.07500000298023224,0.07900201357350495,0.06500213887861615]},"sizeMeters":[0.15,0.079,0.13],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:06.425Z","updatedAt":"2026-09-08T10:49:06.527Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31689/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LensCleaningClothHolderOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31689/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31689/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31689/v1/model.glb\" alt=\"Lens Cleaning Cloth Holder (Optician and Optical Lens 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/31689/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/31689/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31690","slug":"optician-and-optical-lens-workshop-optician-and-optica-ea6e8c97","title":"Lens Dispensing Cabinet (Optician and Optical Lens Workshop)","summary":"Lens dispensing cabinet with five differentiated front drawers, label recesses, pull handles and closed ventilated rear.","description":"Lens dispensing cabinet with five differentiated front drawers, label recesses, pull handles and closed ventilated rear. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-ea6e8c97","cdnUrl":"https://cdn.3dassets.dev/assets/31690/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-ea6e8c97","thumbnailUrl":"https://cdn.3dassets.dev/assets/31690/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31690/v1/poster.webp","blurhash":"UAA^n0~p0000t,ofZ~WB00D%^+_2o}aeV?of","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":165616,"triangles":5988,"vertices":7849,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.3610118486809735,6.705522803684971e-10,-0.21048289889368046],"max":[0.3610118486809735,1.5750000476837158,0.2819994459473337]},"sizeMeters":[0.722,1.575,0.492],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:06.179Z","updatedAt":"2026-09-08T10:49:06.279Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31690/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LensDispensingCabinetOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31690/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31690/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31690/v1/model.glb\" alt=\"Lens Dispensing Cabinet (Optician and Optical Lens 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/31690/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/31690/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31691","slug":"optician-and-optical-lens-workshop-optician-and-optica-3fe9aa80","title":"Optical Workshop Bench (Optician and Optical Lens Workshop)","summary":"Long optical workbench with durable steel worktop, side drawers, clear leg space and supported rear splash rail.","description":"Long optical workbench with durable steel worktop, side drawers, clear leg space and supported rear splash rail. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-3fe9aa80","cdnUrl":"https://cdn.3dassets.dev/assets/31691/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-3fe9aa80","thumbnailUrl":"https://cdn.3dassets.dev/assets/31691/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31691/v1/poster.webp","blurhash":"UD9Hb4xtIAtR?w%gRPRP4Tx]xuIT4TIUxuof","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":92168,"triangles":3336,"vertices":4257,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.2400000095367432,-0.00003060376665309228,-0.4299337781410242],"max":[1.2400000095367432,0.9400189181304696,0.4299337781410242]},"sizeMeters":[2.48,0.94,0.86],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:06.202Z","updatedAt":"2026-09-08T10:49:06.327Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31691/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OpticalWorkshopBenchOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31691/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31691/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31691/v1/model.glb\" alt=\"Optical Workshop Bench (Optician and Optical Lens 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/31691/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/31691/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31692","slug":"optician-and-optical-lens-workshop-optician-and-optica-170f3576","title":"Lens Tracing Machine (Optician and Optical Lens Workshop)","summary":"Tracing instrument with circular retained frame stage, paired clamps and a supported fine tracing stylus above the bed.","description":"Tracing instrument with circular retained frame stage, paired clamps and a supported fine tracing stylus above the bed. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-170f3576","cdnUrl":"https://cdn.3dassets.dev/assets/31692/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-170f3576","thumbnailUrl":"https://cdn.3dassets.dev/assets/31692/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31692/v1/poster.webp","blurhash":"U36+33.S00IU,qjEIpkX00H?_Nt772Nb-Vs+","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":72560,"triangles":2964,"vertices":3169,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.1809999942779541,7.79425482780316e-7,-0.16050885255265565],"max":[0.1809999942779541,0.258996691430635,0.16400006495339536]},"sizeMeters":[0.362,0.259,0.325],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:07.341Z","updatedAt":"2026-09-08T10:49:07.450Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31692/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LensTracingMachineOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31692/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31692/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31692/v1/model.glb\" alt=\"Lens Tracing Machine (Optician and Optical Lens 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/31692/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/31692/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31693","slug":"optician-and-optical-lens-workshop-optician-and-optica-f0949b93","title":"Lens Blocking Jig (Optician and Optical Lens Workshop)","summary":"Lens blocking jig with a supported cup stage, rigid upright, swing arm and separate pressing head.","description":"Lens blocking jig with a supported cup stage, rigid upright, swing arm and separate pressing head. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-f0949b93","cdnUrl":"https://cdn.3dassets.dev/assets/31693/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-f0949b93","thumbnailUrl":"https://cdn.3dassets.dev/assets/31693/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31693/v1/poster.webp","blurhash":"U36[mxT100$}qGI9KQ-=00n$?bo#ysx^s:M{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":37108,"triangles":1740,"vertices":1525,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.10999999940395355,-0.000007872253113050398,-0.10999999940395355],"max":[0.10999999940395355,0.2720000147819519,0.10999999940395355]},"sizeMeters":[0.22,0.272,0.22],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:07.807Z","updatedAt":"2026-09-08T10:49:07.910Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31693/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LensBlockingJigOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31693/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31693/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31693/v1/model.glb\" alt=\"Lens Blocking Jig (Optician and Optical Lens 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/31693/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/31693/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31694","slug":"optician-and-optical-lens-workshop-optician-and-optica-fae47092","title":"Lens Edger (Optician and Optical Lens Workshop)","summary":"Guarded lens edger with enclosed lower drive, thick sidewalls, clear front shield, supported opposed chuck pair and recessed grinding wheel.","description":"Guarded lens edger with enclosed lower drive, thick sidewalls, clear front shield, supported opposed chuck pair and recessed grinding wheel. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-fae47092","cdnUrl":"https://cdn.3dassets.dev/assets/31694/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-fae47092","thumbnailUrl":"https://cdn.3dassets.dev/assets/31694/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31694/v1/poster.webp","blurhash":"UFD]-vNGDh-:~qxaRiR*00%2M{D*9ZM|D%sl","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":95040,"triangles":3672,"vertices":4203,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.3109999895095825,0.000022973804767456585,-0.2204927059090159],"max":[0.3109999895095825,0.4499876931196919,0.26199473550722086]},"sizeMeters":[0.622,0.45,0.482],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:07.923Z","updatedAt":"2026-09-08T10:49:08.046Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31694/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LensEdgerOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31694/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31694/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31694/v1/model.glb\" alt=\"Lens Edger (Optician and Optical Lens 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/31694/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/31694/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31695","slug":"optician-and-optical-lens-workshop-optician-and-optica-6ee8bdcf","title":"Hand Lens Finishing Wheel (Optician and Optical Lens Workshop)","summary":"Bench finishing wheel with enclosed motor, supported shaft, closed abrasive disk and separate work rest.","description":"Bench finishing wheel with enclosed motor, supported shaft, closed abrasive disk and separate work rest. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-6ee8bdcf","cdnUrl":"https://cdn.3dassets.dev/assets/31695/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-6ee8bdcf","thumbnailUrl":"https://cdn.3dassets.dev/assets/31695/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31695/v1/poster.webp","blurhash":"UFBWxl?v00Di~W-:D*D%8wRPt7Rk56E1s.%M","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":65168,"triangles":2760,"vertices":2722,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.1459999978542328,-0.000007566489021990086,-0.12549603419440303],"max":[0.20000000298023224,0.25000488602945364,0.11619144237850129]},"sizeMeters":[0.346,0.25,0.242],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:09.170Z","updatedAt":"2026-09-08T10:49:09.279Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31695/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HandLensFinishingWheelOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31695/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31695/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31695/v1/model.glb\" alt=\"Hand Lens Finishing Wheel (Optician and Optical Lens 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/31695/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/31695/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31696","slug":"optician-and-optical-lens-workshop-optician-and-optica-fa89c00c","title":"Lens Blank (Optician and Optical Lens Workshop)","summary":"Round transparent optical blank with actual thickness and a narrow protective edge ring.","description":"Round transparent optical blank with actual thickness and a narrow protective edge ring. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-fa89c00c","cdnUrl":"https://cdn.3dassets.dev/assets/31696/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-fa89c00c","thumbnailUrl":"https://cdn.3dassets.dev/assets/31696/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31696/v1/poster.webp","blurhash":"U26*jy-:00WB_3WB9Fs:00IU_3WV00xu_3M{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":16008,"triangles":864,"vertices":539,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.04100000113248825,0.0000018617221686821964,-0.04100000113248825],"max":[0.04100000113248825,0.006002014350498864,0.04100000113248825]},"sizeMeters":[0.082,0.006,0.082],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:09.041Z","updatedAt":"2026-09-08T10:49:09.145Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31696/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LensBlankOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31696/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31696/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31696/v1/model.glb\" alt=\"Lens Blank (Optician and Optical Lens 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/31696/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/31696/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31697","slug":"optician-and-optical-lens-workshop-optician-and-optica-3f02fd29","title":"Edging Waste Drawer (Optician and Optical Lens Workshop)","summary":"Open waste drawer with retained front pull, closed interior and small original offcut shapes.","description":"Open waste drawer with retained front pull, closed interior and small original offcut shapes. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-3f02fd29","cdnUrl":"https://cdn.3dassets.dev/assets/31697/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-3f02fd29","thumbnailUrl":"https://cdn.3dassets.dev/assets/31697/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31697/v1/poster.webp","blurhash":"UABWe}az00WB~qt7IUWB00t7xuWB00Rjt7WB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":44336,"triangles":1800,"vertices":1900,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.17499999701976776,0.0000026706755396621595,-0.12500533861033003],"max":[0.17499999701976776,0.05699694862669221,0.1770022295843559]},"sizeMeters":[0.35,0.057,0.302],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:09.473Z","updatedAt":"2026-09-08T10:49:09.574Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31697/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EdgingWasteDrawerOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31697/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31697/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31697/v1/model.glb\" alt=\"Edging Waste Drawer (Optician and Optical Lens 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/31697/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/31697/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31698","slug":"optician-and-optical-lens-workshop-optician-and-optica-65284ec9","title":"Coolant Reservoir (Optician and Optical Lens Workshop)","summary":"Closed coolant reservoir with fill cap, retained carry grip, level window and curved hose outlet.","description":"Closed coolant reservoir with fill cap, retained carry grip, level window and curved hose outlet. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-65284ec9","cdnUrl":"https://cdn.3dassets.dev/assets/31698/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-65284ec9","thumbnailUrl":"https://cdn.3dassets.dev/assets/31698/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31698/v1/poster.webp","blurhash":"U9F$Y4_300D%SKaes;WB00D%~qa#aJt7ozRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":33040,"triangles":1176,"vertices":1469,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.12499466005908409,-5.9604643443123e-10,-0.1420000046491623],"max":[0.1319946583428534,0.3299925268536779,0.15199999511241913]},"sizeMeters":[0.257,0.33,0.294],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:09.603Z","updatedAt":"2026-09-08T10:49:09.721Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31698/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CoolantReservoirOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31698/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31698/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31698/v1/model.glb\" alt=\"Coolant Reservoir (Optician and Optical Lens 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/31698/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/31698/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31699","slug":"optician-and-optical-lens-workshop-optician-and-optica-1ad5cbeb","title":"Optical Parts Wash Bath (Optician and Optical Lens Workshop)","summary":"Hollow wash bath with thick metal walls, contained liquid volume, raised lid and connected hinge supports.","description":"Hollow wash bath with thick metal walls, contained liquid volume, raised lid and connected hinge supports. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-1ad5cbeb","cdnUrl":"https://cdn.3dassets.dev/assets/31699/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-1ad5cbeb","thumbnailUrl":"https://cdn.3dassets.dev/assets/31699/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31699/v1/poster.webp","blurhash":"UFBNNHtS4TbH~qM_D%j@NHM{RORjR%tRR+W.","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":33644,"triangles":1260,"vertices":1431,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.17000212897744554,-0.000005493765650219085,-0.22999998927116394],"max":[0.17000212897744554,0.3219973368232946,0.13000976729053573]},"sizeMeters":[0.34,0.322,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:11.690Z","updatedAt":"2026-09-08T10:49:11.784Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31699/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OpticalPartsWashBathOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31699/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31699/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31699/v1/model.glb\" alt=\"Optical Parts Wash Bath (Optician and Optical Lens 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/31699/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/31699/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31700","slug":"optician-and-optical-lens-workshop-optician-and-optica-073c9c90","title":"Frame Heating Unit (Optician and Optical Lens Workshop)","summary":"Frame warmer with enclosed base, supported hollow warm-air nozzle, rear grille and adjustment controls.","description":"Frame warmer with enclosed base, supported hollow warm-air nozzle, rear grille and adjustment controls. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-073c9c90","cdnUrl":"https://cdn.3dassets.dev/assets/31700/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-073c9c90","thumbnailUrl":"https://cdn.3dassets.dev/assets/31700/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31700/v1/poster.webp","blurhash":"U88}Sr?v009F~W%14.IV00M{?baJ01Ip^+%1","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":75856,"triangles":3492,"vertices":3180,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.13599999248981476,-0.000004704300633456837,-0.12549462547008416],"max":[0.13599999248981476,0.2850000001490116,0.11500518814661093]},"sizeMeters":[0.272,0.285,0.24],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:10.828Z","updatedAt":"2026-09-08T10:49:10.939Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31700/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrameHeatingUnitOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31700/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31700/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31700/v1/model.glb\" alt=\"Frame Heating Unit (Optician and Optical Lens 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/31700/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/31700/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31701","slug":"optician-and-optical-lens-workshop-optician-and-optica-31fb8c19","title":"Ultrasonic Frame Cleaner (Optician and Optical Lens Workshop)","summary":"Ultrasonic cleaner with a recessed metal bowl, thick rim, raised hinged lid and original front display.","description":"Ultrasonic cleaner with a recessed metal bowl, thick rim, raised hinged lid and original front display. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-31fb8c19","cdnUrl":"https://cdn.3dassets.dev/assets/31701/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-31fb8c19","thumbnailUrl":"https://cdn.3dassets.dev/assets/31701/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31701/v1/poster.webp","blurhash":"UTCQA6SO4nae~pRPD%ozsSRiRjt6I:ofoJj@","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":71780,"triangles":3264,"vertices":2948,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.16099999845027924,0.000002774684804612848,-0.22499679940817546],"max":[0.16099999845027924,0.3180066229125296,0.13349741646969332]},"sizeMeters":[0.322,0.318,0.358],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:11.138Z","updatedAt":"2026-09-08T10:49:11.243Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31701/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function UltrasonicFrameCleanerOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31701/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31701/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31701/v1/model.glb\" alt=\"Ultrasonic Frame Cleaner (Optician and Optical Lens 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/31701/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/31701/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31702","slug":"optician-and-optical-lens-workshop-optician-and-optica-ea57ac8e","title":"Spectacle Alignment Gauge (Optician and Optical Lens Workshop)","summary":"Bench spectacle alignment gauge with twin temple supports, a center bridge stop and modeled graduated reference marks.","description":"Bench spectacle alignment gauge with twin temple supports, a center bridge stop and modeled graduated reference marks. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-ea57ac8e","cdnUrl":"https://cdn.3dassets.dev/assets/31702/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-ea57ac8e","thumbnailUrl":"https://cdn.3dassets.dev/assets/31702/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31702/v1/poster.webp","blurhash":"U48El5%g00s;E+g4ogrr00M{_4Vr,-%1%19Z","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":32184,"triangles":1404,"vertices":1229,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.10000000149011612,0.000003143078697327023,-0.07499618630384575],"max":[0.10000000149011612,0.07799615561195286,0.07499618630384575]},"sizeMeters":[0.2,0.078,0.15],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:12.364Z","updatedAt":"2026-09-08T10:49:12.463Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31702/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpectacleAlignmentGaugeOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31702/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31702/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31702/v1/model.glb\" alt=\"Spectacle Alignment Gauge (Optician and Optical Lens 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/31702/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/31702/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31703","slug":"optician-and-optical-lens-workshop-optician-and-optica-2ac0cc13","title":"Temple Bending Pliers (Optician and Optical Lens Workshop)","summary":"Broad padded temple-bending pliers with two curved jaws, pivot washers, separate rounded grips and retained pivot screw.","description":"Broad padded temple-bending pliers with two curved jaws, pivot washers, separate rounded grips and retained pivot screw. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-2ac0cc13","cdnUrl":"https://cdn.3dassets.dev/assets/31703/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-2ac0cc13","thumbnailUrl":"https://cdn.3dassets.dev/assets/31703/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31703/v1/poster.webp","blurhash":"U25O$*}?000Lu5I9Mw%N000f?^~pUb?^%hDi","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":39536,"triangles":1536,"vertices":1752,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.04374849111663505,-7.629500718003834e-7,-0.11711776256561279],"max":[0.04374849111663505,0.022001296028345586,0.06754913926124573]},"sizeMeters":[0.087,0.022,0.185],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:13.832Z","updatedAt":"2026-09-08T10:49:14.411Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31703/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TempleBendingPliersOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31703/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31703/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31703/v1/model.glb\" alt=\"Temple Bending Pliers (Optician and Optical Lens 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/31703/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/31703/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31704","slug":"optician-and-optical-lens-workshop-optician-and-optica-1a9eabeb","title":"Nose Pad Adjusting Pliers (Optician and Optical Lens Workshop)","summary":"Fine nose-pad pliers with narrow angled jaw tips, articulated-looking pivot, washers and rounded separate handles.","description":"Fine nose-pad pliers with narrow angled jaw tips, articulated-looking pivot, washers and rounded separate handles. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-1a9eabeb","cdnUrl":"https://cdn.3dassets.dev/assets/31704/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-1a9eabeb","thumbnailUrl":"https://cdn.3dassets.dev/assets/31704/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31704/v1/poster.webp","blurhash":"U34.oD;f8w4:cGMdRhx]00Eg?w^+mP.mxwIA","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":39564,"triangles":1536,"vertices":1752,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.04374849111663505,-7.629500718003834e-7,-0.11711776256561279],"max":[0.04374849111663505,0.021999194214033846,0.06495187431573868]},"sizeMeters":[0.087,0.022,0.182],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:12.824Z","updatedAt":"2026-09-08T10:49:12.926Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31704/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NosePadAdjustingPliersOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31704/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31704/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31704/v1/model.glb\" alt=\"Nose Pad Adjusting Pliers (Optician and Optical Lens 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/31704/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/31704/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31705","slug":"optician-and-optical-lens-workshop-optician-and-optica-21305c42","title":"Precision Screwdriver Carousel (Optician and Optical Lens Workshop)","summary":"Seven-driver carousel with a weighted base, supported retaining ring and individual precision shafts, handles and rotating end caps.","description":"Seven-driver carousel with a weighted base, supported retaining ring and individual precision shafts, handles and rotating end caps. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-21305c42","cdnUrl":"https://cdn.3dassets.dev/assets/31705/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-21305c42","thumbnailUrl":"https://cdn.3dassets.dev/assets/31705/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31705/v1/poster.webp","blurhash":"U26Id7.T008w}?s:5QW;D4RO%g%M+GMxKj%g","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":131688,"triangles":6048,"vertices":5817,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.06500396502190056,0,-0.06500396502190056],"max":[0.06500396502190056,0.2029999941587448,0.06500396502190056]},"sizeMeters":[0.13,0.203,0.13],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:13.401Z","updatedAt":"2026-09-08T10:49:13.550Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31705/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PrecisionScrewdriverCarouselOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31705/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31705/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31705/v1/model.glb\" alt=\"Precision Screwdriver Carousel (Optician and Optical Lens 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/31705/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/31705/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31706","slug":"optician-and-optical-lens-workshop-optician-and-optica-e00fabd5","title":"Hinge Pin Tray (Optician and Optical Lens Workshop)","summary":"Small hinge pin tray with eight distinct retained pins, visible heads and complete tray walls.","description":"Small hinge pin tray with eight distinct retained pins, visible heads and complete tray walls. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-e00fabd5","cdnUrl":"https://cdn.3dassets.dev/assets/31706/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-e00fabd5","thumbnailUrl":"https://cdn.3dassets.dev/assets/31706/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31706/v1/poster.webp","blurhash":"UFC%BPxu4nbH~qxuM{Rj00s:xuM{00IoWBWB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":104116,"triangles":5148,"vertices":4382,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.07999999821186066,-3.811088308946359e-7,-0.05499679432723085],"max":[0.07999999821186066,0.03939748536279224,0.05499679432723085]},"sizeMeters":[0.16,0.039,0.11],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:14.377Z","updatedAt":"2026-09-08T10:49:14.487Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31706/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HingePinTrayOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31706/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31706/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31706/v1/model.glb\" alt=\"Hinge Pin Tray (Optician and Optical Lens 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/31706/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/31706/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31707","slug":"optician-and-optical-lens-workshop-optician-and-optica-a41b6d37","title":"Nose Pad Parts Drawer (Optician and Optical Lens Workshop)","summary":"Compartmented parts drawer containing eight rounded nose pads, full dividers and a retained front pull.","description":"Compartmented parts drawer containing eight rounded nose pads, full dividers and a retained front pull. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-a41b6d37","cdnUrl":"https://cdn.3dassets.dev/assets/31707/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-a41b6d37","thumbnailUrl":"https://cdn.3dassets.dev/assets/31707/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31707/v1/poster.webp","blurhash":"U69j.XM_8wM{_N%LRPD*00-;pIRj00D*Ip?a","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":49384,"triangles":2016,"vertices":2078,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.09000000357627869,-0.000002823365811820827,-0.06000366460546844],"max":[0.09000000357627869,0.06000083903550568,0.0969995749245671]},"sizeMeters":[0.18,0.06,0.157],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:14.542Z","updatedAt":"2026-09-08T10:49:14.646Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31707/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NosePadPartsDrawerOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31707/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31707/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31707/v1/model.glb\" alt=\"Nose Pad Parts Drawer (Optician and Optical Lens 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/31707/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/31707/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31708","slug":"optician-and-optical-lens-workshop-optician-and-optica-47c7100a","title":"Lens Suction Holder (Optician and Optical Lens Workshop)","summary":"Handheld lens suction holder with flared flexible contact cup, narrow neck and closed grip cap.","description":"Handheld lens suction holder with flared flexible contact cup, narrow neck and closed grip cap. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-47c7100a","cdnUrl":"https://cdn.3dassets.dev/assets/31708/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-47c7100a","thumbnailUrl":"https://cdn.3dassets.dev/assets/31708/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31708/v1/poster.webp","blurhash":"U43SnotR8wITuPofQlRiSxf5nPbcw[n$SiW?","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":18768,"triangles":1056,"vertices":637,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.032000641024940914,0,-0.032000641024940914],"max":[0.032000641024940914,0.09000063763525121,0.032000641024940914]},"sizeMeters":[0.064,0.09,0.064],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:15.422Z","updatedAt":"2026-09-08T10:49:15.513Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31708/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LensSuctionHolderOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31708/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31708/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31708/v1/model.glb\" alt=\"Lens Suction Holder (Optician and Optical Lens 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/31708/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/31708/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31709","slug":"optician-and-optical-lens-workshop-optician-and-optica-8e60fbce","title":"Frame Repair Clamp (Optician and Optical Lens Workshop)","summary":"Frame repair clamp with separate padded jaws, supported screw guide, sliding jaw and transverse winding handle.","description":"Frame repair clamp with separate padded jaws, supported screw guide, sliding jaw and transverse winding handle. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-8e60fbce","cdnUrl":"https://cdn.3dassets.dev/assets/31709/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-8e60fbce","thumbnailUrl":"https://cdn.3dassets.dev/assets/31709/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31709/v1/poster.webp","blurhash":"U56+FY.m8wVYPVgOrqVs00Mwo~RP;_s9W=oe","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":36412,"triangles":1692,"vertices":1443,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.06499999761581421,0.0000033098559120703364,-0.05000473075355125],"max":[0.09000000357627869,0.0759966879238149,0.05000473075355125]},"sizeMeters":[0.155,0.076,0.1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:16.010Z","updatedAt":"2026-09-08T10:49:16.111Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31709/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrameRepairClampOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31709/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31709/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31709/v1/model.glb\" alt=\"Frame Repair Clamp (Optician and Optical Lens 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/31709/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/31709/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31710","slug":"optician-and-optical-lens-workshop-optician-and-optica-f2657e17","title":"Spectacle Cord Display (Optician and Optical Lens Workshop)","summary":"Counter cord display with weighted base, supported crossbar and two separately modeled hanging eyewear cords.","description":"Counter cord display with weighted base, supported crossbar and two separately modeled hanging eyewear cords. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-f2657e17","cdnUrl":"https://cdn.3dassets.dev/assets/31710/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-f2657e17","thumbnailUrl":"https://cdn.3dassets.dev/assets/31710/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31710/v1/poster.webp","blurhash":"U37nn0%g004T00og.8RP%0WAI;o}~Ws:E0Rj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":145468,"triangles":3756,"vertices":7541,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.10998336454429578,-1.8626453157644107e-10,-0.08998763765705164],"max":[0.10998336454429578,0.44999998807907104,0.08998763765705164]},"sizeMeters":[0.22,0.45,0.18],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:16.075Z","updatedAt":"2026-09-08T10:49:16.185Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31710/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpectacleCordDisplayOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31710/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31710/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31710/v1/model.glb\" alt=\"Spectacle Cord Display (Optician and Optical Lens 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/31710/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/31710/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31711","slug":"optician-and-optical-lens-workshop-optician-and-optica-b0f023a1","title":"Prescription Document Holder (Optician and Optical Lens Workshop)","summary":"Desk document holder with separate blank form sheets and original abstract lines, containing no real prescription information.","description":"Desk document holder with separate blank form sheets and original abstract lines, containing no real prescription information. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-b0f023a1","cdnUrl":"https://cdn.3dassets.dev/assets/31711/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-b0f023a1","thumbnailUrl":"https://cdn.3dassets.dev/assets/31711/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31711/v1/poster.webp","blurhash":"UEDcXRxu00fk~qt7IURk00j[?bRj00M{t7oe","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":30264,"triangles":1404,"vertices":1222,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.10000000149011612,0.0000032647913838848575,-0.07499618630384575],"max":[0.10000000149011612,0.042996857644009,0.07499618630384575]},"sizeMeters":[0.2,0.043,0.15],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:16.166Z","updatedAt":"2026-09-08T10:49:16.261Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31711/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PrescriptionDocumentHolderOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31711/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31711/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31711/v1/model.glb\" alt=\"Prescription Document Holder (Optician and Optical Lens 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/31711/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/31711/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31712","slug":"optician-and-optical-lens-workshop-optician-and-optica-bb781504","title":"Appointment Reception Desk (Optician and Optical Lens Workshop)","summary":"Reception desk with closed front modesty panel, raised transaction ledge, internal drawers and clear seated working space.","description":"Reception desk with closed front modesty panel, raised transaction ledge, internal drawers and clear seated working space. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-bb781504","cdnUrl":"https://cdn.3dassets.dev/assets/31712/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-bb781504","thumbnailUrl":"https://cdn.3dassets.dev/assets/31712/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31712/v1/poster.webp","blurhash":"UA9Q{n^+H@tR_N?bn%M|4Tof%MWB8_M{%1%L","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":95060,"triangles":3444,"vertices":4338,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.8650000095367432,-0.000020959082273230845,-0.404979557063606],"max":[0.8650000095367432,1.149946893356934,0.41298004132178345]},"sizeMeters":[1.73,1.15,0.818],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:17.053Z","updatedAt":"2026-09-08T10:49:17.147Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31712/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AppointmentReceptionDeskOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31712/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31712/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31712/v1/model.glb\" alt=\"Appointment Reception Desk (Optician and Optical Lens 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/31712/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/31712/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31713","slug":"optician-and-optical-lens-workshop-optician-and-optica-3ad63568","title":"Waiting Chair (Optician and Optical Lens Workshop)","summary":"Upholstered waiting chair with supported beech frame, padded seat and back, rounded arms and four grounded feet.","description":"Upholstered waiting chair with supported beech frame, padded seat and back, rounded arms and four grounded feet. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-3ad63568","cdnUrl":"https://cdn.3dassets.dev/assets/31713/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-3ad63568","thumbnailUrl":"https://cdn.3dassets.dev/assets/31713/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31713/v1/poster.webp","blurhash":"U86+LokW00jb*0RjH=tRD4RPx]x]MdjYx[of","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":51844,"triangles":2904,"vertices":2265,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.3174999952316284,0.000008163298036108213,-0.2700208248274114],"max":[0.3174999952316284,1.010019591565382,0.2700208248274114]},"sizeMeters":[0.635,1.01,0.54],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:17.858Z","updatedAt":"2026-09-08T10:49:17.980Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31713/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WaitingChairOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31713/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31713/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31713/v1/model.glb\" alt=\"Waiting Chair (Optician and Optical Lens 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/31713/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/31713/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31714","slug":"optician-and-optical-lens-workshop-optician-and-optica-d5564807","title":"Repair Collection Cabinet (Optician and Optical Lens Workshop)","summary":"Nine-door repair collection cabinet with individually framed compartments, label slots, retained handles and closed rear shell.","description":"Nine-door repair collection cabinet with individually framed compartments, label slots, retained handles and closed rear shell. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-d5564807","cdnUrl":"https://cdn.3dassets.dev/assets/31714/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-d5564807","thumbnailUrl":"https://cdn.3dassets.dev/assets/31714/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31714/v1/poster.webp","blurhash":"UCBzUs~p0000tmt7eTRP00D*_2^+oza}V@n%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":226732,"triangles":8004,"vertices":10911,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.4359936798480206,6.705522803684971e-10,-0.19052732637153041],"max":[0.4359936798480206,1.524999976158142,0.2650071279828402]},"sizeMeters":[0.872,1.525,0.456],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:18.878Z","updatedAt":"2026-09-08T10:49:18.986Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31714/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RepairCollectionCabinetOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31714/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31714/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31714/v1/model.glb\" alt=\"Repair Collection Cabinet (Optician and Optical Lens 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/31714/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/31714/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31715","slug":"optician-and-optical-lens-workshop-optician-and-optica-75032a9a","title":"Optical Shop Floor Base (Optician and Optical Lens Workshop)","summary":"Complete shop foundation with subtle tiled joints, a retained entry mat and closed underside.","description":"Complete shop foundation with subtle tiled joints, a retained entry mat and closed underside. Original optical retail and lens-workshop game prop. Metres, Y up, Z forward, ground-contact origin. Static model; no diagnosis, clinical testing, optical calibration or certification claims.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optician-and-optica-75032a9a","cdnUrl":"https://cdn.3dassets.dev/assets/31715/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optician-and-optica-75032a9a","thumbnailUrl":"https://cdn.3dassets.dev/assets/31715/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31715/v1/poster.webp","blurhash":"U5Am#b%300aL%Mt7WBaf00NF_NWU9GNFaLR%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":57044,"triangles":2700,"vertices":2360,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-6,0.00016357831672164647,-5.499740592669454],"max":[6,0.1800202699190828,5.499740592669454]},"sizeMeters":[12,0.18,10.999],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:49:17.870Z","updatedAt":"2026-09-08T10:49:17.996Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31715/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OpticalShopFloorBaseOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31715/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31715/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31715/v1/model.glb\" alt=\"Optical Shop Floor Base (Optician and Optical Lens 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/31715/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/31715/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"31716","slug":"optician-and-optical-lens-workshop-optic-6d824622-starter-scene","title":"Eyewear fitting, examination and lens workshop (Optician and Optical Lens Workshop)","summary":"Compact furnished optician with stocked display columns, reception and fitting desks, enclosed exam room and supported lens-workshop tools at physical scale.","description":"Compact furnished optician with stocked display columns, reception and fitting desks, enclosed exam room and supported lens-workshop tools at physical scale.","status":"published","url":"https://3dassets.dev/assets/optician-and-optical-lens-workshop-optic-6d824622-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/31716/v1/model.glb","downloadUrl":"https://3dassets.dev/download/optician-and-optical-lens-workshop-optic-6d824622-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/31716/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/31716/v1/poster.webp","blurhash":"U5C71uIo00-;E1IoRP-p00s.?vRj~V-;%M9F","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":4107084,"triangles":190152,"vertices":186114,"meshes":174,"materials":10,"textures":0,"animations":[],"boundingBox":{"min":[-6,0.00016357831672164647,-5.499740592669454],"max":[6,3.679005335043038,5.499740592669454]},"sizeMeters":[12,3.679,10.999],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":2,"publishedAt":"2026-09-08T10:49:20.253Z","updatedAt":"2026-09-08T16:10:44.578Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/31716/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EyewearFittingExaminationAndLensWorkshopOpticianAndOpticalLensWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/31716/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/31716/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/31716/v1/model.glb\" alt=\"Eyewear fitting, examination and lens workshop (Optician and Optical Lens 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/31716/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/31716/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":null}}