Skip to main content
Glama
hjbaard

SolidWorks-MCP

add_sketch

Draw a fully defined sketch of lines, arcs, and splines on a plane, ready to extrude or cut.

Instructions

Draw a sketch of lines, arcs and splines on a plane, fully defined, to extrude or cut.

plane: "front", "top", "right" or a plane by name (add_plane). Points are [u, v] in the plane's own axes, which the result gives (origin_mm + u x_axis + v y_axis): front is (x, y), top (x, -z), right (-z, y). The outline starts at start_mm; each segment runs on from where the last ended: {"line": [u, v]}; {"arc": [u, v], "through": [u, v]} (an arc through a middle point); {"arc": [u, v], "tangent": true} (an arc flowing on from the segment before); {"spline": [[u, v], ..., [u, v]]} (through the points, ending at the last). "tangent": true on a line checks that it flows on. End on start_mm to close the outline. Segments that meet smoothly get a tangent relation, the rest is dimensioned from the origin: x/y for the i-th point given (points_mm lists them; start_mm is 0), r for the radius of segment k. Then extrude_sketch / cut_sketch the returned sketch.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
planeYes
segmentsYes
start_mmYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.13.0

TDQS

A4.5/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 burden and does so well: it defines the plane-relative (u, v) coordinate mapping per plane, the start_mm anchor, closure rule, automatic tangent relations, and the naming of generated dimensions (x<i>/y<i>, r<k>). This is the rich behavioral context an agent needs to compose a valid sketch.

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?

Dense but front-loaded with the core action first, then coordinate conventions and segment grammar. Every sentence carries construction detail; the size is justified for a geometrically complex tool, though it reads as a single block.

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?

No output schema exists, yet the description explains the return (a fully defined sketch whose plane axes and points_mm are accessible) and the follow-up tools. Only the undocumented 'name' parameter and the absence of any error/edge-case guidance leave minor gaps.

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 0%, so the description must compensate, and it documents plane, start_mm, and the segment format in detail. The 'name' parameter is left entirely undocumented in both schema and description, keeping it from a 5.

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 and resource (draw a sketch of lines, arcs and splines on a plane) plus scope and downstream intent (to extrude or cut). This clearly separates it from neighbors like add_extruded_spline, add_swept_profile, and read_sketch.

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?

Explicitly routes the agent forward ('Then extrude_sketch / cut_sketch the returned sketch') and points to add_plane for named planes. It gives a clear context for use but does not state when not to use this or contrast it against other profile-creation tools.

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