Skip to main content
Glama
hellstein-dev

fusion-mcp

sketch_dimension

Add driving or driven sketch dimensions in one all-or-nothing call to make sizes exact and parametric, with numeric values, expressions, and named parameters.

Instructions

Add driving or driven dimensions in order, all or nothing — this is how sizes become exact and parametric.

value: a number is mm (degrees for angular) -> "25 mm"; a string is a Fusion expression kept as is ("plate_w * 0.6", "wall + 2 mm"); invalid expressions fail with INVALID_PARAMS before anything is created. parameter_name renames the dimension's parameter so later dimensions (in this call too) and parameter_update can use it. driven=true makes a reference dimension that only measures (no value). Types: distance (line, or point1 + point2; orientation aligned|horizontal|vertical) | offset (line, entity: parallel line or point) | radial / diameter (curve) | angular (line1, line2; text_at picks the measured quadrant) | ellipse_major / ellipse_minor (ellipse).

Returns {"dimensions": [{ref, type, value, unit, expression, parameter, driving}], "status", "profiles"}.

Example: sketch_dimension(sketch=, dimensions=[{"type": "distance", "line": , "value": 100, "parameter_name": "plate_w"}, {"type": "radial", "curve": , "value": "plate_w / 20"}]).

Input Schema

NameRequiredDescriptionDefault
unitsNoUnit of numeric `text_at`mm
sketchYesSketch ref (from sketch_create)
dimensionsYes
return_profilesNoAdd the current profiles to the result (false = faster)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses atomicity ('all or nothing', 'invalid expressions fail with INVALID_PARAMS before anything is created'), ordering ('in order'), and inter-parameter side effects (`parameter_name` is reusable by later dimensions in the same call and by `parameter_update`). It omits permission/context requirements and what state the sketch is left in on non-expression failures.

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?

It is front-loaded with purpose and the atomicity contract, then moves through value/parameter_name/driven semantics, then the type table, then the return shape, then a worked example. Some lines restate schema descriptions verbatim (e.g., the `value` mm/deg wording), which is mild redundancy but the density is otherwise justified.

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?

There is no output schema, and the description compensates by spelling out the returned `dimensions` fields, `status`, and `profiles`. Combined with the atomicity guarantee, the value/expression rules, and a concrete multi-dimension example, an agent has enough to invoke this correctly on the first try.

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 75%, so much of the parameter meaning is already structured, but the description adds real value: it maps each `type` to its required entity arguments (distance line vs point1+point2, offset entity, angular line1/line2, ellipse), explains that degrees apply to angular, and clarifies what `text_at` does for angular ('picks the measured quadrant').

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 opening sentence gives a specific verb and resource ('Add driving or driven dimensions') plus a distinguishing behavioral trait ('all or nothing'), and frames the outcome ('sizes become exact and parametric'). It never mentions the close sibling `sketch_dimension_set`, so an agent still has to infer which of the two dimension tools to reach for.

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 clear situational context — driving vs driven, and that `driven=true` creates a measurement-only reference with no `value`. What's missing is routing guidance against `sketch_dimension_set` and any preconditions (e.g., sketch must exist / be active), so there are no explicit exclusions or named alternatives.

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