{"data":{"id":"37743","slug":"printing-press-and-newspaper-office-roller-rack-e5159fab","title":"Roller Rack (Printing Press and Newspaper Office)","summary":"Free 3D model of an ink roller rack: a 1.6 m iron stand cradling ten composition press rollers on their steel cores, as a game asset.","description":"Free 3D model of an ink roller rack: a 1.6 m iron stand cradling ten composition press rollers on their steel cores, as a game asset. Dimensions 1.45 by 1.60 by 0.80 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. A free standing rack 1.30 by 0.40 m and 1.60 m tall, three pairs of bearer rails cradling ten rollers by their core ends so the composition never touches a shelf. Static geometry with no rig: the rollers rest in the rack rather than running in it. 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-roller-rack-e5159fab","cdnUrl":"https://cdn.3dassets.dev/assets/37743/v1/model.glb","downloadUrl":"https://3dassets.dev/download/printing-press-and-newspaper-office-roller-rack-e5159fab","thumbnailUrl":"https://cdn.3dassets.dev/assets/37743/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37743/v1/poster.webp","blurhash":"U15OW-?c00Im_3x[DjD*9FIUM{WCogxvM{D$","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":55420,"triangles":1820,"vertices":2604,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.724997721915097,0,-0.4000245702397846],"max":[0.724997721915097,1.600000023841858,0.4000245702397846]},"sizeMeters":[1.45,1.6,0.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:47:31.489Z","updatedAt":"2026-09-12T05:47:31.590Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37743/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RollerRackPrintingPressAndNewspaperOffice(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37743/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37743/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37743/v1/model.glb\" alt=\"Roller 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/37743/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/37743/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}}