{"data":{"id":"37757","slug":"printing-press-and-newspaper-office-copy-spike-cab0b913","title":"Copy Spike (Printing Press and Newspaper Office)","summary":"Free 3D model of a copy spike heaped with used sheets: a 0.3 m iron desk spike for a newspaper office game asset kit.","description":"Free 3D model of a copy spike heaped with used sheets: a 0.3 m iron desk spike for a newspaper office game asset kit. Dimensions 0.32 by 0.30 by 0.33 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The spike used copy is impaled on, 0.17 m across the base and 0.30 m tall, with twenty two sheets pushed down on it at random angles. Static geometry with no rig. Every sheet carries two abstract rule bars and nothing else: no words are modelled. 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-copy-spike-cab0b913","cdnUrl":"https://cdn.3dassets.dev/assets/37757/v1/model.glb","downloadUrl":"https://3dassets.dev/download/printing-press-and-newspaper-office-copy-spike-cab0b913","thumbnailUrl":"https://cdn.3dassets.dev/assets/37757/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37757/v1/poster.webp","blurhash":"UED,4Wxu00V[ozofaeWB00M{~qofRjWBofkB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":151264,"triangles":7296,"vertices":6488,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.1532651737248668,0.00000479166899979705,-0.160227969288826],"max":[0.1666416034018764,0.30399999022483826,0.17146159708499908]},"sizeMeters":[0.32,0.304,0.332],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:47:38.981Z","updatedAt":"2026-09-12T05:47:39.167Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37757/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CopySpikePrintingPressAndNewspaperOffice(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37757/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37757/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37757/v1/model.glb\" alt=\"Copy Spike (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/37757/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/37757/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}}