Skip to main content
Glama
hjbaard

SolidWorks-MCP

set_dimension

Change a named driving dimension in millimeters, rebuild the SolidWorks model, and remeasure it to verify parametric corrections.

Instructions

Set a named driving dimension (e.g. 'D1@BlockExtrude') in mm, rebuild, and remeasure.

This is the parametric edit at the heart of the correction loop. Every modelling tool returns its dimensions by role in dimensions. An angle (a revolve, an angle mate) takes degrees; list_dimensions shows the unit. A point's coordinate from the origin (a sketch's 'x3', 'y2') takes a sign, -5 being across the origin; any other length is a size, refused below 0. A value SolidWorks does not take (a dimension an equation drives, a size of 0) is refused with the reason, and the part is left as it was.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
value_mmYes
dimension_nameYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so well: it discloses the rebuild+remeasure side effects, unit rules (degrees for angles, mm otherwise), sign semantics for point coordinates, and atomic failure behavior ('refused with the reason, and the part is left as it was'). Rejection cases (equation-driven dimensions, zero size, negative sizes) are enumerated.

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?

The lead sentence is front-loaded and complete, and the following paragraph is dense with value. However, it is a single run-on block covering units, signs, and refusals without structural breaks, so it is slightly harder to scan than it could be.

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

Completeness4/5

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

For a 2-param mutation tool with no annotations and no output schema, the description is nearly complete: it covers inputs, units, rejection behavior, and side effects. It only loosely signals what the remeasure step returns, leaving the response shape somewhat implicit.

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

Parameters5/5

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

Schema coverage is 0%, so the description must compensate, and it does: value_mm is given unit rules, angle-vs-length interpretation, sign conventions, and negative-value validity; dimension_name is illustrated by example and by the role-based naming returned from other tools, with list_dimensions pointed to as the unit reference.

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

Purpose5/5

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

States a specific verb (Set), a specific resource (named driving dimension), the format convention ('D1@BlockExtrude'), the unit (mm), and the two side effects (rebuild, remeasure). An agent can immediately distinguish this from read-only siblings like list_dimensions or list_features.

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?

'This is the parametric edit at the heart of the correction loop' plus 'Every modelling tool returns its dimensions by role in dimensions' establishes when to reach for it. It also implicitly routes away from equation-driven dimensions (which it says are refused), but it never explicitly names set_equation/set_equations as the alternative for that case, so it falls short of full when-not guidance.

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