{"data":{"id":"37736","slug":"printing-press-and-newspaper-office-galley-rack-bfab69eb","title":"Galley Rack (Printing Press and Newspaper Office)","summary":"Free 3D model of a galley rack for a composing room: a 1.7 m iron rack of nine sloping shelves holding galleys of set type, as a game asset.","description":"Free 3D model of a galley rack for a composing room: a 1.7 m iron rack of nine sloping shelves holding galleys of set type, as a game asset. Dimensions 1.10 by 1.70 by 0.57 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. A standing galley rack 1.10 by 0.56 m and 1.70 m tall, the shelves sloped back with a front lip so galleys cannot slide out. Static geometry with no rig. The type in the galleys is blank lead bodies in abstract rows, not text. Letterpress works palette: worn concrete, works brick, cast iron, machine enamel green, bright steel, brass, dark oak, pale pine, newsprint, printing ink black, type metal, brass and window glass. Standard PBR materials with embedded procedural maps. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/printing-press-and-newspaper-office-galley-rack-bfab69eb","cdnUrl":"https://cdn.3dassets.dev/assets/37736/v1/model.glb","downloadUrl":"https://3dassets.dev/download/printing-press-and-newspaper-office-galley-rack-bfab69eb","thumbnailUrl":"https://cdn.3dassets.dev/assets/37736/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37736/v1/poster.webp","blurhash":"U47_7w_40000%gt7M{Rj4nIU%g%Mt7ogWBRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":154260,"triangles":5148,"vertices":7532,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.5499954376505347,0,-0.2699589600015917],"max":[0.5499954376505347,1.7000000476837158,0.2999589611936846]},"sizeMeters":[1.1,1.7,0.57],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:47:27.610Z","updatedAt":"2026-09-12T05:47:27.711Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37736/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GalleyRackPrintingPressAndNewspaperOffice(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37736/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37736/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37736/v1/model.glb\" alt=\"Galley Rack (Printing Press and Newspaper Office)\" 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/37736/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/37736/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}}