{"data":{"id":"125","slug":"steampunk-airship-dock-and-workshop","title":"Steampunk Airship Dock and Erecting Shed","summary":"Walk a riveted airship dock: one rigid ship moored at the mast with her airscrews turning, her sister lying on the deck as bare frames, a gas plant, two workshop bays and a gantry that runs its hoist.","url":"https://3dassets.dev/demos/steampunk-airship-dock-and-workshop","coverUrl":"https://cdn.3dassets.dev/media/steampunk-airship-dock-and-workshop-demo-1.png","featured":true,"pack":{"slug":"steampunk-airship-dock-and-workshop","title":"Steampunk Airship Dock and Workshop","url":"https://3dassets.dev/packs/steampunk-airship-dock-and-workshop","summary":"A steampunk airship dock: a modular rigid airship, mooring mast, gantry and jib crane, riveted deck and catwalks, boiler and gas plant, brass console and telegraph, a machine shop and a clad erecting shed.","assetCount":64,"totalBytes":5353328,"starterScene":{"slug":"steampunk-airship-dock-and-workshop-airs-10f46afc-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/36097/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-airs-10f46afc-starter-scene","fileSize":2391240}},"placementCount":325,"assetCount":63,"spawn":{"position":[11.9,0.13,-0.3],"yaw":-96.8},"publishedAt":"2026-09-11T20:09:22.406Z","updatedAt":"2026-09-11T20:09:22.406Z","description":"## What is placed\n\nA riveted dock deck about 40 by 36 metres, edged with railing and cast bollards. A rigid steampunk airship rides the mooring mast on the west run: envelope, nose cone and mooring cup, keel truss, cruciform tail, a crew gondola and two engine cars, with a wheeled boarding stair at each side.\n\nOn the east run her sister is under assembly, laid out as the uncovered envelope frame with the keel truss dropped in, ring frames standing on trestles waiting to be fitted, a spare tail unit, fin panels on trestles, a gondola and engine cars still on the deck, all of it flanked by railed catwalk runs, caged ladders, a second gantry and a slewing jib crane.\n\nThe erecting shed runs along the west edge in two bays. The north bay is sheeted over and holds the fitting out work: a ring frame, a fin panel and flying kit on a stand. The machine bay and the new south bay are left as open trusses so both can be seen and lit from the deck: a belt driven screw cutting lathe, a pillar drill press, a pedestal grinder, an anvil on a timber block, benches with vices and drawers, tool chests, parts racks, crates and a beam mounted chain hoist. The south apron carries the gas plant: a riveted vertical boiler, a horizontal pressure vessel, pipe runs, valve standpipes, lifting gas cylinder racks and a pump trolley. A brass control console, an engine room telegraph and a pressure gauge board stand against the shed wall where the deck crew would use them.\n\n## What moves\n\nBoth engine car airscrews spin and the mooring mast head slews. The cruciform tail steers and tilts. The gondola doors open and close, and so do the tool chest, the toolbox, the crate lids, the bench drawer and the chart table drawer. The gantry runs its trolley along the beam and lowers its hoist, the jib crane slews and raises, the beam chain hoist lifts, and the sliding shed door opens as you reach it. The boiler and the lathe, the drill press, the grinder, the pump trolley, the cog stand and every valve hand wheel turn. The console levers and the telegraph handles rock.\n\n## What does not move, and why\n\nChains, cables, hoses, drive belts, pipework and the envelope fabric are static. A flexible run needs a joint per link, and these models animate with one rigid node transform per moving part, which cannot bend a rope or a hose without faking it badly. There are no people anywhere: the pack has no skinned meshes.","scene":{"version":1,"spawn":{"position":[11.9,0.13,-0.3],"yaw":-96.8},"ground":{"style":"none"},"environment":{"preset":"outdoor","wallHeight":12.5,"shadows":true},"placements":[{"asset":"steampunk-airship-dock-and-workshop-shed-floor-plate-0b596e29","position":[-12,0,-10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-shed-floor-plate-0b596e29","position":[-12,0,-6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-shed-floor-plate-0b596e29","position":[-12,0,-2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-shed-floor-plate-0b596e29","position":[-12,0,2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[-12,0,6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[-12,0,10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[-12,0,14],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-shed-floor-plate-0b596e29","position":[-8,0,-10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-shed-floor-plate-0b596e29","position":[-8,0,-6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-shed-floor-plate-0b596e29","position":[-8,0,-2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-shed-floor-plate-0b596e29","position":[-8,0,2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[-8,0,6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[-8,0,10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[-8,0,14],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[-4,0,-10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[-4,0,-6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[-4,0,-2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[-4,0,2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[-4,0,6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[-4,0,10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[-4,0,14],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[0,0,-10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[0,0,-6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[0,0,-2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[0,0,2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[0,0,6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[0,0,10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[0,0,14],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[4,0,-10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[4,0,-6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[4,0,-2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[4,0,2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[4,0,6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[4,0,10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[4,0,14],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[8,0,-10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[8,0,-6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[8,0,-2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[8,0,2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[8,0,6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[8,0,10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[8,0,14],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[12,0,-10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[12,0,-6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[12,0,-2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[12,0,2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[12,0,6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[12,0,10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[12,0,14],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-shed-wall-panel-13e7ce7b","position":[-14,0.1,-10],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-shed-wall-panel-13e7ce7b","position":[-14,0.1,-6],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-shed-wall-panel-13e7ce7b","position":[-14,0.1,-2],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-shed-wall-panel-13e7ce7b","position":[-14,0.1,2],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-shed-wall-panel-13e7ce7b","position":[-12,0.1,-12],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-shed-wall-window-5107833f","position":[-8,0.1,-12],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-shed-wall-panel-13e7ce7b","position":[-12,0.1,4],"rotation":180},{"asset":"steampunk-airship-dock-and-workshop-shed-wall-door-ope-311cbb50","position":[-8,0.1,4],"rotation":180},{"asset":"steampunk-airship-dock-and-workshop-shed-wall-panel-13e7ce7b","position":[-6,0.1,-10],"rotation":-90},{"asset":"steampunk-airship-dock-and-workshop-shed-wall-door-ope-311cbb50","position":[-6,0.1,-6],"rotation":-90},{"asset":"steampunk-airship-dock-and-workshop-shed-wall-window-5107833f","position":[-6,0.1,-2],"rotation":-90},{"asset":"steampunk-airship-dock-and-workshop-shed-wall-door-ope-311cbb50","position":[-6,0.1,2],"rotation":-90},{"asset":"steampunk-airship-dock-and-workshop-shed-roof-bay-7d3faceb","position":[-10,5.1,-2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-shed-roof-bay-7d3faceb","position":[-10,5.1,2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-shed-roof-truss-cdf34936","position":[-10,5.1,-10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-shed-roof-truss-cdf34936","position":[-10,5.1,-6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-airship-envelope-bace3ad2","position":[6,8,-1],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-airship-nose-cone-9c030d5c","position":[6,8,10.6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-airship-tail-unit-e72e167b","position":[6,8,-11],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-airship-keel-truss-566216fd","position":[6,4,-1],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-airship-gondola-5178984f","position":[6,2.12,0.4],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-airship-engine-pod-b40b4997","position":[4.1,2.34,-3.6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-airship-engine-pod-42a81a7f","position":[7.9,2.34,-3.6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-mooring-mast-2a9d3e5d","position":[6,0.1,12.82],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-boarding-stair-8444e1ab","position":[9.4,0.1,1.4],"rotation":-90},{"asset":"steampunk-airship-dock-and-workshop-pipe-run-straight-412eab5c","position":[-2,0.1,-10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-pipe-run-straight-412eab5c","position":[-2,0.1,-6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-pipe-run-elbow-9afcca42","position":[-2,0.1,-2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-pipe-run-straight-412eab5c","position":[2,0.1,-2],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-pipe-run-straight-412eab5c","position":[6,0.1,-2],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-catwalk-straight-5bb5151f","position":[10,0.1,-6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-catwalk-straight-5bb5151f","position":[10,0.1,-2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-catwalk-straight-5bb5151f","position":[10,0.1,2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-catwalk-corner-3ec6ad02","position":[10,0.1,6],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-catwalk-straight-5bb5151f","position":[6,0.1,6],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-dock-gantry-f46a3526","position":[-1.2,0.1,9.2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-jib-crane-68fb499b","position":[11.6,0.1,10.4],"rotation":180},{"asset":"steampunk-airship-dock-and-workshop-dock-stair-flight-d643cfe5","position":[13,0.1,-10],"rotation":180},{"asset":"steampunk-airship-dock-and-workshop-access-ladder-a4976308","position":[-5.6,0.1,6.6],"rotation":180},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[2,0.1,15.9],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[6,0.1,15.9],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[10,0.1,15.9],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-mooring-bollard-0886a456","position":[-3,0.1,13.4],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-mooring-bollard-0886a456","position":[1,0.1,13.4],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-mooring-bollard-0886a456","position":[12.4,0.1,13.4],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-vertical-boiler-fad0cbb7","position":[-3.6,0.1,-10.8],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-pressure-vessel-b2b6c08a","position":[0.6,0.1,-10.4],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-gas-cylinder-rack-a391091a","position":[4.4,0.1,-10.8],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-gas-cylinder-rack--31582661","position":[7.4,0.1,-10.8],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-gas-pump-trolley-c02ef62c","position":[11,0.1,-9.6],"rotation":-90},{"asset":"steampunk-airship-dock-and-workshop-valve-standpipe-bcf6b39c","position":[-0.9,0.1,-4.6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-gauge-board-8012d60b","position":[-4.6,0.1,-6.4],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-control-console-0776044e","position":[-4.6,0.1,-2.6],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-engine-telegraph-85517a39","position":[-4.6,0.1,-0.4],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-chart-table-6d4aed38","position":[-4.4,0.1,1.6],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-rolled-chart-55a3efb1","position":[-4.9,1,2.1],"rotation":22.92},{"asset":"steampunk-airship-dock-and-workshop-signal-lamp-1a96f759","position":[-2.4,0.1,6.6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-oil-barrel-7d02438a","position":[12.2,0.1,-3.2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-ballast-sandbags-402069d1","position":[9.6,0.1,4.6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-ballast-weights-f7ba1f10","position":[11.2,0.1,6.6],"rotation":17.19},{"asset":"steampunk-airship-dock-and-workshop-shipping-crate-36daa908","position":[2.6,0.1,11.6],"rotation":11.46},{"asset":"steampunk-airship-dock-and-workshop-shipping-crate-36daa908","position":[3.5,0.1,12.6],"rotation":-28.65},{"asset":"steampunk-airship-dock-and-workshop-shipping-crate-36daa908","position":[3,0.1,14.4],"rotation":51.57},{"asset":"steampunk-airship-dock-and-workshop-toolbox-2754f8a9","position":[8.4,0.1,3.2],"rotation":34.38},{"asset":"steampunk-airship-dock-and-workshop-oil-can-00ade082","position":[-4.2,1.02,-2.2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-mooring-bollard-0886a456","position":[-5.2,0.1,11.4],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-catwalk-straight-5bb5151f","position":[2,0.1,6],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-catwalk-corner-3ec6ad02","position":[-2,0.1,6],"rotation":-90},{"asset":"steampunk-airship-dock-and-workshop-catwalk-straight-5bb5151f","position":[-2,0.1,10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-stair-flight-d643cfe5","position":[-5.4,0.1,12.6],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-access-ladder-a4976308","position":[12.6,0.1,12.2],"rotation":180},{"asset":"steampunk-airship-dock-and-workshop-spare-airscrew-rac-11e57ebb","position":[9.4,0.1,12.4],"rotation":-22.92},{"asset":"steampunk-airship-dock-and-workshop-oil-barrel-7d02438a","position":[6.6,0.1,14.6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-oil-barrel-7d02438a","position":[7.5,0.1,15.1],"rotation":40.11},{"asset":"steampunk-airship-dock-and-workshop-ballast-sandbags-402069d1","position":[3,0.1,6.6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-ballast-weights-f7ba1f10","position":[0.6,0.1,12.4],"rotation":-11.46},{"asset":"steampunk-airship-dock-and-workshop-gas-cylinder-rack--31582661","position":[10,0.1,15],"rotation":180},{"asset":"steampunk-airship-dock-and-workshop-signal-lamp-1a96f759","position":[4,0.1,8.4],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-signal-lamp-1a96f759","position":[-4.6,0.1,14.2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-toolbox-2754f8a9","position":[4.4,0.1,9],"rotation":-45.84},{"asset":"steampunk-airship-dock-and-workshop-shipping-crate-36daa908","position":[12,0.1,4.2],"rotation":-17.19},{"asset":"steampunk-airship-dock-and-workshop-shipping-crate-36daa908","position":[12.6,0.1,5.4],"rotation":22.92},{"asset":"steampunk-airship-dock-and-workshop-mooring-bollard-0886a456","position":[8.4,0.1,9.2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-mooring-bollard-0886a456","position":[-6.6,0.1,8.2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[-1.2,0.1,-10],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[-1.2,0.1,-6],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-airship-frame-ring-aaeaca32","position":[-10.6,0.1,1.6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-airship-fin-panel-895a27f1","position":[-12.4,0.1,-1.4],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-workbench-ed991aad","position":[-12.4,0.1,-8.6],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-hand-tool-tray-ce35e1b5","position":[-12.2,0.94,-9.4],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-oil-can-00ade082","position":[-12.3,0.94,-7.8],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-belt-lathe-91d24186","position":[-8.4,0.1,-10.6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-drill-press-0fd05b58","position":[-8.6,0.1,-7.4],"rotation":180},{"asset":"steampunk-airship-dock-and-workshop-pedestal-grinder-15e2521b","position":[-11.4,0.1,-5.2],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-anvil-and-block-48995684","position":[-8.4,0.1,-4.6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-parts-bin-rack-0547387b","position":[-13.2,0.1,-3.8],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-tool-chest-92ccaee9","position":[-9.6,0.1,-2.2],"rotation":-22.92},{"asset":"steampunk-airship-dock-and-workshop-gear-stand-1f118594","position":[-7.4,0.1,-8.8],"rotation":-90},{"asset":"steampunk-airship-dock-and-workshop-spare-airscrew-rac-11e57ebb","position":[-7.2,0.1,0.4],"rotation":-90},{"asset":"steampunk-airship-dock-and-workshop-flight-gear-stand-b2d883bc","position":[-13.2,0.1,2.6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-chain-hoist-dd5b7844","position":[-10,5.1,-2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-gas-lantern-afc5ebc9","position":[-13.84,3.4,-6],"rotation":-90},{"asset":"steampunk-airship-dock-and-workshop-gas-lantern-afc5ebc9","position":[-13.84,3.4,1.2],"rotation":-90},{"asset":"steampunk-airship-dock-and-workshop-workshop-clock-3ecdb8e4","position":[-13.84,3.6,-3.4],"rotation":-90},{"asset":"steampunk-airship-dock-and-workshop-shipping-crate-36daa908","position":[-9.2,0.1,2.8],"rotation":-17.19},{"asset":"steampunk-airship-dock-and-workshop-toolbox-2754f8a9","position":[-11.6,1,-8.2],"rotation":11.46},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[-4,0,-18],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[-4,0,-14],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[0,0,-18],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[0,0,-14],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[4,0,-18],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[4,0,-14],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[8,0,-18],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[8,0,-14],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[12,0,-18],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[12,0,-14],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[16,0,-18],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[16,0,-14],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[16,0,-10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[16,0,-6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[16,0,-2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[16,0,2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[16,0,6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[16,0,10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[16,0,14],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[20,0,-18],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[20,0,-14],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[20,0,-10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[20,0,-6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[20,0,-2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[20,0,2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[20,0,6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[20,0,10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[20,0,14],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[24,0,-18],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[24,0,-14],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[24,0,-10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[24,0,-6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[24,0,-2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[24,0,2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[24,0,6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[24,0,10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","position":[24,0,14],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-shed-floor-plate-0b596e29","position":[-12,0,-14],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-shed-floor-plate-0b596e29","position":[-12,0,-18],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-shed-floor-plate-0b596e29","position":[-8,0,-14],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-shed-floor-plate-0b596e29","position":[-8,0,-18],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-shed-wall-panel-13e7ce7b","position":[-14,0.1,-14],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-shed-wall-window-5107833f","position":[-14,0.1,-18],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-shed-wall-panel-13e7ce7b","position":[-12,0.1,-20],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-shed-wall-door-302e76d0","position":[-8,0.1,-20],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-shed-wall-door-ope-311cbb50","position":[-6,0.1,-14],"rotation":-90},{"asset":"steampunk-airship-dock-and-workshop-shed-wall-panel-13e7ce7b","position":[-6,0.1,-18],"rotation":-90},{"asset":"steampunk-airship-dock-and-workshop-shed-roof-truss-cdf34936","position":[-10,5.1,-14],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-shed-roof-truss-cdf34936","position":[-10,5.1,-18],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-chain-hoist-dd5b7844","position":[-10,5.1,-16.4],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-gas-lantern-afc5ebc9","position":[-13.8,3.4,-16],"rotation":-90},{"asset":"steampunk-airship-dock-and-workshop-workshop-clock-3ecdb8e4","position":[-13.8,3.6,-19.2],"rotation":-90},{"asset":"steampunk-airship-dock-and-workshop-workbench-ed991aad","position":[-12.6,0.1,-16.6],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-hand-tool-tray-ce35e1b5","position":[-12.4,0.95,-17.6],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-toolbox-2754f8a9","position":[-12.4,0.95,-15.7],"rotation":12},{"asset":"steampunk-airship-dock-and-workshop-oil-can-00ade082","position":[-12.5,0.95,-16.9],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-pedestal-grinder-15e2521b","position":[-13.2,0.1,-13.4],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-drill-press-0fd05b58","position":[-8.9,0.1,-16.8],"rotation":180},{"asset":"steampunk-airship-dock-and-workshop-anvil-and-block-48995684","position":[-9.1,0.1,-19.1],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-parts-bin-rack-0547387b","position":[-12.8,0.1,-19.3],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-tool-chest-92ccaee9","position":[-10.6,0.1,-13.2],"rotation":18},{"asset":"steampunk-airship-dock-and-workshop-gear-stand-1f118594","position":[-7.4,0.1,-18.9],"rotation":-90},{"asset":"steampunk-airship-dock-and-workshop-spare-airscrew-rac-11e57ebb","position":[-7.3,0.1,-15.4],"rotation":-90},{"asset":"steampunk-airship-dock-and-workshop-shipping-crate-36daa908","position":[-10.9,0.1,-19.2],"rotation":-14},{"asset":"steampunk-airship-dock-and-workshop-shipping-crate-36daa908","position":[-11.9,0.1,-13.4],"rotation":26},{"asset":"steampunk-airship-dock-and-workshop-oil-barrel-7d02438a","position":[-7.6,0.1,-12.9],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-ballast-sandbags-402069d1","position":[-10.4,0.1,-16.2],"rotation":8},{"asset":"steampunk-airship-dock-and-workshop-hand-tool-tray-ce35e1b5","position":[-9.6,0.1,-13.9],"rotation":-24},{"asset":"steampunk-airship-dock-and-workshop-gas-lantern-afc5ebc9","position":[-6.2,3.4,-17.2],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-shipping-crate-36daa908","position":[-13.2,0.1,-14.6],"rotation":8},{"asset":"steampunk-airship-dock-and-workshop-ballast-weights-f7ba1f10","position":[-8.4,0.1,-14.4],"rotation":-16},{"asset":"steampunk-airship-dock-and-workshop-vertical-boiler-fad0cbb7","position":[-3.6,0.1,-17.4],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-pressure-vessel-b2b6c08a","position":[-0.4,0.1,-18.2],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-valve-standpipe-bcf6b39c","position":[-1.4,0.1,-15.2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-valve-standpipe-bcf6b39c","position":[9.6,0.1,-15.4],"rotation":180},{"asset":"steampunk-airship-dock-and-workshop-gauge-board-8012d60b","position":[-3.4,0.1,-14.4],"rotation":180},{"asset":"steampunk-airship-dock-and-workshop-pipe-run-straight-412eab5c","position":[0,0.1,-16.4],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-pipe-run-straight-412eab5c","position":[4,0.1,-16.4],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-pipe-run-straight-412eab5c","position":[8,0.1,-16.4],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-pipe-run-straight-412eab5c","position":[12,0.1,-16.4],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-pipe-run-straight-412eab5c","position":[-2,0.1,-14],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-gas-cylinder-rack-a391091a","position":[5,0.1,-18.2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-gas-cylinder-rack-a391091a","position":[7.8,0.1,-18.2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-gas-cylinder-rack--31582661","position":[10.6,0.1,-18.2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-gas-cylinder-rack--31582661","position":[13.4,0.1,-18.2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-gas-pump-trolley-c02ef62c","position":[3,0.1,-14.4],"rotation":-90},{"asset":"steampunk-airship-dock-and-workshop-oil-barrel-7d02438a","position":[14.6,0.1,-16.4],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-oil-barrel-7d02438a","position":[15.7,0.1,-15.1],"rotation":32},{"asset":"steampunk-airship-dock-and-workshop-oil-barrel-7d02438a","position":[14.2,0.1,-15.2],"rotation":-18},{"asset":"steampunk-airship-dock-and-workshop-ballast-weights-f7ba1f10","position":[2.2,0.1,-19],"rotation":9},{"asset":"steampunk-airship-dock-and-workshop-ballast-sandbags-402069d1","position":[1.8,0.1,-19.2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-stair-flight-d643cfe5","position":[23.4,0.1,-18.6],"rotation":180},{"asset":"steampunk-airship-dock-and-workshop-signal-lamp-1a96f759","position":[-5.2,0.1,-13.2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-signal-lamp-1a96f759","position":[16,0.1,-12.6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-airship-envelope-f-123a81d2","position":[18,3.3,-2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-airship-keel-truss-566216fd","position":[18,0.15,-2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-airship-frame-ring-aaeaca32","position":[18,0.1,10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-airship-frame-ring-aaeaca32","position":[18,0.1,12.4],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-airship-gondola-cr-c07128fb","position":[18.6,0.1,-16.8],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-airship-engine-pod-b40b4997","position":[24.2,0.1,4],"rotation":-90},{"asset":"steampunk-airship-dock-and-workshop-airship-engine-pod-42a81a7f","position":[24.2,0.1,6.6],"rotation":-90},{"asset":"steampunk-airship-dock-and-workshop-airship-tail-unit-e72e167b","position":[19.5,3.05,-13.4],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-airship-fin-panel-895a27f1","position":[24,0.1,-6.2],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-airship-fin-panel-895a27f1","position":[24,0.1,-9.4],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-spare-airscrew-rac-11e57ebb","position":[24.4,0.1,0.4],"rotation":-90},{"asset":"steampunk-airship-dock-and-workshop-dock-gantry-f46a3526","position":[18,0.1,14.6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-jib-crane-68fb499b","position":[24.6,0.1,-12.2],"rotation":180},{"asset":"steampunk-airship-dock-and-workshop-catwalk-straight-5bb5151f","position":[13.8,0.1,-10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-catwalk-straight-5bb5151f","position":[13.8,0.1,-6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-catwalk-straight-5bb5151f","position":[13.8,0.1,-2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-catwalk-straight-5bb5151f","position":[13.8,0.1,2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-catwalk-straight-5bb5151f","position":[13.8,0.1,6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-catwalk-straight-5bb5151f","position":[22.2,0.1,-10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-catwalk-straight-5bb5151f","position":[22.2,0.1,-6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-catwalk-straight-5bb5151f","position":[22.2,0.1,-2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-catwalk-straight-5bb5151f","position":[22.2,0.1,2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-catwalk-straight-5bb5151f","position":[22.2,0.1,6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-catwalk-corner-3ec6ad02","position":[13.8,0.1,9.2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-catwalk-corner-3ec6ad02","position":[22.2,0.1,9.2],"rotation":180},{"asset":"steampunk-airship-dock-and-workshop-access-ladder-a4976308","position":[13,0.1,-12.4],"rotation":180},{"asset":"steampunk-airship-dock-and-workshop-access-ladder-a4976308","position":[23,0.1,-12.4],"rotation":180},{"asset":"steampunk-airship-dock-and-workshop-chart-table-6d4aed38","position":[24.2,0.1,-2.4],"rotation":-90},{"asset":"steampunk-airship-dock-and-workshop-rolled-chart-55a3efb1","position":[24,1.05,-1.9],"rotation":15},{"asset":"steampunk-airship-dock-and-workshop-signal-lamp-1a96f759","position":[20,0.1,11],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-shipping-crate-36daa908","position":[23.4,0.1,11.2],"rotation":-22},{"asset":"steampunk-airship-dock-and-workshop-shipping-crate-36daa908","position":[24.4,0.1,12.4],"rotation":31},{"asset":"steampunk-airship-dock-and-workshop-shipping-crate-36daa908","position":[23.2,0.1,13.5],"rotation":-9},{"asset":"steampunk-airship-dock-and-workshop-toolbox-2754f8a9","position":[12.6,0.1,-4.4],"rotation":40},{"asset":"steampunk-airship-dock-and-workshop-toolbox-2754f8a9","position":[22.3,0.1,2.4],"rotation":-37},{"asset":"steampunk-airship-dock-and-workshop-oil-can-00ade082","position":[21.6,0.1,-7.2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-oil-barrel-7d02438a","position":[24.6,0.1,9.2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-ballast-sandbags-402069d1","position":[24.4,0.1,-16.6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-ballast-weights-f7ba1f10","position":[23.2,0.1,-17.6],"rotation":-12},{"asset":"steampunk-airship-dock-and-workshop-flight-gear-stand-b2d883bc","position":[12.4,0.1,7.6],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-boarding-stair-8444e1ab","position":[2.6,0.1,1.4],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-access-ladder-a4976308","position":[2.4,0.1,-6.6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-catwalk-straight-5bb5151f","position":[2,0.1,-13.2],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-catwalk-straight-5bb5151f","position":[6,0.1,-13.2],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-catwalk-straight-5bb5151f","position":[10,0.1,-13.2],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-catwalk-corner-3ec6ad02","position":[-1.6,0.1,-13.2],"rotation":-90},{"asset":"steampunk-airship-dock-and-workshop-catwalk-straight-5bb5151f","position":[10,0.1,10],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[25.9,0.1,-18],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[25.9,0.1,-14],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[25.9,0.1,-10],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[25.9,0.1,-6],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[25.9,0.1,-2],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[25.9,0.1,2],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[25.9,0.1,6],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[25.9,0.1,10],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[25.9,0.1,14],"rotation":90},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[-4,0.1,-19.9],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[0,0.1,-19.9],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[4,0.1,-19.9],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[8,0.1,-19.9],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[12,0.1,-19.9],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[16,0.1,-19.9],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[20,0.1,-19.9],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[24,0.1,-19.9],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[16,0.1,15.9],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[20,0.1,15.9],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","position":[24,0.1,15.9],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-mooring-bollard-0886a456","position":[25,0.1,-4],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-mooring-bollard-0886a456","position":[25,0.1,2],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-mooring-bollard-0886a456","position":[25,0.1,8],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-mooring-bollard-0886a456","position":[25,0.1,14],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-mooring-bollard-0886a456","position":[-2.8,0.1,-19.6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-mooring-bollard-0886a456","position":[5,0.1,-19.6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-mooring-bollard-0886a456","position":[11,0.1,-19.6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-mooring-bollard-0886a456","position":[19.5,0.1,-19.6],"rotation":0},{"asset":"steampunk-airship-dock-and-workshop-mooring-bollard-0886a456","position":[-6.4,0.1,-12.6],"rotation":0}],"points":[{"position":[9.8,0,1.4],"title":"The moored ship","text":"A rigid steampunk airship rides its mooring mast: envelope, nose cup, keel truss, cruciform tail and a crew gondola with a door that opens. Both engine cars turn their airscrews.","asset":"steampunk-airship-dock-and-workshop-airship-envelope-bace3ad2"},{"position":[6.2,0,11.4],"title":"Mooring mast and gantry","text":"The mast head slews with the ship. Behind it the dock gantry runs its trolley along the beam and lowers the hoist, and the jib crane slews over the deck edge.","asset":"steampunk-airship-dock-and-workshop-mooring-mast-2a9d3e5d"},{"position":[14.6,0,-1.5],"title":"The ship under assembly","text":"Her sister lies on the deck as bare rings and longerons, keel truss dropped in, ring frames on trestles waiting to be fitted, a spare tail and fin panels stacked alongside.","asset":"steampunk-airship-dock-and-workshop-airship-envelope-f-123a81d2"},{"position":[-5.4,0,-1.6],"title":"The dock controls","text":"A brass console, an engine room telegraph and a gauge board stand against the shed wall. The console levers and the telegraph handles rock, and every valve hand wheel spins.","asset":"steampunk-airship-dock-and-workshop-control-console-0776044e"},{"position":[-6.6,0,-7.6],"title":"The erecting shed","text":"Half the shed is left as open trusses so the machine bay can be seen from the deck: a belt driven lathe, a pillar drill, a pedestal grinder, an anvil and a bench with a vice and a drawer.","asset":"steampunk-airship-dock-and-workshop-belt-lathe-91d24186"},{"position":[-1.8,0,-14.8],"title":"The gas plant","text":"A riveted vertical boiler, a horizontal pressure vessel, pipe runs and standpipes feed the lifting gas racks. The pump trolley and the valve wheels turn.","asset":"steampunk-airship-dock-and-workshop-vertical-boiler-fad0cbb7"},{"position":[-8.6,0,-14.6],"title":"The second bay","text":"The south bay takes the overflow: another bench, a drill press, a parts rack, crates and a spare airscrew rack, under a chain hoist on the beam. Its sliding door opens as you reach it.","asset":"steampunk-airship-dock-and-workshop-shed-wall-door-302e76d0"}],"poster":{"position":[22,6.5,8],"lookAt":[6,6.2,-2]}},"bounds":{"min":[-16.439876638464515,-0.00007049745767258309,-22.090029602954193],"max":[28.010046083476684,13.069572674408457,18.069999933242798]},"assets":[{"id":"36047","slug":"steampunk-airship-dock-and-workshop-shed-floor-plate-0b596e29","title":"Shed floor plate 4 m (Steampunk Airship Dock and Workshop)","summary":"A 4 m timber boarded floor plate on iron joists, for the workshop side of the dock.","description":"Sixteen timber floor boards on the same iron joists as the dock deck plate, with iron edge straps. A 4 m square deck module on the pack's 4 m grid, walking surface at y=0.10. The origin sits at the module centre on the ground, and the four deck ports are at the edge midpoints at the walking surface, so modules chain in any direction. Bounding size 4.00 x 0.11 x 4.14 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-shed-floor-plate-0b596e29","cdnUrl":"https://cdn.3dassets.dev/assets/36047/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-shed-floor-plate-0b596e29","thumbnailUrl":"https://cdn.3dassets.dev/assets/36047/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36047/v1/poster.webp","blurhash":"U8A]]6t802Wn%Kj[NGfk00Rj~BWB9bafxaax","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":26896,"triangles":556,"vertices":1302,"meshes":3,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-2.000003902906392,-0.00007049745767258309,-2.069999933242798],"max":[2.000003902906392,0.11296320069690072,2.069999933242798]},"sizeMeters":[4,0.113,4.14],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:09.349Z","updatedAt":"2026-09-11T19:54:09.464Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36047/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShedFloorPlate4MSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36047/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36047/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36047/v1/model.glb\" alt=\"Shed floor plate 4 m (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36047/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/36047/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36046","slug":"steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","title":"Riveted dock deck plate 4 m (Steampunk Airship Dock and Workshop)","summary":"A 4 m riveted steel deck plate on iron joists, the modular floor of the airship dock.","description":"A riveted steel deck plate on iron joists, the standard 4 m square of the dock apron. Two rows of driven rivets run along the plate straps. A 4 m square deck module on the pack's 4 m grid, walking surface at y=0.10. The origin sits at the module centre on the ground, and the four deck ports are at the edge midpoints at the walking surface, so modules chain in any direction. Bounding size 4.00 x 0.13 x 4.14 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","cdnUrl":"https://cdn.3dassets.dev/assets/36046/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-dock-deck-plate-f78a2ec8","thumbnailUrl":"https://cdn.3dassets.dev/assets/36046/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36046/v1/poster.webp","blurhash":"U8AdD$tS00oe-;jvM{j?00Ri_NRj4maxxvf8","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":57108,"triangles":1320,"vertices":2912,"meshes":3,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-2.000003902906392,-0.00007049745767258309,-2.069999933242798],"max":[2.000003902906392,0.1321137733907567,2.069999933242798]},"sizeMeters":[4,0.132,4.14],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:07.794Z","updatedAt":"2026-09-11T19:54:07.910Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36046/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RivetedDockDeckPlate4MSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36046/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36046/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36046/v1/model.glb\" alt=\"Riveted dock deck plate 4 m (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36046/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/36046/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36057","slug":"steampunk-airship-dock-and-workshop-shed-wall-panel-13e7ce7b","title":"Shed wall bay, clad (Steampunk Airship Dock and Workshop)","summary":"A 4 m corrugated shed wall bay on riveted stanchions, 5.0 m to the head.","description":"Plain corrugated cladding over the full height of the bay. A 4 m shed bay, 5.0 m to the wall head: corrugated cladding on riveted stanchions with a head beam and knee braces. The origin is at the bay centre on the ground with the cladding on the -Z face, and the wall ports are at the vertical edges so bays chain in a run. Bounding size 3.98 x 5.00 x 0.18 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-shed-wall-panel-13e7ce7b","cdnUrl":"https://cdn.3dassets.dev/assets/36057/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-shed-wall-panel-13e7ce7b","thumbnailUrl":"https://cdn.3dassets.dev/assets/36057/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36057/v1/poster.webp","blurhash":"U25PL0%g00DO?H%#I.D4qGs:LfI:-px]M{Di","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":12388,"triangles":240,"vertices":560,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.990035706656087,0,-0.09002960295419173],"max":[1.990035706656087,5,0.09002960295419173]},"sizeMeters":[3.98,5,0.18],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:16.178Z","updatedAt":"2026-09-11T19:54:16.297Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36057/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShedWallBayCladSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36057/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36057/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36057/v1/model.glb\" alt=\"Shed wall bay, clad (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36057/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/36057/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36058","slug":"steampunk-airship-dock-and-workshop-shed-wall-window-5107833f","title":"Shed wall bay with a window band (Steampunk Airship Dock and Workshop)","summary":"The same 4 m bay with a barred glazing band at 2.9 m, the way a machine shop is lit.","description":"A 1.06 m glazing band at 2.9 m with seven iron bars and a transom above and below, cladding under it and over it. A 4 m shed bay, 5.0 m to the wall head: corrugated cladding on riveted stanchions with a head beam and knee braces. The origin is at the bay centre on the ground with the cladding on the -Z face, and the wall ports are at the vertical edges so bays chain in a run. Bounding size 3.98 x 5.00 x 0.18 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-shed-wall-window-5107833f","cdnUrl":"https://cdn.3dassets.dev/assets/36058/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-shed-wall-window-5107833f","thumbnailUrl":"https://cdn.3dassets.dev/assets/36058/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36058/v1/poster.webp","blurhash":"U15iH0.S008w}]?vAU4TUbw|Q7ABy=%gU_8x","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":22980,"triangles":540,"vertices":1260,"meshes":5,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.990035706656087,-0.00003503040663899171,-0.09002960295419173],"max":[1.990035706656087,5,0.09002960295419173]},"sizeMeters":[3.98,5,0.18],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:16.381Z","updatedAt":"2026-09-11T19:54:16.483Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36058/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShedWallBayWithAWindowBandSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36058/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36058/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36058/v1/model.glb\" alt=\"Shed wall bay with a window band (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36058/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/36058/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36061","slug":"steampunk-airship-dock-and-workshop-shed-wall-door-ope-311cbb50","title":"Shed wall bay, door slid open (Steampunk Airship Dock and Workshop)","summary":"The same door bay with its leaf already parked clear over the next bay.","description":"The sliding door bay posed with its leaf run fully back over the neighbouring bay, so a shed can be shown open without animating it. The leaf stays a named node and carries no clip in this variant. A 4 m shed bay, 5.0 m to the wall head: corrugated cladding on riveted stanchions with a head beam and knee braces. The origin is at the bay centre on the ground with the cladding on the -Z face, and the wall ports are at the vertical edges so bays chain in a run. Bounding size 7.29 x 5.00 x 0.40 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Named pivot nodes: shed-door. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-shed-wall-door-ope-311cbb50","cdnUrl":"https://cdn.3dassets.dev/assets/36061/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-shed-wall-door-ope-311cbb50","thumbnailUrl":"https://cdn.3dassets.dev/assets/36061/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36061/v1/poster.webp","blurhash":"U35FzYv24Th0+I.mOqD4HXyXk=HrpvrXjFTJ","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":30964,"triangles":656,"vertices":1513,"meshes":6,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.990035706656087,-0.0000047255621788977464,-0.09002960295419173],"max":[5.299948485922027,5,0.3059993585319766]},"sizeMeters":[7.29,5,0.396],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:19.107Z","updatedAt":"2026-09-11T19:54:19.301Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36061/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShedWallBayDoorSlidOpenSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36061/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36061/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36061/v1/model.glb\" alt=\"Shed wall bay, door slid open (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36061/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/36061/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36062","slug":"steampunk-airship-dock-and-workshop-shed-roof-bay-7d3faceb","title":"Shed roof bay 4 m, sheeted (Steampunk Airship Dock and Workshop)","summary":"A 4 m roofed bay: two trusses, corrugated slopes, a ridge vent, a rooflight and copper gutters.","description":"A complete 4 m roofed bay over an 8 m span: a truss at each end, corrugated sheeting on both slopes, a ridge cap with a raised vent, a glazed rooflight strip on one slope and a copper gutter at each eaves. Sit it on a wall head at y=5.10, one bay per 4 m of shed. Bounding size 8.88 x 2.13 x 4.12 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-shed-roof-bay-7d3faceb","cdnUrl":"https://cdn.3dassets.dev/assets/36062/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-shed-roof-bay-7d3faceb","thumbnailUrl":"https://cdn.3dassets.dev/assets/36062/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36062/v1/poster.webp","blurhash":"U38Nqbs*00%MIU?Hs.IU00EM?wjGtS01Ws%N","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":33356,"triangles":1064,"vertices":2372,"meshes":10,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-4.439876638464515,0.00023090102922913858,-2.060100705458385],"max":[4.439876638464515,2.130037926398253,2.060100705458385]},"sizeMeters":[8.88,2.13,4.12],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:19.307Z","updatedAt":"2026-09-11T19:54:19.434Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36062/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShedRoofBay4MSheetedSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36062/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36062/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36062/v1/model.glb\" alt=\"Shed roof bay 4 m, sheeted (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36062/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/36062/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36060","slug":"steampunk-airship-dock-and-workshop-shed-roof-truss-cdf34936","title":"Shed roof truss 8 m (Steampunk Airship Dock and Workshop)","summary":"An 8 m riveted roof truss with a 1.35 m rise, bearing pads at each end.","description":"An 8 m riveted roof truss: a straight bottom chord, two rafters rising 1.35 m to the apex, six struts and four diagonals, with a bolted bearing pad under each end. Purlin ports at the apex line let trusses chain at 4 m centres. Sit it on a wall head at y=5.10 over a 4 m deck grid. Bounding size 8.05 x 1.57 x 0.36 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-shed-roof-truss-cdf34936","cdnUrl":"https://cdn.3dassets.dev/assets/36060/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-shed-roof-truss-cdf34936","thumbnailUrl":"https://cdn.3dassets.dev/assets/36060/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36060/v1/poster.webp","blurhash":"U36kbTspInt7RQ_3RPNG00IA.8MxM{00bF-;","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":18076,"triangles":376,"vertices":864,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-4.023861885070801,0.00023090102922913858,-0.18010071022675628],"max":[4.023861885070801,1.566202724537908,0.18010071022675628]},"sizeMeters":[8.048,1.566,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:19.003Z","updatedAt":"2026-09-11T19:54:19.122Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36060/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShedRoofTruss8MSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36060/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36060/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36060/v1/model.glb\" alt=\"Shed roof truss 8 m (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36060/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/36060/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36037","slug":"steampunk-airship-dock-and-workshop-airship-envelope-bace3ad2","title":"Airship rigid envelope (Steampunk Airship Dock and Workshop)","summary":"A 21.6 m fabric covered rigid envelope with hoop bands, stringers and a brass nose ring.","description":"The fabric covered hull of a small rigid airship, 21.6 m long and 6.0 m in diameter: a doped envelope over twelve stringers, five riveted hoop bands, a painted livery stripe amidships and a brass reinforcing ring round the nose opening. The origin sits on the ship axis at the envelope's mid length, because the piece hangs in the air rather than standing on anything. Assembled about the ship axis, the envelope centre is the datum: the nose cone sits 11.6 m forward of it, the tail unit 10.0 m aft, the keel truss 4.0 m below and the gondola 2.2 m below the keel. Bounding size 6.14 x 6.14 x 21.60 m (X x Y x Z). Metre units, +Y up, +Z forward. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-airship-envelope-bace3ad2","cdnUrl":"https://cdn.3dassets.dev/assets/36037/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-airship-envelope-bace3ad2","thumbnailUrl":"https://cdn.3dassets.dev/assets/36037/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36037/v1/poster.webp","blurhash":"U9BpkK-;00M|x[9FM{%M00D%~p%MIA~q-:D%","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"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":136128,"triangles":3056,"vertices":7092,"meshes":5,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-3.070222298015618,-3.069572674408457,-11],"max":[3.072323553078371,3.069572674408457,10.600000381469727]},"sizeMeters":[6.143,6.139,21.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:01.758Z","updatedAt":"2026-09-11T19:54:01.857Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36037/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AirshipRigidEnvelopeSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36037/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36037/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36037/v1/model.glb\" alt=\"Airship rigid envelope (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36037/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/36037/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36035","slug":"steampunk-airship-dock-and-workshop-airship-nose-cone-9c030d5c","title":"Airship nose cone and mooring cup (Steampunk Airship Dock and Workshop)","summary":"The reinforced nose cap with eight ribs and the brass cup that engages a mooring mast.","description":"The reinforced nose cap of the envelope: a doped cone over eight steel ribs, closing on a brass mooring cup and spindle that engages the head of a mooring mast. The origin sits on the ship axis at the cone's mid length. The mooring port is at the tip of the cup. Assembled about the ship axis, the envelope centre is the datum: the nose cone sits 11.6 m forward of it, the tail unit 10.0 m aft, the keel truss 4.0 m below and the gondola 2.2 m below the keel. Bounding size 1.90 x 1.91 x 2.13 m (X x Y x Z). Metre units, +Y up, +Z forward. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-airship-nose-cone-9c030d5c","cdnUrl":"https://cdn.3dassets.dev/assets/36035/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-airship-nose-cone-9c030d5c","thumbnailUrl":"https://cdn.3dassets.dev/assets/36035/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36035/v1/poster.webp","blurhash":"UJECqK4n00%M~qIUD%xu00xu?Hxu01xuxuog","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"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":40560,"triangles":880,"vertices":2034,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.9478249261556199,-0.9526464264788386,-1.0066508054733276],"max":[0.9543875167546799,0.9526464264788386,1.119991137637015]},"sizeMeters":[1.902,1.905,2.127],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:01.686Z","updatedAt":"2026-09-11T19:54:01.795Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36035/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AirshipNoseConeAndMooringCupSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36035/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36035/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36035/v1/model.glb\" alt=\"Airship nose cone and mooring cup (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36035/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/36035/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36036","slug":"steampunk-airship-dock-and-workshop-airship-tail-unit-e72e167b","title":"Airship cruciform tail unit (Steampunk Airship Dock and Workshop)","summary":"The four fin tail with a hinged rudder on each vertical fin and an elevator on each stabiliser.","description":"The cruciform empennage: four fabric covered fins on steel spars round a root fairing, with a hinged control surface on the trailing edge of each. The two vertical surfaces share the rudder node and the two horizontal surfaces share the elevator node, so one channel drives each system. Tip bracing wires are modelled static, because a wire is not reachable with a rigid node transform. The origin sits on the ship axis at the fin root. Assembled about the ship axis, the envelope centre is the datum: the nose cone sits 11.6 m forward of it, the tail unit 10.0 m aft, the keel truss 4.0 m below and the gondola 2.2 m below the keel. Bounding size 6.00 x 6.00 x 3.54 m (X x Y x Z). Metre units, +Y up, +Z forward. Named pivot nodes: rudder, elevator. Rigid node-transform clips: steer and tilt. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-airship-tail-unit-e72e167b","cdnUrl":"https://cdn.3dassets.dev/assets/36036/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-airship-tail-unit-e72e167b","thumbnailUrl":"https://cdn.3dassets.dev/assets/36036/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36036/v1/poster.webp","blurhash":"UCB|HORk00j@?bofD%WB00of~qofD%M{%L%M","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"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":62672,"triangles":1504,"vertices":3100,"meshes":14,"materials":2,"textures":0,"animations":["steer","tilt"],"boundingBox":{"min":[-2.999955797912502,-2.999955797912502,-2.0400178174869876],"max":[2.999955797912502,2.999955797912502,1.5]},"sizeMeters":[6,6,3.54],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:01.733Z","updatedAt":"2026-09-11T19:54:01.832Z","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/36036/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 AirshipCruciformTailUnitSteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36036/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/36036/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36036/v1/model.glb\" alt=\"Airship cruciform tail unit (Steampunk Airship Dock and Workshop)\" 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/36036/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/36036/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"36040","slug":"steampunk-airship-dock-and-workshop-airship-keel-truss-566216fd","title":"Airship keel truss (Steampunk Airship Dock and Workshop)","summary":"A 12 m riveted keel girder with a plank walkway, a rail and outriggers for the engine cars.","description":"The keel: a 12 m riveted lattice girder 1.5 m wide and 1.0 m deep, with a planked walkway and a handrail along the top and a pair of outriggers each side for the engine cars. It rests on its bottom chord at y=0 so it can also be photographed on the shop floor. Assembled about the ship axis, the envelope centre is the datum: the nose cone sits 11.6 m forward of it, the tail unit 10.0 m aft, the keel truss 4.0 m below and the gondola 2.2 m below the keel. Bounding size 3.87 x 1.80 x 12.05 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-airship-keel-truss-566216fd","cdnUrl":"https://cdn.3dassets.dev/assets/36040/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-airship-keel-truss-566216fd","thumbnailUrl":"https://cdn.3dassets.dev/assets/36040/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36040/v1/poster.webp","blurhash":"U47BDwae00-=MxD%f+%M00t7_NIU%g_3aKD%","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"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":35180,"triangles":752,"vertices":1740,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.9353413222259344,0.00037366202561051054,-6.027500152587891],"max":[1.9353413222259344,1.795741903402438,6.027500152587891]},"sizeMeters":[3.871,1.795,12.055],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:04.655Z","updatedAt":"2026-09-11T19:54:04.769Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36040/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AirshipKeelTrussSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36040/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36040/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36040/v1/model.glb\" alt=\"Airship keel truss (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36040/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/36040/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36041","slug":"steampunk-airship-dock-and-workshop-airship-gondola-5178984f","title":"Airship crew gondola (Steampunk Airship Dock and Workshop)","summary":"A 5.6 m boat formed gondola with a brass framed window band, a hinged door and roof lugs.","description":"The crew and passenger gondola: a boat formed hull 5.6 m long and 2.2 m wide with a keel rubbing strip, a brass mullioned window band on both sides, a hinged door on the starboard quarter, a bow lamp and eight suspension lugs on the roof that the keel truss picks up. Assembled about the ship axis, the envelope centre is the datum: the nose cone sits 11.6 m forward of it, the tail unit 10.0 m aft, the keel truss 4.0 m below and the gondola 2.2 m below the keel. Bounding size 2.45 x 1.99 x 5.83 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Named pivot nodes: gondola-door. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-airship-gondola-5178984f","cdnUrl":"https://cdn.3dassets.dev/assets/36041/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-airship-gondola-5178984f","thumbnailUrl":"https://cdn.3dassets.dev/assets/36041/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36041/v1/poster.webp","blurhash":"U56Isgt,8woz?^MdIUx]00H?yWtR4TtlyDR6","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"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":86220,"triangles":1928,"vertices":4323,"meshes":6,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.1701116585901041,0.00002990979474468136,-2.8499999046325684],"max":[1.2799525198259378,1.990194436186244,2.984616279602051]},"sizeMeters":[2.45,1.99,5.835],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:04.677Z","updatedAt":"2026-09-11T19:54:04.787Z","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/36041/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 AirshipCrewGondolaSteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36041/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/36041/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36041/v1/model.glb\" alt=\"Airship crew gondola (Steampunk Airship Dock and Workshop)\" 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/36041/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/36041/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"36042","slug":"steampunk-airship-dock-and-workshop-airship-engine-pod-b40b4997","title":"Airship engine car and airscrew (Steampunk Airship Dock and Workshop)","summary":"An engine car with a radiator, an exhaust stack, a four blade tractor airscrew and outriggers.","description":"An engine car: a riveted nacelle on a cradle skid with a copper radiator block aft, an exhaust stack over the top, a four blade timber tractor airscrew on a brass hub and a pair of outrigger arms that bolt up to the keel. The airscrew spins about its own Z axis. Assembled about the ship axis, the envelope centre is the datum: the nose cone sits 11.6 m forward of it, the tail unit 10.0 m aft, the keel truss 4.0 m below and the gondola 2.2 m below the keel. Bounding size 1.56 x 1.88 x 2.34 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Named pivot nodes: prop-airscrew. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-airship-engine-pod-b40b4997","cdnUrl":"https://cdn.3dassets.dev/assets/36042/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-airship-engine-pod-b40b4997","thumbnailUrl":"https://cdn.3dassets.dev/assets/36042/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36042/v1/poster.webp","blurhash":"U784oL?G00IV_NWB9Exa4UD*O?%MD%n$x]ai","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"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":67764,"triangles":1616,"vertices":3266,"meshes":6,"materials":6,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.7799999713897705,2.8610229518832853e-8,-1.0511740716318916],"max":[0.7799999713897705,1.8799999952316284,1.2940000289678573]},"sizeMeters":[1.56,1.88,2.345],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:04.930Z","updatedAt":"2026-09-11T19:54:05.032Z","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/36042/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 AirshipEngineCarAndAirscrewSteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36042/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/36042/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36042/v1/model.glb\" alt=\"Airship engine car and airscrew (Steampunk Airship Dock and Workshop)\" 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/36042/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/36042/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"36044","slug":"steampunk-airship-dock-and-workshop-airship-engine-pod-42a81a7f","title":"Airship engine car in crimson (Steampunk Airship Dock and Workshop)","summary":"The same engine car in crimson, to match a crimson gondola.","description":"The engine car in a crimson nacelle finish. Nacelle, radiator, stack, airscrew and outriggers are identical to the teal version. Bounding size 1.56 x 1.88 x 2.34 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Named pivot nodes: prop-airscrew. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-airship-engine-pod-42a81a7f","cdnUrl":"https://cdn.3dassets.dev/assets/36044/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-airship-engine-pod-42a81a7f","thumbnailUrl":"https://cdn.3dassets.dev/assets/36044/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36044/v1/poster.webp","blurhash":"U79Gjt?G00E2_NS29ExZ0g9a+v-o9Zr?%2Si","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"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":67832,"triangles":1616,"vertices":3266,"meshes":6,"materials":6,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.7799999713897705,2.8610229518832853e-8,-1.0511740716318916],"max":[0.7799999713897705,1.8799999952316284,1.2940000289678573]},"sizeMeters":[1.56,1.88,2.345],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:07.535Z","updatedAt":"2026-09-11T19:54:07.632Z","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/36044/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 AirshipEngineCarInCrimsonSteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36044/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/36044/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36044/v1/model.glb\" alt=\"Airship engine car in crimson (Steampunk Airship Dock and Workshop)\" 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/36044/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/36044/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"36051","slug":"steampunk-airship-dock-and-workshop-mooring-mast-2a9d3e5d","title":"Airship mooring mast (Steampunk Airship Dock and Workshop)","summary":"An 8.6 m riveted lattice mooring mast with a weathercocking head, a mooring cup and a ladder.","description":"A riveted lattice mooring mast in four tapering bays, 8.6 m to the top of the mooring cup: bolted foot pads, a caged service ladder up one face, a railed platform under the head, and a brass head that turns on its ring so a moored ship can weathercock. The mooring port is on the cup axis, 7.9 m up. The nose cable is modelled static, because a cable is not reachable with a rigid node transform. Bounding size 3.16 x 8.22 x 4.12 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Named pivot nodes: mast-head. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-mooring-mast-2a9d3e5d","cdnUrl":"https://cdn.3dassets.dev/assets/36051/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-mooring-mast-2a9d3e5d","thumbnailUrl":"https://cdn.3dassets.dev/assets/36051/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36051/v1/poster.webp","blurhash":"U168Ko~q0000~SsD01D%DgR%yGt8?tt7IYRk","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"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":125352,"triangles":3008,"vertices":6499,"meshes":3,"materials":3,"textures":0,"animations":["spin"],"boundingBox":{"min":[-1.579765303727405,0,-2.541641220361666],"max":[1.579765303727405,8.217338775210203,1.5801025479144615]},"sizeMeters":[3.16,8.217,4.122],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:12.069Z","updatedAt":"2026-09-11T19:54:12.170Z","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/36051/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 AirshipMooringMastSteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36051/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/36051/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36051/v1/model.glb\" alt=\"Airship mooring mast (Steampunk Airship Dock and Workshop)\" 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/36051/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/36051/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"36054","slug":"steampunk-airship-dock-and-workshop-boarding-stair-8444e1ab","title":"Wheeled boarding stair (Steampunk Airship Dock and Workshop)","summary":"A wheeled boarding stair with eleven treads, twin handrails and a railed top platform at 2.5 m.","description":"A wheeled boarding stair for reaching a moored gondola: riveted stringers on a four wheel undercarriage, eleven treads rising 2.1 m over a 2.9 m run, a handrail each side and a railed platform at the top with a drawbar at the foot. Bounding size 1.50 x 3.49 x 3.91 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-boarding-stair-8444e1ab","cdnUrl":"https://cdn.3dassets.dev/assets/36054/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-boarding-stair-8444e1ab","thumbnailUrl":"https://cdn.3dassets.dev/assets/36054/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36054/v1/poster.webp","blurhash":"U25E:C~q4T00j=xut8a$009F-;.89E9Ft8-=","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"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":41164,"triangles":928,"vertices":2096,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.8000345122806174,0,-1.57007146325136],"max":[0.6999688004684844,3.4896399974823,2.3359999656677246]},"sizeMeters":[1.5,3.49,3.906],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:13.642Z","updatedAt":"2026-09-11T19:54:13.759Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36054/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WheeledBoardingStairSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36054/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36054/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36054/v1/model.glb\" alt=\"Wheeled boarding stair (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36054/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/36054/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36068","slug":"steampunk-airship-dock-and-workshop-pipe-run-straight-412eab5c","title":"Pipe run module 4 m (Steampunk Airship Dock and Workshop)","summary":"A 4 m lagged copper pipe run on iron stanchions, with bolted flanges and a branch valve.","description":"A 4 m module of copper pipework carried at 0.70 m on two iron stanchions with saddle clips: a bolted flange at each end, and a branch riser with a small hand wheel at the module centre. Pipe ports are on the flange faces, so runs chain on the 4 m grid. Bounding size 0.46 x 1.22 x 3.93 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Named pivot nodes: valve-branch. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-pipe-run-straight-412eab5c","cdnUrl":"https://cdn.3dassets.dev/assets/36068/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-pipe-run-straight-412eab5c","thumbnailUrl":"https://cdn.3dassets.dev/assets/36068/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36068/v1/poster.webp","blurhash":"U36@vKsFNEWT?D0MNFxu00E4-paM0z~U?GNF","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":35748,"triangles":884,"vertices":1930,"meshes":7,"materials":3,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.2299836666873534,0,-2.010003853457984],"max":[0.2299836666873534,1.223789777432143,1.9212070630417244]},"sizeMeters":[0.46,1.224,3.931],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:24.689Z","updatedAt":"2026-09-11T19:54:24.784Z","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/36068/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 PipeRunModule4MSteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36068/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/36068/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36068/v1/model.glb\" alt=\"Pipe run module 4 m (Steampunk Airship Dock and Workshop)\" 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/36068/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/36068/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"36069","slug":"steampunk-airship-dock-and-workshop-pipe-run-elbow-9afcca42","title":"Pipe run elbow module (Steampunk Airship Dock and Workshop)","summary":"A right angle pipe elbow on the 4 m grid, turning from the -Z port to the +X port.","description":"A right angle module of the same pipework: the run enters at the -Z flange and leaves at the +X flange, carried on a stanchion under each leg. Chain it between two straight modules to turn a run. Bounding size 2.23 x 0.85 x 2.23 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-pipe-run-elbow-9afcca42","cdnUrl":"https://cdn.3dassets.dev/assets/36069/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-pipe-run-elbow-9afcca42","thumbnailUrl":"https://cdn.3dassets.dev/assets/36069/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36069/v1/poster.webp","blurhash":"U45}Ba}[0K56=y$%NtNu0f9utkxt9vELNGxZ","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":14920,"triangles":264,"vertices":653,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.23000000417232513,0.00003311983306703015,-2],"max":[2,0.8529643727752452,0.23000000417232513]},"sizeMeters":[2.23,0.853,2.23],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:24.748Z","updatedAt":"2026-09-11T19:54:24.842Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36069/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PipeRunElbowModuleSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36069/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36069/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36069/v1/model.glb\" alt=\"Pipe run elbow module (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36069/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/36069/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36048","slug":"steampunk-airship-dock-and-workshop-catwalk-straight-5bb5151f","title":"Railed catwalk module 4 m (Steampunk Airship Dock and Workshop)","summary":"A 4 m grated catwalk module 1.2 m wide, with handrails and kick plates on both sides.","description":"A 4 m grated catwalk module: a steel plate deck with cross grating bars at 0.22 m, a channel stringer each side and a two rail handrail 0.98 m above the walking surface. The origin is at the module centre and the run goes along Z, with catwalk ports at each end at the walking surface. Bounding size 1.23 x 1.10 x 4.00 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-catwalk-straight-5bb5151f","cdnUrl":"https://cdn.3dassets.dev/assets/36048/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-catwalk-straight-5bb5151f","thumbnailUrl":"https://cdn.3dassets.dev/assets/36048/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36048/v1/poster.webp","blurhash":"U89aKsxu8_ofDiD$t7xv00xu-=M__N?cIUM_","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":19536,"triangles":556,"vertices":1268,"meshes":3,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.6158995473347021,-0.00004028532657798789,-2],"max":[0.6158995473347021,1.096034479430418,2]},"sizeMeters":[1.232,1.096,4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:10.406Z","updatedAt":"2026-09-11T19:54:10.520Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36048/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RailedCatwalkModule4MSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36048/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36048/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36048/v1/model.glb\" alt=\"Railed catwalk module 4 m (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36048/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/36048/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36049","slug":"steampunk-airship-dock-and-workshop-catwalk-corner-3ec6ad02","title":"Railed catwalk corner module (Steampunk Airship Dock and Workshop)","summary":"A right angle catwalk corner turning from the -Z port to the +X port, railed on the outside.","description":"A right angle catwalk corner on the same 4 m grid: the walk enters at the -Z port and leaves at the +X port, with the handrail carried round the outside of the turn and the inside left open for a rail or a ladder. Bounding size 2.62 x 1.10 x 3.84 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-catwalk-corner-3ec6ad02","cdnUrl":"https://cdn.3dassets.dev/assets/36049/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-catwalk-corner-3ec6ad02","thumbnailUrl":"https://cdn.3dassets.dev/assets/36049/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36049/v1/poster.webp","blurhash":"U87d?}t800ogM_ofxuWB00Rj_NjZ-;V@ITf+","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":31108,"triangles":648,"vertices":1483,"meshes":4,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.6179999709129333,0.000008543921864154203,-2],"max":[2,1.096012888825225,1.8380000591278076]},"sizeMeters":[2.618,1.096,3.838],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:10.562Z","updatedAt":"2026-09-11T19:54:10.663Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36049/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RailedCatwalkCornerModuleSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36049/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36049/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36049/v1/model.glb\" alt=\"Railed catwalk corner module (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36049/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/36049/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36052","slug":"steampunk-airship-dock-and-workshop-dock-gantry-f46a3526","title":"Dock gantry with travelling hoist (Steampunk Airship Dock and Workshop)","summary":"A 6.4 m portal gantry with a runway beam, a travelling trolley and a chain hung hook block.","description":"A riveted portal gantry over the dock, 6.4 m between leg centres and 5.9 m to the top of the runway: braced legs on bolted base plates, a plate girder runway with a tie above it, a four wheel trolley that travels along the beam and a hook block on the chain fall. The chain itself is static, because a chain of links is not one rigid node. Bounding size 7.20 x 5.99 x 1.90 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Named pivot nodes: trolley, hook-block. Rigid node-transform clips: trolley-open, trolley-close, hoist-open and hoist-close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-dock-gantry-f46a3526","cdnUrl":"https://cdn.3dassets.dev/assets/36052/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-dock-gantry-f46a3526","thumbnailUrl":"https://cdn.3dassets.dev/assets/36052/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36052/v1/poster.webp","blurhash":"U37d:=xu00o}t9?bD$4nxGD%M{-pM__4%N00","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"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":67200,"triangles":1480,"vertices":3296,"meshes":5,"materials":2,"textures":0,"animations":["trolley-open","trolley-close","hoist-open","hoist-close"],"boundingBox":{"min":[-3.5999999046325684,0.000018718328722577837,-0.9502364932757678],"max":[3.5999999046325684,5.994122383508436,0.9502364932757678]},"sizeMeters":[7.2,5.994,1.9],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:13.225Z","updatedAt":"2026-09-11T19:54:13.344Z","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/36052/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 DockGantryWithTravellingHoistSteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36052/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/36052/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36052/v1/model.glb\" alt=\"Dock gantry with travelling hoist (Steampunk Airship Dock and Workshop)\" 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/36052/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/36052/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"36053","slug":"steampunk-airship-dock-and-workshop-jib-crane-68fb499b","title":"Slewing jib crane (Steampunk Airship Dock and Workshop)","summary":"A 4.8 m column crane with a slewing jib, a 3.5 m reach and a hook block on the chain fall.","description":"A slewing jib crane on a riveted column: a bolted base plate, a 4.2 m column with collar rings, a braced jib that turns about the column and reaches 3.5 m, and a hook block hoisted on the chain fall. The chain is static for the same reason a cable is. Bounding size 1.50 x 4.67 x 4.50 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Named pivot nodes: jib, hook-block. Rigid node-transform clips: open, close and spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-jib-crane-68fb499b","cdnUrl":"https://cdn.3dassets.dev/assets/36053/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-jib-crane-68fb499b","thumbnailUrl":"https://cdn.3dassets.dev/assets/36053/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36053/v1/poster.webp","blurhash":"U76*jzWB00xu_Nj[9Fj[t7RPM{xut7MxRj-;","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"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":63796,"triangles":1416,"vertices":3129,"meshes":5,"materials":2,"textures":0,"animations":["open","close","spin"],"boundingBox":{"min":[-0.75,-0.000019977881126079233,-0.75],"max":[0.75,4.671106496840487,3.746144489314728]},"sizeMeters":[1.5,4.671,4.496],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:13.325Z","updatedAt":"2026-09-11T19:54:13.526Z","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/36053/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 SlewingJibCraneSteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36053/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/36053/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36053/v1/model.glb\" alt=\"Slewing jib crane (Steampunk Airship Dock and Workshop)\" 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/36053/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/36053/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"36056","slug":"steampunk-airship-dock-and-workshop-dock-stair-flight-d643cfe5","title":"Steel stair flight 2 m rise (Steampunk Airship Dock and Workshop)","summary":"A steel stair flight rising 2.0 m over a 2.4 m run, with chequer treads and handrails.","description":"A steel stair flight between deck levels: two plate stringers, ten chequer plate treads rising 2.0 m over a 2.4 m run, and a two rail handrail on each side. Bounding size 1.23 x 3.22 x 2.60 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-dock-stair-flight-d643cfe5","cdnUrl":"https://cdn.3dassets.dev/assets/36056/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-dock-stair-flight-d643cfe5","thumbnailUrl":"https://cdn.3dassets.dev/assets/36056/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36056/v1/poster.webp","blurhash":"U14U{Ixu4mxtIB?bWU9F009F?cxvtQ4naf?c","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"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":20620,"triangles":432,"vertices":1000,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.6139194455775306,-0.000011258876643438498,-1.3024295568466187],"max":[0.6139194455775306,3.221543788909912,1.3024295568466187]},"sizeMeters":[1.228,3.222,2.605],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:16.157Z","updatedAt":"2026-09-11T19:54:16.273Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36056/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SteelStairFlight2MRiseSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36056/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36056/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36056/v1/model.glb\" alt=\"Steel stair flight 2 m rise (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36056/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/36056/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36055","slug":"steampunk-airship-dock-and-workshop-access-ladder-a4976308","title":"Caged access ladder (Steampunk Airship Dock and Workshop)","summary":"A 3.4 m caged access ladder with twelve rungs and bolted top and bottom plates.","description":"A caged steel access ladder 3.4 m tall: two channel stringers, twelve rungs at 0.26 m, five cage hoops with four longitudinal guards, and bolted plates at both ends. Bounding size 0.79 x 3.44 x 0.88 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-access-ladder-a4976308","cdnUrl":"https://cdn.3dassets.dev/assets/36055/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-access-ladder-a4976308","thumbnailUrl":"https://cdn.3dassets.dev/assets/36055/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36055/v1/poster.webp","blurhash":"U14_,|xu00D%.Ts;MJNE_Nfm4TV;NsSirtrp","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"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":42996,"triangles":1016,"vertices":2178,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.439353805640981,0,-0.3814936572129949],"max":[0.35001557026194063,3.440000057220459,0.49519938169076283]},"sizeMeters":[0.789,3.44,0.877],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:14.763Z","updatedAt":"2026-09-11T19:54:14.857Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36055/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CagedAccessLadderSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36055/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36055/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36055/v1/model.glb\" alt=\"Caged access ladder (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36055/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/36055/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36050","slug":"steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","title":"Dock edge railing panel 4 m (Steampunk Airship Dock and Workshop)","summary":"A 4 m guard rail panel with a kick plate and bolted foot plates, for open deck edges.","description":"A free standing 4 m guard rail panel: four stanchions, a top rail at 1.06 m, a mid rail, a steel kick plate at deck level and a bolted foot plate at each end. Stand it along the open edge of a deck run. Bounding size 3.98 x 1.10 x 0.22 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","cdnUrl":"https://cdn.3dassets.dev/assets/36050/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-dock-railing-panel-e62f5297","thumbnailUrl":"https://cdn.3dassets.dev/assets/36050/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36050/v1/poster.webp","blurhash":"U26H$I%M4.xux]_4WBIU00Rj?IE0RO8_bFxu","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":10064,"triangles":188,"vertices":432,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.9900000095367432,0.000058517470752583733,-0.11004608347668626],"max":[1.9900000095367432,1.0959414386602289,0.11004608347668626]},"sizeMeters":[3.98,1.096,0.22],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:10.698Z","updatedAt":"2026-09-11T19:54:10.915Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36050/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DockEdgeRailingPanel4MSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36050/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36050/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36050/v1/model.glb\" alt=\"Dock edge railing panel 4 m (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36050/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/36050/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36098","slug":"steampunk-airship-dock-and-workshop-mooring-bollard-0886a456","title":"Cast mooring bollard (Steampunk Airship Dock and Workshop)","summary":"A 0.76 m cast bollard on a bolted plate, with a coil of rope at its foot.","description":"A cast iron mooring bollard on a riveted base plate, 0.76 m tall with a collared head, and a three turn coil of rope lying at its foot. Bounding size 0.79 x 0.76 x 1.06 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-mooring-bollard-0886a456","cdnUrl":"https://cdn.3dassets.dev/assets/36098/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-mooring-bollard-0886a456","thumbnailUrl":"https://cdn.3dassets.dev/assets/36098/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36098/v1/poster.webp","blurhash":"U57wmH-500I]0MIp%0%L9Fbct7s:~U$$NdM|","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"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":30204,"triangles":720,"vertices":1488,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.375,0,-0.3100003012951036],"max":[0.41499999165534973,0.7599999904632568,0.7451150408035403]},"sizeMeters":[0.79,0.76,1.055],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:44.204Z","updatedAt":"2026-09-11T19:54:44.296Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36098/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CastMooringBollardSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36098/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36098/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36098/v1/model.glb\" alt=\"Cast mooring bollard (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36098/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/36098/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36063","slug":"steampunk-airship-dock-and-workshop-vertical-boiler-fad0cbb7","title":"Riveted vertical boiler (Steampunk Airship Dock and Workshop)","summary":"A 4.8 m riveted vertical boiler with a hinged firebox door, water gauge, safety valve and stack.","description":"A riveted vertical boiler on a bolted base: a 1.56 m shell in three riveted courses, a hinged firebox door on the front, a water gauge glass, a brass safety valve and whistle, a pressure gauge, a feed valve hand wheel on the side and a 1.6 m stack. Bounding size 2.23 x 4.84 x 2.10 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Named pivot nodes: firebox-door, valvex-feed. Rigid node-transform clips: open, close and spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-vertical-boiler-fad0cbb7","cdnUrl":"https://cdn.3dassets.dev/assets/36063/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-vertical-boiler-fad0cbb7","thumbnailUrl":"https://cdn.3dassets.dev/assets/36063/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36063/v1/poster.webp","blurhash":"U15OTytR00D$00f6_3ogMxRj-;%MX9ogxtRP","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":131384,"triangles":3056,"vertices":6566,"meshes":8,"materials":6,"textures":0,"animations":["open","close","spin"],"boundingBox":{"min":[-1.1799999797344207,0,-1.0499936242155528],"max":[1.0499936242155528,4.840000152587891,1.0499936242155528]},"sizeMeters":[2.23,4.84,2.1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:20.428Z","updatedAt":"2026-09-11T19:54:20.524Z","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/36063/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 RivetedVerticalBoilerSteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36063/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/36063/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36063/v1/model.glb\" alt=\"Riveted vertical boiler (Steampunk Airship Dock and Workshop)\" 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/36063/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/36063/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"36064","slug":"steampunk-airship-dock-and-workshop-pressure-vessel-b2b6c08a","title":"Horizontal pressure vessel (Steampunk Airship Dock and Workshop)","summary":"A 3.4 m riveted receiver on saddles, with a bolted manhole and a brass relief valve.","description":"A riveted horizontal pressure receiver 1.24 m in diameter on two bolted saddles: dished ends, three riveted hoop courses, a bolted manhole cover on top, a brass relief valve and a pressure gauge on the end. Bounding size 1.34 x 1.97 x 3.17 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-pressure-vessel-b2b6c08a","cdnUrl":"https://cdn.3dassets.dev/assets/36064/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-pressure-vessel-b2b6c08a","thumbnailUrl":"https://cdn.3dassets.dev/assets/36064/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36064/v1/poster.webp","blurhash":"U37BDyRO00%h_49ED$?c00IUtRxv9F-;?bs.","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":99712,"triangles":2396,"vertices":5100,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.6700043343124666,-0.000024867457262489623,-1.443333387374878],"max":[0.6699872247470682,1.969976870429437,1.7259999513626099]},"sizeMeters":[1.34,1.97,3.169],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:21.932Z","updatedAt":"2026-09-11T19:54:22.027Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36064/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HorizontalPressureVesselSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36064/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36064/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36064/v1/model.glb\" alt=\"Horizontal pressure vessel (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36064/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/36064/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36065","slug":"steampunk-airship-dock-and-workshop-gas-cylinder-rack-a391091a","title":"Lifting gas cylinder rack (Steampunk Airship Dock and Workshop)","summary":"Six lifting gas cylinders chained into a riveted rack, with brass valves and a hazard plate.","description":"Six tall gas cylinders standing in a riveted rack on a steel kerb, chained in at mid height, each with a brass valve and guard ring. The hazard plate is a plain painted panel with no lettering. Bounding size 2.56 x 1.94 x 0.90 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-gas-cylinder-rack-a391091a","cdnUrl":"https://cdn.3dassets.dev/assets/36065/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-gas-cylinder-rack-a391091a","thumbnailUrl":"https://cdn.3dassets.dev/assets/36065/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36065/v1/poster.webp","blurhash":"U27_7rVD00OE}m%L4;H@8wo|pHIV5r?b=x56","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":97348,"triangles":2728,"vertices":5794,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-1.2799999713897705,0.000009511029145148342,-0.4000527899421618],"max":[1.2799999713897705,1.9399905461913138,0.5000527839816973]},"sizeMeters":[2.56,1.94,0.9],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:21.970Z","updatedAt":"2026-09-11T19:54:22.063Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36065/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LiftingGasCylinderRackSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36065/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36065/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36065/v1/model.glb\" alt=\"Lifting gas cylinder rack (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36065/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/36065/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36066","slug":"steampunk-airship-dock-and-workshop-gas-cylinder-rack--31582661","title":"Gas cylinder rack, mostly drawn (Steampunk Airship Dock and Workshop)","summary":"The same rack with only two cylinders left in it, the rest drawn for filling.","description":"The gas cylinder rack with four of its six bottles gone, as it looks part way through a filling round. Rack, kerb, chain and plate are unchanged. Bounding size 2.56 x 1.94 x 0.90 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-gas-cylinder-rack--31582661","cdnUrl":"https://cdn.3dassets.dev/assets/36066/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-gas-cylinder-rack--31582661","thumbnailUrl":"https://cdn.3dassets.dev/assets/36066/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36066/v1/poster.webp","blurhash":"U17-WpO700Ud|p?a0#8xDgVZOaPTCR_4z=0x","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":66360,"triangles":1720,"vertices":3574,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-1.2799999713897705,0.000009511029145148342,-0.4000527899421618],"max":[1.2799999713897705,1.9399905461913138,0.5000527839816973]},"sizeMeters":[2.56,1.94,0.9],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:22.114Z","updatedAt":"2026-09-11T19:54:22.207Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36066/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GasCylinderRackMostlyDrawnSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36066/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36066/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36066/v1/model.glb\" alt=\"Gas cylinder rack, mostly drawn (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36066/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/36066/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36067","slug":"steampunk-airship-dock-and-workshop-gas-pump-trolley-c02ef62c","title":"Lifting gas pump trolley (Steampunk Airship Dock and Workshop)","summary":"A wheeled twin cylinder gas pump with a flywheel, a hose reel, two gauges and a valve wheel.","description":"A wheeled lifting gas pump: a copper pump block with twin cylinders on an iron trolley, a spoked flywheel on the cross shaft, a leather hose coiled on its reel, a two gauge board on the push handle and a brass valve wheel on the manifold. The hose is static, because a hose is not a rigid node. Bounding size 1.46 x 1.39 x 1.95 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Named pivot nodes: flywheel-pump, valve-pump. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-gas-pump-trolley-c02ef62c","cdnUrl":"https://cdn.3dassets.dev/assets/36067/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-gas-pump-trolley-c02ef62c","thumbnailUrl":"https://cdn.3dassets.dev/assets/36067/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36067/v1/poster.webp","blurhash":"U58p[d-:0Log~Asm9bxu00D*r?t60$NG,:RP","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":78800,"triangles":1788,"vertices":3775,"meshes":8,"materials":6,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.7800375926066031,0.000041545057702707666,-0.9049999713897705],"max":[0.68003762836939,1.393985428826109,1.0459843653163798]},"sizeMeters":[1.46,1.394,1.951],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:23.144Z","updatedAt":"2026-09-11T19:54:23.243Z","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/36067/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 LiftingGasPumpTrolleySteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36067/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/36067/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36067/v1/model.glb\" alt=\"Lifting gas pump trolley (Steampunk Airship Dock and Workshop)\" 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/36067/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/36067/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"36070","slug":"steampunk-airship-dock-and-workshop-valve-standpipe-bcf6b39c","title":"Valve standpipe with hand wheel (Steampunk Airship Dock and Workshop)","summary":"A 1.9 m copper standpipe with a bonneted valve, a 0.64 m hand wheel and a pressure gauge.","description":"A floor standing valve: a bolted base plate, a copper standpipe with a bonneted valve body and an outlet branch, a six spoke hand wheel 0.64 m across on the stem and a pressure gauge on a siphon pipe. The wheel spins about the stem axis. Bounding size 0.67 x 1.83 x 1.12 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Named pivot nodes: valve-main. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-valve-standpipe-bcf6b39c","cdnUrl":"https://cdn.3dassets.dev/assets/36070/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-valve-standpipe-bcf6b39c","thumbnailUrl":"https://cdn.3dassets.dev/assets/36070/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36070/v1/poster.webp","blurhash":"U25}X7%M009Y,:R+I;s90OX7~9rt0#j=^ibc","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":46756,"triangles":1028,"vertices":2236,"meshes":5,"materials":4,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.3199999928474426,0,-0.8000277633173548],"max":[0.3500145415106382,1.834376688030862,0.3199999928474426]},"sizeMeters":[0.67,1.834,1.12],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:24.021Z","updatedAt":"2026-09-11T19:54:24.116Z","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/36070/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 ValveStandpipeWithHandWheelSteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36070/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/36070/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36070/v1/model.glb\" alt=\"Valve standpipe with hand wheel (Steampunk Airship Dock and Workshop)\" 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/36070/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/36070/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"36071","slug":"steampunk-airship-dock-and-workshop-gauge-board-8012d60b","title":"Pressure gauge board (Steampunk Airship Dock and Workshop)","summary":"A slate board of five brass pressure gauges with isolating cocks, on a riveted pedestal.","description":"A gauge board: five brass bezelled dials on a slate panel over a riveted pedestal, with three isolating cocks under them and a slate cornice. Every dial face is blank, so it names no maker and reads no scale. Bounding size 1.16 x 2.08 x 0.50 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-gauge-board-8012d60b","cdnUrl":"https://cdn.3dassets.dev/assets/36071/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-gauge-board-8012d60b","thumbnailUrl":"https://cdn.3dassets.dev/assets/36071/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36071/v1/poster.webp","blurhash":"U99G~.of00V@~pt74oM|oht7V?IUIVt7%LM{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":63172,"triangles":1476,"vertices":3167,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.5799999833106995,0,-0.2500175254445424],"max":[0.5799999833106995,2.0799889452642897,0.2500175254445424]},"sizeMeters":[1.16,2.08,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:25.937Z","updatedAt":"2026-09-11T19:54:26.125Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36071/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PressureGaugeBoardSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36071/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36071/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36071/v1/model.glb\" alt=\"Pressure gauge board (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36071/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/36071/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36072","slug":"steampunk-airship-dock-and-workshop-control-console-0776044e","title":"Brass control console (Steampunk Airship Dock and Workshop)","summary":"A 1.86 m brass and slate console with five rocking levers, three gauges and a speaking tube.","description":"The dock control console: a riveted iron carcass with a slate desk and back panel, a brass edge rail, five levers on brass quadrants that rock on their own pivots, three gauges on the back panel and a brass speaking tube with a flared mouth. Bounding size 1.86 x 1.69 x 0.78 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Named pivot nodes: lever-0, lever-1, lever-2, lever-3, lever-4. Rigid node-transform clips: trigger. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-control-console-0776044e","cdnUrl":"https://cdn.3dassets.dev/assets/36072/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-control-console-0776044e","thumbnailUrl":"https://cdn.3dassets.dev/assets/36072/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36072/v1/poster.webp","blurhash":"UDAw9qRj00t7~pafD*WU9axaaeM|4.t8t6M{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":60484,"triangles":1812,"vertices":4216,"meshes":9,"materials":5,"textures":0,"animations":["trigger"],"boundingBox":{"min":[-0.9300000071525574,0.000007501602987791678,-0.3900000029994596],"max":[0.9300000071525574,1.6905508396322975,0.39001417968599644]},"sizeMeters":[1.86,1.691,0.78],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:26.718Z","updatedAt":"2026-09-11T19:54:26.841Z","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/36072/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 BrassControlConsoleSteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36072/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/36072/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36072/v1/model.glb\" alt=\"Brass control console (Steampunk Airship Dock and Workshop)\" 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/36072/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/36072/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"36073","slug":"steampunk-airship-dock-and-workshop-engine-telegraph-85517a39","title":"Engine room telegraph (Steampunk Airship Dock and Workshop)","summary":"A 1.9 m brass telegraph on a cast pedestal, with a rocking handle over a blank dial.","description":"An engine room telegraph: a cast pedestal, a brass drum with a bezel ring and a blank dial, and a handle that rocks across the face on its own pivot. The dial carries no lettering. Bounding size 0.71 x 1.66 x 0.81 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Named pivot nodes: telegraph-handle. Rigid node-transform clips: trigger. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-engine-telegraph-85517a39","cdnUrl":"https://cdn.3dassets.dev/assets/36073/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-engine-telegraph-85517a39","thumbnailUrl":"https://cdn.3dassets.dev/assets/36073/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36073/v1/poster.webp","blurhash":"U3681^s;00I.-1oHI{S7I_ozxTM{02bG~Uah","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":32352,"triangles":688,"vertices":1511,"meshes":4,"materials":3,"textures":0,"animations":["trigger"],"boundingBox":{"min":[-0.35499998927116394,0,-0.34962629028503467],"max":[0.35499998927116394,1.6600109109703058,0.45755282044410706]},"sizeMeters":[0.71,1.66,0.807],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:27.340Z","updatedAt":"2026-09-11T19:54:27.441Z","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/36073/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 EngineRoomTelegraphSteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36073/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/36073/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36073/v1/model.glb\" alt=\"Engine room telegraph (Steampunk Airship Dock and Workshop)\" 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/36073/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/36073/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"36089","slug":"steampunk-airship-dock-and-workshop-chart-table-6d4aed38","title":"Chart table with drawer (Steampunk Airship Dock and Workshop)","summary":"A 1.5 m sloped chart table with charts, dividers, a parallel rule, a drawer and a reading lamp.","description":"A sloped chart table 1.5 m wide: a timber top raked ten degrees with a pencil ledge, two charts laid out with a pair of dividers and a parallel rule, a drawer under the top on the bench-drawer node and a brass reading lamp on a swan neck. Bounding size 1.50 x 1.33 x 0.91 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Named pivot nodes: bench-drawer. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-chart-table-6d4aed38","cdnUrl":"https://cdn.3dassets.dev/assets/36089/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-chart-table-6d4aed38","thumbnailUrl":"https://cdn.3dassets.dev/assets/36089/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36089/v1/poster.webp","blurhash":"U7C?Db~W00-o%f-oRP9t009Z^jRP4oIp-=%3","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":17716,"triangles":316,"vertices":718,"meshes":4,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.75,0.000029955042122664644,-0.4570927535680469],"max":[0.75,1.3329994562960676,0.44958164445435367]},"sizeMeters":[1.5,1.333,0.907],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:38.181Z","updatedAt":"2026-09-11T19:54:38.280Z","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/36089/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 ChartTableWithDrawerSteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36089/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/36089/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36089/v1/model.glb\" alt=\"Chart table with drawer (Steampunk Airship Dock and Workshop)\" 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/36089/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/36089/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"36088","slug":"steampunk-airship-dock-and-workshop-rolled-chart-55a3efb1","title":"Rolled navigation chart (Steampunk Airship Dock and Workshop)","summary":"A 0.7 m rolled chart with brass end ferrules and a red tie.","description":"A navigation chart rolled and tied: a canvas roll 0.7 m long with a brass ferrule at each end and a red ribbon round the middle. Bounding size 0.70 x 0.10 x 0.10 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-rolled-chart-55a3efb1","cdnUrl":"https://cdn.3dassets.dev/assets/36088/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-rolled-chart-55a3efb1","thumbnailUrl":"https://cdn.3dassets.dev/assets/36088/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36088/v1/poster.webp","blurhash":"UABWVr-:00t7-:?at6IU00f$~qRj9G01WU_3","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":10136,"triangles":224,"vertices":464,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.35120001435279846,-0.000004224814130107668,-0.050675181367230177],"max":[0.35120001435279846,0.10400422695989732,0.050675181367230177]},"sizeMeters":[0.702,0.104,0.101],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:37.664Z","updatedAt":"2026-09-11T19:54:37.768Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36088/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RolledNavigationChartSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36088/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36088/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36088/v1/model.glb\" alt=\"Rolled navigation chart (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36088/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/36088/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36090","slug":"steampunk-airship-dock-and-workshop-signal-lamp-1a96f759","title":"Brass signal lamp on a tripod (Steampunk Airship Dock and Workshop)","summary":"A 1.2 m brass signal lamp on a folding tripod, with a red aspect and a shutter handle.","description":"A brass signal lamp on a folding iron tripod: a glazed body with a vented top and a carrying ring, a red aspect lens on one side and a shutter handle. Used to work an airship in to the mast. Bounding size 0.44 x 1.26 x 0.48 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-signal-lamp-1a96f759","cdnUrl":"https://cdn.3dassets.dev/assets/36090/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-signal-lamp-1a96f759","thumbnailUrl":"https://cdn.3dassets.dev/assets/36090/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36090/v1/poster.webp","blurhash":"U25X+0-n004=}$t45GIWkCocWCRoOuS6s6xV","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"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":20504,"triangles":416,"vertices":897,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.17001379286443966,0,-0.24234770961424384],"max":[0.2746607661449622,1.2643380165100098,0.24234770961424384]},"sizeMeters":[0.445,1.264,0.485],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:38.346Z","updatedAt":"2026-09-11T19:54:38.457Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36090/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BrassSignalLampOnATripodSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36090/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36090/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36090/v1/model.glb\" alt=\"Brass signal lamp on a tripod (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36090/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/36090/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36096","slug":"steampunk-airship-dock-and-workshop-oil-barrel-7d02438a","title":"Oil barrel with a funnel (Steampunk Airship Dock and Workshop)","summary":"A 0.88 m banded iron oil barrel with a brass tap, a copper funnel on the head and a drip tray.","description":"An iron oil barrel 0.88 m tall with three steel bands, a brass tap and drip lever near the foot, a copper funnel resting on the head and a steel drip tray beside it. Bounding size 0.64 x 1.07 x 0.98 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-oil-barrel-7d02438a","cdnUrl":"https://cdn.3dassets.dev/assets/36096/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-oil-barrel-7d02438a","thumbnailUrl":"https://cdn.3dassets.dev/assets/36096/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36096/v1/poster.webp","blurhash":"U37K*n-p009F4n9E%M_49F%M-qIAnN%2tRIo","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"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":37256,"triangles":868,"vertices":1777,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.3219980845804759,-0.00003369343454695528,-0.32199999690055847],"max":[0.3219980845804759,1.0700053621471068,0.6544841527938843]},"sizeMeters":[0.644,1.07,0.976],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:43.420Z","updatedAt":"2026-09-11T19:54:43.514Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36096/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OilBarrelWithAFunnelSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36096/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36096/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36096/v1/model.glb\" alt=\"Oil barrel with a funnel (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36096/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/36096/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36093","slug":"steampunk-airship-dock-and-workshop-ballast-sandbags-402069d1","title":"Ballast sandbag stack (Steampunk Airship Dock and Workshop)","summary":"Seven canvas ballast bags stacked and strapped, ready to be struck from a gondola.","description":"A stack of seven filled canvas ballast bags laid in two courses with a leather strap over the top, the ballast an airship trims with. Bounding size 1.02 x 0.56 x 1.05 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-ballast-sandbags-402069d1","cdnUrl":"https://cdn.3dassets.dev/assets/36093/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-ballast-sandbags-402069d1","thumbnailUrl":"https://cdn.3dassets.dev/assets/36093/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36093/v1/poster.webp","blurhash":"UFD07L-:00InIUodogRk00IU~pxu?bj[V@t7","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"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":6608,"triangles":108,"vertices":242,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.4899893649697584,0.00003225159451533677,-0.5161607265472412],"max":[0.5324676283479017,0.5591176720567155,0.5335916876792908]},"sizeMeters":[1.022,0.559,1.05],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:40.964Z","updatedAt":"2026-09-11T19:54:41.065Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36093/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BallastSandbagStackSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36093/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36093/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36093/v1/model.glb\" alt=\"Ballast sandbag stack (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36093/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/36093/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36094","slug":"steampunk-airship-dock-and-workshop-ballast-weights-f7ba1f10","title":"Cast ballast weights on a pallet (Steampunk Airship Dock and Workshop)","summary":"Six cast iron ballast weights with lifting rings, stacked on a timber pallet.","description":"Six cast iron ballast weights, each with a lifting ring on top, stacked in two piles on a boarded timber pallet. Bounding size 0.90 x 0.58 x 0.70 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-ballast-weights-f7ba1f10","cdnUrl":"https://cdn.3dassets.dev/assets/36094/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-ballast-weights-f7ba1f10","thumbnailUrl":"https://cdn.3dassets.dev/assets/36094/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36094/v1/poster.webp","blurhash":"U69@3I-;8_Ri0Os:xVbH4nIpEQV[~6xZ?HNG","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"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":33668,"triangles":768,"vertices":1688,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.44999998807907104,0.000010683547639354918,-0.35002135368423365],"max":[0.44999998807907104,0.5808866866684207,0.35002135368423365]},"sizeMeters":[0.9,0.581,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:41.010Z","updatedAt":"2026-09-11T19:54:41.113Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36094/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CastBallastWeightsOnAPalletSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36094/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36094/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36094/v1/model.glb\" alt=\"Cast ballast weights on a pallet (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36094/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/36094/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36083","slug":"steampunk-airship-dock-and-workshop-shipping-crate-36daa908","title":"Stencilled shipping crate (Steampunk Airship Dock and Workshop)","summary":"A 0.9 m banded timber crate with an iron cornered lid and an abstract triangle stencil.","description":"A timber shipping crate 0.9 m wide: four board courses, iron corner posts and bands, a lift lid on the crate-lid node and a stencilled triangle in red that names nothing. Bounding size 0.95 x 0.77 x 0.76 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Named pivot nodes: crate-lid. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-shipping-crate-36daa908","cdnUrl":"https://cdn.3dassets.dev/assets/36083/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-shipping-crate-36daa908","thumbnailUrl":"https://cdn.3dassets.dev/assets/36083/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36083/v1/poster.webp","blurhash":"U9D[^9~V01E2oz%1t7WX01Rj-oWUICW=%2WV","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"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":12056,"triangles":180,"vertices":412,"meshes":4,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.4749999940395355,0.000010688605152631148,-0.37503355391970805],"max":[0.4749999940395355,0.7699699439428023,0.3799957219276727]},"sizeMeters":[0.95,0.77,0.755],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:34.727Z","updatedAt":"2026-09-11T19:54:34.836Z","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/36083/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 StencilledShippingCrateSteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36083/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/36083/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36083/v1/model.glb\" alt=\"Stencilled shipping crate (Steampunk Airship Dock and Workshop)\" 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/36083/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/36083/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"36085","slug":"steampunk-airship-dock-and-workshop-toolbox-2754f8a9","title":"Riveted toolbox (Steampunk Airship Dock and Workshop)","summary":"A 0.52 m riveted steel toolbox with a hinged lid and a swing handle.","description":"A riveted steel toolbox in the house colours: a hinged lid on the toolbox-lid node, a swing handle over the top and a catch plate on the front. Bounding size 0.67 x 0.40 x 0.30 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Named pivot nodes: toolbox-lid. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-toolbox-2754f8a9","cdnUrl":"https://cdn.3dassets.dev/assets/36085/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-toolbox-2754f8a9","thumbnailUrl":"https://cdn.3dassets.dev/assets/36085/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36085/v1/poster.webp","blurhash":"U35?VX%g00DOv3%~k=Md4Trs*JX,NFZ$x[jE","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":16356,"triangles":296,"vertices":690,"meshes":3,"materials":2,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.38999998569488525,0.000017702454211579455,-0.1450071699821572],"max":[0.2750000059604645,0.4039994209362911,0.14999420178194528]},"sizeMeters":[0.665,0.404,0.295],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:35.274Z","updatedAt":"2026-09-11T19:54:35.372Z","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/36085/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 RivetedToolboxSteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36085/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/36085/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36085/v1/model.glb\" alt=\"Riveted toolbox (Steampunk Airship Dock and Workshop)\" 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/36085/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/36085/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"36086","slug":"steampunk-airship-dock-and-workshop-oil-can-00ade082","title":"Long spout oil can (Steampunk Airship Dock and Workshop)","summary":"A 0.38 m brass oiler with a long spout, a thumb lever and a timber grip.","description":"A brass long spout oil can of the pattern carried on an airship keel: a lathed body, a drawn spout, a thumb lever on top, a timber grip and an iron drip base. Bounding size 0.32 x 0.45 x 0.19 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-oil-can-00ade082","cdnUrl":"https://cdn.3dassets.dev/assets/36086/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-oil-can-00ade082","thumbnailUrl":"https://cdn.3dassets.dev/assets/36086/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36086/v1/poster.webp","blurhash":"U45;%9-o024;IVRkxuxt03Ip~T?F-.t6IVIp","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":14956,"triangles":292,"vertices":649,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.10000000149011612,-0.0000010706314009789608,-0.08774773748745308],"max":[0.22312056717728335,0.4538082778453827,0.10447851871024479]},"sizeMeters":[0.323,0.454,0.192],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:35.623Z","updatedAt":"2026-09-11T19:54:35.720Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36086/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LongSpoutOilCanSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36086/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36086/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36086/v1/model.glb\" alt=\"Long spout oil can (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36086/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/36086/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36095","slug":"steampunk-airship-dock-and-workshop-spare-airscrew-rac-11e57ebb","title":"Spare airscrew rack (Steampunk Airship Dock and Workshop)","summary":"A timber rack holding two spare airscrew blades on edge with the hub between them.","description":"A timber rack on a boarded base holding two spare airscrew blades standing on edge with leather protecting pads, and the brass hub laid between them. Bounding size 1.90 x 1.56 x 0.70 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-spare-airscrew-rac-11e57ebb","cdnUrl":"https://cdn.3dassets.dev/assets/36095/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-spare-airscrew-rac-11e57ebb","thumbnailUrl":"https://cdn.3dassets.dev/assets/36095/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36095/v1/poster.webp","blurhash":"U5Cr=lo300xC00%0?Y9b00EM~B-T%f-o?FM}","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":22188,"triangles":488,"vertices":1027,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.949999988079071,-0.000004974318390305044,-0.3500274622662626],"max":[0.949999988079071,1.5578825149067692,0.3500274622662626]},"sizeMeters":[1.9,1.558,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:42.214Z","updatedAt":"2026-09-11T19:54:42.408Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36095/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpareAirscrewRackSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36095/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36095/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36095/v1/model.glb\" alt=\"Spare airscrew rack (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36095/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/36095/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36043","slug":"steampunk-airship-dock-and-workshop-airship-frame-ring-aaeaca32","title":"Airship ring frame on trestles (Steampunk Airship Dock and Workshop)","summary":"A 6.0 m hull ring frame stood on timber trestles, as it waits in the erecting shed.","description":"One transverse ring frame of the envelope, 6.0 m across, standing on two timber trestles with cross ties fitted: an outer girder, an inner girder, sixteen radial webs and a vertical strut. The piece an erecting shed is full of. Bounding size 6.09 x 6.13 x 1.00 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-airship-frame-ring-aaeaca32","cdnUrl":"https://cdn.3dassets.dev/assets/36043/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-airship-frame-ring-aaeaca32","thumbnailUrl":"https://cdn.3dassets.dev/assets/36043/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36043/v1/poster.webp","blurhash":"U28NhCnO00%gPWo}VpR500R.%gxUDN?G%h01","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":32280,"triangles":748,"vertices":1610,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-3.0450000818818808,0.0001278188209543618,-0.49995610540203567],"max":[3.0450000818818808,6.127806663513184,0.49995610540203567]},"sizeMeters":[6.09,6.128,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:07.475Z","updatedAt":"2026-09-11T19:54:07.570Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36043/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AirshipRingFrameOnTrestlesSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36043/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36043/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36043/v1/model.glb\" alt=\"Airship ring frame on trestles (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36043/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/36043/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36045","slug":"steampunk-airship-dock-and-workshop-airship-fin-panel-895a27f1","title":"Spare fin panel on a trestle (Steampunk Airship Dock and Workshop)","summary":"A spare fabric covered fin panel over its steel spars, stood on a timber trestle for repair.","description":"A spare tail fin panel laid up on a trestle for covering or repair: doped fabric over two steel spars and a cross rib, 2.2 m at the root and 2.9 m of span above the trestle. Bounding size 1.06 x 3.65 x 2.42 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-airship-fin-panel-895a27f1","cdnUrl":"https://cdn.3dassets.dev/assets/36045/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-airship-fin-panel-895a27f1","thumbnailUrl":"https://cdn.3dassets.dev/assets/36045/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36045/v1/poster.webp","blurhash":"U8CP*Bt800M{.8D*9F?b00M{~q-;xtt7oMRP","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":13068,"triangles":256,"vertices":542,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.5307382360843371,-0.00003361466671875091,-1.3199521483244134],"max":[0.5307382360843371,3.6456074714660645,1.099952119714184]},"sizeMeters":[1.061,3.646,2.42],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:07.776Z","updatedAt":"2026-09-11T19:54:07.893Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36045/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpareFinPanelOnATrestleSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36045/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36045/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36045/v1/model.glb\" alt=\"Spare fin panel on a trestle (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36045/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/36045/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36077","slug":"steampunk-airship-dock-and-workshop-workbench-ed991aad","title":"Workshop bench with vice and drawer (Steampunk Airship Dock and Workshop)","summary":"A 2.4 m timber bench on a riveted frame, with a vice, a drawer and a hanging tool rack.","description":"A 2.4 m workshop bench: a thick timber top on a riveted iron frame with a lower shelf, an iron vice on the near corner, a drawer under the top that pulls out on the bench-drawer node, and a tool rack behind with seven tools hanging on it. Bounding size 2.40 x 1.68 x 1.05 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Named pivot nodes: bench-drawer. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-workbench-ed991aad","cdnUrl":"https://cdn.3dassets.dev/assets/36077/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-workbench-ed991aad","thumbnailUrl":"https://cdn.3dassets.dev/assets/36077/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36077/v1/poster.webp","blurhash":"U9C$oz%200I]~U%LIpE200V@-oWC9aNGNHRk","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":28636,"triangles":588,"vertices":1300,"meshes":4,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.2000000476837158,-0.00008545182689656539,-0.5799700836862349],"max":[1.2000000476837158,1.6799989199312395,0.4700065684709262]},"sizeMeters":[2.4,1.68,1.05],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:29.530Z","updatedAt":"2026-09-11T19:54:29.646Z","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/36077/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 WorkshopBenchWithViceAndDrawerSteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36077/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/36077/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36077/v1/model.glb\" alt=\"Workshop bench with vice and drawer (Steampunk Airship Dock and Workshop)\" 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/36077/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/36077/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"36076","slug":"steampunk-airship-dock-and-workshop-hand-tool-tray-ce35e1b5","title":"Hand tool tray (Steampunk Airship Dock and Workshop)","summary":"A timber tray of spanners, a hammer, a mallet, calipers and a scriber, laid out for work.","description":"A timber carrying tray holding four open ended spanners, a ball pein hammer, a timber mallet, a pair of brass calipers and a scriber. Nothing on it is branded. Bounding size 0.66 x 0.13 x 0.40 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-hand-tool-tray-ce35e1b5","cdnUrl":"https://cdn.3dassets.dev/assets/36076/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-hand-tool-tray-ce35e1b5","thumbnailUrl":"https://cdn.3dassets.dev/assets/36076/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36076/v1/poster.webp","blurhash":"U4CY{x~T00I;%L?GoIEL009b~WV@D%57Ndnj","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":23756,"triangles":516,"vertices":1115,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.33000001311302185,0.000018842696823402616,-0.1999920731345069],"max":[0.33000001311302185,0.1249811573031766,0.1999920731345069]},"sizeMeters":[0.66,0.125,0.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:29.510Z","updatedAt":"2026-09-11T19:54:29.630Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36076/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HandToolTraySteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36076/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36076/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36076/v1/model.glb\" alt=\"Hand tool tray (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36076/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/36076/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36078","slug":"steampunk-airship-dock-and-workshop-belt-lathe-91d24186","title":"Belt driven screw cutting lathe (Steampunk Airship Dock and Workshop)","summary":"A 2.2 m cast lathe with a spinning three jaw chuck, saddle, tailstock and overhead belt drive.","description":"A belt driven screw cutting lathe: two cast legs and a bed 2.2 m long, a headstock with a three jaw chuck that spins on the spindle axis, a cone pulley and a leather flat belt up to the countershaft, a saddle and cross slide with hand wheels, and a tailstock with its own wheel. The belt is static, because a flexible belt is not a rigid node. Bounding size 2.23 x 2.86 x 0.70 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Named pivot nodes: chuck, valvex-lathe, valvex-tail. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-belt-lathe-91d24186","cdnUrl":"https://cdn.3dassets.dev/assets/36078/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-belt-lathe-91d24186","thumbnailUrl":"https://cdn.3dassets.dev/assets/36078/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36078/v1/poster.webp","blurhash":"U26@{7$_00Ni~W%K4:9c4mn%?vIp0J-;^-4-","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":55824,"triangles":1232,"vertices":2659,"meshes":6,"materials":3,"textures":0,"animations":["spin"],"boundingBox":{"min":[-1.128134807128547,0.00005795807624087157,-0.3499710150014151],"max":[1.100000023841858,2.857969284057617,0.3499710150014151]},"sizeMeters":[2.228,2.858,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:30.104Z","updatedAt":"2026-09-11T19:54:30.197Z","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/36078/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 BeltDrivenScrewCuttingLatheSteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36078/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/36078/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36078/v1/model.glb\" alt=\"Belt driven screw cutting lathe (Steampunk Airship Dock and Workshop)\" 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/36078/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/36078/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"36079","slug":"steampunk-airship-dock-and-workshop-drill-press-0fd05b58","title":"Pillar drill press (Steampunk Airship Dock and Workshop)","summary":"A 2.3 m pillar drill with a spinning spindle, a three arm feed lever and a swing table.","description":"A cast pillar drill 2.3 m tall: a bolted base, a round column, a swing table with a clamp collar, a geared head with a cone pulley, a spindle and chuck that spin about the column axis and a three arm brass feed lever that rocks. Bounding size 0.86 x 2.30 x 0.94 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Named pivot nodes: spindle, lever-feed. Rigid node-transform clips: spin and trigger. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-drill-press-0fd05b58","cdnUrl":"https://cdn.3dassets.dev/assets/36079/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-drill-press-0fd05b58","thumbnailUrl":"https://cdn.3dassets.dev/assets/36079/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36079/v1/poster.webp","blurhash":"U05E,4~q00009Z%N_39F~qM{00%MNbD%rp~q","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":32392,"triangles":652,"vertices":1541,"meshes":3,"materials":3,"textures":0,"animations":["spin","trigger"],"boundingBox":{"min":[-0.4400347875497177,0,-0.40949865315334255],"max":[0.42003477682088164,2.299999952316284,0.530028900841636]},"sizeMeters":[0.86,2.3,0.94],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:31.916Z","updatedAt":"2026-09-11T19:54:32.034Z","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/36079/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 PillarDrillPressSteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36079/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/36079/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36079/v1/model.glb\" alt=\"Pillar drill press (Steampunk Airship Dock and Workshop)\" 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/36079/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/36079/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"36081","slug":"steampunk-airship-dock-and-workshop-pedestal-grinder-15e2521b","title":"Double ended pedestal grinder (Steampunk Airship Dock and Workshop)","summary":"A cast pedestal grinder with two stone wheels on one shaft, guards and tool rests.","description":"A double ended pedestal grinder: a cast stand on a bolted plate, a motor block, one shaft carrying a stone wheel each side, a guard over each wheel and a tool rest under it. Each wheel spins on the shaft axis. Bounding size 0.96 x 1.48 x 0.56 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Named pivot nodes: grindstone-l, grindstone-r. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-pedestal-grinder-15e2521b","cdnUrl":"https://cdn.3dassets.dev/assets/36081/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-pedestal-grinder-15e2521b","thumbnailUrl":"https://cdn.3dassets.dev/assets/36081/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36081/v1/poster.webp","blurhash":"U36[5R-;00D%~q%MITITD*xuxuIU4nWB%MRi","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":15052,"triangles":344,"vertices":729,"meshes":4,"materials":3,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.5300254813286951,0,-0.2900158698455777],"max":[0.4300000071525574,1.4800000190734863,0.27299570392532013]},"sizeMeters":[0.96,1.48,0.563],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:32.748Z","updatedAt":"2026-09-11T19:54:32.941Z","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/36081/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 DoubleEndedPedestalGrinderSteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36081/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/36081/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36081/v1/model.glb\" alt=\"Double ended pedestal grinder (Steampunk Airship Dock and Workshop)\" 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/36081/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/36081/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"36080","slug":"steampunk-airship-dock-and-workshop-anvil-and-block-48995684","title":"Anvil on a timber block (Steampunk Airship Dock and Workshop)","summary":"A 0.62 m anvil banded onto a timber block, with a hardy, tongs and a hand hammer.","description":"A smith’s anvil on a banded timber block: a cast anvil with a horn, a step and a hardy hole, a hardy fitted, a pair of tongs laid across the face and a hand hammer leaning on the block. Bounding size 1.14 x 1.00 x 0.48 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-anvil-and-block-48995684","cdnUrl":"https://cdn.3dassets.dev/assets/36080/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-anvil-and-block-48995684","thumbnailUrl":"https://cdn.3dassets.dev/assets/36080/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36080/v1/poster.webp","blurhash":"U69Z.a?Z004p0hNI-PxY0LIp%2xt~9xtItM|","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":11584,"triangles":208,"vertices":464,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.5521422151195217,0,-0.24200283963666733],"max":[0.5899999737739563,1.0000046008359535,0.24000283558355148]},"sizeMeters":[1.142,1,0.482],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:32.425Z","updatedAt":"2026-09-11T19:54:32.524Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36080/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AnvilOnATimberBlockSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36080/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36080/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36080/v1/model.glb\" alt=\"Anvil on a timber block (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36080/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/36080/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36084","slug":"steampunk-airship-dock-and-workshop-parts-bin-rack-0547387b","title":"Parts bin rack (Steampunk Airship Dock and Workshop)","summary":"A 1.7 m riveted rack of sixteen open parts bins, with loose brass fittings in the top row.","description":"A riveted rack of sixteen open parts bins in four rows, alternating steel and copper, with loose brass fittings lying in the top bins. Bounding size 1.57 x 1.73 x 0.51 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-parts-bin-rack-0547387b","cdnUrl":"https://cdn.3dassets.dev/assets/36084/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-parts-bin-rack-0547387b","thumbnailUrl":"https://cdn.3dassets.dev/assets/36084/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36084/v1/poster.webp","blurhash":"U68NkMxu00M{_N%MDiIU9aoz-VRPj@t7bHRP","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":36036,"triangles":744,"vertices":1746,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.7849597242217797,0,-0.25503601465298853],"max":[0.7849597242217797,1.7300000190734863,0.25503601465298853]},"sizeMeters":[1.57,1.73,0.51],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:34.755Z","updatedAt":"2026-09-11T19:54:34.871Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36084/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PartsBinRackSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36084/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36084/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36084/v1/model.glb\" alt=\"Parts bin rack (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36084/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/36084/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36082","slug":"steampunk-airship-dock-and-workshop-tool-chest-92ccaee9","title":"Steel tool chest (Steampunk Airship Dock and Workshop)","summary":"A riveted steel tool chest with a lift lid, ring handles and four drawer fronts.","description":"A riveted steel tool chest 0.86 m wide: a lift lid with a tray on top and a hasp, a ring handle at each end and four drawer fronts on the face. The lid lifts on the chest-lid node. Bounding size 0.95 x 0.69 x 0.51 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Named pivot nodes: chest-lid. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-tool-chest-92ccaee9","cdnUrl":"https://cdn.3dassets.dev/assets/36082/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-tool-chest-92ccaee9","thumbnailUrl":"https://cdn.3dassets.dev/assets/36082/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36082/v1/poster.webp","blurhash":"U37K*o_400M^%4%ht3V=00RPxvk7DiM{%MWA","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":23468,"triangles":472,"vertices":1069,"meshes":3,"materials":2,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.47521689534187317,-0.000025632601216241113,-0.2550288473413422],"max":[0.47521689534187317,0.6899839820546162,0.2550288473413422]},"sizeMeters":[0.95,0.69,0.51],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:31.994Z","updatedAt":"2026-09-11T19:54:32.093Z","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/36082/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 SteelToolChestSteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36082/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/36082/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36082/v1/model.glb\" alt=\"Steel tool chest (Steampunk Airship Dock and Workshop)\" 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/36082/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/36082/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"36075","slug":"steampunk-airship-dock-and-workshop-gear-stand-1f118594","title":"Cog and rack display stand (Steampunk Airship Dock and Workshop)","summary":"Three meshing spur gears and a straight rack on a riveted bedplate, each gear on its own shaft.","description":"A machine shop stand carrying three meshing spur gears of 18, 13 and 10 teeth on their own shafts over a riveted bedplate, with a straight toothed rack above them. Each gear turns about its own boss. Bounding size 1.74 x 1.11 x 0.90 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Named pivot nodes: cogx-0, cogx-1, cogx-2. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-gear-stand-1f118594","cdnUrl":"https://cdn.3dassets.dev/assets/36075/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-gear-stand-1f118594","thumbnailUrl":"https://cdn.3dassets.dev/assets/36075/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36075/v1/poster.webp","blurhash":"U37_1g-;00MxRi.8jZD%00oe~WIUt8IU%Mxu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":67552,"triangles":1536,"vertices":3333,"meshes":5,"materials":3,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.8678974534441881,0.0000306870169292095,-0.45004119998779263],"max":[0.8698119473457336,1.1091035640239715,0.45004119998779263]},"sizeMeters":[1.738,1.109,0.9],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:29.064Z","updatedAt":"2026-09-11T19:54:29.253Z","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/36075/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 CogAndRackDisplayStandSteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36075/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/36075/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36075/v1/model.glb\" alt=\"Cog and rack display stand (Steampunk Airship Dock and Workshop)\" 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/36075/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/36075/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"36087","slug":"steampunk-airship-dock-and-workshop-flight-gear-stand-b2d883bc","title":"Flying kit on a stand (Steampunk Airship Dock and Workshop)","summary":"A leather flight helmet, brass rimmed goggles and a scarf on a turned timber stand.","description":"Flying kit on a turned timber stand 1.4 m tall: a leather helmet with ear flaps, brass rimmed goggles with glazed lenses and a strap, and a canvas scarf hanging from the post. Bounding size 0.52 x 1.46 x 0.51 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-flight-gear-stand-b2d883bc","cdnUrl":"https://cdn.3dassets.dev/assets/36087/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-flight-gear-stand-b2d883bc","thumbnailUrl":"https://cdn.3dassets.dev/assets/36087/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36087/v1/poster.webp","blurhash":"U38;A4s:00Nu0NR%?Fxb$vxuT1D%00s;~qM_","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":31960,"triangles":696,"vertices":1455,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.26000915828774046,0,-0.25345134090256],"max":[0.26000915828774046,1.4600043206725766,0.25345134090256]},"sizeMeters":[0.52,1.46,0.507],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:36.620Z","updatedAt":"2026-09-11T19:54:36.751Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36087/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FlyingKitOnAStandSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36087/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36087/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36087/v1/model.glb\" alt=\"Flying kit on a stand (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36087/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/36087/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36074","slug":"steampunk-airship-dock-and-workshop-chain-hoist-dd5b7844","title":"Beam mounted chain hoist (Steampunk Airship Dock and Workshop)","summary":"A geared chain hoist with a hand chain wheel and a hook block on a 1.4 m fall.","description":"A beam mounted chain hoist: a suspension eye and cross beam, a geared block, a hand chain wheel that turns on its own shaft and a hook block on the fall. The origin is the suspension eye at the top, because the unit hangs rather than stands: place it at the point on the beam it hangs from. Both chains are static, because a chain of links is not one rigid node. Bounding size 0.55 x 2.24 x 0.52 m (X x Y x Z). Metre units, +Y up, +Z forward. Named pivot nodes: cogx-hoist, hook-block. Rigid node-transform clips: open, close and spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-chain-hoist-dd5b7844","cdnUrl":"https://cdn.3dassets.dev/assets/36074/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-chain-hoist-dd5b7844","thumbnailUrl":"https://cdn.3dassets.dev/assets/36074/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36074/v1/poster.webp","blurhash":"U35}s;WT00s=.8s;9FM_t5xuM|D$~qk94mV_","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":98636,"triangles":2336,"vertices":4913,"meshes":6,"materials":2,"textures":0,"animations":["open","close","spin"],"boundingBox":{"min":[-0.23999999463558197,-2.1758520436286926,-0.2611553869816579],"max":[0.30530565481065747,0.06799380117388673,0.2611553869816579]},"sizeMeters":[0.545,2.244,0.522],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:26.497Z","updatedAt":"2026-09-11T19:54:26.675Z","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/36074/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 BeamMountedChainHoistSteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36074/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/36074/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36074/v1/model.glb\" alt=\"Beam mounted chain hoist (Steampunk Airship Dock and Workshop)\" 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/36074/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/36074/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"36091","slug":"steampunk-airship-dock-and-workshop-gas-lantern-afc5ebc9","title":"Gas lantern on a bracket (Steampunk Airship Dock and Workshop)","summary":"A brass gas lantern on a wall bracket, with a glass globe and a tap under it.","description":"A brass gas lantern on a wall bracket: a swan neck from a bracket plate, a glazed globe with a burner gallery under it and a tap on the riser. The origin is at the foot of the bracket plate, so it can be set against a wall at any height. Bounding size 0.20 x 0.56 x 0.46 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-gas-lantern-afc5ebc9","cdnUrl":"https://cdn.3dassets.dev/assets/36091/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-gas-lantern-afc5ebc9","thumbnailUrl":"https://cdn.3dassets.dev/assets/36091/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36091/v1/poster.webp","blurhash":"U56t?u-o009a~V%09aE3I9i^tST1IURj%Lx[","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":17416,"triangles":348,"vertices":780,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.09999329300549162,0,-0.020000005140900612],"max":[0.09999329300549162,0.5587999820709229,0.44000000320374966]},"sizeMeters":[0.2,0.559,0.46],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:39.445Z","updatedAt":"2026-09-11T19:54:39.542Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36091/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GasLanternOnABracketSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36091/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36091/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36091/v1/model.glb\" alt=\"Gas lantern on a bracket (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36091/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/36091/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36092","slug":"steampunk-airship-dock-and-workshop-workshop-clock-3ecdb8e4","title":"Workshop clock on a bracket (Steampunk Airship Dock and Workshop)","summary":"A 0.48 m brass bezelled clock with a blank pale dial, on a cast wall bracket.","description":"A workshop clock: a brass bezel and a pale enamelled dial with two hands, carried on a braced cast iron wall bracket. The dial carries no numerals or maker, so it reads as a clock in any setting. Nothing on it moves. Bounding size 0.48 x 0.47 x 0.30 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-workshop-clock-3ecdb8e4","cdnUrl":"https://cdn.3dassets.dev/assets/36092/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-workshop-clock-3ecdb8e4","thumbnailUrl":"https://cdn.3dassets.dev/assets/36092/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36092/v1/poster.webp","blurhash":"UBAAN{~o0000NIWBt6t8009F?H_3xvogM{RO","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"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":15948,"triangles":328,"vertices":693,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.23999999463558197,-0.000011254975701674441,-0.06999434104350888],"max":[0.23999999463558197,0.4679766492342008,0.2260069550311565]},"sizeMeters":[0.48,0.468,0.296],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:40.504Z","updatedAt":"2026-09-11T19:54:40.595Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36092/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WorkshopClockOnABracketSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36092/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36092/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36092/v1/model.glb\" alt=\"Workshop clock on a bracket (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36092/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/36092/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36059","slug":"steampunk-airship-dock-and-workshop-shed-wall-door-302e76d0","title":"Shed wall bay with a sliding door (Steampunk Airship Dock and Workshop)","summary":"A 4 m bay with a 3.2 by 3.6 m opening and a corrugated leaf on an outside top track.","description":"A 3.2 m wide by 3.6 m tall opening with a lintel, jambs and a braced corrugated leaf hung on an outside top track. The leaf slides 3.6 m clear of the opening on the shed-door node. A 4 m shed bay, 5.0 m to the wall head: corrugated cladding on riveted stanchions with a head beam and knee braces. The origin is at the bay centre on the ground with the cladding on the -Z face, and the wall ports are at the vertical edges so bays chain in a run. Bounding size 3.98 x 5.00 x 0.40 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Named pivot nodes: shed-door. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-shed-wall-door-302e76d0","cdnUrl":"https://cdn.3dassets.dev/assets/36059/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-shed-wall-door-302e76d0","thumbnailUrl":"https://cdn.3dassets.dev/assets/36059/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36059/v1/poster.webp","blurhash":"U24:Abxu00M{^RtlEeMJl:jZY*W;yCxuRPIU","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":31784,"triangles":656,"vertices":1513,"meshes":6,"materials":2,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.990035706656087,-0.0000047255621788977464,-0.09002960295419173],"max":[1.990035706656087,5,0.3059993585319766]},"sizeMeters":[3.98,5,0.396],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:17.731Z","updatedAt":"2026-09-11T19:54:17.829Z","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/36059/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 ShedWallBayWithASlidingDoorSteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36059/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/36059/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36059/v1/model.glb\" alt=\"Shed wall bay with a sliding door (Steampunk Airship Dock and Workshop)\" 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/36059/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/36059/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"36038","slug":"steampunk-airship-dock-and-workshop-airship-envelope-f-123a81d2","title":"Airship envelope frame, uncovered (Steampunk Airship Dock and Workshop)","summary":"The same hull with the fabric stripped: ten ring frames, twelve stringers and the keel girder.","description":"The rigid envelope with its covering off, as it stands in an erecting shed: ten transverse ring frames of outer and inner girders with radial webs, twelve longitudinal stringers and a boxed keel girder along the bottom. Same stations and same datum as the covered envelope, so the two are interchangeable. Bounding size 6.09 x 6.09 x 21.74 m (X x Y x Z). Metre units, +Y up, +Z forward. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-airship-envelope-f-123a81d2","cdnUrl":"https://cdn.3dassets.dev/assets/36038/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-airship-envelope-f-123a81d2","thumbnailUrl":"https://cdn.3dassets.dev/assets/36038/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36038/v1/poster.webp","blurhash":"U57_4oIU00M|-;IUaxkC00t7_4t79F?bWVoK","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"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":271732,"triangles":6472,"vertices":14381,"meshes":3,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-3.0454125840637642,-3.0454125840637642,-9.642797470092773],"max":[3.0454125840637642,3.0454125840637642,12.09428596496582]},"sizeMeters":[6.091,6.091,21.737],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:01.825Z","updatedAt":"2026-09-11T19:54:02.013Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/36038/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AirshipEnvelopeFrameUncoveredSteampunkAirshipDockAndWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/36038/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/36038/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36038/v1/model.glb\" alt=\"Airship envelope frame, uncovered (Steampunk Airship Dock and Workshop)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/36038/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/36038/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"36039","slug":"steampunk-airship-dock-and-workshop-airship-gondola-cr-c07128fb","title":"Airship crew gondola in crimson (Steampunk Airship Dock and Workshop)","summary":"The same gondola in a crimson and brass finish instead of the teal house colours.","description":"The 5.6 m crew gondola finished in crimson rather than the teal house colours. Hull, glazing, door, lamp and suspension lugs are identical; only the painted panels differ. Bounding size 2.45 x 1.99 x 5.83 m (X x Y x Z). Metre units, +Y up, +Z forward, resting at y=0. Named pivot nodes: gondola-door. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/steampunk-airship-dock-and-workshop-airship-gondola-cr-c07128fb","cdnUrl":"https://cdn.3dassets.dev/assets/36039/v1/model.glb","downloadUrl":"https://3dassets.dev/download/steampunk-airship-dock-and-workshop-airship-gondola-cr-c07128fb","thumbnailUrl":"https://cdn.3dassets.dev/assets/36039/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/36039/v1/poster.webp","blurhash":"U7B2WE$*0yoL}[ELEL-B009[=yxa0e-V-CJ7","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"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":86320,"triangles":1928,"vertices":4323,"meshes":6,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.1701116585901041,0.00002990979474468136,-2.8499999046325684],"max":[1.2799525198259378,1.990194436186244,2.984616279602051]},"sizeMeters":[2.45,1.99,5.835],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T19:54:04.624Z","updatedAt":"2026-09-11T19:54:04.714Z","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/36039/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 AirshipCrewGondolaInCrimsonSteampunkAirshipDockAndWorkshop(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/36039/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/36039/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/36039/v1/model.glb\" alt=\"Airship crew gondola in crimson (Steampunk Airship Dock and Workshop)\" 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/36039/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/36039/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}}]}}