Skip to main content
Glama
U-C4N
by U-C4N

Mechanical: Dimension Part

mech_dimension_part

Dimensions a part and its features without overlaps, chaining axial lengths, stacking diameters, and adding radii. Resolves ISO 286 fits and skips views already dimensioned.

Instructions

Every dimension the part and its features ask for, laid out without overlaps.

Axial lengths are chained, stacked from a baseline or measured from an origin; diameters stack outside the silhouette; fillets get a radius. Each measurement appears once (ISO 129-1): every view record carries a dimensioned flag, so after a mech_part_draw that dimensioned the front view and a mech_view_add, this call dimensions only the new view, and views naming a view already dimensioned is refused by name. fits resolves an ISO 286 code against the measured nominal through the repository's authored tables and appends the code to the dimension text; an explicit tol on a feature's own intent does the same through the ISO 129 path.

Refused by name: a fit together with an explicit tolerance, a fit outside the authored ISO 286 range (over 1 mm to 500 mm, IT4-IT11), a fit on an intent with no measurable nominal, an unknown style, an unknown part_id, a call when every view is already dimensioned (the message lists them), and part_id=None on a drawing that holds more than one part. An angular intent is reported in skipped rather than drawn, because a DimIntent carries no vertex.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fitsNoISO 286 fit per feature id, e.g. {'bearing_seat': 'k6', 'bore': 'H7'}
styleNoAxial dimension style: chain | baseline | ordinatechain
viewsNoView indices to dimension, in mech_part_inspect order (default: every view not yet dimensioned)
part_idNoAnchor handle from mech_part_draw; omit if the drawing holds one part
hole_table_thresholdNoAbove this many holes the diameters move into a hole table

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.6.0

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only carry destructiveHint=false, so the description carries the weight and does so richly: ISO 129-1 single-appearance rule, per-view `dimensioned` flag, hole-table threshold behavior, `fits` resolution against authored ISO 286 tables, and the explicit `skipped` behavior for angular intents. The enumerated refusal list (over 1-500 mm / IT4-IT11 range, unknown style, unknown part_id, ambiguous part_id=None) is exactly the behavioral disclosure an agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Long but dense and mostly front-loaded, opening with the purpose before moving into rules and refusals. The refusal catalog is a single efficient paragraph with no filler, though the piece overall is heavier than it needs to be for a five-parameter call.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation; the description instead covers what the agent must know before calling: when it runs, what gets skipped, what causes refusal by name, and how fits/tolerances resolve. Nothing material is missing for a mechanical dimensioning tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning beyond the schema: `fits` resolves an ISO 286 code against the measured nominal and appends the code to dimension text, an explicit `tol` follows the ISO 129 path, and `part_id=None` is refused only when the drawing holds more than one part. These operational semantics go past the field docs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource and action: dimensioning every dimension a mechanical part and its features require, using the part's own DimIntent records. That intent-driven, part-scoped behavior implicitly separates it from the generic dimension_linear/dimension_aligned siblings. It stops short of naming an alternative explicitly, so it lands just below a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete sequencing guidance: after a mech_part_draw that dimensioned the front view plus a mech_view_add, this call dimensions only the new view, and it refuses a `views` entry already dimensioned. It also spells out the boundary cases (fit + explicit tol, out-of-range fit, already-fully-dimensioned call). No sibling tool is named as an alternative, so it is strong but not complete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools