Skip to main content
Glama
dream-creo-mcp

dream-creo-mcp

by JaikenWong

revolve

Create revolved solid geometry in Creo by sweeping a sketched profile around a centerline axis, adding material or cutting at any angle up to 360 degrees.

Instructions

Creates/edits geometry in the running Creo 5 through the DreamFeatureApp plugin. There is no mirror tool: build symmetric shapes with symmetric extrudes, revolves or patterns. Units are mm and degrees. Parts are addressed by name (lowercase, no .prt). Model axes: FRONT is the XY plane (normal +Z), TOP is XZ (normal +Y), RIGHT is YZ (normal +X). Each feature call either ends with an active feature or is rolled back. Nothing is saved unless model_save is called. Check results with model_info (volume, bound_box) and preview_image.

Sketched revolve, adds material or cuts (cut=true). The sketch needs exactly one centerline 'CL ...' as the axis, and the profile on one side of it. angle in degrees (default 360); symmetric=true splits the angle across the sketch plane. Example (cylinder r20 h40 around Y on FRONT): 'CL 0 0 0 1; M 0 0; L 20 0; L 20 40; L 0 40; Z'. Sketch path, commands separated by ';'. Recommended: coords=model, then every point is 'x y z' in model coordinates (mm) and is projected onto the sketch plane, so it works the same on any plane. Commands (p = point): 'M p' start a loop; 'L p' line to; 'A3 p m' arc to p passing through m; 'A p c ccw|cw' arc to p around centre c; 'Z' close the loop; 'C c r' circle; 'CL p q' centerline (revolve axis). Example coords=model on FRONT: 'M -50 -25 0; L 50 -25 0; L 50 25 0; L -50 25 0; Z'. Default coords=sketch (1.0): points are 'x y' in the sketch frame (on FRONT = model X, Y; on other planes see sec_location in the result). Solid features need closed loops; open loops and a revolve without exactly one CL are rejected before Creo is called.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "name": "<name>",
      "plane": "<plane>",
      "sketch": "<sketch>"
    },
    "name": "revolve"
  }
}

Input Schema

NameRequiredDescriptionDefault
cutNo
nameYesPart name without .prt
angleNo
planeYesDatum name (FRONT, TOP, RIGHT, DTM1...) or an id from find_geometry/model_info: surface:N, edge:N, axis:N
coordsNoPoint format of sketch: model = 'x y z' model coordinates (recommended)
sketchYes
symmetricNo
orient_refNoDatum name (FRONT, TOP, RIGHT, DTM1...) or an id from find_geometry/model_info: surface:N, edge:N, axis:N
feature_nameNoOptional feature name

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.1

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 behavioral burden and does so well: it discloses rollback semantics ('each feature call either ends with an active feature or is rolled back'), persistence ('nothing is saved unless model_save is called'), validation timing ('rejected before Creo is called'), and units (mm, degrees). These are exactly the mutation-safety facts an agent needs before calling.

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?

Two dense, well-ordered paragraphs followed by worked examples; the revolve-specific behavior is front-loaded before the command grammar. It is longer than needed in places — two examples and a repeated restatement of the sketch-frame default add bulk — but almost every sentence carries operational value.

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 9-parameter mutation tool with no annotations, no output schema and 56% schema coverage, the description is close to sufficient: it covers sketch syntax, angle, symmetric, cut, naming and validation. It is thin on `orient_ref`, `feature_name`, and the returned result shape beyond a passing mention of 'sec_location in the result'.

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 56%, and the description compensates heavily for the hardest parameter: the full `sketch` command grammar, centerline requirement, `coords=model` recommendation and projection semantics, plus `angle` default of 360 and what `symmetric` splits. It leaves `orient_ref` and `feature_name` unexplained, which are the main remaining gaps.

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: 'Sketched revolve, adds material or cuts (cut=true)', and identifies the exact axis mechanism (one 'CL' centerline). An agent can tell this apart from extrude/sweep siblings from the revolve-specific paragraph alone.

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 workflow context: the preamble routes symmetric geometry to 'symmetric extrudes, revolves or patterns' since no mirror tool exists, and says to verify with model_info (volume, bound_box) and preview_image. It does not explicitly state when to choose revolve over extrude/sweep, so it stops short of full alternative routing.

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