Skip to main content
Glama
AstroQuestStudio

catia-v5-mcp

catia_offset_constraint

Creates an offset constraint between two planar faces/planes, setting a signed distance in mm (0 = touching).

Instructions

Offset (Décalage) between two planar faces/planes: signed distance in mm (0 = touching).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoExplicit name for the offset constraint in the tree (recommended).
offsetYesDistance in mm.
element1YesGeometry of the component, in the component's OWN part coordinates (mm): {'face_point': [x,y,z]} a point inside a face; {'axis_point': [x,y,z]} a point on a cylindrical/conical face, meaning its AXIS; {'edge_point': [x,y,z]}; or {'plane': 'xy'|'yz'|'zx'} one of the component's origin planes. Use catia_list_faces on the part to find points, radii and axes.
element2YesGeometry of the component, in the component's OWN part coordinates (mm): {'face_point': [x,y,z]} a point inside a face; {'axis_point': [x,y,z]} a point on a cylindrical/conical face, meaning its AXIS; {'edge_point': [x,y,z]}; or {'plane': 'xy'|'yz'|'zx'} one of the component's origin planes. Use catia_list_faces on the part to find points, radii and axes.
component1YesInstance name (e.g. 'Engine.1'), or a path 'Sub.1/Part.1' for a sub-assembly child.
component2YesSecond instance name or path.
orientationNoNormals same or opposite direction (optional).
defer_updateNoSkip the solve after this constraint (default false). Each solve re-computes EVERY constraint, so its cost grows with the assembly: in a long sequence defer all but the last, then check with catia_update_assembly. The status is NOT evaluated when deferred.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare non-readonly, non-destructive, non-idempotent behavior, so the safety profile is covered. The description adds only the signed-distance semantics (0 = touching), which is useful but narrow; it does not disclose that the constraint is added to the tree or that a solve is triggered (the latter is carried by the defer_update parameter description).

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?

One tightly written sentence with the key qualifier (signed, mm, 0 = touching) front-loaded and no filler. It is efficient, though the terseness comes at some cost to guidance.

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

Completeness3/5

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

For a mutation tool with 8 parameters, nested geometry objects, and no output schema, the definition is adequate because the schema does heavy lifting for parameters. It still omits when to choose it over the sibling constraints and what happens to the assembly/tree after creation, leaving gaps for an agent working in a dense constraint family.

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

Parameters3/5

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

Schema description coverage is 100%, so the parameters are fully documented in the schema (including element geometry, component paths, and defer_update solve cost). The description's 'signed distance in mm (0 = touching)' adds sign/zero semantics for offset but nothing beyond that. Baseline 3 is appropriate.

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?

States a specific verb (offset constraint) and the resources involved (two planar faces/planes) plus units, so the agent knows what is created. It does not, however, distinguish itself from the sibling constraint tools (catia_coincidence_constraint, catia_contact_constraint, catia_angle_constraint), which is the only thing keeping it from 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 Guidelines2/5

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

There is no statement of when to use this tool rather than the other assembly-constraint siblings. The parenthetical '(0 = touching)' hints at the contact-constraint boundary but never names it or explains the selection condition, so the agent must infer usage entirely.

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