{"data":{"id":"147","slug":"pharmacy-and-high-street-chemist","title":"Pharmacy and High Street Chemist","summary":"Walk a high street chemist: a glazed shopfront and lobby, five stocked gondola aisles, a till bank, a glazed consultation room, the dispensary behind its counter and a stock room corner.","url":"https://3dassets.dev/demos/pharmacy-and-high-street-chemist","coverUrl":"https://cdn.3dassets.dev/media/pharmacy-and-high-street-chemist-demo-1.png","featured":true,"pack":{"slug":"pharmacy-and-high-street-chemist","title":"Pharmacy and High Street Chemist","url":"https://3dassets.dev/packs/pharmacy-and-high-street-chemist","summary":"A modern high street chemist: glazed shopfront bays, a shutter, gondola aisles of abstract stock, till counters, collection lockers, a consultation room, and a dispensary of counters, benches, cabinets, a safe and a cold chain fridge. No branding and no readable text anywhere.","assetCount":61,"totalBytes":4900404,"starterScene":{"slug":"pharmacy-and-high-street-chemist-high-st-0437019a-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/37548/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-high-st-0437019a-starter-scene","fileSize":1910008}},"placementCount":512,"assetCount":58,"spawn":{"position":[4,0,9.8],"yaw":180},"publishedAt":"2026-09-12T05:53:43.580Z","updatedAt":"2026-09-12T05:53:43.580Z","description":"A whole chemist shop laid out from the pack's floor, wall, glazed and shopfront modules, about 32 by 24 metres of walkable floor.\n\n**What is placed.** A sixteen bay shopfront with two doors, window display plinths behind the glass, a fascia frame run, a projecting bracket and a shutter at the far end. Inside the lobby are basket stacks, hand baskets, sanitiser stands, dump bins and floor sign frames. Five gondola runs in two heights carry the pack's boxed stock, with end cap displays at both ends and a promotional line down the middle aisle. On the right the till bank stands behind a queue rail with card terminals, a basket rack, the collection lockers and a photo booth bay in the corner, and gift and toiletries displays run along both side walls and as an island. A glazed consultation block sits on the shop floor with a desk, three chairs, a blood pressure stand and a weighing scale. Six counter units close the shop floor off from the back of house, where two bench runs sit under the pack's lit ceiling grid with the labelling printer, a balance, a counting tray, a blister tray, cylinders and a mortar on top, robot cabinets and a safe against the wall, sliding cabinets and cold chain fridges behind. A stock room corner behind its own door holds shelf runs, tote stacks, a trolley and a step stool.\n\n**What moves.** The shopfront and consultation doors swing, the shutter rolls, the dispensary hatch and the till hatches lift, the sliding cabinet doors slide, the bench drawers and doors open, the fridge, safe and locker doors swing, the labelling printer flap opens, and the trolley, basket stack and blood pressure stand wheels roll.\n\n**What does not move, and why.** Cabling, the photo booth curtain, screen content and anything liquid are static geometry: flexible material, a display and a fluid each need a joint per element or a shader, and none of that is reachable with the rigid node transforms this library uses. There are no people, because nothing in the pack is skinned. Every label, box front, sign face and screen in the pack is deliberately blank, and no real shop, product or manufacturer appears anywhere in it.","scene":{"version":1,"spawn":{"position":[4,0,9.8],"yaw":180},"ground":{"style":"none"},"environment":{"preset":"room","wallHeight":3.4,"light":"warm","lampHeight":3.2,"shadows":true},"placements":[{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-15,-0.06,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-15,-0.06,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-15,-0.06,-7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-15,-0.06,-5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-15,-0.06,-3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-15,-0.06,-1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-15,-0.06,1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-15,-0.06,3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-15,-0.06,5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-15,-0.06,7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-15,-0.06,9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-15,-0.06,11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-13,-0.06,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-13,-0.06,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-13,-0.06,-7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-13,-0.06,-5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-13,-0.06,-3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-13,-0.06,-1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-13,-0.06,1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-13,-0.06,3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-13,-0.06,5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-13,-0.06,7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-13,-0.06,9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-13,-0.06,11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-11,-0.06,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-11,-0.06,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-11,-0.06,-7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-11,-0.06,-5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-11,-0.06,-3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-11,-0.06,-1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-11,-0.06,1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-11,-0.06,3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-11,-0.06,5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-11,-0.06,7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-11,-0.06,9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-11,-0.06,11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-9,-0.06,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-9,-0.06,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-9,-0.06,-7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-9,-0.06,-5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-9,-0.06,-3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-9,-0.06,-1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-9,-0.06,1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-9,-0.06,3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-9,-0.06,5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-9,-0.06,7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-9,-0.06,9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-9,-0.06,11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-7,-0.06,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-7,-0.06,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-7,-0.06,-7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-7,-0.06,-5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-7,-0.06,-3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-7,-0.06,-1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-7,-0.06,1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-7,-0.06,3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-7,-0.06,5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-7,-0.06,7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-7,-0.06,9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-7,-0.06,11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-5,-0.06,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-5,-0.06,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-5,-0.06,-7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-5,-0.06,-5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-5,-0.06,-3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-5,-0.06,-1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-5,-0.06,1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-5,-0.06,3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-5,-0.06,5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-5,-0.06,7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-5,-0.06,9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-5,-0.06,11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-3,-0.06,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-3,-0.06,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-3,-0.06,-7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-3,-0.06,-5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-3,-0.06,-3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-3,-0.06,-1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-3,-0.06,1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-3,-0.06,3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-3,-0.06,5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-3,-0.06,7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-3,-0.06,9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-3,-0.06,11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-1,-0.06,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-1,-0.06,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-1,-0.06,-7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[-1,-0.06,-5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-1,-0.06,-3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-1,-0.06,-1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-1,-0.06,1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-1,-0.06,3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-1,-0.06,5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-1,-0.06,7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-1,-0.06,9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[-1,-0.06,11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[1,-0.06,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[1,-0.06,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[1,-0.06,-7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[1,-0.06,-5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[1,-0.06,-3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[1,-0.06,-1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[1,-0.06,1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[1,-0.06,3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[1,-0.06,5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[1,-0.06,7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[1,-0.06,9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[1,-0.06,11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[3,-0.06,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[3,-0.06,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[3,-0.06,-7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[3,-0.06,-5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[3,-0.06,-3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[3,-0.06,-1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[3,-0.06,1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[3,-0.06,3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[3,-0.06,5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[3,-0.06,7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[3,-0.06,9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[3,-0.06,11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[5,-0.06,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[5,-0.06,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[5,-0.06,-7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[5,-0.06,-5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[5,-0.06,-3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[5,-0.06,-1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[5,-0.06,1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[5,-0.06,3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[5,-0.06,5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[5,-0.06,7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[5,-0.06,9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[5,-0.06,11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[7,-0.06,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[7,-0.06,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[7,-0.06,-7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[7,-0.06,-5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[7,-0.06,-3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[7,-0.06,-1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[7,-0.06,1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[7,-0.06,3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[7,-0.06,5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[7,-0.06,7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[7,-0.06,9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[7,-0.06,11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[9,-0.06,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[9,-0.06,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[9,-0.06,-7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[9,-0.06,-5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[9,-0.06,-3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[9,-0.06,-1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[9,-0.06,1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[9,-0.06,3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[9,-0.06,5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[9,-0.06,7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[9,-0.06,9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[9,-0.06,11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[11,-0.06,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[11,-0.06,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[11,-0.06,-7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[11,-0.06,-5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[11,-0.06,-3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[11,-0.06,-1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[11,-0.06,1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[11,-0.06,3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[11,-0.06,5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[11,-0.06,7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[11,-0.06,9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[11,-0.06,11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[13,-0.06,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[13,-0.06,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[13,-0.06,-7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[13,-0.06,-5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[13,-0.06,-3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[13,-0.06,-1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[13,-0.06,1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[13,-0.06,3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[13,-0.06,5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[13,-0.06,7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[13,-0.06,9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[13,-0.06,11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[15,-0.06,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[15,-0.06,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[15,-0.06,-7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","position":[15,-0.06,-5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[15,-0.06,-3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[15,-0.06,-1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[15,-0.06,1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[15,-0.06,3],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[15,-0.06,5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[15,-0.06,7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[15,-0.06,9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","position":[15,-0.06,11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[-15,0,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shopfront-window-bay-2681f55d","position":[-13,0,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shopfront-window-bay-2681f55d","position":[-11,0,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shopfront-window-bay-2681f55d","position":[-9,0,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shopfront-window-bay-2681f55d","position":[-7,0,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shopfront-window-bay-2681f55d","position":[-5,0,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shopfront-window-bay-2681f55d","position":[-3,0,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shopfront-window-bay-2681f55d","position":[-1,0,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shopfront-window-bay-2681f55d","position":[1,0,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shopfront-door-bay-33d24893","position":[3,0,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shopfront-door-bay-op-c612f6be","position":[5,0,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shopfront-window-bay-2681f55d","position":[7,0,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shopfront-window-bay-2681f55d","position":[9,0,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shopfront-window-bay-2681f55d","position":[11,0,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shopfront-window-bay-2681f55d","position":[13,0,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[15,0,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-roller-shutter-be59b11c","position":[13,0,12.25],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-projecting-sign-brack-c27a62f8","position":[9,2.15,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-fascia-sign-frame-be4b4807","position":[-7,2.7,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-fascia-sign-frame-be4b4807","position":[-5,2.7,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-fascia-sign-frame-be4b4807","position":[-3,2.7,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-fascia-sign-frame-be4b4807","position":[-1,2.7,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-fascia-sign-frame-be4b4807","position":[1,2.7,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-fascia-sign-frame-be4b4807","position":[3,2.7,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-fascia-sign-frame-be4b4807","position":[5,2.7,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-fascia-sign-frame-be4b4807","position":[7,2.7,12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[-15,0,-12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[-13,0,-12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[-11,0,-12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[-9,0,-12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[-7,0,-12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[-5,0,-12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[-3,0,-12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[-1,0,-12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[1,0,-12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[3,0,-12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[5,0,-12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-stock-room-wall-modul-36bc911c","position":[7,0,-12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-stock-room-wall-modul-36bc911c","position":[9,0,-12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-stock-room-wall-modul-36bc911c","position":[11,0,-12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-stock-room-wall-modul-36bc911c","position":[13,0,-12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-stock-room-wall-modul-36bc911c","position":[15,0,-12],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-stock-room-wall-modul-36bc911c","position":[-16,0,-11],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-stock-room-wall-modul-36bc911c","position":[-16,0,-9],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-stock-room-wall-modul-36bc911c","position":[-16,0,-7],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-stock-room-wall-modul-36bc911c","position":[-16,0,-5],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[-16,0,-3],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[-16,0,-1],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[-16,0,1],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[-16,0,3],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[-16,0,5],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[-16,0,7],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[-16,0,9],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[-16,0,11],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-stock-room-wall-modul-36bc911c","position":[16,0,-11],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-stock-room-wall-modul-36bc911c","position":[16,0,-9],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-stock-room-wall-modul-36bc911c","position":[16,0,-7],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-stock-room-wall-modul-36bc911c","position":[16,0,-5],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[16,0,-3],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[16,0,-1],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[16,0,1],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[16,0,3],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[16,0,5],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[16,0,7],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[16,0,9],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","position":[16,0,11],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-stock-room-wall-modul-36bc911c","position":[8,0,-11],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-stock-room-wall-modul-36bc911c","position":[8,0,-9],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-stock-room-wall-modul-36bc911c","position":[8,0,-7],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-interior-door-bay-35d979c8","position":[8,0,-5],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-stock-room-wall-modul-36bc911c","position":[9,0,-4],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-stock-room-wall-modul-36bc911c","position":[11,0,-4],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-stock-room-wall-modul-36bc911c","position":[13,0,-4],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-stock-room-wall-modul-36bc911c","position":[15,0,-4],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","position":[-15,2.44,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","position":[-13,2.44,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","position":[-11,2.44,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","position":[-9,2.44,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","position":[-7,2.44,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","position":[-5,2.44,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","position":[-3,2.44,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","position":[-1,2.44,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","position":[1,2.44,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","position":[3,2.44,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","position":[5,2.44,-11],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","position":[-15,2.44,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","position":[-13,2.44,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","position":[-11,2.44,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","position":[-9,2.44,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","position":[-7,2.44,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","position":[-5,2.44,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","position":[-3,2.44,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","position":[-1,2.44,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","position":[1,2.44,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","position":[3,2.44,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","position":[5,2.44,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run--a66312da","position":[-10,0,6.1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run--a66312da","position":[-10,0,4.85],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run-48813f4b","position":[-10,0,3.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run-48813f4b","position":[-10,0,2.35],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run-48813f4b","position":[-10,0,1.1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run--3feae9a7","position":[-10,0,-0.15],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run-48813f4b","position":[-10,0,-1.4],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-end-cap-displ-41b8f952","position":[-10,0,7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-end-cap-displ-41b8f952","position":[-10,0,-2.65],"rotation":180},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run--a66312da","position":[-7,0,6.1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run--a66312da","position":[-7,0,4.85],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run--a76aa86a","position":[-7,0,3.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run--a76aa86a","position":[-7,0,2.35],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run--a76aa86a","position":[-7,0,1.1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run--a76aa86a","position":[-7,0,-0.15],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run--a76aa86a","position":[-7,0,-1.4],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-end-cap-displ-41b8f952","position":[-7,0,7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-end-cap-displ-41b8f952","position":[-7,0,-2.65],"rotation":180},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run--a66312da","position":[-4,0,6.1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run-48813f4b","position":[-4,0,4.85],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run-48813f4b","position":[-4,0,3.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run--3feae9a7","position":[-4,0,2.35],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run-48813f4b","position":[-4,0,1.1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run-48813f4b","position":[-4,0,-0.15],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run-48813f4b","position":[-4,0,-1.4],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-end-cap-displ-41b8f952","position":[-4,0,7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-end-cap-displ-41b8f952","position":[-4,0,-2.65],"rotation":180},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run--a66312da","position":[-1,0,6.1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run--a66312da","position":[-1,0,4.85],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run--a76aa86a","position":[-1,0,3.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run-48813f4b","position":[-1,0,2.35],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run--a76aa86a","position":[-1,0,1.1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run-48813f4b","position":[-1,0,-0.15],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run--a76aa86a","position":[-1,0,-1.4],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-end-cap-displ-41b8f952","position":[-1,0,7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-end-cap-displ-41b8f952","position":[-1,0,-2.65],"rotation":180},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run--a66312da","position":[6.5,0,6.1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run--a66312da","position":[6.5,0,4.85],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run-48813f4b","position":[6.5,0,3.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run--a76aa86a","position":[6.5,0,2.35],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run-48813f4b","position":[6.5,0,1.1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run-48813f4b","position":[6.5,0,-0.15],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-shelving-run--3feae9a7","position":[6.5,0,-1.4],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-end-cap-displ-41b8f952","position":[6.5,0,7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-end-cap-displ-41b8f952","position":[6.5,0,-2.65],"rotation":180},{"asset":"pharmacy-and-high-street-chemist-window-display-plinth-a9d57326","position":[-13,0,11.2],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-window-display-plinth-a9d57326","position":[-11,0,11.2],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-window-display-plinth-a9d57326","position":[-7,0,11.2],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-window-display-plinth-a9d57326","position":[-5,0,11.2],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-window-display-plinth-a9d57326","position":[-1,0,11.2],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-window-display-plinth-a9d57326","position":[1,0,11.2],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-window-display-plinth-a9d57326","position":[9,0,11.2],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-window-display-plinth-a9d57326","position":[11,0,11.2],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-pill-bottle-and-box-s-35371962","position":[-13,0.93,11.2],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-pill-bottle-and-box-s-35371962","position":[-7,0.93,11.2],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-pill-bottle-and-box-s-35371962","position":[-1,0.93,11.2],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-pill-bottle-and-box-s-35371962","position":[9,0.93,11.2],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-hand-sanitiser-stand-c1bb6fae","position":[2,0,9.8],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-hand-sanitiser-stand-c1bb6fae","position":[6,0,9.8],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-wire-basket-stack-36aa33ba","position":[1.2,0,9.8],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-wire-basket-stack-36aa33ba","position":[6.9,0,9.8],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-hand-basket-8e0fb9f7","position":[1.9,0,9.4],"rotation":20},{"asset":"pharmacy-and-high-street-chemist-hand-basket-8e0fb9f7","position":[7.6,0,9.5],"rotation":-35},{"asset":"pharmacy-and-high-street-chemist-hand-basket-8e0fb9f7","position":[0.4,0,9.9],"rotation":8},{"asset":"pharmacy-and-high-street-chemist-seasonal-dump-bin-bc4a08fc","position":[-3.5,0,9.2],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-seasonal-dump-bin-bc4a08fc","position":[-8.5,0,9.2],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-seasonal-dump-bin-bc4a08fc","position":[-12.8,0,8.2],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-seasonal-dump-bin-bc4a08fc","position":[10.6,0,8.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-floor-sign-frame-dd7114c4","position":[0.4,0,8.6],"rotation":180},{"asset":"pharmacy-and-high-street-chemist-floor-sign-frame-dd7114c4","position":[-6,0,7.8],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-floor-sign-frame-dd7114c4","position":[8.4,0,5],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-floor-sign-frame-dd7114c4","position":[-11.2,0,2],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-floor-sign-frame-dd7114c4","position":[5,0,-1.2],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-photo-booth-bay-b98e6c9a","position":[13.8,0,9.3],"rotation":180},{"asset":"pharmacy-and-high-street-chemist-pedal-waste-bin-cb80c563","position":[8.6,0,9.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-open-top-waste-bin-e67d648d","position":[-14.9,0,9.4],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-seasonal-dump-bin-bc4a08fc","position":[2.7,0,6.2],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-seasonal-dump-bin-bc4a08fc","position":[2.7,0,3.4],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-end-cap-displ-41b8f952","position":[2.7,0,0.85],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gondola-end-cap-displ-41b8f952","position":[2.7,0,0.2],"rotation":180},{"asset":"pharmacy-and-high-street-chemist-wire-basket-stack-36aa33ba","position":[2.7,0,-1.2],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-hand-basket-8e0fb9f7","position":[3.3,0,4.6],"rotation":15},{"asset":"pharmacy-and-high-street-chemist-hand-basket-8e0fb9f7","position":[2.1,0,2.1],"rotation":-25},{"asset":"pharmacy-and-high-street-chemist-till-counter-049eaa3f","position":[9.5,0,4.2],"rotation":180},{"asset":"pharmacy-and-high-street-chemist-card-payment-terminal-846e989d","position":[10.2,1.02,4.46],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-till-counter-049eaa3f","position":[11.6,0,4.2],"rotation":180},{"asset":"pharmacy-and-high-street-chemist-card-payment-terminal-846e989d","position":[12.299999999999999,1.02,4.46],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-till-counter-049eaa3f","position":[13.7,0,4.2],"rotation":180},{"asset":"pharmacy-and-high-street-chemist-card-payment-terminal-846e989d","position":[14.399999999999999,1.02,4.46],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-queue-rail-4a20ac58","position":[9.5,0,2.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-queue-rail-4a20ac58","position":[11.5,0,2.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-queue-rail-4a20ac58","position":[13.5,0,2.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-queue-rail-4a20ac58","position":[8.4,0,3.6],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-queue-rail-4a20ac58","position":[15,0,3.6],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-prescription-basket-r-f5766375","position":[15.5,0,3.2],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-collection-locker-ban-22bd1777","position":[15.65,0,6.4],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-collection-locker-ban-22bd1777","position":[15.65,0,5.1],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-gift-and-toiletries-d-22da7480","position":[15.7,0,0.5],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-gift-and-toiletries-d-22da7480","position":[15.7,0,-0.6],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-gift-and-toiletries-d-22da7480","position":[15.7,0,-1.7],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-gift-and-toiletries-d-22da7480","position":[15.7,0,-2.8],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-gift-and-toiletries-d-22da7480","position":[-15.7,0,2.5],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-gift-and-toiletries-d-22da7480","position":[-15.7,0,3.6],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-gift-and-toiletries-d-22da7480","position":[-15.7,0,4.7],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-gift-and-toiletries-d-22da7480","position":[-15.7,0,5.8],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-gift-and-toiletries-d-22da7480","position":[9.3,0,-1.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gift-and-toiletries-d-22da7480","position":[9.3,0,-2.25],"rotation":180},{"asset":"pharmacy-and-high-street-chemist-gift-and-toiletries-d-22da7480","position":[10.4,0,-1.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gift-and-toiletries-d-22da7480","position":[10.4,0,-2.25],"rotation":180},{"asset":"pharmacy-and-high-street-chemist-gift-and-toiletries-d-22da7480","position":[11.5,0,-1.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-gift-and-toiletries-d-22da7480","position":[11.5,0,-2.25],"rotation":180},{"asset":"pharmacy-and-high-street-chemist-step-stool-9bf44ee3","position":[12.6,0,-0.4],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-hand-basket-8e0fb9f7","position":[8.8,0,1.4],"rotation":40},{"asset":"pharmacy-and-high-street-chemist-consultation-room-fro-4c099105","position":[-13,0,1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-consultation-room-pan-8801557f","position":[-15,0,1],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-consultation-room-pan-8801557f","position":[-12,0,0],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-consultation-room-pan-8801557f","position":[-12,0,-2],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-consultation-room-pan-8801557f","position":[-15,0,-3],"rotation":180},{"asset":"pharmacy-and-high-street-chemist-consultation-room-pan-8801557f","position":[-13,0,-3],"rotation":180},{"asset":"pharmacy-and-high-street-chemist-consultation-desk-3e81dbdb","position":[-14.2,0,-1.9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-pill-bottle-and-box-s-35371962","position":[-14.2,0.76,-1.95],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-consultation-chair-51eb015a","position":[-14.2,0,-2.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-consultation-chair-aq-9776ebb4","position":[-14.2,0,-0.9],"rotation":180},{"asset":"pharmacy-and-high-street-chemist-consultation-chair-51eb015a","position":[-15.2,0,-0.9],"rotation":180},{"asset":"pharmacy-and-high-street-chemist-blood-pressure-monito-3fd3688f","position":[-15.5,0,-2.4],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-weighing-scale-b0904b4c","position":[-12.7,0,-2.3],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-sharps-bin-66a244a7","position":[-12.5,0,0.4],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-pedal-waste-bin-cb80c563","position":[-15.6,0,0.4],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-dispensary-counter-dec96f22","position":[-7,0,-3.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-dispensary-counter-dec96f22","position":[-5,0,-3.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-dispensary-counter-dec96f22","position":[-3,0,-3.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-dispensary-counter-dec96f22","position":[-1,0,-3.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-dispensary-counter-dec96f22","position":[1,0,-3.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-dispensary-counter-dec96f22","position":[3,0,-3.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-bagging-station-0dc94e52","position":[-1.4,1.02,-3.6],"rotation":180},{"asset":"pharmacy-and-high-street-chemist-pill-bottle-and-box-s-35371962","position":[2.1,1.02,-3.6],"rotation":180},{"asset":"pharmacy-and-high-street-chemist-card-payment-terminal-846e989d","position":[-4.3,1.02,-3.55],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-prescription-basket-r-f5766375","position":[4.9,0,-4.2],"rotation":180},{"asset":"pharmacy-and-high-street-chemist-prescription-basket-r-f5766375","position":[0.6,0,-4.7],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-queue-rail-4a20ac58","position":[0.9,0,-2.15],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-queue-rail-4a20ac58","position":[3,0,-2.15],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-dispensary-bench-run-b449d0b5","position":[-15,0,-11.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-dispensary-bench-run-b449d0b5","position":[-13,0,-11.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-dispensary-bench-run-b449d0b5","position":[-11,0,-11.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-dispensary-bench-run-b449d0b5","position":[-9,0,-11.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-dispensary-bench-run-b449d0b5","position":[-7,0,-11.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-dispensary-bench-run-b449d0b5","position":[-15,0,-8.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-dispensary-bench-run-b449d0b5","position":[-13,0,-8.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-dispensary-bench-run-b449d0b5","position":[-11,0,-8.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-measuring-cylinder-se-bc1c9685","position":[-15.6,0.9,-11.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-labelling-printer-e4ff2b55","position":[-14.6,0.9,-11.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-dispensing-balance-2c8f79da","position":[-13.6,0.9,-11.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-tablet-counting-tray-a235a195","position":[-12.4,0.9,-11.45],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-blister-pack-tray-82601afb","position":[-11.6,0.9,-11.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-mortar-and-pestle-70f3bb09","position":[-10.6,0.9,-11.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-pill-bottle-and-box-s-35371962","position":[-9.6,0.9,-11.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-tablet-counting-tray-a235a195","position":[-8.6,0.9,-11.45],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-blister-pack-tray-82601afb","position":[-7.6,0.9,-11.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-bagging-station-0dc94e52","position":[-15.4,0.9,-8.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-pill-bottle-and-box-s-35371962","position":[-14.2,0.9,-8.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-mortar-and-pestle-70f3bb09","position":[-13.2,0.9,-8.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-measuring-cylinder-se-bc1c9685","position":[-12.3,0.9,-8.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-dispensing-balance-2c8f79da","position":[-11.3,0.9,-8.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-tablet-counting-tray-a235a195","position":[-10.4,0.9,-8.45],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-sharps-bin-66a244a7","position":[-9.6,0.9,-8.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-robot-dispensing-cabi-84117700","position":[-15.55,0,-6.5],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-robot-dispensing-cabi-84117700","position":[-15.55,0,-5],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-drug-cabinet-sliding-2a8ae33b","position":[7.7,0,-6],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-drug-cabinet-sliding-2a8ae33b","position":[7.7,0,-7.5],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-drug-cabinet-sliding-2a8ae33b","position":[7.7,0,-9],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-cold-chain-fridge-5df8bd59","position":[7.65,0,-10.4],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-cold-chain-fridge-5df8bd59","position":[5.6,0,-11.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-controlled-drugs-safe-6dbe7c68","position":[4.4,0,-11.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-delivery-tote-stack-92460c06","position":[2.5,0,-11.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-delivery-tote-stack-92460c06","position":[3.3,0,-11.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-delivery-tote-stack-92460c06","position":[-3,0,-8.6],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-stock-trolley-08ab7768","position":[-2,0,-6.5],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-stock-trolley-08ab7768","position":[4.5,0,-8],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-step-stool-9bf44ee3","position":[-9.5,0,-9.8],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-step-stool-9bf44ee3","position":[2,0,-9.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-pedal-waste-bin-cb80c563","position":[-8,0,-10.2],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-pedal-waste-bin-cb80c563","position":[6.2,0,-4.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-open-top-waste-bin-e67d648d","position":[1.5,0,-9],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-open-top-waste-bin-e67d648d","position":[-13.5,0,-5.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-sharps-bin-66a244a7","position":[-6.6,0,-11.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-sharps-bin-66a244a7","position":[0.2,0,-6.2],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-hand-basket-8e0fb9f7","position":[-5.2,0,-7.4],"rotation":55},{"asset":"pharmacy-and-high-street-chemist-hand-basket-8e0fb9f7","position":[3.6,0,-6.2],"rotation":-15},{"asset":"pharmacy-and-high-street-chemist-prescription-basket-r-f5766375","position":[-4.2,0,-11.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-prescription-basket-r-f5766375","position":[-2.6,0,-11.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-wire-basket-stack-36aa33ba","position":[-1.2,0,-11.5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-prescription-basket-r-f5766375","position":[-10.5,0,-5.2],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-prescription-basket-r-f5766375","position":[-11.8,0,-5.2],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-delivery-tote-stack-92460c06","position":[-7.5,0,-6.8],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-delivery-tote-stack-92460c06","position":[-8.2,0,-6.8],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-delivery-tote-stack-92460c06","position":[-6,0,-5],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-stock-trolley-08ab7768","position":[-4.5,0,-5.4],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-step-stool-9bf44ee3","position":[-6.8,0,-7.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-wire-basket-stack-36aa33ba","position":[-3.5,0,-4.8],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-hand-basket-8e0fb9f7","position":[-9,0,-6.4],"rotation":30},{"asset":"pharmacy-and-high-street-chemist-open-top-waste-bin-e67d648d","position":[-11,0,-7.4],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-sharps-bin-66a244a7","position":[-12.5,0,-4.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-stock-room-shelf-run-1d618f7e","position":[15.6,0,-5.4],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-stock-room-shelf-run-1d618f7e","position":[15.6,0,-6.7],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-stock-room-shelf-run-1d618f7e","position":[15.6,0,-8],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-stock-room-shelf-run-1d618f7e","position":[15.6,0,-9.3],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-stock-room-shelf-run-1d618f7e","position":[15.6,0,-10.6],"rotation":-90},{"asset":"pharmacy-and-high-street-chemist-stock-room-shelf-run-1d618f7e","position":[9,0,-11.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-stock-room-shelf-run-1d618f7e","position":[10.3,0,-11.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-stock-room-shelf-run-1d618f7e","position":[11.6,0,-11.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-stock-room-shelf-run-1d618f7e","position":[12.9,0,-11.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-stock-room-shelf-run-1d618f7e","position":[9.8,0,-7.4],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-stock-room-shelf-run-1d618f7e","position":[11.1,0,-7.4],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-delivery-tote-stack-92460c06","position":[13.5,0,-6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-delivery-tote-stack-92460c06","position":[14.3,0,-6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-delivery-tote-stack-92460c06","position":[9,0,-5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-delivery-tote-stack-92460c06","position":[9.8,0,-5],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-delivery-tote-stack-92460c06","position":[13.2,0,-9.5],"rotation":90},{"asset":"pharmacy-and-high-street-chemist-stock-trolley-08ab7768","position":[12.2,0,-5.2],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-step-stool-9bf44ee3","position":[10.6,0,-8.6],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-wire-basket-stack-36aa33ba","position":[14.8,0,-4.8],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-open-top-waste-bin-e67d648d","position":[8.5,0,-10],"rotation":0},{"asset":"pharmacy-and-high-street-chemist-hand-basket-8e0fb9f7","position":[9.6,0,-8.8],"rotation":25},{"asset":"pharmacy-and-high-street-chemist-hand-basket-8e0fb9f7","position":[12,0,-10.4],"rotation":-40}],"points":[{"position":[4,0,9.4],"title":"The shop front","text":"Sixteen bays of glazed shopfront with two doors, a fascia frame run above and a shutter at the far end. Baskets, sanitiser stands and a dump bin sit in the lobby. The doors swing and the shutter rolls.","asset":"pharmacy-and-high-street-chemist-shopfront-door-bay-33d24893"},{"position":[-5.5,0,2.5],"title":"The aisles","text":"Five gondola runs in two heights, stocked with the abstract boxed stock the pack ships, with end cap displays at both ends of every run and a promotional line down the middle aisle.","asset":"pharmacy-and-high-street-chemist-gondola-shelving-run-48813f4b"},{"position":[11.5,0,1.8],"title":"Tills and collection","text":"Three counters behind a queue rail, each with a card terminal and a blank screen. The locker bank on the wall behind takes collections and its doors open. The counter hatches lift.","asset":"pharmacy-and-high-street-chemist-till-counter-049eaa3f"},{"position":[-11.5,0,0.6],"title":"The consultation room","text":"A glazed block on the shop floor with a frosted panel and its own door, a desk, three chairs, a blood pressure stand and a weighing scale. The door and the desk drawer open.","asset":"pharmacy-and-high-street-chemist-consultation-room-fro-4c099105"},{"position":[0,0,-2.6],"title":"The dispensary counter","text":"Six counter units close the shop floor off from the back of house, with the bagging station and a basket rack behind. The counter hatch lifts so staff can step through.","asset":"pharmacy-and-high-street-chemist-dispensary-counter-dec96f22"},{"position":[-10,0,-9.9],"title":"Behind the counter","text":"Two bench runs with sinks under the lit ceiling grid, laid with a counting tray, a balance, cylinders, a mortar and the labelling printer. Robot cabinets, sliding cabinets, a safe and a cold chain fridge line the walls.","asset":"pharmacy-and-high-street-chemist-robot-dispensing-cabi-84117700"},{"position":[11.5,0,-6.5],"title":"The stock room","text":"A shelved corner behind its own door with tote stacks, a trolley and a step stool. Shelf runs line two walls and an island run splits the floor.","asset":"pharmacy-and-high-street-chemist-stock-room-shelf-run-1d618f7e"}],"poster":{"position":[4,1.65,8],"lookAt":[2.2,0.35,-3]}},"bounds":{"min":[-18.059987183285433,-0.06003021365965735,-14.059987183285433],"max":[18.059987183285433,5.26996505003964,14.6700000166893]},"assets":[{"id":"37489","slug":"pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","title":"Shop Floor Tile Warm (Pharmacy and High Street Chemist)","summary":"The floor tile in warm sand with a plum inlay, for the consultation end and the gift aisle of a shop that should not read as one flat white plane.","description":"The floor tile in warm sand with a plum inlay, for the consultation end and the gift aisle of a shop that should not read as one flat white plane. Overall 2.00 by 0.06 by 2.00 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","cdnUrl":"https://cdn.3dassets.dev/assets/37489/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-shop-floor-tile-warm-ddb9bb9b","thumbnailUrl":"https://cdn.3dassets.dev/assets/37489/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37489/v1/poster.webp","blurhash":"UADvK2%M00R*xIayWBof00M{~payI-ofoyR*","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":7216,"triangles":180,"vertices":260,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.000030213659657350733,-1],"max":[1,0.06453791825919293,1]},"sizeMeters":[2,0.065,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:28.653Z","updatedAt":"2026-09-12T05:38:28.772Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37489/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShopFloorTileWarmPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37489/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37489/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37489/v1/model.glb\" alt=\"Shop Floor Tile Warm (Pharmacy and High Street Chemist)\" 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/37489/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/37489/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37490","slug":"pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","title":"Shop Floor Tile (Pharmacy and High Street Chemist)","summary":"A 2 m shop floor tile: a pale poured vinyl floor with a darker inlay border and a cross seam, ported on all four edges so a sales floor of any size lays flush.","description":"A 2 m shop floor tile: a pale poured vinyl floor with a darker inlay border and a cross seam, ported on all four edges so a sales floor of any size lays flush. Overall 2.00 by 0.06 by 2.00 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The tile top sits at y=0.06, so place it at y=-0.06 for a floor whose surface is the world origin plane. Static geometry. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","cdnUrl":"https://cdn.3dassets.dev/assets/37490/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-shop-floor-tile-4172954d","thumbnailUrl":"https://cdn.3dassets.dev/assets/37490/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37490/v1/poster.webp","blurhash":"UAEMLE%M00V@xvayRjof00M{~qayD%ofofRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":7184,"triangles":180,"vertices":260,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.000030213659657350733,-1],"max":[1,0.06453791825919293,1]},"sizeMeters":[2,0.065,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:28.650Z","updatedAt":"2026-09-12T05:38:28.775Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37490/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShopFloorTilePharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37490/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37490/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37490/v1/model.glb\" alt=\"Shop Floor Tile (Pharmacy and High Street Chemist)\" 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/37490/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/37490/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37492","slug":"pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","title":"Shop Wall Module (Pharmacy and High Street Chemist)","summary":"A 2 m sales floor wall bay 2.7 m tall: a plastered wall with a plum dado band, a hairline over it and deep skirting, ported so any run of bays, door bays and shopfront bays lines up.","description":"A 2 m sales floor wall bay 2.7 m tall: a plastered wall with a plum dado band, a hairline over it and deep skirting, ported so any run of bays, door bays and shopfront bays lines up. Overall 2.00 by 2.70 by 0.15 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The bay is 0.12 m thick with its centre line on the module origin, so a wall run is placed every 2 m along one axis. Static geometry. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","cdnUrl":"https://cdn.3dassets.dev/assets/37492/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-shop-wall-module-964b2f8f","thumbnailUrl":"https://cdn.3dassets.dev/assets/37492/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37492/v1/poster.webp","blurhash":"U8HLh^?I00D%~q_3D%0000kB~XRRi|xuX4D%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":4436,"triangles":48,"vertices":112,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.9999237213855982,0,-0.05998718328543184],"max":[0.9999237213855982,2.700000047683716,0.0899540710518729]},"sizeMeters":[2,2.7,0.15],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:28.833Z","updatedAt":"2026-09-12T05:38:28.942Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37492/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShopWallModulePharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37492/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37492/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37492/v1/model.glb\" alt=\"Shop Wall Module (Pharmacy and High Street Chemist)\" 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/37492/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/37492/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37494","slug":"pharmacy-and-high-street-chemist-shopfront-window-bay-2681f55d","title":"Shopfront Window Bay (Pharmacy and High Street Chemist)","summary":"A 2 m glazed shopfront bay: a dark stallriser with a sand panel, a steel framed pane with a centre mullion, a blank ticket rail across the glass and the head panel a fascia fixes to.","description":"A 2 m glazed shopfront bay: a dark stallriser with a sand panel, a steel framed pane with a centre mullion, a blank ticket rail across the glass and the head panel a fascia fixes to. Overall 2.00 by 2.70 by 0.14 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The bay is 2.7 m tall and 0.12 m thick on the module origin, so it butts into a run of wall bays and door bays. The ticket rail is an empty frame: nothing in this pack carries printing. Static geometry. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-shopfront-window-bay-2681f55d","cdnUrl":"https://cdn.3dassets.dev/assets/37494/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-shopfront-window-bay-2681f55d","thumbnailUrl":"https://cdn.3dassets.dev/assets/37494/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37494/v1/poster.webp","blurhash":"UDD,1O-p00D*_4t8D$IUD%t7%NRixt-:t7D%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":9412,"triangles":132,"vertices":308,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-1.0011999607086182,0.000023501636482292643,-0.06502131767900447],"max":[1.0011999607086182,2.699991607409894,0.08004913343121814]},"sizeMeters":[2.002,2.7,0.145],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:30.386Z","updatedAt":"2026-09-12T05:38:30.499Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37494/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShopfrontWindowBayPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37494/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37494/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37494/v1/model.glb\" alt=\"Shopfront Window Bay (Pharmacy and High Street Chemist)\" 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/37494/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/37494/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37495","slug":"pharmacy-and-high-street-chemist-shopfront-door-bay-33d24893","title":"Shopfront Door Bay (Pharmacy and High Street Chemist)","summary":"A 2 m shopfront entrance bay: a full height glazed door on a steel frame with a pull handle and a plum push rail, beside a fixed side light, in the same 2 m module as every other bay.","description":"A 2 m shopfront entrance bay: a full height glazed door on a steel frame with a pull handle and a plum push rail, beside a fixed side light, in the same 2 m module as every other bay. Overall 2.00 by 2.70 by 0.14 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. No readable text, symbol or brand appears anywhere on this model. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-shopfront-door-bay-33d24893","cdnUrl":"https://cdn.3dassets.dev/assets/37495/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-shopfront-door-bay-33d24893","thumbnailUrl":"https://cdn.3dassets.dev/assets/37495/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37495/v1/poster.webp","blurhash":"UAB|KZD%00?b_4ay9FWBj?t7WCRP?a-pD*9F","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":14360,"triangles":228,"vertices":499,"meshes":8,"materials":6,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.0011999607086182,0,-0.06502131767900447],"max":[1.0011999607086182,2.6999673547316037,0.08004913343121814]},"sizeMeters":[2.002,2.7,0.145],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:31.433Z","updatedAt":"2026-09-12T05:38:31.541Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37495/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function ShopfrontDoorBayPharmacyAndHighStreetChemist(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37495/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37495/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37495/v1/model.glb\" alt=\"Shopfront Door Bay (Pharmacy and High Street Chemist)\" camera-controls auto-rotate autoplay></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/37495/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/37495/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37496","slug":"pharmacy-and-high-street-chemist-shopfront-door-bay-op-c612f6be","title":"Shopfront Door Bay Open (Pharmacy and High Street Chemist)","summary":"The entrance bay with the door standing open, for a shop that should read as trading rather than shut.","description":"The entrance bay with the door standing open, for a shop that should read as trading rather than shut. Overall 2.00 by 2.70 by 0.99 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The open pose is baked into the geometry, so the leaf node is present for assembly but carries no clip here. Use the plain bay where the door should animate. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-shopfront-door-bay-op-c612f6be","cdnUrl":"https://cdn.3dassets.dev/assets/37496/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-shopfront-door-bay-op-c612f6be","thumbnailUrl":"https://cdn.3dassets.dev/assets/37496/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37496/v1/poster.webp","blurhash":"UDB:y,~p0000%NtRRjM{Mxs;%MRijq%L%MM{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":13864,"triangles":228,"vertices":499,"meshes":8,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-1.0011999607086182,0,-0.9104247481780796],"max":[1.0011999607086182,2.6999673547316037,0.08004913343121814]},"sizeMeters":[2.002,2.7,0.99],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:31.509Z","updatedAt":"2026-09-12T05:38:31.599Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37496/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShopfrontDoorBayOpenPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37496/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37496/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37496/v1/model.glb\" alt=\"Shopfront Door Bay Open (Pharmacy and High Street Chemist)\" 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/37496/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/37496/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37501","slug":"pharmacy-and-high-street-chemist-roller-shutter-be59b11c","title":"Roller Shutter (Pharmacy and High Street Chemist)","summary":"A 2 m security shutter over a shopfront: a hood with the barrel turning inside it, side guides down both jambs and a slatted curtain with a bottom rail that lifts on its guides.","description":"A 2 m security shutter over a shopfront: a hood with the barrel turning inside it, side guides down both jambs and a slatted curtain with a bottom rail that lifts on its guides. Overall 2.14 by 2.80 by 0.39 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The barrel turns and the curtain lifts 0.42 m on its guides, which is the shutter opening to its lock line. The curtain cannot coil onto the barrel: a slat mat is a flexible chain and this library has rigid node transforms only, so the lift is the honest part of the motion. No readable text, symbol or brand appears anywhere on this model. Rigid node-transform clips: open, close and roll. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-roller-shutter-be59b11c","cdnUrl":"https://cdn.3dassets.dev/assets/37501/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-roller-shutter-be59b11c","thumbnailUrl":"https://cdn.3dassets.dev/assets/37501/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37501/v1/poster.webp","blurhash":"U8AmuQ~q00D%_4%NITD%01IUt7s-M|t8t7M_","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":21692,"triangles":424,"vertices":950,"meshes":6,"materials":3,"textures":0,"animations":["open","close","roll"],"boundingBox":{"min":[-1.06998502770862,0,-0.1999511776480983],"max":[1.06998502770862,2.799999952316284,0.190044858972485]},"sizeMeters":[2.14,2.8,0.39],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:33.882Z","updatedAt":"2026-09-12T05:38:33.978Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37501/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function RollerShutterPharmacyAndHighStreetChemist(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37501/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37501/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37501/v1/model.glb\" alt=\"Roller Shutter (Pharmacy and High Street Chemist)\" camera-controls auto-rotate autoplay></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/37501/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/37501/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37499","slug":"pharmacy-and-high-street-chemist-projecting-sign-brack-c27a62f8","title":"Projecting Sign Bracket (Pharmacy and High Street Chemist)","summary":"A projecting sign bracket: a wall plate, a steel arm with a tie rod and a double sided blank panel hanging from two eyes, for the corner of a shopfront.","description":"A projecting sign bracket: a wall plate, a steel arm with a tie rod and a double sided blank panel hanging from two eyes, for the corner of a shopfront. Overall 0.18 by 0.67 by 0.69 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. Both faces are blank emissive panels. The origin is on the wall plate at the back, so the sign hangs clear of the facade it is fixed to. Static geometry. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-projecting-sign-brack-c27a62f8","cdnUrl":"https://cdn.3dassets.dev/assets/37499/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-projecting-sign-brack-c27a62f8","thumbnailUrl":"https://cdn.3dassets.dev/assets/37499/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37499/v1/poster.webp","blurhash":"UGC$+m?I004nE0Inxu%N00M{~q%N-;xuIUIU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":13104,"triangles":240,"vertices":524,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.08998871000817484,-1.4901161193847656e-8,-0.01999572782123275],"max":[0.08998871000817484,0.6700000166893005,0.6700000166893005]},"sizeMeters":[0.18,0.67,0.69],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:33.139Z","updatedAt":"2026-09-12T05:38:33.349Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37499/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ProjectingSignBracketPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37499/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37499/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37499/v1/model.glb\" alt=\"Projecting Sign Bracket (Pharmacy and High Street Chemist)\" 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/37499/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/37499/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37498","slug":"pharmacy-and-high-street-chemist-fascia-sign-frame-be4b4807","title":"Fascia Sign Frame (Pharmacy and High Street Chemist)","summary":"A 2 m fascia sign frame with a blank illuminated face: a plum tray, a steel surround, a lit panel with nothing on it and the fixing lugs that hold it over a shopfront.","description":"A 2 m fascia sign frame with a blank illuminated face: a plum tray, a steel surround, a lit panel with nothing on it and the fixing lugs that hold it over a shopfront. Overall 2.02 by 0.57 by 0.28 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The face is a plain emissive panel with no lettering, symbol or artwork on it, so a consumer applies their own. The frame rests on y=0; place it at the head of a shopfront bay, about y=2.7. Static geometry. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-fascia-sign-frame-be4b4807","cdnUrl":"https://cdn.3dassets.dev/assets/37498/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-fascia-sign-frame-be4b4807","thumbnailUrl":"https://cdn.3dassets.dev/assets/37498/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37498/v1/poster.webp","blurhash":"UCD,1V-;00s;-;_4xuD%00a~~qWBIA00IU?b","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":5960,"triangles":84,"vertices":196,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.0099999904632568,0.00003494280780258485,-0.17002876220036733],"max":[1.0099999904632568,0.56996505003964,0.11502876249839056]},"sizeMeters":[2.02,0.57,0.285],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:32.090Z","updatedAt":"2026-09-12T05:38:32.313Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37498/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FasciaSignFramePharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37498/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37498/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37498/v1/model.glb\" alt=\"Fascia Sign Frame (Pharmacy and High Street Chemist)\" 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/37498/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/37498/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37491","slug":"pharmacy-and-high-street-chemist-stock-room-wall-modul-36bc911c","title":"Stock Room Wall Module (Pharmacy and High Street Chemist)","summary":"The same 2 m bay for the stock room and the dispensary: a grey impact band instead of the dado and a steel buffer rail at trolley height.","description":"The same 2 m bay for the stock room and the dispensary: a grey impact band instead of the dado and a steel buffer rail at trolley height. Overall 2.00 by 2.70 by 0.17 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-stock-room-wall-modul-36bc911c","cdnUrl":"https://cdn.3dassets.dev/assets/37491/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-stock-room-wall-modul-36bc911c","thumbnailUrl":"https://cdn.3dassets.dev/assets/37491/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37491/v1/poster.webp","blurhash":"U9GbxHD%00t7?b-;D%4n00xu~qM{%M%MM{D%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":6796,"triangles":96,"vertices":210,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.9999237213855982,-0.000056596022702581905,-0.05998718328543184],"max":[0.9999237213855982,2.700000047683716,0.10801812736829974]},"sizeMeters":[2,2.7,0.168],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:28.664Z","updatedAt":"2026-09-12T05:38:28.792Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37491/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StockRoomWallModulePharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37491/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37491/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37491/v1/model.glb\" alt=\"Stock Room Wall Module (Pharmacy and High Street Chemist)\" 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/37491/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/37491/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37493","slug":"pharmacy-and-high-street-chemist-interior-door-bay-35d979c8","title":"Interior Door Bay (Pharmacy and High Street Chemist)","summary":"A 2 m interior door bay for the back of the shop: a solid leaf with two plum panels and a lever handle in a grey lined opening, carrying the same wall ports as every other bay.","description":"A 2 m interior door bay for the back of the shop: a solid leaf with two plum panels and a lever handle in a grey lined opening, carrying the same wall ports as every other bay. Overall 2.00 by 2.70 by 0.16 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. No readable text, symbol or brand appears anywhere on this model. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-interior-door-bay-35d979c8","cdnUrl":"https://cdn.3dassets.dev/assets/37493/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-interior-door-bay-35d979c8","thumbnailUrl":"https://cdn.3dassets.dev/assets/37493/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37493/v1/poster.webp","blurhash":"UAG925xu00Rj~q-;Dj9F00WB-;aft7t7R*IU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":14340,"triangles":276,"vertices":466,"meshes":5,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.0000541876163285,0,-0.06999084418875733],"max":[1.0000541876163285,2.700000047683716,0.08999084746701279]},"sizeMeters":[2,2.7,0.16],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:30.372Z","updatedAt":"2026-09-12T05:38:30.486Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37493/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function InteriorDoorBayPharmacyAndHighStreetChemist(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37493/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37493/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37493/v1/model.glb\" alt=\"Interior Door Bay (Pharmacy and High Street Chemist)\" camera-controls auto-rotate autoplay></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/37493/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/37493/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37504","slug":"pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","title":"Ceiling Grid Module (Pharmacy and High Street Chemist)","summary":"A 2 m suspended ceiling module: a tee bar grid with a cross, four flat tiles in it and the hanger wires that carry it, ported so a ceiling repeats over a shop floor.","description":"A 2 m suspended ceiling module: a tee bar grid with a cross, four flat tiles in it and the hanger wires that carry it, ported so a ceiling repeats over a shop floor. Overall 2.00 by 0.26 by 2.00 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The module rests on y=0 with the tee bars at the bottom, so place it at the ceiling height a wall run gives, about y=2.44 under a 2.7 m bay. Static geometry. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","cdnUrl":"https://cdn.3dassets.dev/assets/37504/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-ceiling-grid-module-fda45822","thumbnailUrl":"https://cdn.3dassets.dev/assets/37504/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37504/v1/poster.webp","blurhash":"UBEV+;%M00WBM{WBofoe00M_~qWBxuofj[WC","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":15160,"triangles":312,"vertices":708,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.00004028532657798789,-1],"max":[1,0.25997243299435674,1]},"sizeMeters":[2,0.26,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:35.077Z","updatedAt":"2026-09-12T05:38:35.192Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37504/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CeilingGridModulePharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37504/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37504/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37504/v1/model.glb\" alt=\"Ceiling Grid Module (Pharmacy and High Street Chemist)\" 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/37504/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/37504/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37507","slug":"pharmacy-and-high-street-chemist-gondola-shelving-run--a66312da","title":"Gondola Shelving Run Low (Pharmacy and High Street Chemist)","summary":"The gondola bay at 1.2 m, three shelves each side, for the runs across the middle of a shop where a customer has to see over the top.","description":"The gondola bay at 1.2 m, three shelves each side, for the runs across the middle of a shop where a customer has to see over the top. Overall 1.25 by 1.24 by 0.71 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-gondola-shelving-run--a66312da","cdnUrl":"https://cdn.3dassets.dev/assets/37507/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-gondola-shelving-run--a66312da","thumbnailUrl":"https://cdn.3dassets.dev/assets/37507/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37507/v1/poster.webp","blurhash":"UDGuayxI00%N}^?bNrD%00t6j;D%o{M{IoSc","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":89896,"triangles":2604,"vertices":5667,"meshes":8,"materials":8,"textures":0,"animations":[],"boundingBox":{"min":[-0.625,0.00003112820911328751,-0.3539765617847224],"max":[0.625,1.2420231614503003,0.3539765617847224]},"sizeMeters":[1.25,1.242,0.708],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:37.807Z","updatedAt":"2026-09-12T05:38:37.935Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37507/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GondolaShelvingRunLowPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37507/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37507/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37507/v1/model.glb\" alt=\"Gondola Shelving Run Low (Pharmacy and High Street Chemist)\" 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/37507/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/37507/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37505","slug":"pharmacy-and-high-street-chemist-gondola-shelving-run-48813f4b","title":"Gondola Shelving Run (Pharmacy and High Street Chemist)","summary":"A 1.25 m double sided gondola bay 1.8 m tall: a plinth, five shelves each side on blank ticket edges, stocked with abstract cartons and unlabelled bottles, ported so an aisle repeats to any length.","description":"A 1.25 m double sided gondola bay 1.8 m tall: a plinth, five shelves each side on blank ticket edges, stocked with abstract cartons and unlabelled bottles, ported so an aisle repeats to any length. Overall 1.25 by 1.84 by 0.71 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The gondola-left and gondola-right ports sit on the module edges, so bays butt into a continuous run and mix freely with the low and picked over versions. Every shelf edge ticket strip is blank. Static geometry; the shelves do not move, since a shelf is repositioned by a builder rather than animated. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-gondola-shelving-run-48813f4b","cdnUrl":"https://cdn.3dassets.dev/assets/37505/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-gondola-shelving-run-48813f4b","thumbnailUrl":"https://cdn.3dassets.dev/assets/37505/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37505/v1/poster.webp","blurhash":"U9FFT{$,00X+~D-;EK9G00tR_3IT%fa$IVaw","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":135512,"triangles":3996,"vertices":8789,"meshes":8,"materials":8,"textures":0,"animations":[],"boundingBox":{"min":[-0.6250211878695581,0.00003112820911328751,-0.3540149161448706],"max":[0.6250211878695581,1.8420000076293945,0.3540149161448706]},"sizeMeters":[1.25,1.842,0.708],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:36.504Z","updatedAt":"2026-09-12T05:38:36.606Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37505/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GondolaShelvingRunPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37505/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37505/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37505/v1/model.glb\" alt=\"Gondola Shelving Run (Pharmacy and High Street Chemist)\" 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/37505/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/37505/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37506","slug":"pharmacy-and-high-street-chemist-gondola-shelving-run--3feae9a7","title":"Gondola Shelving Run Picked (Pharmacy and High Street Chemist)","summary":"The tall gondola bay picked over: the same five shelves with a third of the stock left on them, for the end of a trading day or a gap in an otherwise full aisle.","description":"The tall gondola bay picked over: the same five shelves with a third of the stock left on them, for the end of a trading day or a gap in an otherwise full aisle. Overall 1.25 by 1.84 by 0.71 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-gondola-shelving-run--3feae9a7","cdnUrl":"https://cdn.3dassets.dev/assets/37506/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-gondola-shelving-run--3feae9a7","thumbnailUrl":"https://cdn.3dassets.dev/assets/37506/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37506/v1/poster.webp","blurhash":"U9FFQ=%300b@}^-;EK9Z00t7_2IUtmW?Vrng","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":68380,"triangles":1596,"vertices":3441,"meshes":8,"materials":8,"textures":0,"animations":[],"boundingBox":{"min":[-0.6250211878695581,0.00003112820911328751,-0.3540149161448706],"max":[0.6250211878695581,1.8420000076293945,0.3540149161448706]},"sizeMeters":[1.25,1.842,0.708],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:37.790Z","updatedAt":"2026-09-12T05:38:37.918Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37506/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GondolaShelvingRunPickedPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37506/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37506/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37506/v1/model.glb\" alt=\"Gondola Shelving Run Picked (Pharmacy and High Street Chemist)\" 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/37506/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/37506/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37509","slug":"pharmacy-and-high-street-chemist-gondola-end-cap-displ-41b8f952","title":"Gondola End Cap Display (Pharmacy and High Street Chemist)","summary":"An end cap display for the head of an aisle: a stepped stack of four tiers on a plinth, crowded with abstract cartons and bottles, with a blank header board over it.","description":"An end cap display for the head of an aisle: a stepped stack of four tiers on a plinth, crowded with abstract cartons and bottles, with a blank header board over it. Overall 1.25 by 1.72 by 0.62 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The header board is a blank lit panel with no printing on it. Static geometry. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-gondola-end-cap-displ-41b8f952","cdnUrl":"https://cdn.3dassets.dev/assets/37509/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-gondola-end-cap-displ-41b8f952","thumbnailUrl":"https://cdn.3dassets.dev/assets/37509/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37509/v1/poster.webp","blurhash":"U9E.w]9G00_2~EtQ4-R600yB~pIBr]RQkpbb","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":78216,"triangles":2256,"vertices":4855,"meshes":9,"materials":9,"textures":0,"animations":[],"boundingBox":{"min":[-0.625,0.00003112820911328751,-0.310010834070864],"max":[0.625,1.7200000286102295,0.310010834070864]},"sizeMeters":[1.25,1.72,0.62],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:38.111Z","updatedAt":"2026-09-12T05:38:38.220Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37509/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GondolaEndCapDisplayPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37509/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37509/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37509/v1/model.glb\" alt=\"Gondola End Cap Display (Pharmacy and High Street Chemist)\" 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/37509/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/37509/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37508","slug":"pharmacy-and-high-street-chemist-gondola-shelving-run--a76aa86a","title":"Gondola Shelving Run Aqua (Pharmacy and High Street Chemist)","summary":"The tall gondola bay with aqua shelf edges and a matching top rail, for the second aisle of a shop that should not read as one long identical run.","description":"The tall gondola bay with aqua shelf edges and a matching top rail, for the second aisle of a shop that should not read as one long identical run. Overall 1.25 by 1.84 by 0.71 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-gondola-shelving-run--a76aa86a","cdnUrl":"https://cdn.3dassets.dev/assets/37508/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-gondola-shelving-run--a76aa86a","thumbnailUrl":"https://cdn.3dassets.dev/assets/37508/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37508/v1/poster.webp","blurhash":"UAEyuf%g00jF?^-;IA9G00xH?uIn%2bIIpad","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":135604,"triangles":3996,"vertices":8789,"meshes":8,"materials":8,"textures":0,"animations":[],"boundingBox":{"min":[-0.6250211878695581,0.00003112820911328751,-0.3540149161448706],"max":[0.6250211878695581,1.8420000076293945,0.3540149161448706]},"sizeMeters":[1.25,1.842,0.708],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:38.603Z","updatedAt":"2026-09-12T05:38:38.697Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37508/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GondolaShelvingRunAquaPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37508/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37508/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37508/v1/model.glb\" alt=\"Gondola Shelving Run Aqua (Pharmacy and High Street Chemist)\" 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/37508/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/37508/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37497","slug":"pharmacy-and-high-street-chemist-window-display-plinth-a9d57326","title":"Window Display Plinth (Pharmacy and High Street Chemist)","summary":"A window display plinth: a 1.2 m box with a stepped riser, blank cartons and unlabelled bottles laid out on both levels, for the space behind a shopfront pane.","description":"A window display plinth: a 1.2 m box with a stepped riser, blank cartons and unlabelled bottles laid out on both levels, for the space behind a shopfront pane. Overall 1.20 by 0.93 by 0.60 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. Every carton face and bottle is blank: the pale panel on each box is the whole of its artwork. Static geometry. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-window-display-plinth-a9d57326","cdnUrl":"https://cdn.3dassets.dev/assets/37497/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-window-display-plinth-a9d57326","thumbnailUrl":"https://cdn.3dassets.dev/assets/37497/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37497/v1/poster.webp","blurhash":"U6G+5j^-00Xm=d^lD*0M00Dh$i59_NtLNY9a","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":45488,"triangles":1104,"vertices":2016,"meshes":8,"materials":8,"textures":0,"animations":[],"boundingBox":{"min":[-0.6000000238418579,0.00002792354321049656,-0.300045789686962],"max":[0.6000000238418579,0.9300192194256459,0.300045789686962]},"sizeMeters":[1.2,0.93,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:33.119Z","updatedAt":"2026-09-12T05:38:33.210Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37497/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WindowDisplayPlinthPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37497/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37497/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37497/v1/model.glb\" alt=\"Window Display Plinth (Pharmacy and High Street Chemist)\" 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/37497/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/37497/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37540","slug":"pharmacy-and-high-street-chemist-pill-bottle-and-box-s-35371962","title":"Pill Bottle And Box Set (Pharmacy and High Street Chemist)","summary":"A set of dispensing containers: three amber bottles with plain white caps, two boxed cartons and a wallet, all with blank label panels, grouped as one bench prop.","description":"A set of dispensing containers: three amber bottles with plain white caps, two boxed cartons and a wallet, all with blank label panels, grouped as one bench prop. Overall 0.39 by 0.12 by 0.18 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. Every label panel is a blank white rectangle. There is no printing of any kind on these containers, in any language, and they hold nothing: this is a shape set for dressing a bench, not a depiction of a medicine. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-pill-bottle-and-box-s-35371962","cdnUrl":"https://cdn.3dassets.dev/assets/37540/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-pill-bottle-and-box-s-35371962","thumbnailUrl":"https://cdn.3dassets.dev/assets/37540/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37540/v1/poster.webp","blurhash":"UEDvQ9~p01nnM}?H-;In004:?bob%04.9F%M","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":36072,"triangles":972,"vertices":1695,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.15199999511241913,-7.450580707946131e-10,-0.13500228975716333],"max":[0.24000274823053616,0.12200584570938305,0.04298755139546542]},"sizeMeters":[0.392,0.122,0.178],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:54.514Z","updatedAt":"2026-09-12T05:38:54.622Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37540/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PillBottleAndBoxSetPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37540/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37540/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37540/v1/model.glb\" alt=\"Pill Bottle And Box Set (Pharmacy and High Street Chemist)\" 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/37540/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/37540/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37503","slug":"pharmacy-and-high-street-chemist-hand-sanitiser-stand-c1bb6fae","title":"Hand Sanitiser Stand (Pharmacy and High Street Chemist)","summary":"A hand sanitiser stand: a weighted disc base, a steel column, a drip tray and a pump bottle with a blank body, at the height a customer uses on the way in.","description":"A hand sanitiser stand: a weighted disc base, a steel column, a drip tray and a pump bottle with a blank body, at the height a customer uses on the way in. Overall 0.38 by 1.37 by 0.38 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The header board above the bottle is blank, like every panel in this pack. Static geometry: the pump head does not press, since its travel is a few millimetres and reads as a fault rather than a motion. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-hand-sanitiser-stand-c1bb6fae","cdnUrl":"https://cdn.3dassets.dev/assets/37503/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-hand-sanitiser-stand-c1bb6fae","thumbnailUrl":"https://cdn.3dassets.dev/assets/37503/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37503/v1/poster.webp","blurhash":"U66[BhbI00n#~qWV4Ts..8bHD%jZM_j?tRah","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":21572,"triangles":472,"vertices":887,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.1899999976158142,-0.00000656162650593782,-0.1899999976158142],"max":[0.1899999976158142,1.3700000047683716,0.1899999976158142]},"sizeMeters":[0.38,1.37,0.38],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:35.984Z","updatedAt":"2026-09-12T05:38:36.087Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37503/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HandSanitiserStandPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37503/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37503/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37503/v1/model.glb\" alt=\"Hand Sanitiser Stand (Pharmacy and High Street Chemist)\" 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/37503/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/37503/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37513","slug":"pharmacy-and-high-street-chemist-wire-basket-stack-36aa33ba","title":"Wire Basket Stack (Pharmacy and High Street Chemist)","summary":"A basket stack on castors: a steel cradle carrying a leaning column of ten hand baskets, the fitting that stands inside a shop door, with wheels that roll.","description":"A basket stack on castors: a steel cradle carrying a leaning column of ten hand baskets, the fitting that stands inside a shop door, with wheels that roll. Overall 0.52 by 0.98 by 0.55 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The four castors roll. They do not swivel, since a castor turning on its own king pin needs a second node under each wheel and reads as a wobble at this size. No readable text, symbol or brand appears anywhere on this model. Rigid node-transform clips: roll. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-wire-basket-stack-36aa33ba","cdnUrl":"https://cdn.3dassets.dev/assets/37513/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-wire-basket-stack-36aa33ba","thumbnailUrl":"https://cdn.3dassets.dev/assets/37513/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37513/v1/poster.webp","blurhash":"U69$*7=}005O}e$SA8Ec1Dog,xRjKHS^nmra","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":48180,"triangles":1176,"vertices":2578,"meshes":6,"materials":3,"textures":0,"animations":["roll"],"boundingBox":{"min":[-0.259997248044194,-7.450580569168253e-10,-0.2699987268542102],"max":[0.259997248044194,0.9800000190734863,0.2819987213705829]},"sizeMeters":[0.52,0.98,0.552],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:40.346Z","updatedAt":"2026-09-12T05:38:40.445Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37513/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function WireBasketStackPharmacyAndHighStreetChemist(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37513/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37513/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37513/v1/model.glb\" alt=\"Wire Basket Stack (Pharmacy and High Street Chemist)\" camera-controls auto-rotate autoplay></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/37513/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/37513/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37512","slug":"pharmacy-and-high-street-chemist-hand-basket-8e0fb9f7","title":"Hand Basket (Pharmacy and High Street Chemist)","summary":"A plastic hand basket: a tapered open tub with moulded ribs, a dark rolled rim round the mouth and two folding steel handles laid down over it, the basket a shop stacks by the door.","description":"A plastic hand basket: a tapered open tub with moulded ribs, a dark rolled rim round the mouth and two folding steel handles laid down over it, the basket a shop stacks by the door. Overall 0.45 by 0.27 by 0.33 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The handles are modelled folded down over the rim and do not fold up: each is a two arm linkage on its own rivet, which one rigid node cannot carry. Static geometry. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-hand-basket-8e0fb9f7","cdnUrl":"https://cdn.3dassets.dev/assets/37512/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-hand-basket-8e0fb9f7","thumbnailUrl":"https://cdn.3dassets.dev/assets/37512/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37512/v1/poster.webp","blurhash":"U5Bog^}x0JI-T^o#rdw#0JA9r^nP:uxuNYEJ","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":20676,"triangles":444,"vertices":952,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.22380000352859497,-0.000012816709211063704,-0.16450840433941888],"max":[0.22380000352859497,0.26498993892040396,0.16450840433941888]},"sizeMeters":[0.448,0.265,0.329],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:39.816Z","updatedAt":"2026-09-12T05:38:39.903Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37512/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HandBasketPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37512/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37512/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37512/v1/model.glb\" alt=\"Hand Basket (Pharmacy and High Street Chemist)\" 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/37512/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/37512/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37510","slug":"pharmacy-and-high-street-chemist-seasonal-dump-bin-bc4a08fc","title":"Seasonal Dump Bin (Pharmacy and High Street Chemist)","summary":"A seasonal dump bin: a square plum tub on a castored frame filled with a jumble of abstract cartons, with a blank riser card on a stem above it.","description":"A seasonal dump bin: a square plum tub on a castored frame filled with a jumble of abstract cartons, with a blank riser card on a stem above it. Overall 1.04 by 1.42 by 1.04 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The riser card is blank. The castors are modelled as plain pads rather than swivel wheels, and do not turn: a dump bin is dragged a metre twice a year and a rolling clip would oversell it. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-seasonal-dump-bin-bc4a08fc","cdnUrl":"https://cdn.3dassets.dev/assets/37510/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-seasonal-dump-bin-bc4a08fc","thumbnailUrl":"https://cdn.3dassets.dev/assets/37510/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37510/v1/poster.webp","blurhash":"U9DItbs;00xu%yInD%-q00In~o%3i6xIyBNY","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":38184,"triangles":804,"vertices":1693,"meshes":10,"materials":10,"textures":0,"animations":[],"boundingBox":{"min":[-0.5199999809265137,0,-0.5199999809265137],"max":[0.5199999809265137,1.4212000370025635,0.5199999809265137]},"sizeMeters":[1.04,1.421,1.04],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:39.655Z","updatedAt":"2026-09-12T05:38:39.755Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37510/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SeasonalDumpBinPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37510/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37510/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37510/v1/model.glb\" alt=\"Seasonal Dump Bin (Pharmacy and High Street Chemist)\" 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/37510/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/37510/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37500","slug":"pharmacy-and-high-street-chemist-floor-sign-frame-dd7114c4","title":"Floor Sign Frame (Pharmacy and High Street Chemist)","summary":"An A frame floor sign with two blank faces: a plum framed board on hinged legs with a tie chain rail, the sign a shop stands at the end of an aisle.","description":"An A frame floor sign with two blank faces: a plum framed board on hinged legs with a tie chain rail, the sign a shop stands at the end of an aisle. Overall 0.64 by 0.98 by 0.42 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. Both faces are blank: there is no text or symbol anywhere on this sign. Static geometry; the legs do not fold, since the hinge is a two leaf linkage a single node cannot carry. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-floor-sign-frame-dd7114c4","cdnUrl":"https://cdn.3dassets.dev/assets/37500/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-floor-sign-frame-dd7114c4","thumbnailUrl":"https://cdn.3dassets.dev/assets/37500/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37500/v1/poster.webp","blurhash":"UGCsaR?b0000ozofaeRj00IU~q?bs;f7R%j[","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":13376,"triangles":252,"vertices":562,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.31998718845384777,0,-0.20997009594730706],"max":[0.31998718845384777,0.9800000190734863,0.20997009594730706]},"sizeMeters":[0.64,0.98,0.42],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:33.170Z","updatedAt":"2026-09-12T05:38:33.362Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37500/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FloorSignFramePharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37500/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37500/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37500/v1/model.glb\" alt=\"Floor Sign Frame (Pharmacy and High Street Chemist)\" 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/37500/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/37500/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37521","slug":"pharmacy-and-high-street-chemist-photo-booth-bay-b98e6c9a","title":"Photo Booth Bay (Pharmacy and High Street Chemist)","summary":"A photo booth bay: a white cabin with a curtained entrance, an internal bench, a camera head over a blank screen and a print slot in the outer panel.","description":"A photo booth bay: a white cabin with a curtained entrance, an internal bench, a camera head over a blank screen and a print slot in the outer panel. Overall 1.56 by 2.20 by 1.34 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The curtain is modelled as hanging rigid strips and does not part: fabric is flexible and needs a joint per fold or a cloth solver, and this library has rigid node transforms only. Screens are blank panels with no interface drawn on them. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-photo-booth-bay-b98e6c9a","cdnUrl":"https://cdn.3dassets.dev/assets/37521/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-photo-booth-bay-b98e6c9a","thumbnailUrl":"https://cdn.3dassets.dev/assets/37521/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37521/v1/poster.webp","blurhash":"UIF$3G~p0001?cn,D%oyEeRkVtov%foyM{Rk","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":17328,"triangles":356,"vertices":663,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.5700552040904262,-2.3841858265427618e-8,-0.6700454501882361],"max":[0.9900552207797267,2.200000047683716,0.6700454501882361]},"sizeMeters":[1.56,2.2,1.34],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:45.055Z","updatedAt":"2026-09-12T05:38:45.151Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37521/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PhotoBoothBayPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37521/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37521/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37521/v1/model.glb\" alt=\"Photo Booth Bay (Pharmacy and High Street Chemist)\" 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/37521/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/37521/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37522","slug":"pharmacy-and-high-street-chemist-pedal-waste-bin-cb80c563","title":"Pedal Waste Bin (Pharmacy and High Street Chemist)","summary":"A pedal waste bin: a steel drum with a foot pedal, a hinged lid that lifts and a plum band round the body, the bin at the end of a counter run.","description":"A pedal waste bin: a steel drum with a foot pedal, a hinged lid that lifts and a plum band round the body, the bin at the end of a counter run. Overall 0.36 by 0.65 by 0.40 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The lid lifts. The pedal and its linkage do not move: a pedal bin is a bell crank and a rod, which is a multi bar linkage no single rigid node carries. No readable text, symbol or brand appears anywhere on this model. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-pedal-waste-bin-cb80c563","cdnUrl":"https://cdn.3dassets.dev/assets/37522/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-pedal-waste-bin-cb80c563","thumbnailUrl":"https://cdn.3dassets.dev/assets/37522/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37522/v1/poster.webp","blurhash":"U28D|j~X0000_Nx]D%D%00pF~qH@4UaL.RXQ","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":19156,"triangles":440,"vertices":716,"meshes":5,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.18000000715255737,0.000003204085298885717,-0.1800000088661909],"max":[0.18000000715255737,0.6449978607879574,0.2150000035762787]},"sizeMeters":[0.36,0.645,0.395],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:45.624Z","updatedAt":"2026-09-12T05:38:45.717Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37522/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function PedalWasteBinPharmacyAndHighStreetChemist(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37522/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37522/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37522/v1/model.glb\" alt=\"Pedal Waste Bin (Pharmacy and High Street Chemist)\" camera-controls auto-rotate autoplay></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/37522/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/37522/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37523","slug":"pharmacy-and-high-street-chemist-open-top-waste-bin-e67d648d","title":"Open Top Waste Bin (Pharmacy and High Street Chemist)","summary":"The same drum open topped with a plain rolled rim and a liner turned over it, for the sales floor and the stock room where a lid is in the way.","description":"The same drum open topped with a plain rolled rim and a liner turned over it, for the sales floor and the stock room where a lid is in the way. Overall 0.36 by 0.63 by 0.36 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-open-top-waste-bin-e67d648d","cdnUrl":"https://cdn.3dassets.dev/assets/37523/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-open-top-waste-bin-e67d648d","thumbnailUrl":"https://cdn.3dassets.dev/assets/37523/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37523/v1/poster.webp","blurhash":"U38Nb8?b009Y.AoeI8WV00IU-Txtohj0ImXM","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":15208,"triangles":332,"vertices":728,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.18201879802416535,0,-0.18201879802416535],"max":[0.18201879802416535,0.6299999952316284,0.18201879802416535]},"sizeMeters":[0.364,0.63,0.364],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:45.777Z","updatedAt":"2026-09-12T05:38:45.978Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37523/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OpenTopWasteBinPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37523/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37523/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37523/v1/model.glb\" alt=\"Open Top Waste Bin (Pharmacy and High Street Chemist)\" 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/37523/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/37523/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37516","slug":"pharmacy-and-high-street-chemist-till-counter-049eaa3f","title":"Till Counter (Pharmacy and High Street Chemist)","summary":"A till counter: a 1.8 m unit with a sand top, a plum bulkhead on the customer side, a blank screen on a stem, a cash drawer that opens and a bagging shelf under the counter.","description":"A till counter: a 1.8 m unit with a sand top, a plum bulkhead on the customer side, a blank screen on a stem, a cash drawer that opens and a bagging shelf under the counter. Overall 1.86 by 1.51 by 0.84 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The staff stand on the +Z side, where the screen, keypad and cash drawer are; the bulkhead is the customer face at -Z. The screen and the keypad are blank: no interface, figure or character is drawn anywhere on this counter. The cash drawer opens. Static otherwise: the printer, the scanner window and the cabling are fixed, since a lead is flexible and this library has no skinning. No readable text, symbol or brand appears anywhere on this model. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-till-counter-049eaa3f","cdnUrl":"https://cdn.3dassets.dev/assets/37516/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-till-counter-049eaa3f","thumbnailUrl":"https://cdn.3dassets.dev/assets/37516/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37516/v1/poster.webp","blurhash":"UAGbVZ.Q00RQHt?byBD%00Dj?uoz?]ICIBSb","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":29068,"triangles":780,"vertices":1015,"meshes":11,"materials":9,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.9312000274658203,0.000023972708636965656,-0.421167643727642],"max":[0.9300000071525574,1.5099760186486897,0.4199716210161562]},"sizeMeters":[1.861,1.51,0.841],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:42.960Z","updatedAt":"2026-09-12T05:38:43.062Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37516/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function TillCounterPharmacyAndHighStreetChemist(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37516/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37516/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37516/v1/model.glb\" alt=\"Till Counter (Pharmacy and High Street Chemist)\" camera-controls auto-rotate autoplay></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/37516/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/37516/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37517","slug":"pharmacy-and-high-street-chemist-card-payment-terminal-846e989d","title":"Card Payment Terminal (Pharmacy and High Street Chemist)","summary":"A card payment terminal on a stand: a weighted foot, a steel stem and a dark bodied terminal tilted toward the customer, with a blank screen, a card slot and three rows of plain keys.","description":"A card payment terminal on a stand: a weighted foot, a steel stem and a dark bodied terminal tilted toward the customer, with a blank screen, a card slot and three rows of plain keys. Overall 0.17 by 0.25 by 0.20 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The screen is a blank panel and the keys are plain blocks with no characters on them. Static geometry: the card slot is an opening, not a mechanism. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-card-payment-terminal-846e989d","cdnUrl":"https://cdn.3dassets.dev/assets/37517/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-card-payment-terminal-846e989d","thumbnailUrl":"https://cdn.3dassets.dev/assets/37517/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37517/v1/poster.webp","blurhash":"UF9@VHay00xu~qay9Ft7-;RjIUxuofM{Rj%M","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":20184,"triangles":484,"vertices":801,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.08499359089743502,0,-0.09000068849898725],"max":[0.08499359089743502,0.2459987204325324,0.11000068432666212]},"sizeMeters":[0.17,0.246,0.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:43.340Z","updatedAt":"2026-09-12T05:38:43.445Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37517/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CardPaymentTerminalPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37517/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37517/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37517/v1/model.glb\" alt=\"Card Payment Terminal (Pharmacy and High Street Chemist)\" 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/37517/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/37517/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37518","slug":"pharmacy-and-high-street-chemist-queue-rail-4a20ac58","title":"Queue Rail (Pharmacy and High Street Chemist)","summary":"A queue rail: two weighted posts with a retractable belt strung between them and a blank sign plate on the head of one, the barrier that runs a pharmacy queue.","description":"A queue rail: two weighted posts with a retractable belt strung between them and a blank sign plate on the head of one, the barrier that runs a pharmacy queue. Overall 1.84 by 1.18 by 0.34 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The sign plate is blank. The belt is modelled strung between the posts and does not retract: a webbing belt is flexible and a rigid node cannot wind it in. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-queue-rail-4a20ac58","cdnUrl":"https://cdn.3dassets.dev/assets/37518/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-queue-rail-4a20ac58","thumbnailUrl":"https://cdn.3dassets.dev/assets/37518/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37518/v1/poster.webp","blurhash":"U88zik_3KGI:~W_3XND$TC-p-XM{O*%g=~aL","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":22464,"triangles":460,"vertices":1017,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.9200000166893005,0.0000019794919541848977,-0.17003448900022594],"max":[0.9200000166893005,1.1800042456836504,0.17003448900022594]},"sizeMeters":[1.84,1.18,0.34],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:44.003Z","updatedAt":"2026-09-12T05:38:44.098Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37518/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function QueueRailPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37518/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37518/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37518/v1/model.glb\" alt=\"Queue Rail (Pharmacy and High Street Chemist)\" 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/37518/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/37518/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37520","slug":"pharmacy-and-high-street-chemist-prescription-basket-r-f5766375","title":"Prescription Basket Rack (Pharmacy and High Street Chemist)","summary":"A prescription basket rack: a steel frame of four sloped tiers holding ten open baskets of blank paper wallets, the rack a dispensary works a queue of jobs from.","description":"A prescription basket rack: a steel frame of four sloped tiers holding ten open baskets of blank paper wallets, the rack a dispensary works a queue of jobs from. Overall 0.78 by 1.21 by 0.48 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The paper wallets in the baskets are plain white sheets with nothing written on them. Static geometry: the baskets lift out by hand and are not rigged, since a rack is loaded from any tier. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-prescription-basket-r-f5766375","cdnUrl":"https://cdn.3dassets.dev/assets/37520/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-prescription-basket-r-f5766375","thumbnailUrl":"https://cdn.3dassets.dev/assets/37520/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37520/v1/poster.webp","blurhash":"UB9k+]tk00R5*JozQmVsDNWU%#t7o|ogVsV@","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":54284,"triangles":1308,"vertices":2670,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.38999998569488525,0,-0.24499465715195018],"max":[0.38999998569488525,1.2100000381469727,0.2360164240736162]},"sizeMeters":[0.78,1.21,0.481],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:45.686Z","updatedAt":"2026-09-12T05:38:45.789Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37520/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PrescriptionBasketRackPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37520/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37520/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37520/v1/model.glb\" alt=\"Prescription Basket Rack (Pharmacy and High Street Chemist)\" 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/37520/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/37520/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37519","slug":"pharmacy-and-high-street-chemist-collection-locker-ban-22bd1777","title":"Collection Locker Bank (Pharmacy and High Street Chemist)","summary":"A collection locker bank: a 1.2 m cabinet of eight numbered size lockers with blank plates, each door on its own hinge, for prescriptions a customer picks up out of hours.","description":"A collection locker bank: a 1.2 m cabinet of eight numbered size lockers with blank plates, each door on its own hinge, for prescriptions a customer picks up out of hours. Overall 1.20 by 2.00 by 0.51 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. Every locker plate is blank: the lockers are told apart by position, not by a printed number. All eight doors open and close. No readable text, symbol or brand appears anywhere on this model. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-collection-locker-ban-22bd1777","cdnUrl":"https://cdn.3dassets.dev/assets/37519/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-collection-locker-ban-22bd1777","thumbnailUrl":"https://cdn.3dassets.dev/assets/37519/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37519/v1/poster.webp","blurhash":"UEG8}~s;00NF~Xxv9FIU00oy?bRj-;ofIBRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":21244,"triangles":1296,"vertices":1440,"meshes":28,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.6000000238418579,-0.0000259423483778623,-0.2500121962905174],"max":[0.6000000238418579,2,0.2619985068055549]},"sizeMeters":[1.2,2,0.512],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:44.113Z","updatedAt":"2026-09-12T05:38:44.231Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37519/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CollectionLockerBankPharmacyAndHighStreetChemist(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37519/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37519/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37519/v1/model.glb\" alt=\"Collection Locker Bank (Pharmacy and High Street Chemist)\" camera-controls auto-rotate autoplay></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/37519/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/37519/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37511","slug":"pharmacy-and-high-street-chemist-gift-and-toiletries-d-22da7480","title":"Gift And Toiletries Display (Pharmacy and High Street Chemist)","summary":"A gift and toiletries display: a four shelf wall unit with a sand back panel, baskets of abstract bottles, boxed sets and a blank price strip on every shelf edge.","description":"A gift and toiletries display: a four shelf wall unit with a sand back panel, baskets of abstract bottles, boxed sets and a blank price strip on every shelf edge. Overall 1.02 by 1.94 by 0.42 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. Every price strip and carton face is blank. Static geometry. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-gift-and-toiletries-d-22da7480","cdnUrl":"https://cdn.3dassets.dev/assets/37511/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-gift-and-toiletries-d-22da7480","thumbnailUrl":"https://cdn.3dassets.dev/assets/37511/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37511/v1/poster.webp","blurhash":"U7EyPk-=00D$~X%g9F9F00oz^+Mx?cxuD~D%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":125116,"triangles":3480,"vertices":6516,"meshes":8,"materials":8,"textures":0,"animations":[],"boundingBox":{"min":[-0.509976833307496,0.000015717926449831943,-0.20998260444959868],"max":[0.509976833307496,1.9412000179290771,0.20998260444959868]},"sizeMeters":[1.02,1.941,0.42],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:40.696Z","updatedAt":"2026-09-12T05:38:40.803Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37511/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GiftAndToiletriesDisplayPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37511/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37511/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37511/v1/model.glb\" alt=\"Gift And Toiletries Display (Pharmacy and High Street Chemist)\" 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/37511/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/37511/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37515","slug":"pharmacy-and-high-street-chemist-step-stool-9bf44ee3","title":"Step Stool (Pharmacy and High Street Chemist)","summary":"A two tread step stool: a moulded plum body with a ribbed top, a grab cutout and rubber feet, the stool staff reach a top shelf from.","description":"A two tread step stool: a moulded plum body with a ribbed top, a grab cutout and rubber feet, the stool staff reach a top shelf from. Overall 0.44 by 0.45 by 0.50 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-step-stool-9bf44ee3","cdnUrl":"https://cdn.3dassets.dev/assets/37515/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-step-stool-9bf44ee3","thumbnailUrl":"https://cdn.3dassets.dev/assets/37515/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37515/v1/poster.webp","blurhash":"U4C}-e}_000dLJEJVGxJ0cM^ITJ5tQ%L-D,1","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":10392,"triangles":312,"vertices":408,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.22000030518509475,-0.000011187444568683258,-0.1899999976158142],"max":[0.22000030518509475,0.44801120127284627,0.3100000023841858]},"sizeMeters":[0.44,0.448,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:42.419Z","updatedAt":"2026-09-12T05:38:42.539Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37515/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StepStoolPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37515/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37515/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37515/v1/model.glb\" alt=\"Step Stool (Pharmacy and High Street Chemist)\" 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/37515/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/37515/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37525","slug":"pharmacy-and-high-street-chemist-consultation-room-fro-4c099105","title":"Consultation Room Front (Pharmacy and High Street Chemist)","summary":"A 2 m consultation room front: a frosted glazed partition in a steel frame with a door in it, the privacy screen a chemist takes a customer behind. The door swings.","description":"A 2 m consultation room front: a frosted glazed partition in a steel frame with a door in it, the privacy screen a chemist takes a customer behind. The door swings. Overall 2.00 by 2.70 by 0.13 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The bay is 2.7 m tall on the same 2 m module and wall ports as the shop wall bays, so a room front butts straight into a wall run. The frosting is a pale panel behind the glazing, not a shader. No readable text, symbol or brand appears anywhere on this model. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-consultation-room-fro-4c099105","cdnUrl":"https://cdn.3dassets.dev/assets/37525/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-consultation-room-fro-4c099105","thumbnailUrl":"https://cdn.3dassets.dev/assets/37525/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37525/v1/poster.webp","blurhash":"U9ECtW4n00~q-;xuIBIU9Fxu%MIU-q-;E04n","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":14680,"triangles":288,"vertices":507,"meshes":8,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.0023622144888262,0,-0.06494338622945824],"max":[0.9999237213855982,2.700000047683716,0.06494338622945824]},"sizeMeters":[2.002,2.7,0.13],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:47.513Z","updatedAt":"2026-09-12T05:38:47.610Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37525/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function ConsultationRoomFrontPharmacyAndHighStreetChemist(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37525/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37525/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37525/v1/model.glb\" alt=\"Consultation Room Front (Pharmacy and High Street Chemist)\" camera-controls auto-rotate autoplay></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/37525/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/37525/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37527","slug":"pharmacy-and-high-street-chemist-consultation-room-pan-8801557f","title":"Consultation Room Panel (Pharmacy and High Street Chemist)","summary":"The same partition without the door, a full width frosted panel, for the runs either side of a consultation room front.","description":"The same partition without the door, a full width frosted panel, for the runs either side of a consultation room front. Overall 2.00 by 2.70 by 0.13 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-consultation-room-pan-8801557f","cdnUrl":"https://cdn.3dassets.dev/assets/37527/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-consultation-room-pan-8801557f","thumbnailUrl":"https://cdn.3dassets.dev/assets/37527/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37527/v1/poster.webp","blurhash":"U7F65?-;004n.7%MIA9F00WU~qs;nm?bx[4-","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":6260,"triangles":96,"vertices":224,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.0023393394723892,0,-0.06494338622945824],"max":[1.0011392595544815,2.700000047683716,0.06494338622945824]},"sizeMeters":[2.003,2.7,0.13],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:48.577Z","updatedAt":"2026-09-12T05:38:48.688Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37527/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ConsultationRoomPanelPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37527/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37527/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37527/v1/model.glb\" alt=\"Consultation Room Panel (Pharmacy and High Street Chemist)\" 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/37527/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/37527/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37526","slug":"pharmacy-and-high-street-chemist-consultation-desk-3e81dbdb","title":"Consultation Desk (Pharmacy and High Street Chemist)","summary":"A consultation desk: a 1.3 m wood topped desk on a white body with a modesty panel, a drawer that opens, a blank screen on a stem and a tray of plain paper.","description":"A consultation desk: a 1.3 m wood topped desk on a white body with a modesty panel, a drawer that opens, a blank screen on a stem and a tray of plain paper. Overall 1.36 by 1.20 by 0.76 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The screen and every sheet are blank. The drawer opens. Static otherwise. No readable text, symbol or brand appears anywhere on this model. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-consultation-desk-3e81dbdb","cdnUrl":"https://cdn.3dassets.dev/assets/37526/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-consultation-desk-3e81dbdb","thumbnailUrl":"https://cdn.3dassets.dev/assets/37526/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37526/v1/poster.webp","blurhash":"U5FFmb_300?bxS~qD%00009Y_24n9k0L?a_2","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":26896,"triangles":816,"vertices":941,"meshes":9,"materials":7,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.6800000071525574,-0.000010635292921890027,-0.3799798617805513],"max":[0.6800000071525574,1.20001068364719,0.3799798617805513]},"sizeMeters":[1.36,1.2,0.76],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:47.553Z","updatedAt":"2026-09-12T05:38:47.644Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37526/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function ConsultationDeskPharmacyAndHighStreetChemist(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37526/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37526/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37526/v1/model.glb\" alt=\"Consultation Desk (Pharmacy and High Street Chemist)\" camera-controls auto-rotate autoplay></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/37526/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/37526/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37528","slug":"pharmacy-and-high-street-chemist-consultation-chair-51eb015a","title":"Consultation Chair (Pharmacy and High Street Chemist)","summary":"A consultation chair: a steel frame chair with an upholstered seat and back and a shaped plywood shell, the chair either side of a consultation desk.","description":"A consultation chair: a steel frame chair with an upholstered seat and back and a shaped plywood shell, the chair either side of a consultation desk. Overall 0.48 by 0.95 by 0.48 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-consultation-chair-51eb015a","cdnUrl":"https://cdn.3dassets.dev/assets/37528/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-consultation-chair-51eb015a","thumbnailUrl":"https://cdn.3dassets.dev/assets/37528/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37528/v1/poster.webp","blurhash":"UBB:KxD%00?I~XIU55-;0cRj#@%MTVofigX5","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":24384,"triangles":864,"vertices":1023,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.23999587551341864,1.19209286886246e-9,-0.23999587551341864],"max":[0.23999587551341864,0.949999988079071,0.23999587551341864]},"sizeMeters":[0.48,0.95,0.48],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:48.298Z","updatedAt":"2026-09-12T05:38:48.387Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37528/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ConsultationChairPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37528/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37528/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37528/v1/model.glb\" alt=\"Consultation Chair (Pharmacy and High Street Chemist)\" 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/37528/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/37528/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37529","slug":"pharmacy-and-high-street-chemist-consultation-chair-aq-9776ebb4","title":"Consultation Chair Aqua (Pharmacy and High Street Chemist)","summary":"The consultation chair in aqua, so a room reads as two chairs rather than a matched pair of one thing.","description":"The consultation chair in aqua, so a room reads as two chairs rather than a matched pair of one thing. Overall 0.48 by 0.95 by 0.48 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-consultation-chair-aq-9776ebb4","cdnUrl":"https://cdn.3dassets.dev/assets/37529/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-consultation-chair-aq-9776ebb4","thumbnailUrl":"https://cdn.3dassets.dev/assets/37529/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37529/v1/poster.webp","blurhash":"UGB4aeMx00%g?^M{Dh%M8wRjpIxurDkCTJjF","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":24420,"triangles":864,"vertices":1023,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.23999587551341864,1.19209286886246e-9,-0.23999587551341864],"max":[0.23999587551341864,0.949999988079071,0.23999587551341864]},"sizeMeters":[0.48,0.95,0.48],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:49.107Z","updatedAt":"2026-09-12T05:38:49.205Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37529/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ConsultationChairAquaPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37529/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37529/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37529/v1/model.glb\" alt=\"Consultation Chair Aqua (Pharmacy and High Street Chemist)\" 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/37529/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/37529/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37530","slug":"pharmacy-and-high-street-chemist-blood-pressure-monito-3fd3688f","title":"Blood Pressure Monitor Stand (Pharmacy and High Street Chemist)","summary":"A blood pressure monitor on a rolling stand: a five star castored base, a column, a monitor body with a blank display and a cuff rolled on its cradle.","description":"A blood pressure monitor on a rolling stand: a five star castored base, a column, a monitor body with a blank display and a cuff rolled on its cradle. Overall 0.52 by 1.33 by 0.55 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The display is blank: this model shows no reading, because a number on a medical instrument would be a claim rather than a prop. The castors roll. The cuff and its tube are static, since a cuff and a hose are flexible and this library has no skinning. No readable text, symbol or brand appears anywhere on this model. Rigid node-transform clips: roll. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-blood-pressure-monito-3fd3688f","cdnUrl":"https://cdn.3dassets.dev/assets/37530/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-blood-pressure-monito-3fd3688f","thumbnailUrl":"https://cdn.3dassets.dev/assets/37530/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37530/v1/poster.webp","blurhash":"U77dwfja00WB~XkC4nV@$,ofNFRjD%ay%gof","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":33776,"triangles":920,"vertices":1678,"meshes":12,"materials":7,"textures":0,"animations":["roll"],"boundingBox":{"min":[-0.26227636776283464,3.2198422748874744e-7,-0.25034442509399724],"max":[0.2622763677628346,1.3280401421431114,0.30000001028180123]},"sizeMeters":[0.525,1.328,0.55],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:50.160Z","updatedAt":"2026-09-12T05:38:50.272Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37530/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function BloodPressureMonitorStandPharmacyAndHighStreetChemist(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37530/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37530/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37530/v1/model.glb\" alt=\"Blood Pressure Monitor Stand (Pharmacy and High Street Chemist)\" camera-controls auto-rotate autoplay></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/37530/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/37530/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37531","slug":"pharmacy-and-high-street-chemist-weighing-scale-b0904b4c","title":"Weighing Scale (Pharmacy and High Street Chemist)","summary":"A platform weighing scale: a low deck with a rubber tread mat, a column and an angled head with a blank display, the scale a chemist keeps beside the consultation room.","description":"A platform weighing scale: a low deck with a rubber tread mat, a column and an angled head with a blank display, the scale a chemist keeps beside the consultation room. Overall 0.44 by 1.20 by 0.56 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The display is blank and carries no reading, for the same reason as the monitor. Static geometry. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-weighing-scale-b0904b4c","cdnUrl":"https://cdn.3dassets.dev/assets/37531/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-weighing-scale-b0904b4c","thumbnailUrl":"https://cdn.3dassets.dev/assets/37531/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37531/v1/poster.webp","blurhash":"UA9%#RR%00-p8{IUtk?b~Xt74-RQnnWUX3sp","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":19268,"triangles":476,"vertices":759,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.22002671430319948,-1.4901158085223187e-10,-0.28500991493893724],"max":[0.22002671430319948,1.1999978609534314,0.28002244460424525]},"sizeMeters":[0.44,1.2,0.565],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:49.978Z","updatedAt":"2026-09-12T05:38:50.177Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37531/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WeighingScalePharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37531/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37531/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37531/v1/model.glb\" alt=\"Weighing Scale (Pharmacy and High Street Chemist)\" 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/37531/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/37531/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37524","slug":"pharmacy-and-high-street-chemist-sharps-bin-66a244a7","title":"Sharps Bin (Pharmacy and High Street Chemist)","summary":"A sharps bin: a yellow bodied box with a moulded plum lid, a one way aperture, a handle and a blank signature panel, the container a consultation room fills and seals.","description":"A sharps bin: a yellow bodied box with a moulded plum lid, a one way aperture, a handle and a blank signature panel, the container a consultation room fills and seals. Overall 0.31 by 0.44 by 0.31 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The signature panel is blank, with no wording, symbol or hazard mark on it. Static geometry: the aperture closure is a one way flap that a builder never opens, and the lid is sealed for disposal. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-sharps-bin-66a244a7","cdnUrl":"https://cdn.3dassets.dev/assets/37524/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-sharps-bin-66a244a7","thumbnailUrl":"https://cdn.3dassets.dev/assets/37524/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37524/v1/poster.webp","blurhash":"UCGkdw_4009EDJRPy2x]02ITRixv_KtTM#Mw","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":11332,"triangles":312,"vertices":396,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.1550000011920929,-1.7881393032936899e-9,-0.1550000011920929],"max":[0.1550000011920929,0.4399952706115874,0.15599914789804661]},"sizeMeters":[0.31,0.44,0.311],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:46.620Z","updatedAt":"2026-09-12T05:38:46.738Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37524/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SharpsBinPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37524/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37524/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37524/v1/model.glb\" alt=\"Sharps Bin (Pharmacy and High Street Chemist)\" 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/37524/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/37524/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37532","slug":"pharmacy-and-high-street-chemist-dispensary-counter-dec96f22","title":"Dispensary Counter (Pharmacy and High Street Chemist)","summary":"A dispensary counter: a 2 m unit with a raised customer ledge, a glazed screen over it and a hinged hatch in the ledge that lifts for handing work through.","description":"A dispensary counter: a 2 m unit with a raised customer ledge, a glazed screen over it and a hinged hatch in the ledge that lifts for handing work through. Overall 2.04 by 1.90 by 0.86 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The hatch lifts on its back edge, which is how a counter flap really opens. The glazed screen has no opening light and nothing on the counter carries text: the cartons behind it are blank boxes. No readable text, symbol or brand appears anywhere on this model. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-dispensary-counter-dec96f22","cdnUrl":"https://cdn.3dassets.dev/assets/37532/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-dispensary-counter-dec96f22","thumbnailUrl":"https://cdn.3dassets.dev/assets/37532/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37532/v1/poster.webp","blurhash":"UAF=]t~q00D%D%^,%M4o009Y~pxu_3IoRjxZ","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":26948,"triangles":708,"vertices":1003,"meshes":13,"materials":10,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.0199999809265137,-0.000040284879543162067,-0.4299832067793186],"max":[1.0199999809265137,1.8999752490129092,0.4299832067793186]},"sizeMeters":[2.04,1.9,0.86],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:51.218Z","updatedAt":"2026-09-12T05:38:51.312Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37532/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function DispensaryCounterPharmacyAndHighStreetChemist(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37532/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37532/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37532/v1/model.glb\" alt=\"Dispensary Counter (Pharmacy and High Street Chemist)\" camera-controls auto-rotate autoplay></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/37532/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/37532/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37545","slug":"pharmacy-and-high-street-chemist-bagging-station-0dc94e52","title":"Bagging Station (Pharmacy and High Street Chemist)","summary":"A bagging station: a bench top rack of three paper bag sizes with a blank check sheet holder over it, the point a finished prescription is put together for collection.","description":"A bagging station: a bench top rack of three paper bag sizes with a blank check sheet holder over it, the point a finished prescription is put together for collection. Overall 0.70 by 0.69 by 0.36 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The bags and the sheets in the holder are blank paper with no printing on them at all. Static geometry. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-bagging-station-0dc94e52","cdnUrl":"https://cdn.3dassets.dev/assets/37545/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-bagging-station-0dc94e52","thumbnailUrl":"https://cdn.3dassets.dev/assets/37545/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37545/v1/poster.webp","blurhash":"UAHLMPw|00.800sE?ao{009GVZt3.iyA$-Dj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":18648,"triangles":420,"vertices":808,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.3499999940395355,-0.0000021267615447073673,-0.18002564014668732],"max":[0.35120001435279846,0.6899978710058738,0.18002564014668732]},"sizeMeters":[0.701,0.69,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:56.766Z","updatedAt":"2026-09-12T05:38:56.940Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37545/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BaggingStationPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37545/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37545/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37545/v1/model.glb\" alt=\"Bagging Station (Pharmacy and High Street Chemist)\" 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/37545/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/37545/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37533","slug":"pharmacy-and-high-street-chemist-dispensary-bench-run-b449d0b5","title":"Dispensary Bench Run (Pharmacy and High Street Chemist)","summary":"A 2 m dispensary bench run: a stainless top with an inset sink and a mixer tap, two drawers, two cupboard doors, an upstand and a blank splashback panel.","description":"A 2 m dispensary bench run: a stainless top with an inset sink and a mixer tap, two drawers, two cupboard doors, an upstand and a blank splashback panel. Overall 2.00 by 1.54 by 0.69 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. Both drawers and both cupboard doors open. The tap does not turn and there is no water: a stream is fluid and needs a shader or a particle system, which a rigid node transform cannot be. No readable text, symbol or brand appears anywhere on this model. Rigid node-transform clips: drawer-open, drawer-close, door-open and door-close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-dispensary-bench-run-b449d0b5","cdnUrl":"https://cdn.3dassets.dev/assets/37533/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-dispensary-bench-run-b449d0b5","thumbnailUrl":"https://cdn.3dassets.dev/assets/37533/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37533/v1/poster.webp","blurhash":"U7G+OAbu00M{~X?uEK0000RPo}f*-p-p4-E1","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":49964,"triangles":1632,"vertices":2579,"meshes":16,"materials":8,"textures":0,"animations":["drawer-open","drawer-close","door-open","door-close"],"boundingBox":{"min":[-1,-0.00005035516810637103,-0.3400016737496496],"max":[1,1.539988652014931,0.3529976450027649]},"sizeMeters":[2,1.54,0.693],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:51.767Z","updatedAt":"2026-09-12T05:38:51.885Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37533/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function DispensaryBenchRunPharmacyAndHighStreetChemist(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37533/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37533/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37533/v1/model.glb\" alt=\"Dispensary Bench Run (Pharmacy and High Street Chemist)\" camera-controls auto-rotate autoplay></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/37533/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/37533/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37543","slug":"pharmacy-and-high-street-chemist-measuring-cylinder-se-bc1c9685","title":"Measuring Cylinder Set (Pharmacy and High Street Chemist)","summary":"A set of three glass measuring cylinders on a stand: plain cylinders with unmarked graduation bands on moulded feet, with a conical measure beside them.","description":"A set of three glass measuring cylinders on a stand: plain cylinders with unmarked graduation bands on moulded feet, with a conical measure beside them. Overall 0.31 by 0.23 by 0.14 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The graduation bands are plain rings: there is no scale, figure or unit marked on any of these vessels, and they are empty, since liquid needs a shader a rigid mesh cannot be. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-measuring-cylinder-se-bc1c9685","cdnUrl":"https://cdn.3dassets.dev/assets/37543/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-measuring-cylinder-se-bc1c9685","thumbnailUrl":"https://cdn.3dassets.dev/assets/37543/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37543/v1/poster.webp","blurhash":"UAFFv#-q00of00xu?bIU009F~q%M~q%M%Mog","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":64052,"triangles":3196,"vertices":2672,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.15000000596046448,3.7659814891566334e-7,-0.06998962648791593],"max":[0.16200000047683716,0.2350011886241366,0.06998962648791593]},"sizeMeters":[0.312,0.235,0.14],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:57.485Z","updatedAt":"2026-09-12T05:38:57.582Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37543/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MeasuringCylinderSetPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37543/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37543/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37543/v1/model.glb\" alt=\"Measuring Cylinder Set (Pharmacy and High Street Chemist)\" 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/37543/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/37543/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37537","slug":"pharmacy-and-high-street-chemist-labelling-printer-e4ff2b55","title":"Labelling Printer (Pharmacy and High Street Chemist)","summary":"A bench labelling printer: a moulded body with a hinged paper flap that opens onto the roll, a blank control panel and a stack of plain label sheets in the out tray.","description":"A bench labelling printer: a moulded body with a hinged paper flap that opens onto the roll, a blank control panel and a stack of plain label sheets in the out tray. Overall 0.36 by 0.28 by 0.43 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The flap opens onto the roll, which is the one motion a bench printer has. Every label sheet is blank paper: nothing in this pack prints a name, a dose or an instruction. No readable text, symbol or brand appears anywhere on this model. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-labelling-printer-e4ff2b55","cdnUrl":"https://cdn.3dassets.dev/assets/37537/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-labelling-printer-e4ff2b55","thumbnailUrl":"https://cdn.3dassets.dev/assets/37537/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37537/v1/poster.webp","blurhash":"U8F={+E100D$8{-;t7D%00xbtRxu_Mnlx[E1","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":17832,"triangles":476,"vertices":614,"meshes":8,"materials":6,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.180006416039802,0.000012815986349959396,-0.159993591261767],"max":[0.180006416039802,0.2838725049474887,0.27000001072883606]},"sizeMeters":[0.36,0.284,0.43],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:54.457Z","updatedAt":"2026-09-12T05:38:54.553Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37537/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function LabellingPrinterPharmacyAndHighStreetChemist(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37537/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37537/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37537/v1/model.glb\" alt=\"Labelling Printer (Pharmacy and High Street Chemist)\" camera-controls auto-rotate autoplay></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/37537/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/37537/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37544","slug":"pharmacy-and-high-street-chemist-dispensing-balance-2c8f79da","title":"Dispensing Balance (Pharmacy and High Street Chemist)","summary":"A bench dispensing balance: a cast base with a draught shield, a steel pan on its post and a sloped head with a blank display and plain keys.","description":"A bench dispensing balance: a cast base with a draught shield, a steel pan on its post and a sloped head with a blank display and plain keys. Overall 0.26 by 0.21 by 0.32 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The display is blank and the keys are plain blocks, so the balance shows no weight: a number here would read as a dose. Static geometry; the draught shield panels are fixed. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-dispensing-balance-2c8f79da","cdnUrl":"https://cdn.3dassets.dev/assets/37544/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-dispensing-balance-2c8f79da","thumbnailUrl":"https://cdn.3dassets.dev/assets/37544/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37544/v1/poster.webp","blurhash":"UAI5f2?a00f+X8D%IAtR00IUIUM{~W.8t7ay","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":25272,"triangles":680,"vertices":984,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.13000587997904345,0.00000694081293094867,-0.15000000596046448],"max":[0.13000587997904345,0.20600546186626553,0.16500000655651093]},"sizeMeters":[0.26,0.206,0.315],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:56.424Z","updatedAt":"2026-09-12T05:38:56.516Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37544/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DispensingBalancePharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37544/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37544/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37544/v1/model.glb\" alt=\"Dispensing Balance (Pharmacy and High Street Chemist)\" 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/37544/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/37544/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37539","slug":"pharmacy-and-high-street-chemist-tablet-counting-tray-a235a195","title":"Tablet Counting Tray (Pharmacy and High Street Chemist)","summary":"A tablet counting tray and spatula: a moulded tray with a raised channel and a pour lip, a sliding gate at the corner and a steel spatula lying beside it, with plain discs counted out in the channel.","description":"A tablet counting tray and spatula: a moulded tray with a raised channel and a pour lip, a sliding gate at the corner and a steel spatula lying beside it, with plain discs counted out in the channel. Overall 0.38 by 0.07 by 0.26 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The counted discs are plain unmarked shapes: they are not a tablet of anything, and nothing on this model names, scores or doses a medicine. Static geometry; the gate does not slide, since its travel is two centimetres inside the rim. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-tablet-counting-tray-a235a195","cdnUrl":"https://cdn.3dassets.dev/assets/37539/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-tablet-counting-tray-a235a195","thumbnailUrl":"https://cdn.3dassets.dev/assets/37539/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37539/v1/poster.webp","blurhash":"UCEMLF~q00bF?b%MM{RP009F_3My00D%tRWq","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":23552,"triangles":960,"vertices":855,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.15000000596046448,0.0000013426281849429622,-0.14000000059604645],"max":[0.23000305276364658,0.06648874796376743,0.12119728341611333]},"sizeMeters":[0.38,0.066,0.261],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:54.491Z","updatedAt":"2026-09-12T05:38:54.606Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37539/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TabletCountingTrayPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37539/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37539/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37539/v1/model.glb\" alt=\"Tablet Counting Tray (Pharmacy and High Street Chemist)\" 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/37539/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/37539/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37541","slug":"pharmacy-and-high-street-chemist-blister-pack-tray-82601afb","title":"Blister Pack Tray (Pharmacy and High Street Chemist)","summary":"A tray of blister packs: a shallow bench tray holding six foil backed cards of blank domes, in three stock colours, for dressing a dispensing bench.","description":"A tray of blister packs: a shallow bench tray holding six foil backed cards of blank domes, in three stock colours, for dressing a dispensing bench. Overall 0.34 by 0.04 by 0.26 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The cards are blank foil and plain domes: no marking, score line, name or dose appears on any of them. Static geometry. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-blister-pack-tray-82601afb","cdnUrl":"https://cdn.3dassets.dev/assets/37541/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-blister-pack-tray-82601afb","thumbnailUrl":"https://cdn.3dassets.dev/assets/37541/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37541/v1/poster.webp","blurhash":"U5E{kN_300xu~q-;RjNG00IA~qIU004.M{V@","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":77832,"triangles":4140,"vertices":3214,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.17000000178813934,0.000004197146216355918,-0.13000976729053573],"max":[0.17000000178813934,0.044995805029353186,0.13000976729053573]},"sizeMeters":[0.34,0.045,0.26],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:55.054Z","updatedAt":"2026-09-12T05:38:55.145Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37541/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BlisterPackTrayPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37541/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37541/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37541/v1/model.glb\" alt=\"Blister Pack Tray (Pharmacy and High Street Chemist)\" 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/37541/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/37541/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37542","slug":"pharmacy-and-high-street-chemist-mortar-and-pestle-70f3bb09","title":"Mortar And Pestle (Pharmacy and High Street Chemist)","summary":"A porcelain mortar and pestle: a lathed bowl with a pour lip on a turned foot and a pestle resting across the rim, the tool a chemist still keeps on the bench.","description":"A porcelain mortar and pestle: a lathed bowl with a pour lip on a turned foot and a pestle resting across the rim, the tool a chemist still keeps on the bench. Overall 0.23 by 0.15 by 0.18 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. Static geometry: the pestle rests in the bowl and is not rigged, since grinding is a hand motion a builder drives directly. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-mortar-and-pestle-70f3bb09","cdnUrl":"https://cdn.3dassets.dev/assets/37542/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-mortar-and-pestle-70f3bb09","thumbnailUrl":"https://cdn.3dassets.dev/assets/37542/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37542/v1/poster.webp","blurhash":"UEDl{4-;00Di_3WVIUt700M{~q%M00t7%MIU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":13520,"triangles":604,"vertices":540,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.09200000017881393,0.000003225346949589647,-0.09200027013860868],"max":[0.13700997829437256,0.1492192976270647,0.09200027013860868]},"sizeMeters":[0.229,0.149,0.184],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:56.098Z","updatedAt":"2026-09-12T05:38:56.193Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37542/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MortarAndPestlePharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37542/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37542/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37542/v1/model.glb\" alt=\"Mortar And Pestle (Pharmacy and High Street Chemist)\" 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/37542/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/37542/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37534","slug":"pharmacy-and-high-street-chemist-robot-dispensing-cabi-84117700","title":"Robot Dispensing Cabinet (Pharmacy and High Street Chemist)","summary":"The front of an automated dispensing cabinet: a 1.4 m steel faced tower with three glazed stock channels of blank boxes, a delivery chute, an indicator strip and a blank control screen.","description":"The front of an automated dispensing cabinet: a 1.4 m steel faced tower with three glazed stock channels of blank boxes, a delivery chute, an indicator strip and a blank control screen. Overall 1.40 by 2.34 by 0.76 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. This is the customer facing front of a dispensing robot, not a working machine: there is no mechanism behind the panel, and the channels are glazed so the blank stock reads. Every box, the screen and the indicator strip carry nothing printed. Static geometry: the chute shutter and the internal picking arm are left out rather than faked. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-robot-dispensing-cabi-84117700","cdnUrl":"https://cdn.3dassets.dev/assets/37534/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-robot-dispensing-cabi-84117700","thumbnailUrl":"https://cdn.3dassets.dev/assets/37534/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37534/v1/poster.webp","blurhash":"U7DlsTRP00_3}L%MFoD%00t8.QD$nURQNEbt","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":49024,"triangles":1236,"vertices":2567,"meshes":12,"materials":12,"textures":0,"animations":[],"boundingBox":{"min":[-0.7000326926614514,-7.450580152834618e-10,-0.360008548041919],"max":[0.7000326926614514,2.340021599587673,0.40399316456379786]},"sizeMeters":[1.4,2.34,0.764],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:52.775Z","updatedAt":"2026-09-12T05:38:52.869Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37534/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RobotDispensingCabinetPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37534/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37534/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37534/v1/model.glb\" alt=\"Robot Dispensing Cabinet (Pharmacy and High Street Chemist)\" 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/37534/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/37534/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37535","slug":"pharmacy-and-high-street-chemist-drug-cabinet-sliding-2a8ae33b","title":"Drug Cabinet Sliding (Pharmacy and High Street Chemist)","summary":"A shelved stock cabinet with two sliding doors: a 1.4 m carcass of four shelves crowded with abstract cartons and bottles, behind glazed leaves that slide past each other.","description":"A shelved stock cabinet with two sliding doors: a 1.4 m carcass of four shelves crowded with abstract cartons and bottles, behind glazed leaves that slide past each other. Overall 1.42 by 2.02 by 0.46 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The two leaves slide past each other on their tracks, each by its own width, which is how a sliding fronted cabinet opens: one half of the cabinet is reachable at a time. The stock behind them is blank boxes and unlabelled bottles. No readable text, symbol or brand appears anywhere on this model. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-drug-cabinet-sliding-2a8ae33b","cdnUrl":"https://cdn.3dassets.dev/assets/37535/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-drug-cabinet-sliding-2a8ae33b","thumbnailUrl":"https://cdn.3dassets.dev/assets/37535/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37535/v1/poster.webp","blurhash":"UCE{U;-;00IU,L%MOkD%00Rj_MkV%3o3InWT","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":124824,"triangles":3300,"vertices":6390,"meshes":15,"materials":10,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.709992429865641,0.000010682702158648638,-0.21997436070589907],"max":[0.709992429865641,2.0237998962402344,0.2349446664073482]},"sizeMeters":[1.42,2.024,0.455],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:51.765Z","updatedAt":"2026-09-12T05:38:51.897Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37535/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function DrugCabinetSlidingPharmacyAndHighStreetChemist(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37535/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37535/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37535/v1/model.glb\" alt=\"Drug Cabinet Sliding (Pharmacy and High Street Chemist)\" camera-controls auto-rotate autoplay></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/37535/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/37535/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37538","slug":"pharmacy-and-high-street-chemist-cold-chain-fridge-5df8bd59","title":"Cold Chain Fridge (Pharmacy and High Street Chemist)","summary":"A cold chain fridge: an upright glass fronted cabinet with three wire shelves of blank boxes, a lit interior, a blank temperature display and a door that swings.","description":"A cold chain fridge: an upright glass fronted cabinet with three wire shelves of blank boxes, a lit interior, a blank temperature display and a door that swings. Overall 0.68 by 1.81 by 0.66 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The door swings and the interior is lit by a plain emissive panel. The display shows nothing: a temperature on a medical fridge would be a claim, so the panel is blank. The compressor and its grille are behind the carcass and do not run. No readable text, symbol or brand appears anywhere on this model. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-cold-chain-fridge-5df8bd59","cdnUrl":"https://cdn.3dassets.dev/assets/37538/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-cold-chain-fridge-5df8bd59","thumbnailUrl":"https://cdn.3dassets.dev/assets/37538/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37538/v1/poster.webp","blurhash":"UGB;5x8_00~qu4WBVXkC56%M$*D%x]WBR5of","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":101576,"triangles":2736,"vertices":5032,"meshes":12,"materials":11,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.33996554656897815,-7.450581263057643e-10,-0.3099918444402441],"max":[0.33996554656897815,1.809999942779541,0.3449889419152916]},"sizeMeters":[0.68,1.81,0.655],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:53.458Z","updatedAt":"2026-09-12T05:38:53.558Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37538/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function ColdChainFridgePharmacyAndHighStreetChemist(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37538/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37538/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37538/v1/model.glb\" alt=\"Cold Chain Fridge (Pharmacy and High Street Chemist)\" camera-controls auto-rotate autoplay></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/37538/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/37538/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37536","slug":"pharmacy-and-high-street-chemist-controlled-drugs-safe-6dbe7c68","title":"Controlled Drugs Safe (Pharmacy and High Street Chemist)","summary":"A wall fixed steel safe: a heavy cabinet with a thick door, a blank keypad and handle, an internal shelf of plain boxes and a fixing plate at the back.","description":"A wall fixed steel safe: a heavy cabinet with a thick door, a blank keypad and handle, an internal shelf of plain boxes and a fixing plate at the back. Overall 0.72 by 0.90 by 0.61 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The keypad keys are plain lit blocks with no digits or characters on them. The door swings. The bolt work and the lock are not modelled, since a bolt throw is a few centimetres inside a closed door and reads as nothing. No readable text, symbol or brand appears anywhere on this model. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-controlled-drugs-safe-6dbe7c68","cdnUrl":"https://cdn.3dassets.dev/assets/37536/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-controlled-drugs-safe-6dbe7c68","thumbnailUrl":"https://cdn.3dassets.dev/assets/37536/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37536/v1/poster.webp","blurhash":"U8EC%yD$00IU_4k8IUV[00t6t6-;?bj?D%Wq","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":48792,"triangles":1580,"vertices":1926,"meshes":13,"materials":10,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.36000001430511475,-7.1525572131747595e-9,-0.26998627739902614],"max":[0.36000001430511475,0.8987914503983162,0.33874050949427176]},"sizeMeters":[0.72,0.899,0.609],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:52.800Z","updatedAt":"2026-09-12T05:38:52.920Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37536/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function ControlledDrugsSafePharmacyAndHighStreetChemist(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37536/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37536/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37536/v1/model.glb\" alt=\"Controlled Drugs Safe (Pharmacy and High Street Chemist)\" camera-controls auto-rotate autoplay></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/37536/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/37536/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37547","slug":"pharmacy-and-high-street-chemist-delivery-tote-stack-92460c06","title":"Delivery Tote Stack (Pharmacy and High Street Chemist)","summary":"A stack of six delivery totes: moulded crates with ribbed sides, drop on lids and blank docket pockets, the way stock arrives at a chemist.","description":"A stack of six delivery totes: moulded crates with ribbed sides, drop on lids and blank docket pockets, the way stock arrives at a chemist. Overall 0.64 by 1.66 by 0.43 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The docket pocket on every crate is empty and blank. Static geometry. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-delivery-tote-stack-92460c06","cdnUrl":"https://cdn.3dassets.dev/assets/37547/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-delivery-tote-stack-92460c06","thumbnailUrl":"https://cdn.3dassets.dev/assets/37547/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37547/v1/poster.webp","blurhash":"U7CtC7~W0000Kjo|#RVZ4UNa-;-BPAbbv}nO","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":23864,"triangles":936,"vertices":1242,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.3219522668262694,4.76837147544984e-9,-0.21000915410153603],"max":[0.3219522668262694,1.659999966621399,0.2179889732419082]},"sizeMeters":[0.644,1.66,0.428],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:59.093Z","updatedAt":"2026-09-12T05:38:59.182Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37547/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DeliveryToteStackPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37547/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37547/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37547/v1/model.glb\" alt=\"Delivery Tote Stack (Pharmacy and High Street Chemist)\" 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/37547/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/37547/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37514","slug":"pharmacy-and-high-street-chemist-stock-trolley-08ab7768","title":"Stock Trolley (Pharmacy and High Street Chemist)","summary":"A stock trolley: a steel deck on four castors with a push handle and two shelves of delivery totes, the trolley a shop moves stock out to the shelves on. The wheels roll.","description":"A stock trolley: a steel deck on four castors with a push handle and two shelves of delivery totes, the trolley a shop moves stock out to the shelves on. The wheels roll. Overall 0.66 by 1.02 by 1.00 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The four castors roll and do not swivel, for the same reason as the basket stack. Static otherwise. No readable text, symbol or brand appears anywhere on this model. Rigid node-transform clips: roll. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-stock-trolley-08ab7768","cdnUrl":"https://cdn.3dassets.dev/assets/37514/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-stock-trolley-08ab7768","thumbnailUrl":"https://cdn.3dassets.dev/assets/37514/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37514/v1/poster.webp","blurhash":"UCBg#ltl00R7~XNEE0xcL#NETx$,nTOAWB$9","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"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":45668,"triangles":1260,"vertices":2204,"meshes":11,"materials":8,"textures":0,"animations":["roll"],"boundingBox":{"min":[-0.32999664296395764,-2.98023217215615e-10,-0.5],"max":[0.32999664296395764,1.0250119638169408,0.5]},"sizeMeters":[0.66,1.025,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:42.292Z","updatedAt":"2026-09-12T05:38:42.396Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37514/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function StockTrolleyPharmacyAndHighStreetChemist(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37514/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37514/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37514/v1/model.glb\" alt=\"Stock Trolley (Pharmacy and High Street Chemist)\" camera-controls auto-rotate autoplay></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/37514/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/37514/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37546","slug":"pharmacy-and-high-street-chemist-stock-room-shelf-run-1d618f7e","title":"Stock Room Shelf Run (Pharmacy and High Street Chemist)","summary":"A 1.2 m boltless stock room shelving bay: an angle steel frame of five chipboard shelves loaded with blank cartons and delivery totes, ported so a stock wall repeats.","description":"A 1.2 m boltless stock room shelving bay: an angle steel frame of five chipboard shelves loaded with blank cartons and delivery totes, ported so a stock wall repeats. Overall 1.20 by 2.37 by 0.60 m (X by Y by Z). Metre units, +Y up, the side a customer or a member of staff approaches from toward +Z, resting on y=0. The rack-left and rack-right ports sit on the frame uprights, so bays butt into a stock wall of any length. Every carton is blank. Static geometry. No readable text, symbol or brand appears anywhere on this model. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/pharmacy-and-high-street-chemist-stock-room-shelf-run-1d618f7e","cdnUrl":"https://cdn.3dassets.dev/assets/37546/v1/model.glb","downloadUrl":"https://3dassets.dev/download/pharmacy-and-high-street-chemist-stock-room-shelf-run-1d618f7e","thumbnailUrl":"https://cdn.3dassets.dev/assets/37546/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37546/v1/poster.webp","blurhash":"U4BzIJ?b0000^,$l4.A9D4idugPn}u$+9tE0","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":56344,"triangles":1404,"vertices":2644,"meshes":8,"materials":8,"textures":0,"animations":[],"boundingBox":{"min":[-0.6012176612249558,0,-0.3012497192823691],"max":[0.6012176612249558,2.368000030517578,0.3012497192823691]},"sizeMeters":[1.202,2.368,0.602],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:38:57.734Z","updatedAt":"2026-09-12T05:38:57.836Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37546/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StockRoomShelfRunPharmacyAndHighStreetChemist(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37546/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37546/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37546/v1/model.glb\" alt=\"Stock Room Shelf Run (Pharmacy and High Street Chemist)\" 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/37546/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/37546/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}]}}