# Parametric Couch Tray — Print & Customization Guide
A tray that clips over the back of your couch — no hardware, no adhesive. Two grip panels straddle the backrest and hold everything in place by friction. The flat surface with raised lip keeps your phone, remote, drink, or snacks within reach.
Every dimension is adjustable. This guide walks you through getting a perfect fit on your specific couch.
---
## Before You Start: The One Measurement You Need
Grab a ruler or tape measure and measure the **thickness of your couch backrest** — straight through the top, from front to back.
Write that number down in millimeters. Everything else has sensible defaults.
> [!tip] Caliper = Better Fit
> If you have a digital caliper, use it. The slot that holds the tray is sized directly from your measurement, so accuracy here pays off. When in doubt, round up by 2–3 mm — a slightly loose fit is more useful than one that won't go on.
---
## How to Customize
Open the model on MakerWorld and click **Customize**. The parameters are grouped into sections in the panel on the left. The 3D preview updates as you make changes.
### 1. Couch Fit — Start Here
| Parameter | What to Enter | Notes |
|---|---|---|
| **Couch Thickness** | Your measurement in mm | The slot between the grip panels — this must match your couch |
| **Grip Depth** | 50–75 mm for most couches | How far the panels hang down each side. Deeper = more secure but harder to remove |
| **Tolerance** | 2 mm (default) | Extra clearance added to the slot. Increase to 3–4 mm if you expect a snug print or have a firm backrest |
**Fit guide by couch type:**
| Couch Type | Couch Thickness (typical) | Recommended Grip Depth | Recommended Tolerance |
|---|---|---|---|
| Thin / firm backrest | < 80 mm | 50 mm | 2 mm |
| Standard sofa | 80–150 mm | 75 mm | 2 mm |
| Thick / overstuffed | > 150 mm | 100 mm | 3 mm |
---
### 2. Tray Size
| Parameter | Default | Range | Description |
|---|---|---|---|
| **Tray Width** | 300 mm | 20–700 mm | Left-to-right size of the surface |
| **Tray Depth** | 200 mm | 20–500 mm | Front-to-back size of the surface |
| **Lip Height** | 20 mm | 5–80 mm | Height of the raised walls around the edge — set to 5 mm minimum for a low profile, or 25–30 mm to corral taller items |
A 300 × 200 mm surface comfortably fits a phone, a TV remote, and a small drink. Go wider if you want more room or are placing the tray on a sectional with extra space.
---
### 3. Wall Thicknesses (Optional)
These all default to **3 mm** and work well for most prints at standard sizes. You generally only need to change these if the tray is very large or you want to save material.
| Parameter | Default | When to Increase |
|---|---|---|
| **Floor Wall** | 3 mm | Heavy items (mugs, tablets) or very wide trays |
| **Lip Wall** | 3 mm | Taller lip heights (> 30 mm) |
| **Grip Wall** | 3 mm | Deep grip panels (> 100 mm) or heavy-use trays |
---
### 4. Rounded Corners & Fillets (Optional)
These control the shape of edges and corners. All defaults produce a clean, functional tray — adjust for aesthetics or if you want extra reinforcement.
| Option | Default | What It Does |
|---|---|---|
| **Rounded Grip Corners** | On, 10 mm | Rounds the bottom edges of the grip panels so they don't catch on fabric |
| **Lip Outside Fillets** | On, 8 mm | Rounds the outer corners of the raised lip — softer appearance |
| **Lip Inside Fillets** | Off | Adds concave curves to the inner lip corners — easier to clean |
| **Grip Panel Fillets** | On, 8 mm | Reinforces the joint where grip panels meet the tray floor — leave this on |
---
### 5. Gridfinity Base (Optional)
If you use the Gridfinity storage system, enable this to add a Gridfinity baseplate pattern to the tray floor. Set **gf_cols** and **gf_rows** to control the grid size — the tray dimensions will automatically match the grid.
Leave this off if you don't use Gridfinity organizers.
---
## Print Settings
**Orientation:** Print on its side with one of the long faces flat on the bed. The grip panels lay flat against the build plate and the tray width runs vertically. This mostly avoids supports and gives the best surface finish on the tray floor.
| Setting | Recommendation |
| ------------ | ------------------------------------------------------ |
| Layer height | 0.2 mm |
| Infill | 15–20% |
| Walls | 3–4 perimeters |
| Supports | tree (auto) |
| Material | PLA works well; PETG if the tray will hold warm drinks |
> [!warning] Large Trays Take Time
> A 300 × 200 mm tray at 3 walls and 15% infill takes roughly 6–8 hours. Consider splitting prints across sizes if you want to test the fit first with a smaller version.
---
## Troubleshooting Fit
**Tray is too tight / won't slide onto the couch**
Reprint with `tolerance` increased by 2 mm. Most printers run slightly tight on enclosed slots.
**Tray is too loose / slides off**
Reduce `tolerance` by 1 mm, or increase `grip_depth` by 10–15 mm to add more gripping surface.
**Tray rocks or tilts**
Your couch back may be tapered. Increase `grip_depth` so the panels reach below the taper, or add tolerance so it seats fully.
**Lip is too short / items fall off**
Increase `lip_height`. 25–30 mm is a good height for phones and remotes. 40+ mm if you want to corral a full drink.
---
## Dimensions Reference
All inputs are in **millimeters (mm)**. To convert from inches: multiply by 25.4.
| Measurement | mm | Approx. inches |
|---|---|---|
| 100 mm | 100 | ~4" |
| 150 mm | 150 | ~6" |
| 200 mm | 200 | ~8" |
| 250 mm | 250 | ~10" |
| 300 mm | 300 | ~12" |
---
## Credits
The optional Gridfinity baseplate feature is powered by the **[gridfinity_extended_openscad](https://github.com/ostat/gridfinity_extended_openscad)** library by **ostat** — an extended OpenSCAD implementation of Zack Freedman's [Gridfinity](https://gridfinity.xyz) storage system. Licensed under GPL-3.0.