Skip to main content
Glama
NejcDvorsek

SolidWorks MCP

by NejcDvorsek

add_extruded_profile

Extrude a closed polygon profile into a solid, with options for plane/face placement, rotation, spline shapes, corner fillets, draft taper, and merging or separate bodies.

Instructions

Extrude a closed polygon into a solid; it is auto-closed.

  • Default: points_mm = [[x,y], ...] on the first plane (same as add_box), extruded by depth_mm along +Z. rotate_deg turns the profile counterclockwise about about_mm ([x, y], the origin by default) first: draw a crank or a lug straight, then set it at its angle. spline=True runs a smooth closed spline through the points instead (organic shapes).

  • face='+z' (or '-x', ...): a boss grown out of ANY planar face; points_mm = [[x,y,z], ...] on that face (the face facing that way through them, as for add_hole). For pads, ledges, mounting blocks.

  • plane='Plane1' (add_plane, or 'front'/'top'/'right'): points_mm = 3D [x, y, z] points ON the plane (origin + u x_axis + v y_axis from add_plane); depth_mm along its normal, the other way with reverse=True.

corner_radii_mm rounds the corners with real sketch fillets: one radius for all, or one per vertex (0 = sharp); equal radii share one dimension ('radius', else 'r'). draft_deg tapers the walls inwards as they rise (negative: outwards), a dimension 'draft' (a moulded boss, a printable taper). merge=False keeps the result a separate body: list_bodies, combine_bodies. An argument that does not go with the variant is refused. Returns mass properties (volume = polygon area * depth; a right-angled corner of radius r loses r^2 (1 - pi/4), a concave one gains it).

Input Schema

NameRequiredDescriptionDefault
faceNo
nameNo
mergeNo
planeNo
splineNo
reverseNo
about_mmNo
depth_mmYes
draft_degNo
points_mmYes
rotate_degNo
corner_radii_mmNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.16.3

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 auto-closing, rotation convention, spline smoothing, reverse extrusion, argument/variant rejection, and merge=False producing a separate body. It also explains the return value (mass properties) and even the volume formula, which is unusually transparent for a mutation tool.

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 front-loaded with the core operation, then organized into bulleted variants and parameter notes. It is long, but the length is largely justified by 12 undocumented parameters; some dense parentheticals and the corner-volume formula could be trimmed without losing much.

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 complex 12-parameter tool with no annotations, no output schema, and 0% schema description coverage, this is nearly complete: it covers geometry, variant behavior, merge behavior, and return values. The remaining gap is the undocumented 'name' parameter and the description's reliance on the caller knowing add_box/add_hole/add_plane conventions.

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 description coverage is 0%, so the description must compensate, and it does: it explains points_mm formats for all three modes, depth_mm direction, rotate_deg/about_mm, spline, face and plane semantics, reverse, corner_radii_mm formatting and dimension naming, and draft_deg sign behavior. Only the 'name' parameter is left unexplained, which is a minor gap against 12 parameters.

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: 'Extrude a closed polygon into a solid; it is auto-closed.' It also distinguishes the three operating modes (default plane, face, named plane) and names related siblings such as add_box and add_plane for orientation. An agent can tell this is profile extrusion, not box/disc/cylinder creation.

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?

Gives clear when-to-use context for each variant: default for first-plane profiles, face='+z' for bosses/pads/ledges/mounting blocks, plane='Plane1' for plane-defined profiles. It also points to list_bodies/combine_bodies when merge=False, but does not explicitly say when to prefer siblings like add_boss_on_face or extrude_sketch over this tool.

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