Skip to main content
Glama

create_loft

Build a curved solid by skinning stacked cross-sections, for parts whose profile changes along their length like tanks, seats, bottles, and hulls.

Instructions

Skin a smooth surface through cross-sections - for forms whose section changes along their length: fuel tanks, seats, square-to-round bottles, hulls, fuselages, vehicle bodies, trunks, organic product shells.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
capsNotrue = flat end faces, 'round' = smooth domed ends (tanks, pods), false = open.
nameNoLoft
bevelNoRounded edges via an angle-limited Bevel modifier with hardened normals: width in metres (e.g. 0.002 for a 10 cm part), or {width, segments, angle}. true = automatic width.
originNoWhere the origin sits on the part's bounding box: center, bottom, top, left, right, front, back, min, max, or keep (geometry coordinates exactly as given). origin='bottom' + location z=0 stands a part on the floor.keep
parentNo
smoothNoCurved between sections (false = straight segments).
samplesNoPoints around each section.
shadingNoauto = smooth with sharp edges kept above smooth_angle (best default); smooth; flat.auto
locationNoWorld position [x,y,z] (metres) of the object origin.
materialNoMaterial preset name (list_material_presets), or {preset, color, roughness, weathering, ...} like apply_material, or the name of an existing material. Presets with a real-world scan use Poly Haven automatically; {'polyhaven': 'mossy rock'} picks any Poly Haven texture by description.
rotationNoRotation [x,y,z] in degrees.
sectionsYesCross-sections stacked along Z, each {z, shape, ...}: shape 'circle' {radius} | 'ellipse' {size:[w,d]} | 'rect' / 'rounded_rect' {size:[w,d], corner_radius} | 'superellipse' {size:[w,d], exponent (2=ellipse, 4-6=soft box)} | 'custom' {points:[[x,y],...]}. Asymmetric sections (round shoulder, flat belly): 'top' / 'bottom' half-depths above/below the centre line and 'exponent_bottom' (e.g. 6 = flat floor). Optional per section: offset [x,y], rotation (deg), scale. radius 0 makes a pointed tip. Put the real shape into the sections - do not flatten or push vertices afterwards.
cap_depthNoLength of a 'round' end dome (default 60 % of the end section).
collectionNo
resolutionNoRings generated between neighbouring sections.
subdivisionNoSubdivision Surface levels (1-3) for soft/organic shapes.
interpolationNomonotone (default): passes every section without overshoot between them; spline: legacy Catmull-Rom.
correspondenceNoangle (default): vertex j lies in the same direction on every section, so the surface never twists or zig-zags when the section shape changes; arc: legacy arc-length matching.angle

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It says nothing about whether a new object is created, how the result interacts with existing scene geometry, permissions, or any side effects; the behavioral detail lives entirely in the schema. For a construction tool with zero annotation coverage this is a notable gap.

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?

A single front-loaded sentence leads with the core action and then lists applications; it is dense but earns its words. Slightly long tail of examples but no filler sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 18 parameters, no output schema, and no annotations, the description covers purpose and example forms but omits usage routing against the many sibling geometry tools and any behavioral notes. The rich schema compensates for parameter detail, but the description leaves sibling disambiguation to inference.

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?

Schema description coverage is 83%, above the 80% threshold, so the schema already documents nearly all 18 parameters (caps, bevel, smoothing, correspondence, etc.) in detail. The description adds no parameter-level meaning beyond what the schema supplies, making the baseline 3 appropriate.

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?

States a specific action (skin a smooth surface) plus the method (through cross-sections) and enriches it with concrete form examples (fuel tanks, seats, hulls, fuselages). An agent can tell what it builds, though it never names the sibling modeling tools (create_sweep, create_extrusion, create_lathe) it must be distinguished from.

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

Usage Guidelines3/5

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

The clause 'for forms whose section changes along their length' implies a usage condition and the object list gives contextual cues. However, there is no explicit when-to-use vs. when-not guidance and no routing to alternatives like create_sweep or create_extrusion, which overlap heavily with this tool.

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