{"data":{"id":331,"slug":"radio-telescope-array-and-field-station","title":"Radio Telescope Array and Field Station","summary":"A radio astronomy field station in a kit: parabolic dishes at three sizes that slew in azimuth and tilt in elevation on their own nodes, the mount and rail hardware around them, smaller antennas, and the cabins, sheds, power and fencing of the site.","description":"Build a radio telescope site, from one dish behind a fence to a field station at the middle of an array. Every dish is the same three node altazimuth machine at nine, six and three metres: a static foundation and pedestal, an azimuth turret that slews about the vertical, a reflector parented to it that tilts about the yoke axle, and the quadripod feed and counterweight parented to the reflector so they travel with the bowl. Around them is what a dish is built and moved with: a pedestal base with its bearing ring, a spare feed horn on its quadripod, a counterweight block, a rail bogie whose carriage traverses and whose wheels roll, ported six metre rail track, and a six wheeled transporter. The smaller antennas are a pyramidal horn, a log periodic boom, an eight element dipole array panel and a nine metre guyed lattice mast with its anchors, with ported cable trench, trench cover and a junction pit whose lid lifts. The station is the correlator cabin, an open fronted control room with a desk of blank screens, a signal rack with two doors, a cryogenic receiver dewar, compressor, generator and battery sheds, a bulk fuel tank, a solar array, a water tank on its stand, a septic cover, the office, mess and bunk cabins, crates and a spares rack with drawers that pull out. The site is 8 m ground modules in two tones, track and hardstanding modules on the same grid, mesh fence panels and a gate that swings, a cattle grid, a forklift whose carriage lifts, a pickup, ladders, a safety cage, floodlights, a weather mast with a turning anemometer, a rain gauge, a GPS reference pillar, a rotating sky camera dome, a windsock, scrub, boulders, survey markers and blank warning and visitor boards. Rigid node transform clips only, no skinning, and no people. Cabling, guy wires and the windsock are modelled solid and never move, because flexible material needs a joint per element and a rigid node transform cannot deform a mesh; screen and sign faces are blank and static for the same reason, since display content needs a shader. Original AI assisted CC0 geometry: no observatory, array, agency, institute or equipment maker is named or depicted, and no real facility is reproduced.","url":"https://3dassets.dev/packs/radio-telescope-array-and-field-station","coverUrl":"https://cdn.3dassets.dev/assets/37664/v1/poster.webp","assetCount":55,"aiGenerated":true,"aiGeneratedAssetCount":55,"aiModels":["Claude Opus 5"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":1854976,"totalTriangles":37816,"starterScene":{"id":"37664","slug":"radio-telescope-array-and-field-station--1bf3c212-starter-scene","title":"Steppe Field Station (Radio Telescope Array and Field Station)","summary":"A radio astronomy field station laid on its own ground: a nine metre dish, a six metre dish and a three metre dish across the back of the plot at three different pointings, a fourth mount going up on its traverse rails beside them with the pedestal, counterweight and feed...","description":"A radio astronomy field station laid on its own ground: a nine metre dish, a six metre dish and a three metre dish across the back of the plot at three different pointings, a fourth mount going up on its traverse rails beside them with the pedestal, counterweight and feed assembly waiting on the ground, and a horn, a log periodic boom, a dipole panel and a guyed mast in the field between. An open cable trench runs back from the dishes to the junction pit and the correlator. The cabin row faces the yard: the open fronted control room with its desk of blank screens and a signal rack, the correlator cabin, the site office, the mess and the bunk cabin, with the compressor, generator, fuel tank, battery shed and solar array behind them. The yard holds the water tank, the forklift, two pickups, crates, floodlights and the weather instruments, and the track comes in over the cattle grid through the vehicle gate in the perimeter fence. Scrub, boulders and survey markers dress the open steppe out to the fence line.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station--1bf3c212-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/37664/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station--1bf3c212-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/37664/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37664/v1/poster.webp","blurhash":"U8D07Kx]00Rl9GxuxaNG00IU~qt6~pD*ayxu","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":814312,"triangles":18878,"vertices":43235,"meshes":255,"materials":8,"textures":0,"animations":[],"boundingBox":{"min":[-32,-0.00010070959115467126,-24],"max":[32,11.529083491577513,24.001200199127197]},"sizeMeters":[64,11.529,48.001],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:46.983Z","updatedAt":"2026-09-12T05:41:47.076Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37664/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SteppeFieldStationRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37664/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37664/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37664/v1/model.glb\" alt=\"Steppe Field Station (Radio Telescope Array and Field Station)\" 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/37664/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/37664/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"37610","slug":"radio-telescope-array-and-field-station-dish-antenna-l-ac32f8fb","title":"Large Parabolic Dish Antenna (Radio Telescope Array and Field Station)","summary":"A nine metre parabolic dish on an altazimuth pedestal: the turret slews about the vertical, the reflector tilts about the yoke axle, and the quadripod feed and counterweight travel with it.","description":"A nine metre parabolic dish on an altazimuth pedestal: the turret slews about the vertical, the reflector tilts about the yoke axle, and the quadripod feed and counterweight travel with it. Dimensions 9.00 by 11.41 by 8.94 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: azimuth at (0.00, 3.42, 0.00) m; elevation at (0.00, 6.79, 0.00) m. Reflector 9.0 m across with a 2.02 m rise and the feed at the 2.50 m focus. The azimuth turret turns about the pedestal axis and the reflector tilts about the yoke axle at 6.79 m, with the feed quadripod and counterweight carried by the reflector node. Modelled at forty five degrees elevation. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Rigid node-transform clips: spin and tilt. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-dish-antenna-l-ac32f8fb","cdnUrl":"https://cdn.3dassets.dev/assets/37610/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-dish-antenna-l-ac32f8fb","thumbnailUrl":"https://cdn.3dassets.dev/assets/37610/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37610/v1/poster.webp","blurhash":"UBDJO}%N00D%~qofD%oe00M{~qxu00WB?bRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"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":53704,"triangles":1012,"vertices":3036,"meshes":6,"materials":3,"textures":0,"animations":["spin","tilt"],"boundingBox":{"min":[-4.5,-0.00011383709283016574,-4.327493667602539],"max":[4.5,11.409083491577512,4.614083491577513]},"sizeMeters":[9,11.409,8.942],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:18.150Z","updatedAt":"2026-09-12T05:41:18.267Z","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/37610/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 LargeParabolicDishAntennaRadioTelescopeArrayAndFieldStation(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37610/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/37610/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37610/v1/model.glb\" alt=\"Large Parabolic Dish Antenna (Radio Telescope Array and Field Station)\" 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/37610/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/37610/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37611","slug":"radio-telescope-array-and-field-station-dish-antenna-m-7c5a3197","title":"Medium Parabolic Dish Antenna (Radio Telescope Array and Field Station)","summary":"A six metre parabolic dish on the same altazimuth pedestal as the large machine, sized for the middle of a field array, with a slewing turret and a tilting reflector.","description":"A six metre parabolic dish on the same altazimuth pedestal as the large machine, sized for the middle of a field array, with a slewing turret and a tilting reflector. Dimensions 6.00 by 7.95 by 5.96 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: azimuth at (0.00, 2.62, 0.00) m; elevation at (0.00, 4.87, 0.00) m. Reflector 6.0 m across with a 1.35 m rise and the feed at the 1.67 m focus. The azimuth turret turns about the pedestal axis and the reflector tilts about the yoke axle at 4.87 m, with the feed quadripod and counterweight carried by the reflector node. Modelled at forty five degrees elevation. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Rigid node-transform clips: spin and tilt. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-dish-antenna-m-7c5a3197","cdnUrl":"https://cdn.3dassets.dev/assets/37611/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-dish-antenna-m-7c5a3197","thumbnailUrl":"https://cdn.3dassets.dev/assets/37611/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37611/v1/poster.webp","blurhash":"UBDJO}-;009F~qof9FWC00IU~q%M00Rj-;ay","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"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":52532,"triangles":988,"vertices":2964,"meshes":6,"materials":3,"textures":0,"animations":["spin","tilt"],"boundingBox":{"min":[-3,0.00006012454645770715,-2.8849958181381226],"max":[3,7.94605572065632,3.0760557206563197]},"sizeMeters":[6,7.946,5.961],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:18.314Z","updatedAt":"2026-09-12T05:41:18.499Z","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/37611/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 MediumParabolicDishAntennaRadioTelescopeArrayAndFieldStation(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37611/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/37611/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37611/v1/model.glb\" alt=\"Medium Parabolic Dish Antenna (Radio Telescope Array and Field Station)\" 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/37611/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/37611/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37612","slug":"radio-telescope-array-and-field-station-dish-antenna-s-357d0abf","title":"Small Parabolic Dish Antenna (Radio Telescope Array and Field Station)","summary":"A three metre parabolic dish on a short pedestal, the outrigger of a field array or a monitoring antenna beside the cabins, slewing and tilting on its own nodes.","description":"A three metre parabolic dish on a short pedestal, the outrigger of a field array or a monitoring antenna beside the cabins, slewing and tilting on its own nodes. Dimensions 3.00 by 4.48 by 2.98 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: azimuth at (0.00, 1.82, 0.00) m; elevation at (0.00, 2.95, 0.00) m. Reflector 3.0 m across with a 0.68 m rise and the feed at the 0.83 m focus. The azimuth turret turns about the pedestal axis and the reflector tilts about the yoke axle at 2.95 m, with the feed quadripod and counterweight carried by the reflector node. Modelled at forty five degrees elevation. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Rigid node-transform clips: spin and tilt. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-dish-antenna-s-357d0abf","cdnUrl":"https://cdn.3dassets.dev/assets/37612/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-dish-antenna-s-357d0abf","thumbnailUrl":"https://cdn.3dassets.dev/assets/37612/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37612/v1/poster.webp","blurhash":"UCCsmq-;009F~qt79FWB00M{?bxu00Rj-;of","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"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":49092,"triangles":916,"vertices":2748,"meshes":6,"materials":3,"textures":0,"animations":["spin","tilt"],"boundingBox":{"min":[-1.5,-0.000026853202638413287,-1.4424978494644165],"max":[1.5,4.483027860328161,1.5380278603281599]},"sizeMeters":[3,4.483,2.981],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:19.077Z","updatedAt":"2026-09-12T05:41:19.173Z","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/37612/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 SmallParabolicDishAntennaRadioTelescopeArrayAndFieldStation(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37612/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/37612/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37612/v1/model.glb\" alt=\"Small Parabolic Dish Antenna (Radio Telescope Array and Field Station)\" 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/37612/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/37612/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37613","slug":"radio-telescope-array-and-field-station-dish-feed-horn-513f0a13","title":"Dish Feed Horn and Quadripod (Radio Telescope Array and Field Station)","summary":"A spare dish feed assembly on its transport frame: the flared horn, the receiver box behind it and the four legs that carry it at the focus, stood on a concrete pad.","description":"A spare dish feed assembly on its transport frame: the flared horn, the receiver box behind it and the four legs that carry it at the focus, stood on a concrete pad. Dimensions 2.82 by 1.84 by 2.82 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Built as the loose assembly a dish is fitted with, so it stands on its own in a yard or lifts onto a reflector. Static: the feed does not move relative to its own legs. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-dish-feed-horn-513f0a13","cdnUrl":"https://cdn.3dassets.dev/assets/37613/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-dish-feed-horn-513f0a13","thumbnailUrl":"https://cdn.3dassets.dev/assets/37613/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37613/v1/poster.webp","blurhash":"UB9jy8tR00M{9FWU%Mj[00Rj_3t7~qof9ZWB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":11928,"triangles":204,"vertices":612,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.4079999923706055,0.000039367658891426016,-1.4079999923706055],"max":[1.4079999923706055,1.8377430054892658,1.4079999923706055]},"sizeMeters":[2.816,1.838,2.816],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:22.896Z","updatedAt":"2026-09-12T05:41:23.011Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37613/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DishFeedHornAndQuadripodRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37613/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37613/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37613/v1/model.glb\" alt=\"Dish Feed Horn and Quadripod (Radio Telescope Array and Field Station)\" 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/37613/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/37613/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37614","slug":"radio-telescope-array-and-field-station-dish-counterwe-e4a4d228","title":"Dish Counterweight Block (Radio Telescope Array and Field Station)","summary":"A ballast block for the back of a dish yoke: a cast mass in a steel frame with a lifting eye on top, banded red, resting on its own pad.","description":"A ballast block for the back of a dish yoke: a cast mass in a steel frame with a lifting eye on top, banded red, resting on its own pad. Dimensions 1.50 by 1.02 by 1.12 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Sized to sit behind a medium reflector on the elevation axle. Static geometry. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-dish-counterwe-e4a4d228","cdnUrl":"https://cdn.3dassets.dev/assets/37614/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-dish-counterwe-e4a4d228","thumbnailUrl":"https://cdn.3dassets.dev/assets/37614/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37614/v1/poster.webp","blurhash":"U9FiMq_300NukrxuIAni00IUIUMx4T%L~q9a","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":10660,"triangles":164,"vertices":492,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.75,9.191315629708541e-7,-0.5500198370311594],"max":[0.75,1.0199652196266509,0.569976055684767]},"sizeMeters":[1.5,1.02,1.12],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:20.128Z","updatedAt":"2026-09-12T05:41:20.253Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37614/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DishCounterweightBlockRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37614/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37614/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37614/v1/model.glb\" alt=\"Dish Counterweight Block (Radio Telescope Array and Field Station)\" 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/37614/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/37614/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37615","slug":"radio-telescope-array-and-field-station-dish-pedestal--308f9188","title":"Dish Pedestal Base (Radio Telescope Array and Field Station)","summary":"The pedestal a dish stands on, on its own: a stepped concrete foundation, a tapered column with a service door, a climbing ladder and the bolted bearing ring that takes the turret.","description":"The pedestal a dish stands on, on its own: a stepped concrete foundation, a tapered column with a service door, a climbing ladder and the bolted bearing ring that takes the turret. Dimensions 2.60 by 2.24 by 2.60 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Bearing ring top at 2.16 m, so a turret or yoke sits on it directly. Static geometry. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-dish-pedestal--308f9188","cdnUrl":"https://cdn.3dassets.dev/assets/37615/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-dish-pedestal--308f9188","thumbnailUrl":"https://cdn.3dassets.dev/assets/37615/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37615/v1/poster.webp","blurhash":"UEGb#P-;00M{00M{MxWB00WB%Mj[~qt7?bt7","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":20096,"triangles":352,"vertices":1056,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.2999999523162842,0.00005770061317095232,-1.2999999523162842],"max":[1.2999999523162842,2.240000009536743,1.2999999523162842]},"sizeMeters":[2.6,2.24,2.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:20.237Z","updatedAt":"2026-09-12T05:41:20.356Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37615/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DishPedestalBaseRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37615/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37615/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37615/v1/model.glb\" alt=\"Dish Pedestal Base (Radio Telescope Array and Field Station)\" 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/37615/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/37615/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37616","slug":"radio-telescope-array-and-field-station-rail-bogie-324c5a77","title":"Rail Bogie for a Movable Dish (Radio Telescope Array and Field Station)","summary":"The powered carriage a movable dish rides on: a welded deck with the turret bearing on top, drive boxes on both ends and four flanged wheels, traversing along its rails as one node.","description":"The powered carriage a movable dish rides on: a welded deck with the turret bearing on top, drive boxes on both ends and four flanged wheels, traversing along its rails as one node. Dimensions 3.60 by 1.38 by 2.40 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: bogie at (0.00, 0.40, 0.00) m; wheel-lb at (-1.15, 0.40, -0.85) m; wheel-lf at (-1.15, 0.40, 0.85) m; wheel-rb at (1.15, 0.40, -0.85) m; wheel-rf at (1.15, 0.40, 0.85) m. The carriage traverses 2.2 m along X on the bogie node and the four wheels roll with it; the rails and sleepers under it are the static part of the model. Bearing ring top at 1.27 m. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Rigid node-transform clips: open, close and roll. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-rail-bogie-324c5a77","cdnUrl":"https://cdn.3dassets.dev/assets/37616/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-rail-bogie-324c5a77","thumbnailUrl":"https://cdn.3dassets.dev/assets/37616/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37616/v1/poster.webp","blurhash":"U6Dcad?b00oN4nogj?M|009F_NM{_2of?btQ","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"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":18280,"triangles":512,"vertices":1536,"meshes":7,"materials":3,"textures":0,"animations":["open","close","roll"],"boundingBox":{"min":[-1.7999999523162842,0.00010253816263666726,-1.2000183447652928],"max":[1.7999999523162842,1.3800047230107741,1.2000183447652928]},"sizeMeters":[3.6,1.38,2.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:20.757Z","updatedAt":"2026-09-12T05:41:20.849Z","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/37616/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 RailBogieForAMovableDishRadioTelescopeArrayAndFieldStation(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37616/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/37616/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37616/v1/model.glb\" alt=\"Rail Bogie for a Movable Dish (Radio Telescope Array and Field Station)\" 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/37616/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/37616/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37618","slug":"radio-telescope-array-and-field-station-rail-track-sec-eaec0947","title":"Dish Rail Track Section (Radio Telescope Array and Field Station)","summary":"A six metre section of the rail a movable dish traverses: a ballast bed, sleepers across it and two rails on chairs, ported end to end so a run is as long as the site needs.","description":"A six metre section of the rail a movable dish traverses: a ballast bed, sleepers across it and two rails on chairs, ported end to end so a run is as long as the site needs. Dimensions 2.40 by 0.45 by 6.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: start (rail) at (0.00, 0.10, -3.00) facing (0, 0, -1); end (rail) at (0.00, 0.10, 3.00) facing (0, 0, 1). Rail head at 0.44 m. Repeat end to end on the six metre module. Static geometry. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-rail-track-sec-eaec0947","cdnUrl":"https://cdn.3dassets.dev/assets/37618/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-rail-track-sec-eaec0947","thumbnailUrl":"https://cdn.3dassets.dev/assets/37618/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37618/v1/poster.webp","blurhash":"U8BM[C%L8_s,xw9FRP%M00IU%MbKMv~px]M{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":9876,"triangles":156,"vertices":468,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.1998352000488297,0.00005157657903766266,-3],"max":[1.1998352000488297,0.44491507867110436,3]},"sizeMeters":[2.4,0.445,6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:21.853Z","updatedAt":"2026-09-12T05:41:21.950Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37618/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DishRailTrackSectionRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37618/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37618/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37618/v1/model.glb\" alt=\"Dish Rail Track Section (Radio Telescope Array and Field Station)\" 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/37618/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/37618/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37617","slug":"radio-telescope-array-and-field-station-dish-transport-0f651ca4","title":"Dish Transporter (Radio Telescope Array and Field Station)","summary":"The six wheeled low loader that moves a reflector across the site: a cab, a dropped bed with a cradle ring and stabiliser legs, and six wheels that roll on their own nodes.","description":"The six wheeled low loader that moves a reflector across the site: a cab, a dropped bed with a cradle ring and stabiliser legs, and six wheels that roll on their own nodes. Dimensions 2.50 by 3.05 by 7.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: wheel-l0 at (-1.02, 0.60, 2.10) m; wheel-l1 at (-1.02, 0.60, -1.40) m; wheel-l2 at (-1.02, 0.60, -2.60) m; wheel-r0 at (1.02, 0.60, 2.10) m; wheel-r1 at (1.02, 0.60, -1.40) m; wheel-r2 at (1.02, 0.60, -2.60) m. Bed deck at 1.37 m with a cradle ring for a reflector face down. Unbranded: the cab, the doors and the plates carry no marks of any kind. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Rigid node-transform clips: roll. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-dish-transport-0f651ca4","cdnUrl":"https://cdn.3dassets.dev/assets/37617/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-dish-transport-0f651ca4","thumbnailUrl":"https://cdn.3dassets.dev/assets/37617/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37617/v1/poster.webp","blurhash":"UBAml1~WD%E1IBD%Rjx]009Z%M%2.7?vt8Mx","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"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":19396,"triangles":672,"vertices":2016,"meshes":16,"materials":4,"textures":0,"animations":["roll"],"boundingBox":{"min":[-1.2501334397106745,-2.384185793236071e-8,-3.201200008392334],"max":[1.2501334397106745,3.049999952316284,3.799999952316284]},"sizeMeters":[2.5,3.05,7.001],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:22.875Z","updatedAt":"2026-09-12T05:41:22.976Z","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/37617/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 DishTransporterRadioTelescopeArrayAndFieldStation(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37617/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/37617/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37617/v1/model.glb\" alt=\"Dish Transporter (Radio Telescope Array and Field Station)\" 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/37617/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/37617/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37619","slug":"radio-telescope-array-and-field-station-horn-antenna-s-41c5d1a4","title":"Small Horn Antenna (Radio Telescope Array and Field Station)","summary":"A pyramidal horn antenna on a three leg stand: four flared panels opening forward from a waveguide throat, with the receiver box behind it, standing on its own pad.","description":"A pyramidal horn antenna on a three leg stand: four flared panels opening forward from a waveguide throat, with the receiver box behind it, standing on its own pad. Dimensions 1.10 by 1.74 by 1.68 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Mouth faces +Z. Static geometry: the horn is a fixed pointing antenna and has nothing to rig. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-horn-antenna-s-41c5d1a4","cdnUrl":"https://cdn.3dassets.dev/assets/37619/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-horn-antenna-s-41c5d1a4","thumbnailUrl":"https://cdn.3dassets.dev/assets/37619/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37619/v1/poster.webp","blurhash":"UDEMLD~q00Io?b?bofD%009F?b-;9F4nRj-;","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":9008,"triangles":120,"vertices":360,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.5500007711583869,0.000012818021993044049,-0.45000958185475043],"max":[0.5500007711583869,1.7400283902608626,1.2300000190734863]},"sizeMeters":[1.1,1.74,1.68],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:22.328Z","updatedAt":"2026-09-12T05:41:22.423Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37619/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SmallHornAntennaRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37619/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37619/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37619/v1/model.glb\" alt=\"Small Horn Antenna (Radio Telescope Array and Field Station)\" 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/37619/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/37619/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37620","slug":"radio-telescope-array-and-field-station-log-periodic-a-1f8214cf","title":"Log Periodic Antenna (Radio Telescope Array and Field Station)","summary":"A log periodic boom antenna on a short mast: nine elements shortening towards the feed end, staggered either side of the boom, with the balun box at the back.","description":"A log periodic boom antenna on a short mast: nine elements shortening towards the feed end, staggered either side of the boom, with the balun box at the back. Dimensions 2.50 by 2.77 by 3.49 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The boom points along +Z with the longest element at the rear. Static geometry: the elements and the boom are one rigid antenna. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-log-periodic-a-1f8214cf","cdnUrl":"https://cdn.3dassets.dev/assets/37620/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-log-periodic-a-1f8214cf","thumbnailUrl":"https://cdn.3dassets.dev/assets/37620/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37620/v1/poster.webp","blurhash":"UEAdAoM{00%M~qj@D%M|RjWAaeWCMxM{M{-;","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":10588,"triangles":176,"vertices":528,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.250032013755302,-0.000011599268947871944,-0.8899999856948853],"max":[1.250032013755302,2.770004235177793,2.5999999046325684]},"sizeMeters":[2.5,2.77,3.49],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:23.565Z","updatedAt":"2026-09-12T05:41:23.735Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37620/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LogPeriodicAntennaRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37620/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37620/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37620/v1/model.glb\" alt=\"Log Periodic Antenna (Radio Telescope Array and Field Station)\" 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/37620/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/37620/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37621","slug":"radio-telescope-array-and-field-station-dipole-array-p-cba42f91","title":"Dipole Array Panel (Radio Telescope Array and Field Station)","summary":"A flat eight element dipole array on a reflecting screen: two rows of crossed dipoles on stand-offs, a braced frame behind them and the combiner box at the foot.","description":"A flat eight element dipole array on a reflecting screen: two rows of crossed dipoles on stand-offs, a braced frame behind them and the combiner box at the foot. Dimensions 3.20 by 2.48 by 1.37 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The array faces +Z. Static geometry: a phased array is steered electrically, so nothing here moves. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-dipole-array-p-cba42f91","cdnUrl":"https://cdn.3dassets.dev/assets/37621/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-dipole-array-p-cba42f91","thumbnailUrl":"https://cdn.3dassets.dev/assets/37621/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37621/v1/poster.webp","blurhash":"U8D]rI-p00D%00%Nt7ITM_WBD%Rj~p~q%N00","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":22432,"triangles":400,"vertices":1200,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.600000023841858,-0.00008057184644943982,-0.7667296694721077],"max":[1.600000023841858,2.4799878522333065,0.6000671496625444]},"sizeMeters":[3.2,2.48,1.367],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:23.942Z","updatedAt":"2026-09-12T05:41:24.054Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37621/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DipoleArrayPanelRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37621/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37621/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37621/v1/model.glb\" alt=\"Dipole Array Panel (Radio Telescope Array and Field Station)\" 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/37621/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/37621/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37622","slug":"radio-telescope-array-and-field-station-guyed-mast-wit-38bcfeec","title":"Guyed Mast with Anchors (Radio Telescope Array and Field Station)","summary":"A nine metre triangular lattice mast with a climbing ladder, a whip on the headframe and three guys running down to their own cast anchor blocks with lifting eyes.","description":"A nine metre triangular lattice mast with a climbing ladder, a whip on the headframe and three guys running down to their own cast anchor blocks with lifting eyes. Dimensions 10.25 by 10.48 by 9.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Anchors sit on a 5.4 m radius. The guys are modelled as straight taut rods and never move, because a rigid node transform cannot make a cable sag. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-guyed-mast-wit-38bcfeec","cdnUrl":"https://cdn.3dassets.dev/assets/37622/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-guyed-mast-wit-38bcfeec","thumbnailUrl":"https://cdn.3dassets.dev/assets/37622/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37622/v1/poster.webp","blurhash":"U58gy:~q00D$00D%-;Ri00M{?bxv_3%Mxv-=","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":69368,"triangles":1392,"vertices":4176,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-5.126537322998047,-0.0002222525354751148,-5.850094299035255],"max":[5.126537322998047,10.479999542236328,3.150094489770118]},"sizeMeters":[10.253,10.48,9],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:25.543Z","updatedAt":"2026-09-12T05:41:25.638Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37622/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GuyedMastWithAnchorsRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37622/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37622/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37622/v1/model.glb\" alt=\"Guyed Mast with Anchors (Radio Telescope Array and Field Station)\" 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/37622/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/37622/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37623","slug":"radio-telescope-array-and-field-station-cable-trench-s-676ff55c","title":"Open Cable Trench Section (Radio Telescope Array and Field Station)","summary":"A four metre run of open cable trench: concrete kerbs either side, a sand bed between them, three bundled cables on it and the steel straps that hold them down.","description":"A four metre run of open cable trench: concrete kerbs either side, a sand bed between them, three bundled cables on it and the steel straps that hold them down. Dimensions 1.20 by 0.60 by 4.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: start (trench) at (0.00, 0.15, -2.00) facing (0, 0, -1); end (trench) at (0.00, 0.15, 2.00) facing (0, 0, 1). Kerb top at 0.6 m. Repeat end to end on the four metre module and close it with the trench cover. The cables are modelled solid and never move. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-cable-trench-s-676ff55c","cdnUrl":"https://cdn.3dassets.dev/assets/37623/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-cable-trench-s-676ff55c","thumbnailUrl":"https://cdn.3dassets.dev/assets/37623/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37623/v1/poster.webp","blurhash":"U9CP;S-;4nt7%N9FMx%L00IA-;bHI9~q%MRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":8072,"triangles":120,"vertices":360,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.5999328592791529,-0.00007049745886633652,-2],"max":[0.5999328592791529,0.599987499630067,2]},"sizeMeters":[1.2,0.6,4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:24.545Z","updatedAt":"2026-09-12T05:41:24.632Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37623/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OpenCableTrenchSectionRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37623/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37623/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37623/v1/model.glb\" alt=\"Open Cable Trench Section (Radio Telescope Array and Field Station)\" 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/37623/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/37623/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37624","slug":"radio-telescope-array-and-field-station-cable-trench-c-577d9dd1","title":"Cable Trench Cover Run (Radio Telescope Array and Field Station)","summary":"The precast cover that closes a cable trench: four slabs laid end to end with lifting eyes and the edge strips that seat them, ported to the same four metre module as the trench.","description":"The precast cover that closes a cable trench: four slabs laid end to end with lifting eyes and the edge strips that seat them, ported to the same four metre module as the trench. Dimensions 1.20 by 0.27 by 4.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: start (trench) at (0.00, 0.15, -2.00) facing (0, 0, -1); end (trench) at (0.00, 0.15, 2.00) facing (0, 0, 1). Lays over the open trench section or straight on the ground as a closed run. Static geometry. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-cable-trench-c-577d9dd1","cdnUrl":"https://cdn.3dassets.dev/assets/37624/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-cable-trench-c-577d9dd1","thumbnailUrl":"https://cdn.3dassets.dev/assets/37624/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37624/v1/poster.webp","blurhash":"UCA,%sxuD%xtRj9GRjxu00WB-;Rjxu~qxuIU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":12592,"triangles":212,"vertices":636,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.5999328592791529,-0.0001107827854443244,-2],"max":[0.5999328592791529,0.2699763534648755,2]},"sizeMeters":[1.2,0.27,4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:25.324Z","updatedAt":"2026-09-12T05:41:25.423Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37624/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CableTrenchCoverRunRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37624/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37624/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37624/v1/model.glb\" alt=\"Cable Trench Cover Run (Radio Telescope Array and Field Station)\" 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/37624/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/37624/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37625","slug":"radio-telescope-array-and-field-station-signal-junctio-5944ca6e","title":"Signal Junction Pit (Radio Telescope Array and Field Station)","summary":"A cast junction pit where trench runs meet: a chamber with three cable ways across it, a red marker plate on the front and a steel lid hinged on its back edge that lifts open.","description":"A cast junction pit where trench runs meet: a chamber with three cable ways across it, a red marker plate on the front and a steel lid hinged on its back edge that lifts open. Dimensions 1.70 by 1.04 by 1.70 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: lid at (0.00, 0.90, -0.65) m. The lid is the only moving node, hinged on the back edge at 0.9 m. Cables inside are modelled solid. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-signal-junctio-5944ca6e","cdnUrl":"https://cdn.3dassets.dev/assets/37625/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-signal-junctio-5944ca6e","thumbnailUrl":"https://cdn.3dassets.dev/assets/37625/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37625/v1/poster.webp","blurhash":"UAF~dU~q00E100R*-ps900IUxbe.^*of%hkW","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"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":9264,"triangles":108,"vertices":324,"meshes":6,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.8500000238418579,0.00003201989275952721,-0.8500000238418579],"max":[0.8500000238418579,1.0450007420266167,0.8500000238418579]},"sizeMeters":[1.7,1.045,1.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:26.615Z","updatedAt":"2026-09-12T05:41:26.719Z","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/37625/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 SignalJunctionPitRadioTelescopeArrayAndFieldStation(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37625/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/37625/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37625/v1/model.glb\" alt=\"Signal Junction Pit (Radio Telescope Array and Field Station)\" 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/37625/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/37625/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37626","slug":"radio-telescope-array-and-field-station-correlator-cab-bf00d32c","title":"Correlator Cabin (Radio Telescope Array and Field Station)","summary":"The cabin that holds the correlator: a five metre insulated unit on a plinth with roof mounted cooling units, an equipment intake on the front and a hinged personnel door.","description":"The cabin that holds the correlator: a five metre insulated unit on a plinth with roof mounted cooling units, an equipment intake on the front and a hinged personnel door. Dimensions 5.24 by 3.30 by 4.03 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: door at (-0.47, 0.16, 1.75) m. The door is the only moving node. Blank panel faces throughout: no marks, labels or readouts. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-correlator-cab-bf00d32c","cdnUrl":"https://cdn.3dassets.dev/assets/37626/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-correlator-cab-bf00d32c","thumbnailUrl":"https://cdn.3dassets.dev/assets/37626/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37626/v1/poster.webp","blurhash":"U4H_=A_300D%%N~qt69F00M{4nofxuD%D%D%","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"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":16924,"triangles":264,"vertices":792,"meshes":6,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-2.619999885559082,-0.00018121441875984523,-1.8201938642571305],"max":[2.619999885559082,3.3000625606080445,2.2101938499520157]},"sizeMeters":[5.24,3.3,4.03],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:26.171Z","updatedAt":"2026-09-12T05:41:26.264Z","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/37626/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 CorrelatorCabinRadioTelescopeArrayAndFieldStation(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37626/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/37626/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37626/v1/model.glb\" alt=\"Correlator Cabin (Radio Telescope Array and Field Station)\" 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/37626/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/37626/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37627","slug":"radio-telescope-array-and-field-station-control-room-c-71fcdcd4","title":"Control Room Cabin (Radio Telescope Array and Field Station)","summary":"The cabin the station is run from: an open fronted unit under a deep roof with a desk across the back wall, three blank screens on stands, a shelf and a stool.","description":"The cabin the station is run from: an open fronted unit under a deep roof with a desk across the back wall, three blank screens on stands, a shelf and a stool. Dimensions 5.44 by 3.10 by 4.50 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The front aperture is open so the desk reads from outside. Every screen face is blank: no interface, text or logo is modelled anywhere. Static geometry. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-control-room-c-71fcdcd4","cdnUrl":"https://cdn.3dassets.dev/assets/37627/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-control-room-c-71fcdcd4","thumbnailUrl":"https://cdn.3dassets.dev/assets/37627/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37627/v1/poster.webp","blurhash":"UAHoI5of00t6~q-;RjM{00t7ayfQM{M{ITM{","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"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":16884,"triangles":284,"vertices":852,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-2.7200000286102295,-0.00013526098573990453,-1.9201614832726768],"max":[2.7200000286102295,3.1001351656183083,2.5801614498940757]},"sizeMeters":[5.44,3.1,4.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:26.925Z","updatedAt":"2026-09-12T05:41:27.035Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37627/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ControlRoomCabinRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37627/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37627/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37627/v1/model.glb\" alt=\"Control Room Cabin (Radio Telescope Array and Field Station)\" 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/37627/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/37627/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37628","slug":"radio-telescope-array-and-field-station-signal-rack-0c99884b","title":"Signal Equipment Rack (Radio Telescope Array and Field Station)","summary":"A floor standing signal rack: seven blank equipment faces with indicator blocks, a fan tray on the roof and two mesh doors that swing open from the middle.","description":"A floor standing signal rack: seven blank equipment faces with indicator blocks, a fan tray on the roof and two mesh doors that swing open from the middle. Dimensions 1.10 by 2.28 by 0.93 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: door-left at (-0.02, 0.10, 0.42) m; door-right at (0.02, 0.10, 0.42) m. Both door leaves hinge on their outer stiles. Equipment faces are blank: no branding, labelling or readouts. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-signal-rack-0c99884b","cdnUrl":"https://cdn.3dassets.dev/assets/37628/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-signal-rack-0c99884b","thumbnailUrl":"https://cdn.3dassets.dev/assets/37628/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37628/v1/poster.webp","blurhash":"U8E3F??b004n_NWB9Eoz00IU%Lxu?bofD%Rj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"interior","title":"Interior"},{"slug":"animated","title":"Animated"}],"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":20680,"triangles":336,"vertices":1008,"meshes":8,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.5500106921830321,0,-0.4299893268904542],"max":[0.5500106921830321,2.2800046121444373,0.5000114441999834]},"sizeMeters":[1.1,2.28,0.93],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:28.177Z","updatedAt":"2026-09-12T05:41:28.270Z","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/37628/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 SignalEquipmentRackRadioTelescopeArrayAndFieldStation(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37628/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/37628/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37628/v1/model.glb\" alt=\"Signal Equipment Rack (Radio Telescope Array and Field Station)\" 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/37628/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/37628/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37629","slug":"radio-telescope-array-and-field-station-cryogenic-rece-74902f3b","title":"Cryogenic Receiver Dewar (Radio Telescope Array and Field Station)","summary":"The vacuum dewar a cooled receiver lives in: an insulated vessel on four legs with a clamped flange, the cold head on top and two transfer lines rising from it.","description":"The vacuum dewar a cooled receiver lives in: an insulated vessel on four legs with a clamped flange, the cold head on top and two transfer lines rising from it. Dimensions 1.20 by 3.17 by 1.22 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Static geometry. The red plate on the front is blank: no hazard pictogram or text is modelled. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-cryogenic-rece-74902f3b","cdnUrl":"https://cdn.3dassets.dev/assets/37629/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-cryogenic-rece-74902f3b","thumbnailUrl":"https://cdn.3dassets.dev/assets/37629/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37629/v1/poster.webp","blurhash":"U8Ci{$-p004.D%ay%MWB00bv~Wn4Diae%gf+","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":19856,"triangles":348,"vertices":1044,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.6000000238418579,-0.00002167062611584114,-0.6000000238418579],"max":[0.6000000238418579,3.1700000762939453,0.619989311369126]},"sizeMeters":[1.2,3.17,1.22],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:28.816Z","updatedAt":"2026-09-12T05:41:28.997Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37629/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CryogenicReceiverDewarRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37629/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37629/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37629/v1/model.glb\" alt=\"Cryogenic Receiver Dewar (Radio Telescope Array and Field Station)\" 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/37629/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/37629/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37630","slug":"radio-telescope-array-and-field-station-compressor-she-5f975664","title":"Helium Compressor Shed (Radio Telescope Array and Field Station)","summary":"The shed that holds the compressors for the cooled receivers: a small blockwork unit with louvred intakes down one side, an exhaust fan and a hinged door.","description":"The shed that holds the compressors for the cooled receivers: a small blockwork unit with louvred intakes down one side, an exhaust fan and a hinged door. Dimensions 3.72 by 3.60 by 3.23 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: door at (-0.47, 0.16, 1.35) m. The door is the only moving node. Blank faces throughout. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-compressor-she-5f975664","cdnUrl":"https://cdn.3dassets.dev/assets/37630/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-compressor-she-5f975664","thumbnailUrl":"https://cdn.3dassets.dev/assets/37630/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37630/v1/poster.webp","blurhash":"U8GlO}~q009F9GRjWB%M00M_WBRjIUWC?bRj","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"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":18812,"triangles":296,"vertices":888,"meshes":5,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.7200000286102295,-0.000037536381125358176,-1.4200163614190733],"max":[2,3.600013063532551,1.8100163471139585]},"sizeMeters":[3.72,3.6,3.23],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:28.283Z","updatedAt":"2026-09-12T05:41:28.473Z","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/37630/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 HeliumCompressorShedRadioTelescopeArrayAndFieldStation(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37630/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/37630/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37630/v1/model.glb\" alt=\"Helium Compressor Shed (Radio Telescope Array and Field Station)\" 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/37630/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/37630/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37631","slug":"radio-telescope-array-and-field-station-generator-shed-b42af60f","title":"Diesel Generator Shed (Radio Telescope Array and Field Station)","summary":"The standby generator shed: a lined unit with louvred air intakes, a radiator discharge on the front, an exhaust stack through the roof and a hinged door.","description":"The standby generator shed: a lined unit with louvred air intakes, a radiator discharge on the front, an exhaust stack through the roof and a hinged door. Dimensions 4.24 by 4.30 by 3.63 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: door at (-0.47, 0.16, 1.55) m. The door is the only moving node. The red plate beside it is blank. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-generator-shed-b42af60f","cdnUrl":"https://cdn.3dassets.dev/assets/37631/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-generator-shed-b42af60f","thumbnailUrl":"https://cdn.3dassets.dev/assets/37631/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37631/v1/poster.webp","blurhash":"U5F={%?b00M{00M_-;xu009F~qWB4ntR~qt7","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"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":20856,"triangles":332,"vertices":996,"meshes":6,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-2.119999885559082,0.000037894682040517935,-1.6201370898687062],"max":[2.119999885559082,4.300006506000414,2.0101370755635912]},"sizeMeters":[4.24,4.3,3.63],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:28.581Z","updatedAt":"2026-09-12T05:41:28.672Z","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/37631/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 DieselGeneratorShedRadioTelescopeArrayAndFieldStation(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37631/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/37631/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37631/v1/model.glb\" alt=\"Diesel Generator Shed (Radio Telescope Array and Field Station)\" 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/37631/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/37631/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37633","slug":"radio-telescope-array-and-field-station-bulk-fuel-tank-d2fafc4f","title":"Bulk Fuel Tank (Radio Telescope Array and Field Station)","summary":"The bunded fuel tank that feeds the generator: a horizontal vessel on concrete saddles with end bands, a fill point on top, a dispensing cabinet and a guard rail along the front.","description":"The bunded fuel tank that feeds the generator: a horizontal vessel on concrete saddles with end bands, a fill point on top, a dispensing cabinet and a guard rail along the front. Dimensions 4.70 by 2.49 by 2.32 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Static geometry. The red plate is blank: no hazard marking or text is modelled. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-bulk-fuel-tank-d2fafc4f","cdnUrl":"https://cdn.3dassets.dev/assets/37633/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-bulk-fuel-tank-d2fafc4f","thumbnailUrl":"https://cdn.3dassets.dev/assets/37633/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37633/v1/poster.webp","blurhash":"U8GbxG_300of4n~pt79F004n~qRjs89F.7t7","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":16112,"triangles":264,"vertices":792,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-2.3499999046325684,0.00011037970009786235,-1.0998473846505281],"max":[2.3499999046325684,2.4898896298366453,1.220071091333438]},"sizeMeters":[4.7,2.49,2.32],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:30.079Z","updatedAt":"2026-09-12T05:41:30.182Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37633/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BulkFuelTankRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37633/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37633/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37633/v1/model.glb\" alt=\"Bulk Fuel Tank (Radio Telescope Array and Field Station)\" 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/37633/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/37633/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37632","slug":"radio-telescope-array-and-field-station-solar-panel-ar-b016197d","title":"Solar Panel Array (Radio Telescope Array and Field Station)","summary":"A four module ground mounted solar array on a fixed tilted frame, with the string box at one end, sized to top up the station batteries between generator runs.","description":"A four module ground mounted solar array on a fixed tilted frame, with the string box at one end, sized to top up the station batteries between generator runs. Dimensions 6.20 by 1.86 by 3.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Modules face +Z at twenty two degrees. Static geometry: this is a fixed frame, not a tracker. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-solar-panel-ar-b016197d","cdnUrl":"https://cdn.3dassets.dev/assets/37632/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-solar-panel-ar-b016197d","thumbnailUrl":"https://cdn.3dassets.dev/assets/37632/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37632/v1/poster.webp","blurhash":"UDB:y;xu4nog9FxuxuM{00IUozt6~pRjM{WB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":11756,"triangles":192,"vertices":576,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-3.0999999046325684,0.00015137584007812732,-1.4998107391015383],"max":[3.0999999046325684,1.8598344304731915,1.4998107391015383]},"sizeMeters":[6.2,1.86,3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:30.045Z","updatedAt":"2026-09-12T05:41:30.145Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37632/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SolarPanelArrayRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37632/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37632/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37632/v1/model.glb\" alt=\"Solar Panel Array (Radio Telescope Array and Field Station)\" 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/37632/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/37632/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37634","slug":"radio-telescope-array-and-field-station-battery-shed-4297123b","title":"Battery Shed (Radio Telescope Array and Field Station)","summary":"The battery room for the station: a ventilated white unit with intake slots across the front, a roof extract unit and a hinged door.","description":"The battery room for the station: a ventilated white unit with intake slots across the front, a roof extract unit and a hinged door. Dimensions 3.64 by 2.95 by 3.43 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: door at (-0.47, 0.16, 1.45) m. The door is the only moving node. The red plate is blank. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-battery-shed-4297123b","cdnUrl":"https://cdn.3dassets.dev/assets/37634/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-battery-shed-4297123b","thumbnailUrl":"https://cdn.3dassets.dev/assets/37634/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37634/v1/poster.webp","blurhash":"U3I#x^~q00%M?cx]xXM{00D%0001R5t7XlRi","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"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":16456,"triangles":252,"vertices":756,"meshes":7,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.8200000524520874,-0.00004487727513291517,-1.51991140030598],"max":[1.8200000524520874,2.9500235325631565,1.9099113860008652]},"sizeMeters":[3.64,2.95,3.43],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:31.249Z","updatedAt":"2026-09-12T05:41:31.353Z","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/37634/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 BatteryShedRadioTelescopeArrayAndFieldStation(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37634/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/37634/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37634/v1/model.glb\" alt=\"Battery Shed (Radio Telescope Array and Field Station)\" 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/37634/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/37634/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37635","slug":"radio-telescope-array-and-field-station-weather-mast-w-361f84f7","title":"Weather Mast with Anemometer (Radio Telescope Array and Field Station)","summary":"A five metre lattice weather mast carrying a three cup anemometer that turns on its own node, a radiation shielded temperature probe and the logger box at the foot.","description":"A five metre lattice weather mast carrying a three cup anemometer that turns on its own node, a radiation shielded temperature probe and the logger box at the foot. Dimensions 1.20 by 6.04 by 1.20 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: anemometer at (0.00, 5.68, 0.00) m. The anemometer hub is the only moving node. The wind vane is modelled solid because a rigid transform cannot weathercock it. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-weather-mast-w-361f84f7","cdnUrl":"https://cdn.3dassets.dev/assets/37635/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-weather-mast-w-361f84f7","thumbnailUrl":"https://cdn.3dassets.dev/assets/37635/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37635/v1/poster.webp","blurhash":"U49jv1%N004mogogRiM{~qof4nRjIUWBxuoz","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"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":42640,"triangles":792,"vertices":2376,"meshes":6,"materials":4,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.6000000238418579,0.000021360473955220338,-0.6000000238418579],"max":[0.6000000238418579,6.039987180664915,0.6000000238418579]},"sizeMeters":[1.2,6.04,1.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:30.568Z","updatedAt":"2026-09-12T05:41:30.662Z","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/37635/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 WeatherMastWithAnemometerRadioTelescopeArrayAndFieldStation(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37635/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/37635/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37635/v1/model.glb\" alt=\"Weather Mast with Anemometer (Radio Telescope Array and Field Station)\" 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/37635/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/37635/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37636","slug":"radio-telescope-array-and-field-station-rain-gauge-3cc6dad8","title":"Tipping Bucket Rain Gauge (Radio Telescope Array and Field Station)","summary":"A tipping bucket rain gauge on a short post: the collecting funnel in its housing, the logger box on the post and a small concrete footing.","description":"A tipping bucket rain gauge on a short post: the collecting funnel in its housing, the logger box on the post and a small concrete footing. Dimensions 0.73 by 1.68 by 0.70 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Static geometry: the bucket mechanism sits inside the housing and is not modelled as a separate node. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-rain-gauge-3cc6dad8","cdnUrl":"https://cdn.3dassets.dev/assets/37636/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-rain-gauge-3cc6dad8","thumbnailUrl":"https://cdn.3dassets.dev/assets/37636/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37636/v1/poster.webp","blurhash":"U5CGS+_30000ofj[9FRj~qWB4oof9FWA?bxu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":9840,"triangles":148,"vertices":444,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.3499999940395355,0.000012817454451030663,-0.3499999940395355],"max":[0.38000640641086963,1.6799999475479126,0.3499999940395355]},"sizeMeters":[0.73,1.68,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:31.739Z","updatedAt":"2026-09-12T05:41:31.856Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37636/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TippingBucketRainGaugeRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37636/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37636/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37636/v1/model.glb\" alt=\"Tipping Bucket Rain Gauge (Radio Telescope Array and Field Station)\" 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/37636/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/37636/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37637","slug":"radio-telescope-array-and-field-station-gps-reference--4ad16c66","title":"GPS Reference Pillar (Radio Telescope Array and Field Station)","summary":"A survey grade reference pillar: a cast monument on a spread footing with a forced centring plate, the antenna and its choke ring on top and a receiver box on the shaft.","description":"A survey grade reference pillar: a cast monument on a spread footing with a forced centring plate, the antenna and its choke ring on top and a receiver box on the shaft. Dimensions 1.30 by 2.50 by 1.30 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Antenna reference point at 2.18 m. Static geometry. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-gps-reference--4ad16c66","cdnUrl":"https://cdn.3dassets.dev/assets/37637/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-gps-reference--4ad16c66","thumbnailUrl":"https://cdn.3dassets.dev/assets/37637/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37637/v1/poster.webp","blurhash":"U5DJO|~q000000IU-;xv4nWC?bxu-;t7%Mj]","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":15692,"triangles":260,"vertices":780,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.6500094657371096,0,-0.6500094657371096],"max":[0.6500094657371096,2.5000207923236983,0.6500094657371096]},"sizeMeters":[1.3,2.5,1.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:31.806Z","updatedAt":"2026-09-12T05:41:31.901Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37637/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GPSReferencePillarRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37637/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37637/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37637/v1/model.glb\" alt=\"GPS Reference Pillar (Radio Telescope Array and Field Station)\" 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/37637/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/37637/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37638","slug":"radio-telescope-array-and-field-station-sky-camera-dom-bb50ec2d","title":"All Sky Camera Dome (Radio Telescope Array and Field Station)","summary":"The all sky camera on its cabinet: a weatherproof base with the equipment door on the front and a rotating dome with a dark window that turns on its own node.","description":"The all sky camera on its cabinet: a weatherproof base with the equipment door on the front and a rotating dome with a dark window that turns on its own node. Dimensions 1.40 by 2.25 by 1.40 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: dome at (0.00, 1.60, 0.00) m. The dome is the only moving node, turning about the vertical at 1.6 m. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-sky-camera-dom-bb50ec2d","cdnUrl":"https://cdn.3dassets.dev/assets/37638/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-sky-camera-dom-bb50ec2d","thumbnailUrl":"https://cdn.3dassets.dev/assets/37638/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37638/v1/poster.webp","blurhash":"U9Eyb]?b00D%00Rj_3of00Ri~qa}xtWAofxu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"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":12836,"triangles":188,"vertices":564,"meshes":7,"materials":4,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.699999988079071,0.000019231769611993688,-0.699999988079071],"max":[0.699999988079071,2.2499879122036823,0.699999988079071]},"sizeMeters":[1.4,2.25,1.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:33.191Z","updatedAt":"2026-09-12T05:41:33.279Z","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/37638/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 AllSkyCameraDomeRadioTelescopeArrayAndFieldStation(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37638/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/37638/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37638/v1/model.glb\" alt=\"All Sky Camera Dome (Radio Telescope Array and Field Station)\" 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/37638/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/37638/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37639","slug":"radio-telescope-array-and-field-station-site-office-ca-0f6c936b","title":"Site Office Cabin (Radio Telescope Array and Field Station)","summary":"The station office: a six metre portable unit on a plinth with a wide window, a canopy over the entrance step, an air conditioner on the roof and a hinged door.","description":"The station office: a six metre portable unit on a plinth with a wide window, a canopy over the entrance step, an air conditioner on the roof and a hinged door. Dimensions 6.24 by 2.96 by 3.83 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: door at (-0.47, 0.16, 1.65) m. The door is the only moving node. No signage, notices or marks are modelled on any face. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-site-office-ca-0f6c936b","cdnUrl":"https://cdn.3dassets.dev/assets/37639/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-site-office-ca-0f6c936b","thumbnailUrl":"https://cdn.3dassets.dev/assets/37639/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37639/v1/poster.webp","blurhash":"U8HetV?b00of~q_3RjIU00RikCWBD$IURjD%","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"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":14788,"triangles":276,"vertices":828,"meshes":6,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-3.119999885559082,0.000221027360064463,-1.719828940276082],"max":[3.119999885559082,2.9597790107869084,2.1098288067616777]},"sizeMeters":[6.24,2.96,3.83],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:32.888Z","updatedAt":"2026-09-12T05:41:32.988Z","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/37639/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 SiteOfficeCabinRadioTelescopeArrayAndFieldStation(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37639/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/37639/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37639/v1/model.glb\" alt=\"Site Office Cabin (Radio Telescope Array and Field Station)\" 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/37639/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/37639/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37641","slug":"radio-telescope-array-and-field-station-mess-cabin-5d8e05bd","title":"Mess Cabin (Radio Telescope Array and Field Station)","summary":"The crew mess: a wide portable unit with three windows, a roof mounted cooling unit and a flue, and a bench table on a hardstanding outside the door.","description":"The crew mess: a wide portable unit with three windows, a roof mounted cooling unit and a flue, and a bench table on a hardstanding outside the door. Dimensions 6.64 by 3.66 by 4.72 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: door at (-0.47, 0.16, 1.75) m. The door is the only moving node. Blank faces throughout. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-mess-cabin-5d8e05bd","cdnUrl":"https://cdn.3dassets.dev/assets/37641/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-mess-cabin-5d8e05bd","thumbnailUrl":"https://cdn.3dassets.dev/assets/37641/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37641/v1/poster.webp","blurhash":"U4GlO}Io00IUIU~q%M9F00oe%Mt74n4n%MM{","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"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":20520,"triangles":344,"vertices":1032,"meshes":6,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-3.319999933242798,0.0001914278902896971,-1.8201818214012326],"max":[3.319999933242798,3.66007978281101,2.900181864316577]},"sizeMeters":[6.64,3.66,4.72],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:33.487Z","updatedAt":"2026-09-12T05:41:33.593Z","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/37641/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 MessCabinRadioTelescopeArrayAndFieldStation(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37641/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/37641/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37641/v1/model.glb\" alt=\"Mess Cabin (Radio Telescope Array and Field Station)\" 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/37641/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/37641/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37640","slug":"radio-telescope-array-and-field-station-bunk-cabin-1ce7cdeb","title":"Bunk Cabin (Radio Telescope Array and Field Station)","summary":"Sleeping accommodation for a remote shift: a portable unit with small windows on three sides, a water tank cradle on the roof and a hinged door onto a step slab.","description":"Sleeping accommodation for a remote shift: a portable unit with small windows on three sides, a water tank cradle on the roof and a hinged door onto a step slab. Dimensions 5.85 by 2.91 by 3.87 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: door at (-0.47, 0.16, 1.55) m. The door is the only moving node. Blank faces throughout. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-bunk-cabin-1ce7cdeb","cdnUrl":"https://cdn.3dassets.dev/assets/37640/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-bunk-cabin-1ce7cdeb","thumbnailUrl":"https://cdn.3dassets.dev/assets/37640/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37640/v1/poster.webp","blurhash":"U5HetV~q00M{~q_3IU9F00M{xuWBRiRjM{IT","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"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":17800,"triangles":288,"vertices":864,"meshes":6,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-2.924999952316284,0.00010736473501560262,-1.6200224840470396],"max":[2.924999952316284,2.9100526966588642,2.250022479278668]},"sizeMeters":[5.85,2.91,3.87],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:33.364Z","updatedAt":"2026-09-12T05:41:33.471Z","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/37640/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 BunkCabinRadioTelescopeArrayAndFieldStation(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37640/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/37640/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37640/v1/model.glb\" alt=\"Bunk Cabin (Radio Telescope Array and Field Station)\" 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/37640/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/37640/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37642","slug":"radio-telescope-array-and-field-station-water-tank-on--65a921bb","title":"Water Tank on Stand (Radio Telescope Array and Field Station)","summary":"The station water supply: a braced steel stand carrying a domed tank at three metres, with a climbing ladder, a down pipe and the pump box at the foot.","description":"The station water supply: a braced steel stand carrying a domed tank at three metres, with a climbing ladder, a down pipe and the pump box at the foot. Dimensions 2.90 by 5.38 by 2.80 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Static geometry. The tank and its pipework are one rigid assembly. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-water-tank-on--65a921bb","cdnUrl":"https://cdn.3dassets.dev/assets/37642/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-water-tank-on--65a921bb","thumbnailUrl":"https://cdn.3dassets.dev/assets/37642/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37642/v1/poster.webp","blurhash":"U8EfTi?b00D%RjM{D%of00M{%Mof00t7~qt7","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":26268,"triangles":488,"vertices":1464,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.5000000149011612,-0.00006195129593883353,-1.399999976158142],"max":[1.399999976158142,5.380000114440918,1.399999976158142]},"sizeMeters":[2.9,5.38,2.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:34.519Z","updatedAt":"2026-09-12T05:41:34.627Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37642/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WaterTankOnStandRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37642/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37642/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37642/v1/model.glb\" alt=\"Water Tank on Stand (Radio Telescope Array and Field Station)\" 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/37642/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/37642/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37643","slug":"radio-telescope-array-and-field-station-septic-tank-co-dfe3f721","title":"Septic Tank Cover (Radio Telescope Array and Field Station)","summary":"The lid of the buried septic tank: a concrete surround with a sealed access cover, a lifting eye and the vent pipe rising beside it.","description":"The lid of the buried septic tank: a concrete surround with a sealed access cover, a lifting eye and the vent pipe rising beside it. Dimensions 1.80 by 1.66 by 1.80 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Static geometry. Sits flush on hardstanding or ground tiles. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-septic-tank-co-dfe3f721","cdnUrl":"https://cdn.3dassets.dev/assets/37643/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-septic-tank-co-dfe3f721","thumbnailUrl":"https://cdn.3dassets.dev/assets/37643/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37643/v1/poster.webp","blurhash":"UDB:y:%L9FWB00M_%Mt7ITWBbHWB~qxu%Moe","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":11160,"triangles":180,"vertices":540,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.8999999761581421,0.00001709069599073465,-0.8999999761581421],"max":[0.8999999761581421,1.659999966621399,0.8999999761581421]},"sizeMeters":[1.8,1.66,1.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:35.817Z","updatedAt":"2026-09-12T05:41:35.917Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37643/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SepticTankCoverRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37643/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37643/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37643/v1/model.glb\" alt=\"Septic Tank Cover (Radio Telescope Array and Field Station)\" 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/37643/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/37643/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37644","slug":"radio-telescope-array-and-field-station-supply-crate-s-6a5d3508","title":"Supply Crate Stack (Radio Telescope Array and Field Station)","summary":"A stack of banded supply crates on a pallet, with two more set down beside it: the delivery a remote station runs on, in blank white and grey cases.","description":"A stack of banded supply crates on a pallet, with two more set down beside it: the delivery a remote station runs on, in blank white and grey cases. Dimensions 3.08 by 1.60 by 1.94 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Static geometry. Every crate face is blank: no labels, stencils or marks. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-supply-crate-s-6a5d3508","cdnUrl":"https://cdn.3dassets.dev/assets/37644/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-supply-crate-s-6a5d3508","thumbnailUrl":"https://cdn.3dassets.dev/assets/37644/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37644/v1/poster.webp","blurhash":"U6D]o7%M00~qoft7D%D$004n~qt6xaa#%g%N","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":15348,"triangles":252,"vertices":756,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.5197292566299438,-0.00003998091395884806,-0.6500488478485402],"max":[1.5553793907165527,1.599928335525455,1.288027960524792]},"sizeMeters":[3.075,1.6,1.938],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:35.075Z","updatedAt":"2026-09-12T05:41:35.328Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37644/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SupplyCrateStackRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37644/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37644/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37644/v1/model.glb\" alt=\"Supply Crate Stack (Radio Telescope Array and Field Station)\" 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/37644/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/37644/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37645","slug":"radio-telescope-array-and-field-station-spares-rack-75b16dac","title":"Spares Rack (Radio Telescope Array and Field Station)","summary":"The spares rack from the store: an open steel frame of four shelves with three shallow drawers that pull out and blank part boxes stood on the top shelf.","description":"The spares rack from the store: an open steel frame of four shelves with three shallow drawers that pull out and blank part boxes stood on the top shelf. Dimensions 2.10 by 2.54 by 0.86 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: drawer-1 at (0.00, 0.68, 0.30) m; drawer-2 at (0.00, 1.30, 0.30) m; drawer-3 at (0.00, 1.92, 0.30) m. Each drawer front slides out on its own node. Static otherwise. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-spares-rack-75b16dac","cdnUrl":"https://cdn.3dassets.dev/assets/37645/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-spares-rack-75b16dac","thumbnailUrl":"https://cdn.3dassets.dev/assets/37645/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37645/v1/poster.webp","blurhash":"UEECzm-;00M|~qxv9GIU00M{.7j?IUayt7WB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"interior","title":"Interior"},{"slug":"animated","title":"Animated"}],"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":14052,"triangles":216,"vertices":648,"meshes":9,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.0499999523162842,0.0000106844935427175,-0.3999465744456173],"max":[1.0499999523162842,2.540019214446156,0.46498887124486005]},"sizeMeters":[2.1,2.54,0.865],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:35.143Z","updatedAt":"2026-09-12T05:41:35.331Z","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/37645/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 SparesRackRadioTelescopeArrayAndFieldStation(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37645/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/37645/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37645/v1/model.glb\" alt=\"Spares Rack (Radio Telescope Array and Field Station)\" 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/37645/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/37645/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37646","slug":"radio-telescope-array-and-field-station-ground-module--45f5b439","title":"Pale Steppe Ground Module (Radio Telescope Array and Field Station)","summary":"An eight metre ground module in pale dry earth with small stones scattered across it, ported on all four edges so a plot is tiled from it.","description":"An eight metre ground module in pale dry earth with small stones scattered across it, ported on all four edges so a plot is tiled from it. Dimensions 8.00 by 0.42 by 8.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: north (ground) at (0.00, 0.00, -4.00) facing (0, 0, -1); south (ground) at (0.00, 0.00, 4.00) facing (0, 0, 1); west (ground) at (-4.00, 0.00, 0.00) facing (-1, 0, 0); east (ground) at (4.00, 0.00, 0.00) facing (1, 0, 0). One 8 m ground module with ports on all four edges, so a plot of any size is laid by repeating it against the track and hardstanding modules. Top surface at 0.12 m. Static geometry. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-ground-module--45f5b439","cdnUrl":"https://cdn.3dassets.dev/assets/37646/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-ground-module--45f5b439","thumbnailUrl":"https://cdn.3dassets.dev/assets/37646/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37646/v1/poster.webp","blurhash":"UBE33W%M00WAt7azj[oe00M{~paxIVoeV@Rk","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":10940,"triangles":192,"vertices":576,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-4,-0.000060427989866981835,-4],"max":[4,0.42360309090621173,4]},"sizeMeters":[8,0.424,8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:36.336Z","updatedAt":"2026-09-12T05:41:36.426Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37646/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PaleSteppeGroundModuleRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37646/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37646/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37646/v1/model.glb\" alt=\"Pale Steppe Ground Module (Radio Telescope Array and Field Station)\" 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/37646/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/37646/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37648","slug":"radio-telescope-array-and-field-station-ground-module--f9c72023","title":"Dark Steppe Ground Module (Radio Telescope Array and Field Station)","summary":"The darker tone of the same eight metre ground module, for breaking up a large plot so it does not read as one flat colour.","description":"The darker tone of the same eight metre ground module, for breaking up a large plot so it does not read as one flat colour. Dimensions 8.00 by 0.39 by 8.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: north (ground) at (0.00, 0.00, -4.00) facing (0, 0, -1); south (ground) at (0.00, 0.00, 4.00) facing (0, 0, 1); west (ground) at (-4.00, 0.00, 0.00) facing (-1, 0, 0); east (ground) at (4.00, 0.00, 0.00) facing (1, 0, 0). One 8 m ground module with ports on all four edges, so a plot of any size is laid by repeating it against the track and hardstanding modules. Top surface at 0.12 m. Static geometry. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data. Colour variant of ground-module-pale.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-ground-module--f9c72023","cdnUrl":"https://cdn.3dassets.dev/assets/37648/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-ground-module--f9c72023","thumbnailUrl":"https://cdn.3dassets.dev/assets/37648/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37648/v1/poster.webp","blurhash":"U8C?WA%L00RloyayjFof00M{~VaxRQofWqRk","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":10936,"triangles":192,"vertices":576,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-4,-0.000060427989866981835,-4],"max":[4,0.3895584202429264,4]},"sizeMeters":[8,0.39,8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:37.928Z","updatedAt":"2026-09-12T05:41:38.049Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37648/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DarkSteppeGroundModuleRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37648/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37648/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37648/v1/model.glb\" alt=\"Dark Steppe Ground Module (Radio Telescope Array and Field Station)\" 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/37648/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/37648/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37647","slug":"radio-telescope-array-and-field-station-track-and-verg-ee9c3d03","title":"Track and Verge Module (Radio Telescope Array and Field Station)","summary":"An eight metre ground module carrying the site track: a graded running surface, a gravel shoulder either side and scrub on the verge, ported to the same grid as the ground.","description":"An eight metre ground module carrying the site track: a graded running surface, a gravel shoulder either side and scrub on the verge, ported to the same grid as the ground. Dimensions 8.03 by 0.77 by 8.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: north (ground) at (0.00, 0.00, -4.00) facing (0, 0, -1); south (ground) at (0.00, 0.00, 4.00) facing (0, 0, 1); west (ground) at (-4.00, 0.00, 0.00) facing (-1, 0, 0); east (ground) at (4.00, 0.00, 0.00) facing (1, 0, 0). One 8 m ground module with ports on all four edges, so a plot of any size is laid by repeating it against the track and hardstanding modules. Top surface at 0.12 m. Static geometry. The track runs along Z. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-track-and-verg-ee9c3d03","cdnUrl":"https://cdn.3dassets.dev/assets/37647/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-track-and-verg-ee9c3d03","thumbnailUrl":"https://cdn.3dassets.dev/assets/37647/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37647/v1/poster.webp","blurhash":"U9D+_0%M00nioej[j]o200IV~VR+RjWBaxW.","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":29116,"triangles":556,"vertices":1668,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-4.000223313797658,-0.00004132218104344054,-4.001200199127197],"max":[4.0289998054504395,0.7697619711142042,4.001200199127197]},"sizeMeters":[8.029,0.77,8.002],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:37.913Z","updatedAt":"2026-09-12T05:41:38.032Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37647/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TrackAndVergeModuleRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37647/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37647/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37647/v1/model.glb\" alt=\"Track and Verge Module (Radio Telescope Array and Field Station)\" 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/37647/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/37647/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37649","slug":"radio-telescope-array-and-field-station-hardstanding-m-a185ea4c","title":"Hardstanding Module (Radio Telescope Array and Field Station)","summary":"An eight metre concrete hardstanding module with kerb edges, the surface a yard, a dish pad or a cabin row stands on, ported to the same grid as the ground.","description":"An eight metre concrete hardstanding module with kerb edges, the surface a yard, a dish pad or a cabin row stands on, ported to the same grid as the ground. Dimensions 8.00 by 0.38 by 8.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: north (ground) at (0.00, 0.00, -4.00) facing (0, 0, -1); south (ground) at (0.00, 0.00, 4.00) facing (0, 0, 1); west (ground) at (-4.00, 0.00, 0.00) facing (-1, 0, 0); east (ground) at (4.00, 0.00, 0.00) facing (1, 0, 0). One 8 m ground module with ports on all four edges, so a plot of any size is laid by repeating it against the track and hardstanding modules. Top surface at 0.12 m. Static geometry. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-hardstanding-m-a185ea4c","cdnUrl":"https://cdn.3dassets.dev/assets/37649/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-hardstanding-m-a185ea4c","thumbnailUrl":"https://cdn.3dassets.dev/assets/37649/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37649/v1/poster.webp","blurhash":"UAC%8I%f00WBt7Rjayt700IU~qafM{%LazM{","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":7808,"triangles":128,"vertices":384,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-4,-0.00010070959115467126,-4],"max":[4,0.38453472790525134,4]},"sizeMeters":[8,0.385,8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:37.412Z","updatedAt":"2026-09-12T05:41:37.510Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37649/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HardstandingModuleRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37649/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37649/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37649/v1/model.glb\" alt=\"Hardstanding Module (Radio Telescope Array and Field Station)\" 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/37649/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/37649/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37650","slug":"radio-telescope-array-and-field-station-perimeter-fenc-c5d605cb","title":"Perimeter Fence Run (Radio Telescope Array and Field Station)","summary":"A four metre welded mesh fence panel on its own footings, with top and bottom rails, ported left and right so a perimeter is as long as the plot needs.","description":"A four metre welded mesh fence panel on its own footings, with top and bottom rails, ported left and right so a perimeter is as long as the plot needs. Dimensions 4.26 by 2.10 by 0.36 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: left (fence) at (-2.00, 0.00, 0.00) facing (-1, 0, 0); right (fence) at (2.00, 0.00, 0.00) facing (1, 0, 0). The mesh is modelled solid and never moves, because a rigid node transform cannot make wire sag. Repeat on the four metre module. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-perimeter-fenc-c5d605cb","cdnUrl":"https://cdn.3dassets.dev/assets/37650/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-perimeter-fenc-c5d605cb","thumbnailUrl":"https://cdn.3dassets.dev/assets/37650/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37650/v1/poster.webp","blurhash":"UBDvl^t79Exu%M~qWBM_00j]-=M{M{t7t7of","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":15536,"triangles":288,"vertices":864,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-2.130000114440918,0.0000338742880853643,-0.17993225857638664],"max":[2.130000114440918,2.0999587523284915,0.17993225857638664]},"sizeMeters":[4.26,2.1,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:38.968Z","updatedAt":"2026-09-12T05:41:39.074Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37650/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PerimeterFenceRunRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37650/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37650/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37650/v1/model.glb\" alt=\"Perimeter Fence Run (Radio Telescope Array and Field Station)\" 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/37650/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/37650/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37651","slug":"radio-telescope-array-and-field-station-perimeter-gate-103f6223","title":"Perimeter Gate (Radio Telescope Array and Field Station)","summary":"The vehicle gate in the perimeter fence: two mesh leaves on their own hinge posts under a head rail, each swinging out of the opening on its own node.","description":"The vehicle gate in the perimeter fence: two mesh leaves on their own hinge posts under a head rail, each swinging out of the opening on its own node. Dimensions 4.28 by 2.50 by 0.52 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: gate-left at (-1.84, 0.18, 0.14) m; gate-right at (1.84, 0.18, 0.14) m. Connectors: left (fence) at (-2.00, 0.00, 0.00) facing (-1, 0, 0); right (fence) at (2.00, 0.00, 0.00) facing (1, 0, 0). Both leaves hinge on their outer posts. The mesh is modelled solid. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-perimeter-gate-103f6223","cdnUrl":"https://cdn.3dassets.dev/assets/37651/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-perimeter-gate-103f6223","thumbnailUrl":"https://cdn.3dassets.dev/assets/37651/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37651/v1/poster.webp","blurhash":"U9D,AqNw00Io?v_NIUD%00t7-pROa0-pV@RO","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"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":22508,"triangles":468,"vertices":1404,"meshes":6,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-2.140000104904175,-0.00005432636147835457,-0.21996277820115548],"max":[2.140000104904175,2.499916074098941,0.2999917832462884]},"sizeMeters":[4.28,2.5,0.52],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:40.010Z","updatedAt":"2026-09-12T05:41:40.106Z","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/37651/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 PerimeterGateRadioTelescopeArrayAndFieldStation(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37651/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/37651/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37651/v1/model.glb\" alt=\"Perimeter Gate (Radio Telescope Array and Field Station)\" 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/37651/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/37651/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37652","slug":"radio-telescope-array-and-field-station-cattle-grid-c9451210","title":"Cattle Grid (Radio Telescope Array and Field Station)","summary":"The cattle grid where the track crosses the perimeter line: a sunk pit under a run of steel bars in a concrete surround, with a red marker post at each side.","description":"The cattle grid where the track crosses the perimeter line: a sunk pit under a run of steel bars in a concrete surround, with a red marker post at each side. Dimensions 4.72 by 0.90 by 3.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Bars run across the track, which passes along Z. Static geometry. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-cattle-grid-c9451210","cdnUrl":"https://cdn.3dassets.dev/assets/37652/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-cattle-grid-c9451210","thumbnailUrl":"https://cdn.3dassets.dev/assets/37652/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37652/v1/poster.webp","blurhash":"U6C%23?H00v#o#-;$*E100EL_NODIT4.EM%g","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":13616,"triangles":228,"vertices":684,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-2.359999895095825,-0.000003959324069768844,-1.5000580176808858],"max":[2.359999895095825,0.9000039354822118,1.5000580176808858]},"sizeMeters":[4.72,0.9,3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:39.542Z","updatedAt":"2026-09-12T05:41:39.651Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37652/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CattleGridRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37652/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37652/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37652/v1/model.glb\" alt=\"Cattle Grid (Radio Telescope Array and Field Station)\" 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/37652/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/37652/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37653","slug":"radio-telescope-array-and-field-station-yard-forklift-f2a2f0ca","title":"Yard Forklift (Radio Telescope Array and Field Station)","summary":"The station forklift: a counterbalance truck with a canopy and a two stage mast, whose carriage and forks lift on their own node and whose four wheels roll.","description":"The station forklift: a counterbalance truck with a canopy and a two stage mast, whose carriage and forks lift on their own node and whose four wheels roll. Dimensions 1.60 by 2.92 by 3.87 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: carriage at (0.00, 0.40, 1.14) m; wheel-fl at (-0.66, 0.42, 0.50) m; wheel-rl at (-0.50, 0.32, -1.30) m; wheel-fr at (0.66, 0.42, 0.50) m; wheel-rr at (0.50, 0.32, -1.30) m. The carriage lifts 1.2 m up the mast. Unbranded: no marks, plates or decals appear anywhere on it. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Rigid node-transform clips: open, close and roll. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-yard-forklift-f2a2f0ca","cdnUrl":"https://cdn.3dassets.dev/assets/37653/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-yard-forklift-f2a2f0ca","thumbnailUrl":"https://cdn.3dassets.dev/assets/37653/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37653/v1/poster.webp","blurhash":"U8Bp99cZ00QSK5a0rrS#00#R}[PA^5cEK5wI","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"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":21788,"triangles":364,"vertices":1092,"meshes":8,"materials":3,"textures":0,"animations":["open","close","roll"],"boundingBox":{"min":[-0.7999893262917702,0,-1.6043354228514102],"max":[0.7999893262917702,2.9200000762939453,2.269999995231628]},"sizeMeters":[1.6,2.92,3.874],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:39.526Z","updatedAt":"2026-09-12T05:41:39.634Z","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/37653/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 YardForkliftRadioTelescopeArrayAndFieldStation(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37653/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/37653/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37653/v1/model.glb\" alt=\"Yard Forklift (Radio Telescope Array and Field Station)\" 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/37653/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/37653/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37654","slug":"radio-telescope-array-and-field-station-site-pickup-bo-62ac70f3","title":"Site Pickup (Radio Telescope Array and Field Station)","summary":"The station pickup: a plain double cab body with a dropside bed, a light bar over the cab and four wheels that roll on their own nodes.","description":"The station pickup: a plain double cab body with a dropside bed, a light bar over the cab and four wheels that roll on their own nodes. Dimensions 2.16 by 1.84 by 5.26 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: wheel-fl at (-0.92, 0.44, 1.55) m; wheel-rl at (-0.92, 0.44, -1.70) m; wheel-fr at (0.92, 0.44, 1.55) m; wheel-rr at (0.92, 0.44, -1.70) m. Unbranded: no badge, grille motif, plate or livery is modelled on any face. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Rigid node-transform clips: roll. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-site-pickup-bo-62ac70f3","cdnUrl":"https://cdn.3dassets.dev/assets/37654/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-site-pickup-bo-62ac70f3","thumbnailUrl":"https://cdn.3dassets.dev/assets/37654/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37654/v1/poster.webp","blurhash":"U7D0Dg?v004n^+9FE1j[00D$?b%M0K~q?H%M","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"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":16640,"triangles":396,"vertices":1188,"meshes":10,"materials":4,"textures":0,"animations":["roll"],"boundingBox":{"min":[-1.0800037433131318,2.384185793236071e-9,-2.630000114440918],"max":[1.0800037433131318,1.8399872156041117,2.630022321701428]},"sizeMeters":[2.16,1.84,5.26],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:40.565Z","updatedAt":"2026-09-12T05:41:40.651Z","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/37654/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 SitePickupRadioTelescopeArrayAndFieldStation(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37654/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/37654/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37654/v1/model.glb\" alt=\"Site Pickup (Radio Telescope Array and Field Station)\" 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/37654/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/37654/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37655","slug":"radio-telescope-array-and-field-station-service-ladder-9377ee7c","title":"Service Ladder (Radio Telescope Array and Field Station)","summary":"A three metre aluminium service ladder with rubber feet and hooked top rails, leant against a cabin or a tank while work is going on.","description":"A three metre aluminium service ladder with rubber feet and hooked top rails, leant against a cabin or a tank while work is going on. Dimensions 0.66 by 3.20 by 0.46 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Modelled upright. Static geometry. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-service-ladder-9377ee7c","cdnUrl":"https://cdn.3dassets.dev/assets/37655/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-service-ladder-9377ee7c","thumbnailUrl":"https://cdn.3dassets.dev/assets/37655/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37655/v1/poster.webp","blurhash":"U29jy9~q0000~qt64UIV00D*~q_3-:oeIVRl","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":10440,"triangles":180,"vertices":540,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.33000001311302185,-0.000011904081813739892,-0.21000381384516587],"max":[0.33000001311302185,3.200000047683716,0.24998901892408754]},"sizeMeters":[0.66,3.2,0.46],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:42.215Z","updatedAt":"2026-09-12T05:41:42.326Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37655/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ServiceLadderRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37655/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37655/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37655/v1/model.glb\" alt=\"Service Ladder (Radio Telescope Array and Field Station)\" 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/37655/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/37655/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37656","slug":"radio-telescope-array-and-field-station-ladder-safety--5ec2d6a3","title":"Ladder Safety Cage (Radio Telescope Array and Field Station)","summary":"A caged climbing ladder section: four metres of rungs inside six back hoops on their longitudinal stringers, the fall protection on a mast or a tank stand.","description":"A caged climbing ladder section: four metres of rungs inside six back hoops on their longitudinal stringers, the fall protection on a mast or a tank stand. Dimensions 0.92 by 4.06 by 0.87 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Stands on its own or bolts over the service ladder. Static geometry. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-ladder-safety--5ec2d6a3","cdnUrl":"https://cdn.3dassets.dev/assets/37656/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-ladder-safety--5ec2d6a3","thumbnailUrl":"https://cdn.3dassets.dev/assets/37656/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37656/v1/poster.webp","blurhash":"U69%;mt800M{~qt84nIUD%M{%M%M%MayIUof","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":47160,"triangles":960,"vertices":2880,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.45993590464789746,0,-0.4373851679437172],"max":[0.45993590464789746,4.059999942779541,0.4373851679437172]},"sizeMeters":[0.92,4.06,0.875],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:41.214Z","updatedAt":"2026-09-12T05:41:41.310Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37656/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LadderSafetyCageRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37656/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37656/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37656/v1/model.glb\" alt=\"Ladder Safety Cage (Radio Telescope Array and Field Station)\" 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/37656/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/37656/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37657","slug":"radio-telescope-array-and-field-station-boulder-set-67d38f6f","title":"Boulder Set (Radio Telescope Array and Field Station)","summary":"A group of six weathered boulders sitting low in the ground, for breaking up open steppe between the antennas.","description":"A group of six weathered boulders sitting low in the ground, for breaking up open steppe between the antennas. Dimensions 2.84 by 1.08 by 2.53 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Static geometry. Scatter freely and rotate for variety. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-boulder-set-67d38f6f","cdnUrl":"https://cdn.3dassets.dev/assets/37657/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-boulder-set-67d38f6f","thumbnailUrl":"https://cdn.3dassets.dev/assets/37657/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37657/v1/poster.webp","blurhash":"UABzC3Rj00Rj%MWBM{ay00t7~qoeD$t6-;j]","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":11720,"triangles":222,"vertices":666,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1.5310851335525513,0.000039897905254826505,-0.9741375792729399],"max":[1.304084062576294,1.0799601450100895,1.5595780361401579]},"sizeMeters":[2.835,1.08,2.534],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:42.631Z","updatedAt":"2026-09-12T05:41:42.739Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37657/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BoulderSetRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37657/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37657/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37657/v1/model.glb\" alt=\"Boulder Set (Radio Telescope Array and Field Station)\" 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/37657/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/37657/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37658","slug":"radio-telescope-array-and-field-station-scrub-clump-280b15bf","title":"Scrub Clump (Radio Telescope Array and Field Station)","summary":"A clump of dry steppe scrub: four bushes of different sizes with stalks standing round them, the ground cover of the plot between the dishes.","description":"A clump of dry steppe scrub: four bushes of different sizes with stalks standing round them, the ground cover of the plot between the dishes. Dimensions 1.59 by 0.73 by 1.60 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Static geometry. Scatter and rotate for variety. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-scrub-clump-280b15bf","cdnUrl":"https://cdn.3dassets.dev/assets/37658/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-scrub-clump-280b15bf","thumbnailUrl":"https://cdn.3dassets.dev/assets/37658/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37658/v1/poster.webp","blurhash":"U8AwO|?b00ovDkWB%LRk00Dj~oWB?txuM|t6","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":24880,"triangles":496,"vertices":1488,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.7030325822515577,0.000012729952819701129,-0.8096484541893005],"max":[0.8840325765295118,0.7325905815858766,0.7875555157661438]},"sizeMeters":[1.587,0.733,1.597],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:42.122Z","updatedAt":"2026-09-12T05:41:42.230Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37658/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ScrubClumpRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37658/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37658/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37658/v1/model.glb\" alt=\"Scrub Clump (Radio Telescope Array and Field Station)\" 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/37658/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/37658/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37659","slug":"radio-telescope-array-and-field-station-survey-marker-93e326d6","title":"Survey Marker (Radio Telescope Array and Field Station)","summary":"A survey marker post: a small concrete footing, a steel post with a blank red plate and the levelling disc on top.","description":"A survey marker post: a small concrete footing, a steel post with a blank red plate and the levelling disc on top. Dimensions 0.50 by 1.34 by 0.50 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The plate is blank: no number, name or code is modelled. Static geometry. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-survey-marker-93e326d6","cdnUrl":"https://cdn.3dassets.dev/assets/37659/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-survey-marker-93e326d6","thumbnailUrl":"https://cdn.3dassets.dev/assets/37659/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37659/v1/poster.webp","blurhash":"U7BC}k-p00564TaK*JXm%gkCRPayBoR*;N$*","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":7316,"triangles":96,"vertices":288,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.25,6.090290850108149e-7,-0.25],"max":[0.25,1.340000033378601,0.25]},"sizeMeters":[0.5,1.34,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:42.824Z","updatedAt":"2026-09-12T05:41:42.915Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37659/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SurveyMarkerRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37659/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37659/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37659/v1/model.glb\" alt=\"Survey Marker (Radio Telescope Array and Field Station)\" 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/37659/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/37659/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37660","slug":"radio-telescope-array-and-field-station-windsock-mast-7aa99407","title":"Windsock Mast (Radio Telescope Array and Field Station)","summary":"A four metre windsock mast with the sock flying from its hoop, the wind reference for a remote plot and its helicopter pad.","description":"A four metre windsock mast with the sock flying from its hoop, the wind reference for a remote plot and its helicopter pad. Dimensions 2.98 by 4.63 by 0.80 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The sock is modelled solid and does not move: fabric needs a joint per element or a shader, and neither is reachable with one rigid node transform. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-windsock-mast-7aa99407","cdnUrl":"https://cdn.3dassets.dev/assets/37660/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-windsock-mast-7aa99407","thumbnailUrl":"https://cdn.3dassets.dev/assets/37660/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37660/v1/poster.webp","blurhash":"U58|*G?b004T~W9G0K~Wi_R*NaxaEK?b-p4n","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":13680,"triangles":212,"vertices":636,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.4000000059604645,0.0000170873853289899,-0.4000000059604645],"max":[2.5800117329383756,4.630000114440918,0.4000000059604645]},"sizeMeters":[2.98,4.63,0.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:44.756Z","updatedAt":"2026-09-12T05:41:44.849Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37660/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WindsockMastRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37660/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37660/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37660/v1/model.glb\" alt=\"Windsock Mast (Radio Telescope Array and Field Station)\" 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/37660/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/37660/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37661","slug":"radio-telescope-array-and-field-station-floodlight-mas-a35ae3a2","title":"Floodlight Mast (Radio Telescope Array and Field Station)","summary":"A six metre floodlight mast carrying three tilted lamp heads on a crossarm, with the control box at the foot, for lighting the yard on a night shift.","description":"A six metre floodlight mast carrying three tilted lamp heads on a crossarm, with the control box at the foot, for lighting the yard on a night shift. Dimensions 1.70 by 6.66 by 1.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Static geometry: the heads are set on the crossarm and no light source is included. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-floodlight-mas-a35ae3a2","cdnUrl":"https://cdn.3dassets.dev/assets/37661/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-floodlight-mas-a35ae3a2","thumbnailUrl":"https://cdn.3dassets.dev/assets/37661/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37661/v1/poster.webp","blurhash":"U27BG%-;000000oL~qS1~qs;4UNF9Fj]?bW,","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":13900,"triangles":224,"vertices":672,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.8499892247997598,0.0000012180581700216297,-0.5],"max":[0.8499892247997598,6.656650066375732,0.5]},"sizeMeters":[1.7,6.657,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:43.810Z","updatedAt":"2026-09-12T05:41:43.902Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37661/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FloodlightMastRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37661/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37661/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37661/v1/model.glb\" alt=\"Floodlight Mast (Radio Telescope Array and Field Station)\" 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/37661/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/37661/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37662","slug":"radio-telescope-array-and-field-station-warning-sign-4ba75014","title":"Warning Sign (Radio Telescope Array and Field Station)","summary":"A freestanding warning sign at the station boundary: a red bordered board with a blank face on a braced post and a small footing.","description":"A freestanding warning sign at the station boundary: a red bordered board with a blank face on a braced post and a small footing. Dimensions 1.16 by 2.20 by 0.50 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The face is deliberately blank: no words, pictogram or symbol is modelled anywhere on it. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-warning-sign-4ba75014","cdnUrl":"https://cdn.3dassets.dev/assets/37662/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-warning-sign-4ba75014","thumbnailUrl":"https://cdn.3dassets.dev/assets/37662/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37662/v1/poster.webp","blurhash":"U9CZIm.8004T~B%M9uDir=xaXTIo4nV@?bgN","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":7448,"triangles":100,"vertices":300,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.5799999833106995,0,-0.25],"max":[0.5799999833106995,2.202841294020261,0.25]},"sizeMeters":[1.16,2.203,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:44.239Z","updatedAt":"2026-09-12T05:41:44.346Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37662/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WarningSignRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37662/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37662/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37662/v1/model.glb\" alt=\"Warning Sign (Radio Telescope Array and Field Station)\" 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/37662/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/37662/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37663","slug":"radio-telescope-array-and-field-station-visitor-board-b197e762","title":"Visitor Information Board (Radio Telescope Array and Field Station)","summary":"The information board at the station entrance: a wide panel on two posts under a weather hood, with blank inset panels where a site plan and notices would be fixed.","description":"The information board at the station entrance: a wide panel on two posts under a weather hood, with blank inset panels where a site plan and notices would be fixed. Dimensions 2.60 by 2.56 by 1.02 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Every panel face is blank: no text, diagram, map or mark is modelled on it. Radio array low-poly palette: antenna white, concrete grey, galvanised steel, charcoal, pale and dark steppe earth, dry scrub and safety red. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station-visitor-board-b197e762","cdnUrl":"https://cdn.3dassets.dev/assets/37663/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station-visitor-board-b197e762","thumbnailUrl":"https://cdn.3dassets.dev/assets/37663/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37663/v1/poster.webp","blurhash":"U7FY$2~q004ofj?bM{4n00M{?bV@4o-;_3D$","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":9064,"triangles":132,"vertices":396,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.2999999523162842,0.000019233537723650773,-0.5663750251831234],"max":[1.2999999523162842,2.5599469039375995,0.44994352425363865]},"sizeMeters":[2.6,2.56,1.016],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:45.490Z","updatedAt":"2026-09-12T05:41:45.593Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37663/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VisitorInformationBoardRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37663/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37663/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37663/v1/model.glb\" alt=\"Visitor Information Board (Radio Telescope Array and Field Station)\" 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/37663/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/37663/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37664","slug":"radio-telescope-array-and-field-station--1bf3c212-starter-scene","title":"Steppe Field Station (Radio Telescope Array and Field Station)","summary":"A radio astronomy field station laid on its own ground: a nine metre dish, a six metre dish and a three metre dish across the back of the plot at three different pointings, a fourth mount going up on its traverse rails beside them with the pedestal, counterweight and feed...","description":"A radio astronomy field station laid on its own ground: a nine metre dish, a six metre dish and a three metre dish across the back of the plot at three different pointings, a fourth mount going up on its traverse rails beside them with the pedestal, counterweight and feed assembly waiting on the ground, and a horn, a log periodic boom, a dipole panel and a guyed mast in the field between. An open cable trench runs back from the dishes to the junction pit and the correlator. The cabin row faces the yard: the open fronted control room with its desk of blank screens and a signal rack, the correlator cabin, the site office, the mess and the bunk cabin, with the compressor, generator, fuel tank, battery shed and solar array behind them. The yard holds the water tank, the forklift, two pickups, crates, floodlights and the weather instruments, and the track comes in over the cattle grid through the vehicle gate in the perimeter fence. Scrub, boulders and survey markers dress the open steppe out to the fence line.","status":"published","url":"https://3dassets.dev/assets/radio-telescope-array-and-field-station--1bf3c212-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/37664/v1/model.glb","downloadUrl":"https://3dassets.dev/download/radio-telescope-array-and-field-station--1bf3c212-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/37664/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37664/v1/poster.webp","blurhash":"U8D07Kx]00Rl9GxuxaNG00IU~qt6~pD*ayxu","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":814312,"triangles":18878,"vertices":43235,"meshes":255,"materials":8,"textures":0,"animations":[],"boundingBox":{"min":[-32,-0.00010070959115467126,-24],"max":[32,11.529083491577513,24.001200199127197]},"sizeMeters":[64,11.529,48.001],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:46.983Z","updatedAt":"2026-09-12T05:41:47.076Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37664/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SteppeFieldStationRadioTelescopeArrayAndFieldStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37664/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37664/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37664/v1/model.glb\" alt=\"Steppe Field Station (Radio Telescope Array and Field Station)\" 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/37664/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/37664/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":{"slug":"radio-telescope-array-and-field-station","title":"Radio Telescope Array and Field Station","url":"https://3dassets.dev/demos/radio-telescope-array-and-field-station"}}}