Skip to main content
Glama
hjbaard

SolidWorks-MCP

add_extruded_profile

Create prismatic parts by extruding closed 2D polygon points by a depth into a SolidWorks solid, with optional fillets, rotation, draft, and merge/separate-body control.

Instructions

Extrude a closed polygon into a solid: points_mm = [[x,y], ...] in mm.

The polygon (first-plane coordinates, same as add_box) is auto-closed and extruded by depth_mm. Unlocks arbitrary prismatic shapes (brackets, profiles, polygons). 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'). 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. 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. 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

TableJSON Schema
NameRequiredDescriptionDefault
nameNoExtrude
mergeNo
about_mmNo
depth_mmYes
draft_degNo
points_mmYes
rotate_degNo
corner_radii_mmNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.13.0
    • addedInput schema / properties / about_mm
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {},
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "About Mm"
      +}
    • addedInput schema / properties / draft_deg
      Added value: +{
      +  "default": 0,
      +  "title": "Draft Deg",
      +  "type": "number"
      +}
    • addedInput schema / properties / merge
      Added value: +{
      +  "default": true,
      +  "title": "Merge",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / rotate_deg
      Added value: +{
      +  "default": 0,
      +  "title": "Rotate Deg",
      +  "type": "number"
      +}
  2. Changed1 schema field changedv0.8.0
    • addedInput schema / properties / corner_radii_mm
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "items": {},
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Corner Radii Mm"
      +}
  3. First observedv0.4.0

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden and discloses several important traits: auto-closing the polygon, merge=False leaving a separate body, and returning mass properties with a volume formula including corner-radius effects. It does not state preconditions such as requiring an active part or document, which would be valuable for a mutation tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core operation in the first sentence, then each subsequent clause earns its place by explaining a parameter's geometry, behavior, or use case. Despite its length, there is no filler or repetition, and the density is appropriate for eight undocumented parameters.

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 (eight params, no annotations, no output schema, zero schema descriptions), the description is very complete: it covers parameters, return values, and key side effects like merge. The remaining gaps are preconditions (e.g., active part/document) and explicit routing to the on-plane/on-face siblings.

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 so thoroughly: points_mm format, depth_mm extrusion, corner_radii_mm modes and dimension naming, rotate_deg with about_mm and rotation direction, draft_deg sign convention and dimension name, and merge behavior. Only the trivial name parameter is left unexplained.

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+resource: 'Extrude a closed polygon into a solid,' and gives the core input format. It also anchors the tool by saying the polygon uses 'first-plane coordinates, same as add_box.' However, it does not explicitly differentiate this tool from the closely named siblings add_extruded_profile_on_plane or add_extruded_profile_on_face, leaving the agent to infer the distinction from 'first-plane'.

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?

It provides concrete use cases (brackets, profiles, polygons; draw a crank or lug straight; a moulded boss; a printable taper) and names alternatives for the merge=False case (list_bodies, combine_bodies). What is missing is explicit when-to-use guidance versus the on-plane and on-face extrusion siblings, so the agent still has to infer when this base-plane variant is preferred.

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