Skip to main content
Glama
danielproxd2

MCP_CAD

by danielproxd2

fillet

Round one or more edges with a constant radius. Select edges by intent using filters, or by midpoint or index. Used for stress relief, deburring, and transition radii in autoparts.

Instructions

Redondeo — fillet (round) one or more edges, constant radius.

selector (recommended) — pick edges by INTENT instead of reading list_edges() and guessing an index. A closed-schema dict resolved against the live geometry, e.g. round every circular edge: fillet(selector={"filter": {"geom": "circle"}}, radius_mm=2) or the single largest-radius edge: fillet(selector={"filter": {"geom": "circle"}, "sort": {"axis": "radius", "dir": "desc"}, "pick": "first"}, radius_mm=3) Schema: filter{geom:circle|line|arc|other|any, body, radius_mm/radius_tol_mm, axis:x|y|z + at_mm/tol_mm or min_mm/max_mm}, sort{axis:x|y|z|radius, dir}, pick:all|first|last|int|[int]. Mutually exclusive with edge_* args. The result echoes selector_matched {n, sample_points_mm} so you can sanity-check.

Standard autoparts use: stress relief on cast/forged parts, deburred machined edges, transition radii on stamped reinforcements (ISO 8062 on Schaeffler-style brackets). Constant-radius is the v1 variant — variable-radius and full-round fillets are deferred (rare in autoparts juniors' workflows).

Args (edge addressing — pass exactly ONE of selector / edge_midpoints_mm / edge_indices): edge_midpoints_mm: Optional. List of [x, y, z] midpoints from list_edges() → e["midpoint_mm"] (line / partial-arc edges only). radius_mm: Fillet radius. Must be > 0. Typical autoparts values: 0.5-1mm for machined edge softening, 2-5mm for cast-part transitions, R = 0.5-1.5 × wall_thickness for plastic ribs. tangent_propagation: If True (default), SW propagates the fillet along tangent-continuous neighboring edges. False = strict per-edge (each edge gets a separate filleted region). edge_indices: Optional. List of {"body_name": str, "index": int} from list_edges(), verbatim. Works for ANY edge — required for closed-loop circles (disc rims, hole edges, cylinder tops) where midpoint_mm is None.

Returns the resulting Redondeo feature (name, type="fillet", R1).

Failure modes: - midpoint doesn't match any edge → raises with hint to re-run list_edges() - midpoint matches multiple edges within 0.01mm → raises listing candidates - edge_indices: unknown body or out-of-range index → raises with the available bodies / valid index range - radius exceeds adjacent edge lengths → SW silently rejects; we surface "no new feature" with a hint - body name shifts after first fillet ("Saliente-Extruir1" → "Redondeo1"). When filleting N identical-class edges (e.g. all 4 vertical corner edges of a plate), pass ALL N indices in ONE call. Batching N/2 now + N/2 later addresses the OLD body name on the second call and fails with "no new feature"; recovery is undo + redo as one batch.

Caveat: NOT parametric. Re-radiusing requires deleting the feature and re-running. Parametric edits via modify_dimension on "Redondeo1" → "R1" work for simple cases.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
selectorNo
radius_mmNo
edge_circlesNo
edge_indicesNo
edge_midpoints_mmNo
tangent_propagationNo
Behavior4/5

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

No annotations exist, so the description carries full burden. It discloses that the tool creates a non-parametric feature (re-radius requires delete+re-run), but notes that parametric edits via modify_dimension work for simple cases. It also surfaces failure modes and side effects like body name shifts, but lacks explicit mention of whether the operation is reversible or what 'Redondeo' implies.

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

Conciseness3/5

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

The description is highly detailed and well-structured with paragraphs, bullet points, and examples, but it is verbose (over 30 lines). While thorough, it could be more concise by trimming redundant explanations (e.g., repeating failure modes). Not minimal, but organized and front-loaded.

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 tool's complexity (6 parameters, no output schema, no annotations), the description is remarkably complete. It covers all aspects: parameter purpose, failure modes with hints, typical usage values, and return value (Redondeo feature). It also warns about caveats like non-parametric behavior and body name shifts.

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?

With 0% schema description coverage, the description must compensate. It extensively documents most parameters (selector, edge_midpoints, edge_indices, radius_mm, tangent_propagation), including nested schemas and usage examples. However, it fails to explain the 'edge_circles' parameter in the schema, leaving a gap. Overall, adds significant meaning but incomplete.

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?

The description clearly states the tool rounds one or more edges with a constant radius. It specifies the resource (edges) and the action (fillet/round). It distinguishes from variable-radius fillets by noting they are deferred, and from sibling tools like 'fillet_all_edges' by implication (this tool targets specific edges).

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use each edge-addressing method (selector recommended vs. edge_midpoints vs. edge_indices), including failure modes and recovery strategies. It also gives typical radius values for different autoparts contexts and warns against batching fillets that cause body name shifts, effectively guiding correct invocation.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/danielproxd2/solidworks-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server