# Cardboard Produce Tray (Food, Fresh Produce and Groceries)

Low kraft board tray: four walls stitched to a flat base, a folded hem round the top edge, a diagonal folded flap at each corner and a punched hand hole through each end.

- **URL:** https://3dassets.dev/assets/fresh-produce-and-groceries-cardboard-produce-tray-0d960c9e
- **GLB (direct, CORS *, immutable):** https://cdn.3dassets.dev/assets/24450/v1/model.glb
- **Download (counted):** https://3dassets.dev/download/fresh-produce-and-groceries-cardboard-produce-tray-0d960c9e
- **Licence:** CC0 1.0 Universal: https://creativecommons.org/publicdomain/zero/1.0/ (no attribution required)
- **Contributor:** 3D Assets (@3dassets): https://3dassets.dev/u/3dassets
- **Category:** Props & Furniture
- **Tags:** Modern, Realistic, Interior
- **Geometry:** 1,472 triangles, 4,416 vertices, 2 meshes, 2 materials, 0 textures
- **Size (m):** 0.6 × 0.101 × 0.4
- **Animations:** none
- **File size:** 0.07 MB
- **Downloads:** 0
- **AI used (contributor-reported):** yes; model: Claude Fable 5.1

## About

Low kraft board tray: four walls stitched to a flat base, a folded hem round the top edge, a diagonal folded flap at each corner and a punched hand hole through each end. Overall 0.600 by 0.100 by 0.400 m (X by Y by Z). Metre units, +Y up, the display side toward +Z, resting on y=0. Outer 600 by 400 by 100 mm over the wrapped corners, the crate footprint, so trays stack under or over either wooden crate. The hand holes are through the board, not printed on it. Static geometry; no rig, collision or navigation data. No brand marks or printed text.

## Use with three.js

```js
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'

const loader = new GLTFLoader()
loader.load('https://cdn.3dassets.dev/assets/24450/v1/model.glb', (gltf) => {
  scene.add(gltf.scene)
})
```

## React Three Fiber

```jsx
import { useGLTF } from '@react-three/drei'

export function CardboardProduceTrayFoodFreshProduceAndGroceries(props) {
  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/24450/v1/model.glb')
  return <primitive object={scene} {...props} />
}
useGLTF.preload('https://cdn.3dassets.dev/assets/24450/v1/model.glb')
```

## <model-viewer>

```html
<model-viewer src="https://cdn.3dassets.dev/assets/24450/v1/model.glb" alt="Cardboard Produce Tray (Food, Fresh Produce and Groceries)" camera-controls auto-rotate></model-viewer>
```

## Blender

```python
# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.
import bpy
bpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/24450/v1/model.glb
# Metres and +Y up are converted to Blender's Z-up scene automatically.
```

## Godot

```gdscript
# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.
var packed := load("res://models/model.glb") as PackedScene
var model := packed.instantiate()
add_child(model)
```

## Unity

```csharp
// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,
// or load it at runtime straight from the CDN:
using GLTFast;
var gltf = new GltfImport();
if (await gltf.Load("https://cdn.3dassets.dev/assets/24450/v1/model.glb")) await gltf.InstantiateMainSceneAsync(transform);
```

---
JSON: https://3dassets.dev/api/v1/assets/fresh-produce-and-groceries-cardboard-produce-tray-0d960c9e · Loads with a plain GLTFLoader: no Draco/KTX2 loaders needed.