Use Case: Automated Manufacturing QA with Caliper
Manufacturing teams deal with thousands of 3D files — from suppliers, internal design teams, and legacy archives. Every file that enters a production pipeline needs to pass basic quality checks before it touches a slicer, CNC toolpath generator, or inspection system.
These checks are repetitive, well-defined, and exactly the kind of work AI agents can automate. Caliper gives agents the geometry metadata they need to do it.
The problem
A typical manufacturing QA workflow catches issues like:
- Non-manifold meshes — files with holes, self-intersections, or inconsistent normals that will fail in slicing software
- Unexpected dimensions — a part that should be 50mm tall arrives as 50m tall (unit confusion is endemic in STL files, which have no unit metadata)
- Excessive poly counts — a scanned mesh with 10 million triangles when the downstream process expects under 500K
- Wrong file format — a supplier sends a glTF when the pipeline expects STL
- Missing geometry — a file that loads but contains zero triangles or degenerate faces
Today, an engineer opens each file in a viewer, eyeballs the stats, and flags problems manually. Or a brittle script runs trimesh locally with hardcoded thresholds. When it breaks, nobody notices until bad parts are in production.
How Caliper helps
An agent-driven QA pipeline with Caliper works like this:
Step 1: Detect format
curl -X POST https://caliper.fit/tools/caliper_detect_format \
-H "Content-Type: application/json" \
-d '{"file_url": "https://your-bucket.s3.amazonaws.com/parts/bracket-v3.stl"}'
This is free — no payment required. The agent confirms the file is actually STL before spending on full analysis.
Step 2: Extract metadata
curl -X POST https://caliper.fit/tools/caliper_stl_stats \
-H "Content-Type: application/json" \
-d '{"file_url": "https://your-bucket.s3.amazonaws.com/parts/bracket-v3.stl"}'
The response includes:
- Triangle and vertex counts
- Bounding box (min/max coordinates in all axes)
- Surface area and volume
- Manifold status and watertight check
Step 3: Agent applies rules
The agent checks the metadata against QA rules:
IF NOT watertight → flag "mesh not watertight, will fail slicer"
IF bounding_box.z_max > 500 → flag "height exceeds build volume"
IF triangle_count > 1_000_000 → flag "mesh needs decimation"
IF volume <= 0 → flag "degenerate geometry or inverted normals"
Step 4: Route the result
- Pass → file moves to the next pipeline stage
- Fail → agent creates a ticket with the specific failure reason, attaches the metadata, routes to the engineer who owns that part
Batch processing
For incoming batches (daily supplier uploads, scan-to-print workflows), the agent uses caliper_batch_stats to analyze up to 10 files per request:
curl -X POST https://caliper.fit/tools/caliper_batch_stats \
-H "Content-Type: application/json" \
-d '{"file_urls": ["url1", "url2", "url3", "url4", "url5"]}'
A single agent can triage hundreds of files per hour without human intervention.
Why not run trimesh locally?
You can. trimesh is an excellent library. But for this use case:
- No native dependencies in your agent — Caliper is an HTTP call, not a C++ install
- Format detection is free — catch “wrong format” errors before paying for analysis
- Consistent metadata schema — same JSON structure across STL, OBJ, PLY, glTF
- No maintenance — no version pins, no platform-specific builds, no “it works on my machine”
For more on this tradeoff, see Caliper vs trimesh/Open3D.
Getting started
- Add the MCP endpoint (
https://caliper.fit/mcp/) to your agent’s tool configuration - Define your QA rules as structured checks against the metadata fields
- Wire up your file intake (S3 bucket, shared drive, API upload) to trigger the agent
- Start with
caliper_detect_format(free) for format validation, add full analysis for files that pass
Guides: Getting Started with MCP | Getting Started with REST | Agent Integration Tutorial