# Suggested MIMO bodies

These are three actual hollow body meshes derived from the supplied MIMO body, plus an unchanged original for comparison. The new shapes are geometry, including the Fluted ribs. They are not color presets.

| Body | STL | Width × depth × height in mm | Shape |
| --- | --- | --- | --- |
| Original | `original_body.stl` | 114 × 100 × 84.01 | Byte-identical supplied body |
| Pebble | `pebble_body.stl` | 136.80 × 114 × 84.01 | Wider rounded middle |
| Taper | `taper_body.stl` | 114 × 100 × 84.01 | Lower wall narrows below the original upper shell |
| Fluted | `fluted_body.stl` | 119.60 × 100 × 84.01 | Twelve vertical ribs and a shallower lower shell |

## Coordinates and assembly

All files use millimeters and the original centered coordinate frame. The original body vertical direction is **Z**. The minimum Z is **-42.004997 mm**, the maximum Z is **42.004997 mm**, and the neck opening faces **+Z**. The files intentionally retain this coordinate frame so all four bodies use the same assembly position and rotation in the website.

To print, keep the neck opening facing up and use the slicer's **drop to bed** or **place on bed** operation. An equivalent translation adds **42.004997 mm to Z**, without rotation or scaling. The original bottom contact region and its recesses are retained. STL does not store a unit tag, so import at millimeter scale and compare the dimensions above.

The complete upper region at source **Z ≥ 26 mm** is undeformed. Original vertices in that region remain exactly equal after float32 STL export. This preserves the supplied neck opening and upper engagement geometry. The source region at **Z ≤ -37.8 mm** is also undeformed, preserving the bottom plane and footprint. Dense coplanar subdivision changes the tessellation of protected surfaces while keeping their source shape.

## Printing and fit

These files are printable concept meshes, **not physically validated replacement enclosures**. No electronics, neck plate, fasteners, cables, or real print have been fit-tested. Original hollow space, ports, vents, and mounting features remain connected in the mesh. Side features within the shaped middle move with the shell, so their positions and dimensions need review before installing electronics. The unchanged upper connection is a geometric preservation check, not a physical clearance guarantee.

An initial prototype profile can use a 0.4 mm nozzle, 0.2 mm layers and 3 or 4 perimeters in PLA or PETG. Inspect the sliced result before printing. The lower curves are gradual, and the Fluted ribs are vertical to avoid separate floating pieces. Internal ledges, vent roofs and original cutouts may require localized supports. Choose supports based on the slicer preview and your printer; supports inside the cavity must remain accessible for removal. Print a short upper connection test section first if the neck fit matters.

The three variants are smaller than a 256 × 256 mm print bed. Additional brim or raft space still needs to fit the printer's usable area.

## Mesh checks

`checks.json` contains checks of the **actual exported binary STL**, after welding exact duplicate coordinates:

- All three variants are one connected mesh, with zero boundary edges, zero nonmanifold edges and consistent winding.
- All three have positive signed volume and no zero-area facets under the documented tolerance.
- Every source upper-interface vertex is preserved exactly. Z and the protected contact region do not deform.
- The unchanged original is closed and oriented, but contains three inherited near-zero-area facets. New variants collapse only their three shortest micro edges, all under **0.000006 mm**, and remove six incident sliver faces. This does not alter the upper interface. The original file is never repaired or modified.
- Float32 export can collapse extra microscopic faces after refinement. Those faces are removed and the final closed-manifold checks run again.

### Wall assessment

The mid-body wall estimate uses 24 radial rays at each of Z=-25, -10 and 5 mm, measuring the first two distinct surfaces. Rays crossing an opening into the cavity are excluded. These are practical wall samples, not a global thickness certificate.

| Body | Sampled minimum side wall | Sampled median side wall |
| --- | --- | --- |
| Original | 2.39 mm | 2.43 mm |
| Pebble | 2.54 mm | 2.75 mm |
| Taper | 2.11 mm | 2.24 mm |
| Fluted | 2.17 mm | 2.38 mm |

The separate 768 inward-normal ray samples cover both shell walls and smaller internal details. Their median values are around 5.7 to 6.0 mm, but some local ray distances are below 0.2 mm. These distances can occur at narrow tips, edges or small features and are not a guaranteed global wall minimum. **They are a reason to check thin-feature handling in the slicer**, rather than proof that every detail will print with a 0.4 mm nozzle. The tests do not certify absence of every possible self-intersection, print strength, overhang success or manufacturing tolerance.

## Reproduce and inspect

`generate_bodies.py` requires Python 3.10+ and NumPy. Pillow is optional for `body_concepts.png`. The original copy in this directory is the default input, so this folder is self-contained.

```powershell
python generate_bodies.py
```

For a faster geometry and check run without the preview:

```powershell
python generate_bodies.py --no-preview
```

Outputs are deterministic STL files, `bodies.json`, `checks.json` and the optional depth-buffered geometry contact sheet. The source SHA-256 is recorded in the checks. No Bambu slicer metadata or proprietary source settings are included.
