Skip to main content
Glama

render_photoreal

Generate presentation-quality photorealistic renders of FreeCAD shapes using an external renderer like POV-Ray, with optional view, material, and size settings.

Instructions

Photorealistic render of a shaped object via the FreeCAD Render workbench (an external renderer, e.g. POV-Ray) — a presentation-quality "nice picture", unlike render_view's fast software-rasterized preview.

Requires the Render addon and a renderer binary to be installed (see docs/RENDER_WORKBENCH.md); raises with install guidance otherwise. Renders in an isolated temporary document, so the live model is never modified.

view: 'iso' | 'top' | 'bottom' | 'front' | 'back' | 'left' | 'right' | 'side'. material: optional Render material library card — e.g. 'Gold', 'Glass', 'Aluminium', 'GlossyPlastic', 'RoughPlastic', 'Iron', 'Brass'. Omitted gives a neutral default material; an unknown name raises with the full list. Returns {png_base64, png_path, renderer, view, material, width, height}.

Presentation-only: output is not bit-reproducible, so it is kept out of the reliability/golden tests. External renders can take seconds to minutes, so this call uses an extended worker timeout.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
viewNoiso
widthNo
handleYes
heightNo
materialNo
rendererNoPovray

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

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: it names the Render addon and renderer binary prerequisites and that it 'raises with install guidance otherwise', states the render happens in an isolated temporary document so 'the live model is never modified', warns output is 'not bit-reproducible', and discloses an extended worker timeout for slow external renders.

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?

Front-loads the core purpose and the render_view contrast, then layers prerequisites, parameter behavior, and caveats in short dense lines. Every sentence adds information (enum values, error behavior, reproducibility, timeout) with no filler.

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 tool with six parameters and no output schema, it supplies the return dict keys ({png_base64, png_path, renderer, view, material, width, height}) plus install and timeout context, so it is nearly self-sufficient. The remaining gap is not distinguishing itself from render_photoreal_submit and not explaining the required 'handle'.

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 largely does: it enumerates the otherwise-undocumented view options ('iso'|'top'|...|'side'), lists concrete material card names with their default and error behavior, and implies renderer via 'e.g. POV-Ray'. The 'handle' and explicit 'width'/'height' semantics are left unexplained (dimensions only appear in the return shape), so compensation is strong but not complete.

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+resource ('photorealistic render of a shaped object') and pins down the mechanism ('via the FreeCAD Render workbench ... an external renderer, e.g. POV-Ray'). It explicitly contrasts itself with the sibling 'render_view's fast software-rasterized preview', so an agent can separate it from the other render tools without opening a schema.

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 selection context: choose this when a 'presentation-quality nice picture' is wanted rather than the fast preview offered by render_view. It does not, however, disambiguate the closely-named sibling render_photoreal_submit (the async variant) or state explicit when-not conditions, leaving some routing inference to the agent.

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

Deploy Server

Other Tools