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

  1. Add the MCP endpoint (https://caliper.fit/mcp/) to your agent’s tool configuration
  2. Define your QA rules as structured checks against the metadata fields
  3. Wire up your file intake (S3 bucket, shared drive, API upload) to trigger the agent
  4. 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