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

Mechanical: Draw Part

mech_part_draw

Draws a turned or plate part from validated typed features as dimensioned views, storing the model as XDATA so later section views and inspection need no re-describing.

Instructions

One part model - a turned profile or a plate outline plus typed features - drawn as views.

The model is written onto the drawing as ACADMCP_MECH XDATA on an anchor POINT, so mech_view_add can add a section months later without the caller re-describing the part, and mech_part_inspect reads it back.

Refused before anything is drawn, by path: a non-finite or non-positive number (segments[2].d_outer), a bore that is not smaller than its outside, an outline with fewer than three distinct vertices or one that crosses itself, an unknown material, a feature whose placement is off the part, two features that would remove the same material (both names given), a thread outside the transcribed ISO 261 table, a keyway outside DIN 6885's bore range, gear teeth whose tip diameter disagrees with their segment. A DIN 509 undercut, a DIN 471/472 groove, a DIN 332 centre hole and an ISO 3601-2 O-ring groove need explicit dimensions in this build: those tables are not transcribed and the lookup refuses by name rather than interpolate. A feature that cannot be projected into a requested view is listed in omitted, never dropped.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
at_xNoWCS X of the first view's lower-left corner (the rotation pivot)
at_yNoWCS Y of the first view's lower-left corner (the rotation pivot)
specYesThe part: {kind: 'revolved'|'prismatic', name, material, segments:[{length, d_outer, d_inner, taper_to}] | outline:[[x,y]] + thickness, features:[{kind, id, ...}]}
styleNoAxial dimension style: chain | baseline | ordinatechain
viewsNoViews to draw in order: front | side | top (default ['front'])
rotationNoDegrees CCW; turns every view and its dimensions about (at_x, at_y)
dimensionNoAlso dimension the part (ISO 129 + ISO 286 fits)
projectionNofirst (ISO 128-30, default) | thirdfirst

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.6.0

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only provide destructiveHint=false, so the description carries most of the behavioral burden and does so richly. It discloses XDATA persistence on an anchor POINT, an extensive list of pre-draw validation refusals with path-specific errors, the note that certain standard tables (DIN 509, DIN 471/472, DIN 332, ISO 3601-2) are not transcribed and refuse by name, and that unprojectable features appear in an omitted list rather than being silently dropped.

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 long but front-loaded with the core purpose, followed by persistence behavior and refusal conditions. Every section adds useful context, though the exhaustive refusal list is verbose and could be terse without losing critical meaning. Overall structure is logical and information-dense.

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?

Given the nested spec object, many parameters, and the existence of an output schema, the description covers the essential non-schema behavior: XDATA persistence, interaction with sibling tools, validation failure modes, and the omitted-feature reporting contract. It is complete enough for an agent to invoke the tool correctly without needing to consult external documentation.

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 schema already defines all eight parameters, including at_x/at_y, style, views, rotation, dimension, projection, and the nested spec object. The description adds error-path syntax like segments[2].d_outer, but does not meaningfully expand parameter semantics beyond what the schema provides. 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?

The description states a specific verb and resource: drawing a part model (revolved or prismatic plus typed features) as views. It distinguishes itself from generic entity creation by explaining the XDATA persistence and how mech_view_add and mech_part_inspect interact with it. However, it does not directly differentiate from the close sibling mech_part_from_spec, leaving some ambiguity about which part-creation tool to choose.

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?

The description gives clear usage context: the model is stored as XDATA so later tools can add sections or inspect it without re-description. It implies when to use this over ad-hoc drawing, but it never explicitly names when to choose an alternative such as mech_part_from_spec or entity-level creation. No exclusions are stated.

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