Skip to main content
Glama
hjbaard

SolidWorks-MCP

check_printability

Analyze a part for 3D printing to detect overhangs requiring support and thin walls below a set thickness.

Instructions

Check the current part for 3D printing, built along up ('+z', '-y', ...).

Overhangs: downward faces leaning more than overhang_deg from vertical (90 = a flat ceiling) need support; the faces on the bed do not count. Gives the overhanging area per face (list_faces index) with its worst lean and centre, the bed contact area and the print height. With min_wall_mm (e.g. two nozzle widths) also the walls thinner than that, measured straight through the material from points spread over every face, with where each is thinnest. A spot right beside an edge where faces meet at a sharp angle reads as thin as the wedge of material there is: that is the edge, not a wall.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
upNo+z
min_wall_mmNo
overhang_degNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.9.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 behavioral burden and does so well: it explains overhang detection, bed-contact exemption, the min_wall_mm scan through material, the edge-vs-wall caveat, and the returned per-face measurements. It does not mention computational cost or side effects, but for a read-only analysis tool this is strong disclosure.

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 description is dense but front-loads purpose and then adds necessary technical detail. Most sentences earn their place by clarifying non-obvious behavior, though the stream-of-consciousness style and parentheticals make it slightly harder to scan than ideal.

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?

Given the complexity of printability analysis, zero annotation coverage, and no output schema, the description is nearly complete: it explains what is measured and roughly what is returned. It could more fully specify the output structure or field names, but an agent can call it correctly from this text.

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 description coverage is 0%, so the description must compensate and largely does: `up` is illustrated as '+z', '-y', etc.; `overhang_deg` is defined with the 90-degree flat-ceiling example; and `min_wall_mm` is given practical meaning (e.g. two nozzle widths) plus measurement behavior. It stops short of full unit/format detail for every return field.

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?

Starts with a specific verb and resource: 'Check the current part for 3D printing, built along `up`'. It clearly distinguishes itself from generic geometric queries and siblings like check_interference by defining the printability domain (overhangs, bed contact, thin walls).

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

Usage Guidelines3/5

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

The description implies usage ('Check the current part for 3D printing') and explains how optional parameters affect checks, but it does not explicitly say when to prefer this tool over alternatives such as check_interference or measure_distance. Usage is inferable but not routed.

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