Tool tree
gradeNot graded
get_guideAnswer
Read this first. Returns the studio workflow, coordinate conventions, and modeling tips for building good-looking assets with these tools.
View tool JSON
{
"name": "get_guide",
"kind": "answer",
"impl": "imperative",
"description": "Read this first. Returns the studio workflow, coordinate conventions, and modeling tips for building good-looking assets with these tools.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/flevAgenticCAD/"
}list_presetsAnswer
List object types with their default parameters, material presets, lighting rigs, and camera view names.
View tool JSON
{
"name": "list_presets",
"kind": "answer",
"impl": "imperative",
"description": "List object types with their default parameters, material presets, lighting rigs, and camera view names.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/flevAgenticCAD/"
}describe_sceneAnswer
Inspect the whole scene: objects with world-space size and center, materials, lights, camera, and environment. Use detail "full" to include geometry parameters and hierarchy.
View tool JSON
{
"name": "describe_scene",
"kind": "answer",
"impl": "imperative",
"description": "Inspect the whole scene: objects with world-space size and center, materials, lights, camera, and environment. Use detail \"full\" to include geometry parameters and hierarchy.",
"inputSchema": {
"type": "object",
"properties": {
"detail": {
"type": "string",
"enum": [
"summary",
"full"
],
"description": "Default \"summary\"."
}
}
},
"page": "/flevAgenticCAD/"
}get_objectAnswer
Full details for one object: parameters, transform, material, world bounds, children.
View tool JSON
{
"name": "get_object",
"kind": "answer",
"impl": "imperative",
"description": "Full details for one object: parameters, transform, material, world bounds, children.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Object id or name."
}
},
"required": [
"id"
]
},
"page": "/flevAgenticCAD/"
}get_boundsAnswer
World-space bounding box (min, max, size, center) of the given objects, or of the whole scene when ids is omitted.
View tool JSON
{
"name": "get_bounds",
"kind": "answer",
"impl": "imperative",
"description": "World-space bounding box (min, max, size, center) of the given objects, or of the whole scene when ids is omitted.",
"inputSchema": {
"type": "object",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Object ids or names. Omit for the whole scene."
}
}
},
"page": "/flevAgenticCAD/"
}capture_viewAction
Quick snapshot of the live viewport exactly as the user sees it, including grid and selection. For a polished image use render.
View tool JSON
{
"name": "capture_view",
"kind": "act",
"impl": "imperative",
"description": "Quick snapshot of the live viewport exactly as the user sees it, including grid and selection. For a polished image use render.",
"inputSchema": {
"type": "object",
"properties": {
"width": {
"type": "integer",
"description": "Output width in pixels. Default 800."
}
}
},
"page": "/flevAgenticCAD/"
}create_primitiveAction
Add a primitive solid. Types: box, rounded_box, sphere, cylinder, cone, torus, torus_knot, plane, capsule, icosahedron, dodecahedron, octahedron, tetrahedron, ring, prism. Each type has its own params (see list_presets); omitted params use defaults. Primitives are centered on their origin, so a box of height 1 spans y -0.5 to 0.5 before on_ground lifts it.
View tool JSON
{
"name": "create_primitive",
"kind": "act",
"impl": "imperative",
"description": "Add a primitive solid. Types: box, rounded_box, sphere, cylinder, cone, torus, torus_knot, plane, capsule, icosahedron, dodecahedron, octahedron, tetrahedron, ring, prism. Each type has its own params (see list_presets); omitted params use defaults. Primitives are centered on their origin, so a box of height 1 spans y -0.5 to 0.5 before on_ground lifts it.",
"inputSchema": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"box",
"rounded_box",
"sphere",
"cylinder",
"cone",
"torus",
"torus_knot",
"plane",
"capsule",
"icosahedron",
"dodecahedron",
"octahedron",
"tetrahedron",
"ring",
"prism"
],
"description": "Primitive type."
},
"params": {
"type": "object",
"properties": {},
"description": "Type-specific dimensions, e.g. {\"width\":1,\"height\":2,\"depth\":0.5} for box or {\"radius\":0.4} for sphere."
},
"name": {
"type": "string",
"description": "Display name. Names are unique; a numeric suffix is added on collision."
},
"position": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "[x, y, z] in parent space. Y is up. Default [0, 0, 0]."
},
"rotation": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "Euler rotation in degrees [x, y, z]. Default [0, 0, 0]."
},
"scale": {
"description": "Uniform number or [x, y, z]. Default 1.",
"anyOf": [
{
"type": "number"
},
{
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3
}
]
},
"material": {
"type": "string",
"description": "Material id or name, or a preset name such as plastic, metal, gold, chrome, glass, wood, clay. See list_presets."
},
"color": {
"type": "string",
"description": "Hex color like \"#D9A441\". Combined with a preset it makes a tinted copy; alone it makes a plastic of that color."
},
"parent": {
"type": "string",
"description": "Id or name of a parent object (usually a group). Position and rotation are then relative to it."
},
"on_ground": {
"type": "boolean",
"description": "Lift the object so its lowest point sits on the ground plane. Defaults to true when position is omitted (except for tube and mesh, whose coordinates are absolute), false otherwise."
},
"visible": {
"type": "boolean",
"description": "Default true."
},
"cast_shadow": {
"type": "boolean",
"description": "Default true."
},
"receive_shadow": {
"type": "boolean",
"description": "Default true."
}
},
"required": [
"type"
]
},
"page": "/flevAgenticCAD/"
}create_latheAction
Revolve a 2D profile around the Y axis. points are [radius, height] pairs from bottom to top; radius must be >= 0. Ideal for vases, bottles, bowls, chess pieces, knobs, and anything round. Use phi_length < 360 for a partial sweep (set the material double_sided).
View tool JSON
{
"name": "create_lathe",
"kind": "act",
"impl": "imperative",
"description": "Revolve a 2D profile around the Y axis. points are [radius, height] pairs from bottom to top; radius must be >= 0. Ideal for vases, bottles, bowls, chess pieces, knobs, and anything round. Use phi_length < 360 for a partial sweep (set the material double_sided).",
"inputSchema": {
"type": "object",
"properties": {
"points": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 2,
"maxItems": 2
},
"description": "Profile as [[radius, y], ...], at least 2 points, ordered bottom to top. Start and end at radius 0 for a closed solid."
},
"segments": {
"type": "integer",
"description": "Radial segments around the axis. Default 64."
},
"phi_start": {
"type": "number",
"description": "Start angle in degrees. Default 0."
},
"phi_length": {
"type": "number",
"description": "Sweep angle in degrees. Default 360."
},
"name": {
"type": "string",
"description": "Display name. Names are unique; a numeric suffix is added on collision."
},
"position": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "[x, y, z] in parent space. Y is up. Default [0, 0, 0]."
},
"rotation": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "Euler rotation in degrees [x, y, z]. Default [0, 0, 0]."
},
"scale": {
"description": "Uniform number or [x, y, z]. Default 1.",
"anyOf": [
{
"type": "number"
},
{
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3
}
]
},
"material": {
"type": "string",
"description": "Material id or name, or a preset name such as plastic, metal, gold, chrome, glass, wood, clay. See list_presets."
},
"color": {
"type": "string",
"description": "Hex color like \"#D9A441\". Combined with a preset it makes a tinted copy; alone it makes a plastic of that color."
},
"parent": {
"type": "string",
"description": "Id or name of a parent object (usually a group). Position and rotation are then relative to it."
},
"on_ground": {
"type": "boolean",
"description": "Lift the object so its lowest point sits on the ground plane. Defaults to true when position is omitted (except for tube and mesh, whose coordinates are absolute), false otherwise."
},
"visible": {
"type": "boolean",
"description": "Default true."
},
"cast_shadow": {
"type": "boolean",
"description": "Default true."
},
"receive_shadow": {
"type": "boolean",
"description": "Default true."
}
},
"required": [
"points"
]
},
"page": "/flevAgenticCAD/"
}create_extrudeAction
Extrude a 2D polygon (with optional holes) into a solid. The shape is drawn in a plane and pushed along axis (default "y", so the polygon lies flat on the ground like a floor plan; use "z" for a shape that stands upright facing the camera). Optional rounded bevels. Good for brackets, plates, letters, gears, profiles, and building footprints.
View tool JSON
{
"name": "create_extrude",
"kind": "act",
"impl": "imperative",
"description": "Extrude a 2D polygon (with optional holes) into a solid. The shape is drawn in a plane and pushed along axis (default \"y\", so the polygon lies flat on the ground like a floor plan; use \"z\" for a shape that stands upright facing the camera). Optional rounded bevels. Good for brackets, plates, letters, gears, profiles, and building footprints.",
"inputSchema": {
"type": "object",
"properties": {
"shape": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 2,
"maxItems": 2
},
"description": "Outline polygon as [[x, y], ...] in counter-clockwise order, at least 3 points."
},
"holes": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 2,
"maxItems": 2
},
"description": "One hole polygon."
},
"description": "Optional list of hole polygons, each [[x, y], ...]."
},
"depth": {
"type": "number",
"description": "Extrusion length. Default 0.2."
},
"axis": {
"type": "string",
"enum": [
"x",
"y",
"z"
],
"description": "Extrusion direction. Default \"y\"."
},
"bevel": {
"type": "boolean",
"description": "Round the edges. Default false."
},
"bevel_size": {
"type": "number",
"description": "Bevel inset. Default 0.02."
},
"bevel_thickness": {
"type": "number",
"description": "Bevel height. Default 0.02."
},
"bevel_segments": {
"type": "integer",
"description": "Default 3."
},
"curve_segments": {
"type": "integer",
"description": "Segments for curved outline sections. Default 12."
},
"name": {
"type": "string",
"description": "Display name. Names are unique; a numeric suffix is added on collision."
},
"position": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "[x, y, z] in parent space. Y is up. Default [0, 0, 0]."
},
"rotation": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "Euler rotation in degrees [x, y, z]. Default [0, 0, 0]."
},
"scale": {
"description": "Uniform number or [x, y, z]. Default 1.",
"anyOf": [
{
"type": "number"
},
{
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3
}
]
},
"material": {
"type": "string",
"description": "Material id or name, or a preset name such as plastic, metal, gold, chrome, glass, wood, clay. See list_presets."
},
"color": {
"type": "string",
"description": "Hex color like \"#D9A441\". Combined with a preset it makes a tinted copy; alone it makes a plastic of that color."
},
"parent": {
"type": "string",
"description": "Id or name of a parent object (usually a group). Position and rotation are then relative to it."
},
"on_ground": {
"type": "boolean",
"description": "Lift the object so its lowest point sits on the ground plane. Defaults to true when position is omitted (except for tube and mesh, whose coordinates are absolute), false otherwise."
},
"visible": {
"type": "boolean",
"description": "Default true."
},
"cast_shadow": {
"type": "boolean",
"description": "Default true."
},
"receive_shadow": {
"type": "boolean",
"description": "Default true."
}
},
"required": [
"shape"
]
},
"page": "/flevAgenticCAD/"
}create_tubeAction
Sweep a circle along a 3D path: pipes, cables, handles, rails, wire frames. The path is smoothed with a Catmull-Rom spline unless curve is "linear".
View tool JSON
{
"name": "create_tube",
"kind": "act",
"impl": "imperative",
"description": "Sweep a circle along a 3D path: pipes, cables, handles, rails, wire frames. The path is smoothed with a Catmull-Rom spline unless curve is \"linear\".",
"inputSchema": {
"type": "object",
"properties": {
"path": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3
},
"description": "[[x, y, z], ...] with at least 2 points."
},
"radius": {
"type": "number",
"description": "Tube radius. Default 0.05."
},
"closed": {
"type": "boolean",
"description": "Join the end back to the start. Default false."
},
"curve": {
"type": "string",
"enum": [
"catmullrom",
"linear"
],
"description": "Default \"catmullrom\"."
},
"tubular_segments": {
"type": "integer",
"description": "Default 64."
},
"radial_segments": {
"type": "integer",
"description": "Default 12."
},
"name": {
"type": "string",
"description": "Display name. Names are unique; a numeric suffix is added on collision."
},
"position": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "[x, y, z] in parent space. Y is up. Default [0, 0, 0]."
},
"rotation": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "Euler rotation in degrees [x, y, z]. Default [0, 0, 0]."
},
"scale": {
"description": "Uniform number or [x, y, z]. Default 1.",
"anyOf": [
{
"type": "number"
},
{
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3
}
]
},
"material": {
"type": "string",
"description": "Material id or name, or a preset name such as plastic, metal, gold, chrome, glass, wood, clay. See list_presets."
},
"color": {
"type": "string",
"description": "Hex color like \"#D9A441\". Combined with a preset it makes a tinted copy; alone it makes a plastic of that color."
},
"parent": {
"type": "string",
"description": "Id or name of a parent object (usually a group). Position and rotation are then relative to it."
},
"on_ground": {
"type": "boolean",
"description": "Lift the object so its lowest point sits on the ground plane. Defaults to true when position is omitted (except for tube and mesh, whose coordinates are absolute), false otherwise."
},
"visible": {
"type": "boolean",
"description": "Default true."
},
"cast_shadow": {
"type": "boolean",
"description": "Default true."
},
"receive_shadow": {
"type": "boolean",
"description": "Default true."
}
},
"required": [
"path"
]
},
"page": "/flevAgenticCAD/"
}create_gearAction
A spur gear with trapezoidal teeth and an optional center hole. Lies flat (axis "y") by default; use axis "z" for a gear facing the camera.
View tool JSON
{
"name": "create_gear",
"kind": "act",
"impl": "imperative",
"description": "A spur gear with trapezoidal teeth and an optional center hole. Lies flat (axis \"y\") by default; use axis \"z\" for a gear facing the camera.",
"inputSchema": {
"type": "object",
"properties": {
"teeth": {
"type": "integer",
"description": "Number of teeth. Default 12."
},
"outer_radius": {
"type": "number",
"description": "Radius to the tooth tips. Default 0.5."
},
"thickness": {
"type": "number",
"description": "Default 0.2."
},
"hole_radius": {
"type": "number",
"description": "Center bore radius, 0 for none. Default 0.1."
},
"tooth_depth": {
"type": "number",
"description": "Radial tooth height. Default is proportional to the pitch."
},
"axis": {
"type": "string",
"enum": [
"x",
"y",
"z"
],
"description": "Axis of rotation. Default \"y\"."
},
"name": {
"type": "string",
"description": "Display name. Names are unique; a numeric suffix is added on collision."
},
"position": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "[x, y, z] in parent space. Y is up. Default [0, 0, 0]."
},
"rotation": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "Euler rotation in degrees [x, y, z]. Default [0, 0, 0]."
},
"scale": {
"description": "Uniform number or [x, y, z]. Default 1.",
"anyOf": [
{
"type": "number"
},
{
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3
}
]
},
"material": {
"type": "string",
"description": "Material id or name, or a preset name such as plastic, metal, gold, chrome, glass, wood, clay. See list_presets."
},
"color": {
"type": "string",
"description": "Hex color like \"#D9A441\". Combined with a preset it makes a tinted copy; alone it makes a plastic of that color."
},
"parent": {
"type": "string",
"description": "Id or name of a parent object (usually a group). Position and rotation are then relative to it."
},
"on_ground": {
"type": "boolean",
"description": "Lift the object so its lowest point sits on the ground plane. Defaults to true when position is omitted (except for tube and mesh, whose coordinates are absolute), false otherwise."
},
"visible": {
"type": "boolean",
"description": "Default true."
},
"cast_shadow": {
"type": "boolean",
"description": "Default true."
},
"receive_shadow": {
"type": "boolean",
"description": "Default true."
}
}
},
"page": "/flevAgenticCAD/"
}create_meshAction
Add raw triangle geometry: a flat positions array [x,y,z, x,y,z, ...] and optional indices (triples of vertex indices, counter-clockwise when seen from outside). Use this for shapes the other tools cannot make. Keep it under about 20k vertices.
View tool JSON
{
"name": "create_mesh",
"kind": "act",
"impl": "imperative",
"description": "Add raw triangle geometry: a flat positions array [x,y,z, x,y,z, ...] and optional indices (triples of vertex indices, counter-clockwise when seen from outside). Use this for shapes the other tools cannot make. Keep it under about 20k vertices.",
"inputSchema": {
"type": "object",
"properties": {
"positions": {
"type": "array",
"items": {
"type": "number"
},
"description": "Flat vertex list, length a multiple of 3."
},
"indices": {
"type": "array",
"items": {
"type": "integer"
},
"description": "Optional triangle index list, length a multiple of 3. Omit for unindexed triangles taken three vertices at a time."
},
"smooth": {
"type": "boolean",
"description": "Merge shared vertices and smooth normals. Default true. Set false for hard-edged shapes."
},
"name": {
"type": "string",
"description": "Display name. Names are unique; a numeric suffix is added on collision."
},
"position": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "[x, y, z] in parent space. Y is up. Default [0, 0, 0]."
},
"rotation": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "Euler rotation in degrees [x, y, z]. Default [0, 0, 0]."
},
"scale": {
"description": "Uniform number or [x, y, z]. Default 1.",
"anyOf": [
{
"type": "number"
},
{
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3
}
]
},
"material": {
"type": "string",
"description": "Material id or name, or a preset name such as plastic, metal, gold, chrome, glass, wood, clay. See list_presets."
},
"color": {
"type": "string",
"description": "Hex color like \"#D9A441\". Combined with a preset it makes a tinted copy; alone it makes a plastic of that color."
},
"parent": {
"type": "string",
"description": "Id or name of a parent object (usually a group). Position and rotation are then relative to it."
},
"on_ground": {
"type": "boolean",
"description": "Lift the object so its lowest point sits on the ground plane. Defaults to true when position is omitted (except for tube and mesh, whose coordinates are absolute), false otherwise."
},
"visible": {
"type": "boolean",
"description": "Default true."
},
"cast_shadow": {
"type": "boolean",
"description": "Default true."
},
"receive_shadow": {
"type": "boolean",
"description": "Default true."
}
},
"required": [
"positions"
]
},
"page": "/flevAgenticCAD/"
}create_groupAction
Create an empty group, optionally moving existing objects into it (their world placement is preserved). Groups can be moved, rotated, scaled, and duplicated as one unit.
View tool JSON
{
"name": "create_group",
"kind": "act",
"impl": "imperative",
"description": "Create an empty group, optionally moving existing objects into it (their world placement is preserved). Groups can be moved, rotated, scaled, and duplicated as one unit.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Group name."
},
"children": {
"type": "array",
"items": {
"type": "string"
},
"description": "Objects to move into the group."
},
"position": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "Group origin. Default [0, 0, 0]."
},
"rotation": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "Degrees."
},
"scale": {
"description": "Uniform number or [x, y, z]. Default 1.",
"anyOf": [
{
"type": "number"
},
{
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3
}
]
},
"parent": {
"type": "string",
"description": "Parent object for the group."
}
}
},
"page": "/flevAgenticCAD/"
}update_objectAction
Set properties of an object: name, absolute transform, geometry params (merged into the existing ones), material, visibility, shadows. For relative moves use transform_object.
View tool JSON
{
"name": "update_object",
"kind": "act",
"impl": "imperative",
"description": "Set properties of an object: name, absolute transform, geometry params (merged into the existing ones), material, visibility, shadows. For relative moves use transform_object.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Object id or name."
},
"name": {
"type": "string"
},
"params": {
"type": "object",
"properties": {},
"description": "Geometry parameters to change, merged with the current ones, e.g. {\"radius\": 0.8}."
},
"position": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3
},
"rotation": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "Degrees."
},
"scale": {
"description": "Uniform number or [x, y, z]. Default 1.",
"anyOf": [
{
"type": "number"
},
{
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3
}
]
},
"material": {
"type": "string",
"description": "Material id or name, or a preset name such as plastic, metal, gold, chrome, glass, wood, clay. See list_presets."
},
"color": {
"type": "string",
"description": "Hex color like \"#D9A441\". Combined with a preset it makes a tinted copy; alone it makes a plastic of that color."
},
"visible": {
"type": "boolean"
},
"cast_shadow": {
"type": "boolean"
},
"receive_shadow": {
"type": "boolean"
},
"on_ground": {
"type": "boolean",
"description": "After other changes, drop the object onto the ground plane."
}
},
"required": [
"id"
]
},
"page": "/flevAgenticCAD/"
}transform_objectAction
Move, rotate, or scale an object relative to its current state (in parent space).
View tool JSON
{
"name": "transform_object",
"kind": "act",
"impl": "imperative",
"description": "Move, rotate, or scale an object relative to its current state (in parent space).",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Object id or name."
},
"translate": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "Offset to add to position."
},
"rotate": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "Degrees to add to rotation."
},
"scale": {
"description": "Multiplier: number or [x, y, z].",
"anyOf": [
{
"type": "number"
},
{
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3
}
]
}
},
"required": [
"id"
]
},
"page": "/flevAgenticCAD/"
}duplicate_objectAction
Copy an object (with its children) one or more times, offsetting and rotating each successive copy. Makes linear arrays: count 5 with offset [1.2, 0, 0] gives a row.
View tool JSON
{
"name": "duplicate_object",
"kind": "act",
"impl": "imperative",
"description": "Copy an object (with its children) one or more times, offsetting and rotating each successive copy. Makes linear arrays: count 5 with offset [1.2, 0, 0] gives a row.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Object id or name."
},
"count": {
"type": "integer",
"description": "Number of copies. Default 1."
},
"offset": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "Added to the position for each successive copy. Default [0, 0, 0]."
},
"rotate_step": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "Degrees added for each successive copy."
},
"name": {
"type": "string",
"description": "Base name for the copies."
}
},
"required": [
"id"
]
},
"page": "/flevAgenticCAD/"
}array_radialAction
Arrange copies of an object evenly around an axis (bolt circles, spokes, petals, chair legs). The original stays; count minus one copies are added.
View tool JSON
{
"name": "array_radial",
"kind": "act",
"impl": "imperative",
"description": "Arrange copies of an object evenly around an axis (bolt circles, spokes, petals, chair legs). The original stays; count minus one copies are added.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Object id or name."
},
"count": {
"type": "integer",
"description": "Total instances including the original."
},
"axis": {
"type": "string",
"enum": [
"x",
"y",
"z"
],
"description": "Rotation axis. Default \"y\"."
},
"center": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "Center of the circle in parent space. Default [0, 0, 0]."
},
"rotate_copies": {
"type": "boolean",
"description": "Also rotate each copy to face outward. Default true."
}
},
"required": [
"id",
"count"
]
},
"page": "/flevAgenticCAD/"
}mirror_objectAction
Mirror an object across a plane through the given coordinate (default the origin) perpendicular to axis. Keeps the original unless keep_original is false.
View tool JSON
{
"name": "mirror_object",
"kind": "act",
"impl": "imperative",
"description": "Mirror an object across a plane through the given coordinate (default the origin) perpendicular to axis. Keeps the original unless keep_original is false.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Object id or name."
},
"axis": {
"type": "string",
"enum": [
"x",
"y",
"z"
],
"description": "Axis perpendicular to the mirror plane."
},
"at": {
"type": "number",
"description": "Coordinate of the mirror plane along axis. Default 0."
},
"keep_original": {
"type": "boolean",
"description": "Default true."
}
},
"required": [
"id",
"axis"
]
},
"page": "/flevAgenticCAD/"
}drop_to_groundAction
Move objects straight down (or up) so their lowest point touches the ground plane. Omit ids to drop every top-level object.
View tool JSON
{
"name": "drop_to_ground",
"kind": "act",
"impl": "imperative",
"description": "Move objects straight down (or up) so their lowest point touches the ground plane. Omit ids to drop every top-level object.",
"inputSchema": {
"type": "object",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Object ids or names."
}
}
},
"page": "/flevAgenticCAD/"
}place_onAction
Stack one object on top of another: its bottom lands on the target's top, centered over the target (plus an optional x/z offset).
View tool JSON
{
"name": "place_on",
"kind": "act",
"impl": "imperative",
"description": "Stack one object on top of another: its bottom lands on the target's top, centered over the target (plus an optional x/z offset).",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Object to move."
},
"target": {
"type": "string",
"description": "Object to rest on."
},
"offset": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 2,
"maxItems": 2,
"description": "[dx, dz] offset from the target center. Default [0, 0]."
},
"gap": {
"type": "number",
"description": "Vertical gap. Default 0."
}
},
"required": [
"id",
"target"
]
},
"page": "/flevAgenticCAD/"
}align_objectsAction
Line objects up along one axis by their bounding boxes: align their min, center, or max to a world coordinate, or to the first object when "to" is omitted.
View tool JSON
{
"name": "align_objects",
"kind": "act",
"impl": "imperative",
"description": "Line objects up along one axis by their bounding boxes: align their min, center, or max to a world coordinate, or to the first object when \"to\" is omitted.",
"inputSchema": {
"type": "object",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Two or more objects (or one object with an explicit \"to\")."
},
"axis": {
"type": "string",
"enum": [
"x",
"y",
"z"
]
},
"mode": {
"type": "string",
"enum": [
"min",
"center",
"max"
],
"description": "Which edge of each box to align. Default \"center\"."
},
"to": {
"type": "number",
"description": "World coordinate to align to. Default: the first object's value."
}
},
"required": [
"ids",
"axis"
]
},
"page": "/flevAgenticCAD/"
}set_parentAction
Move an object under another object (or to the top level with parent null). World placement is preserved.
View tool JSON
{
"name": "set_parent",
"kind": "act",
"impl": "imperative",
"description": "Move an object under another object (or to the top level with parent null). World placement is preserved.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Object id or name."
},
"parent": {
"description": "Parent id/name, or null for top level.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id"
]
},
"page": "/flevAgenticCAD/"
}delete_objectsSensitive Action
Delete objects and their children.
View tool JSON
{
"name": "delete_objects",
"kind": "transact",
"impl": "imperative",
"description": "Delete objects and their children.",
"inputSchema": {
"type": "object",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Object ids or names."
}
},
"required": [
"ids"
]
},
"page": "/flevAgenticCAD/"
}booleanAction
Combine solids: union merges the target with the tools, subtract cuts the tools out of the target (holes, slots, pockets), intersect keeps only the overlap. The target becomes a baked mesh; the tool objects are removed unless keep_tools is true. Overlap the shapes slightly to avoid coplanar faces.
View tool JSON
{
"name": "boolean",
"kind": "act",
"impl": "imperative",
"description": "Combine solids: union merges the target with the tools, subtract cuts the tools out of the target (holes, slots, pockets), intersect keeps only the overlap. The target becomes a baked mesh; the tool objects are removed unless keep_tools is true. Overlap the shapes slightly to avoid coplanar faces.",
"inputSchema": {
"type": "object",
"properties": {
"operation": {
"type": "string",
"enum": [
"union",
"subtract",
"intersect"
]
},
"target": {
"type": "string",
"description": "Object that receives the result."
},
"tools": {
"type": "array",
"items": {
"type": "string"
},
"description": "One or more objects used as cutters or additions."
},
"keep_tools": {
"type": "boolean",
"description": "Keep the tool objects (hidden) instead of deleting them. Default false."
},
"name": {
"type": "string",
"description": "Rename the result."
}
},
"required": [
"operation",
"target",
"tools"
]
},
"page": "/flevAgenticCAD/"
}select_objectsAction
Highlight objects in the user's viewport and inspector. Purely visual; use it to point at something you are discussing.
View tool JSON
{
"name": "select_objects",
"kind": "act",
"impl": "imperative",
"description": "Highlight objects in the user's viewport and inspector. Purely visual; use it to point at something you are discussing.",
"inputSchema": {
"type": "object",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Object ids or names. Empty to clear the selection."
}
}
},
"page": "/flevAgenticCAD/"
}create_materialAction
Create a physically based material. Start from a preset (plastic, glossy_plastic, matte, clay, rubber, ceramic, metal, brushed_metal, chrome, steel, gold, copper, brass, glass, tinted_glass, frosted_glass, wood, velvet, emissive, wireframe) and override any property.
View tool JSON
{
"name": "create_material",
"kind": "act",
"impl": "imperative",
"description": "Create a physically based material. Start from a preset (plastic, glossy_plastic, matte, clay, rubber, ceramic, metal, brushed_metal, chrome, steel, gold, copper, brass, glass, tinted_glass, frosted_glass, wood, velvet, emissive, wireframe) and override any property.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Material name."
},
"preset": {
"type": "string",
"enum": [
"plastic",
"glossy_plastic",
"matte",
"clay",
"rubber",
"ceramic",
"metal",
"brushed_metal",
"chrome",
"steel",
"gold",
"copper",
"brass",
"glass",
"tinted_glass",
"frosted_glass",
"wood",
"velvet",
"emissive",
"wireframe"
],
"description": "Starting point."
},
"color": {
"type": "string",
"description": "Base color, hex."
},
"roughness": {
"type": "number",
"description": "0 mirror-smooth to 1 fully matte.",
"minimum": 0,
"maximum": 1
},
"metalness": {
"type": "number",
"description": "0 dielectric to 1 metal.",
"minimum": 0,
"maximum": 1
},
"opacity": {
"type": "number",
"description": "0 to 1. Below 1 turns on alpha blending.",
"minimum": 0,
"maximum": 1
},
"transmission": {
"type": "number",
"description": "0 to 1. Physically based glass; keep opacity at 1 and set roughness low.",
"minimum": 0,
"maximum": 1
},
"ior": {
"type": "number",
"description": "Index of refraction, 1 to 2.333. Glass is 1.5."
},
"thickness": {
"type": "number",
"description": "Volume thickness for transmission refraction, in scene units."
},
"clearcoat": {
"type": "number",
"description": "0 to 1. Lacquer layer on top of the base.",
"minimum": 0,
"maximum": 1
},
"clearcoat_roughness": {
"type": "number",
"description": "0 to 1.",
"minimum": 0,
"maximum": 1
},
"emissive": {
"type": "string",
"description": "Emissive color, hex. \"#000000\" for none."
},
"emissive_intensity": {
"type": "number",
"description": "Multiplier for emissive."
},
"sheen": {
"type": "number",
"description": "0 to 1. Velvet-like edge highlight.",
"minimum": 0,
"maximum": 1
},
"sheen_roughness": {
"type": "number",
"description": "0 to 1.",
"minimum": 0,
"maximum": 1
},
"sheen_color": {
"type": "string",
"description": "Hex."
},
"iridescence": {
"type": "number",
"description": "0 to 1. Thin-film color shift.",
"minimum": 0,
"maximum": 1
},
"flat_shading": {
"type": "boolean",
"description": "Faceted look; shows polygon faces."
},
"wireframe": {
"type": "boolean",
"description": "Draw edges only."
},
"double_sided": {
"type": "boolean",
"description": "Render back faces too (needed for open shapes like planes and lathes with partial sweep)."
}
},
"required": [
"name"
]
},
"page": "/flevAgenticCAD/"
}update_materialAction
Change properties of an existing material. Every object using it updates.
View tool JSON
{
"name": "update_material",
"kind": "act",
"impl": "imperative",
"description": "Change properties of an existing material. Every object using it updates.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Material id or name."
},
"name": {
"type": "string",
"description": "Rename."
},
"color": {
"type": "string",
"description": "Base color, hex."
},
"roughness": {
"type": "number",
"description": "0 mirror-smooth to 1 fully matte.",
"minimum": 0,
"maximum": 1
},
"metalness": {
"type": "number",
"description": "0 dielectric to 1 metal.",
"minimum": 0,
"maximum": 1
},
"opacity": {
"type": "number",
"description": "0 to 1. Below 1 turns on alpha blending.",
"minimum": 0,
"maximum": 1
},
"transmission": {
"type": "number",
"description": "0 to 1. Physically based glass; keep opacity at 1 and set roughness low.",
"minimum": 0,
"maximum": 1
},
"ior": {
"type": "number",
"description": "Index of refraction, 1 to 2.333. Glass is 1.5."
},
"thickness": {
"type": "number",
"description": "Volume thickness for transmission refraction, in scene units."
},
"clearcoat": {
"type": "number",
"description": "0 to 1. Lacquer layer on top of the base.",
"minimum": 0,
"maximum": 1
},
"clearcoat_roughness": {
"type": "number",
"description": "0 to 1.",
"minimum": 0,
"maximum": 1
},
"emissive": {
"type": "string",
"description": "Emissive color, hex. \"#000000\" for none."
},
"emissive_intensity": {
"type": "number",
"description": "Multiplier for emissive."
},
"sheen": {
"type": "number",
"description": "0 to 1. Velvet-like edge highlight.",
"minimum": 0,
"maximum": 1
},
"sheen_roughness": {
"type": "number",
"description": "0 to 1.",
"minimum": 0,
"maximum": 1
},
"sheen_color": {
"type": "string",
"description": "Hex."
},
"iridescence": {
"type": "number",
"description": "0 to 1. Thin-film color shift.",
"minimum": 0,
"maximum": 1
},
"flat_shading": {
"type": "boolean",
"description": "Faceted look; shows polygon faces."
},
"wireframe": {
"type": "boolean",
"description": "Draw edges only."
},
"double_sided": {
"type": "boolean",
"description": "Render back faces too (needed for open shapes like planes and lathes with partial sweep)."
}
},
"required": [
"id"
]
},
"page": "/flevAgenticCAD/"
}assign_materialAction
Apply a material (existing id/name, or a preset optionally tinted with color) to one or more objects. Applies to every solid inside a group.
View tool JSON
{
"name": "assign_material",
"kind": "act",
"impl": "imperative",
"description": "Apply a material (existing id/name, or a preset optionally tinted with color) to one or more objects. Applies to every solid inside a group.",
"inputSchema": {
"type": "object",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Object ids or names."
},
"material": {
"type": "string",
"description": "Material id or name, or a preset name such as plastic, metal, gold, chrome, glass, wood, clay. See list_presets."
},
"color": {
"type": "string",
"description": "Hex color like \"#D9A441\". Combined with a preset it makes a tinted copy; alone it makes a plastic of that color."
}
},
"required": [
"ids"
]
},
"page": "/flevAgenticCAD/"
}list_materialsAnswer
List materials in the scene with their properties and which objects use them.
View tool JSON
{
"name": "list_materials",
"kind": "answer",
"impl": "imperative",
"description": "List materials in the scene with their properties and which objects use them.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/flevAgenticCAD/"
}delete_materialSensitive Action
Delete a material. Objects using it fall back to the default material.
View tool JSON
{
"name": "delete_material",
"kind": "transact",
"impl": "imperative",
"description": "Delete a material. Objects using it fall back to the default material.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Material id or name."
}
},
"required": [
"id"
]
},
"page": "/flevAgenticCAD/"
}set_lightingAction
Replace all lights with a preset rig: studio (three-point studio rig with soft shadows. good default for product renders); soft (environment light only, with one faint shadow-casting sun. flat and forgiving); sun (hard warm sunlight with a cool sky fill. outdoor look); dramatic (one strong key from the side, deep shadows, little fill); none (no lights. only the environment map lights the scene). Tweak individual lights afterwards with update_light.
View tool JSON
{
"name": "set_lighting",
"kind": "act",
"impl": "imperative",
"description": "Replace all lights with a preset rig: studio (three-point studio rig with soft shadows. good default for product renders); soft (environment light only, with one faint shadow-casting sun. flat and forgiving); sun (hard warm sunlight with a cool sky fill. outdoor look); dramatic (one strong key from the side, deep shadows, little fill); none (no lights. only the environment map lights the scene). Tweak individual lights afterwards with update_light.",
"inputSchema": {
"type": "object",
"properties": {
"preset": {
"type": "string",
"enum": [
"studio",
"soft",
"sun",
"dramatic",
"none"
]
},
"env_intensity": {
"type": "number",
"description": "Override the environment (image based) light strength, 0 to 3."
}
},
"required": [
"preset"
]
},
"page": "/flevAgenticCAD/"
}add_lightAction
Add a light. directional: parallel sunlight (intensity 1 to 5). point: bulb (intensity 20 to 300). spot: cone (intensity 50 to 400, angle in degrees). ambient and hemisphere: flat fill (0.2 to 2).
View tool JSON
{
"name": "add_light",
"kind": "act",
"impl": "imperative",
"description": "Add a light. directional: parallel sunlight (intensity 1 to 5). point: bulb (intensity 20 to 300). spot: cone (intensity 50 to 400, angle in degrees). ambient and hemisphere: flat fill (0.2 to 2).",
"inputSchema": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"directional",
"point",
"spot",
"ambient",
"hemisphere"
]
},
"name": {
"type": "string",
"description": "Display name."
},
"color": {
"type": "string",
"description": "Hex."
},
"intensity": {
"type": "number",
"description": "Directional lights: 1 to 5. Point and spot lights use candela-like values: 50 to 300 is typical at a few units away."
},
"position": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "[x, y, z]."
},
"target": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "Point the light aims at (directional and spot)."
},
"cast_shadow": {
"type": "boolean",
"description": "Shadows cost performance; keep to one or two lights."
},
"angle": {
"type": "number",
"description": "Spot cone half-angle in degrees."
},
"penumbra": {
"type": "number",
"description": "Spot edge softness 0 to 1."
},
"distance": {
"type": "number",
"description": "Point/spot falloff range; 0 for unlimited."
},
"ground_color": {
"type": "string",
"description": "Hemisphere light color from below, hex."
},
"visible": {
"type": "boolean"
}
},
"required": [
"type"
]
},
"page": "/flevAgenticCAD/"
}update_lightAction
Change a light's color, intensity, position, target, shadows, or spot cone.
View tool JSON
{
"name": "update_light",
"kind": "act",
"impl": "imperative",
"description": "Change a light's color, intensity, position, target, shadows, or spot cone.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Light id or name."
},
"name": {
"type": "string",
"description": "Display name."
},
"color": {
"type": "string",
"description": "Hex."
},
"intensity": {
"type": "number",
"description": "Directional lights: 1 to 5. Point and spot lights use candela-like values: 50 to 300 is typical at a few units away."
},
"position": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "[x, y, z]."
},
"target": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "Point the light aims at (directional and spot)."
},
"cast_shadow": {
"type": "boolean",
"description": "Shadows cost performance; keep to one or two lights."
},
"angle": {
"type": "number",
"description": "Spot cone half-angle in degrees."
},
"penumbra": {
"type": "number",
"description": "Spot edge softness 0 to 1."
},
"distance": {
"type": "number",
"description": "Point/spot falloff range; 0 for unlimited."
},
"ground_color": {
"type": "string",
"description": "Hemisphere light color from below, hex."
},
"visible": {
"type": "boolean"
}
},
"required": [
"id"
]
},
"page": "/flevAgenticCAD/"
}delete_lightSensitive Action
Remove a light.
View tool JSON
{
"name": "delete_light",
"kind": "transact",
"impl": "imperative",
"description": "Remove a light.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Light id or name."
}
},
"required": [
"id"
]
},
"page": "/flevAgenticCAD/"
}set_environmentAction
Set the backdrop and ground for renders: background (gradient, solid color, or transparent), ground plane (invisible shadow catcher, solid plane, or a curved cyclorama backdrop), exposure, environment light strength, and shadows.
View tool JSON
{
"name": "set_environment",
"kind": "act",
"impl": "imperative",
"description": "Set the backdrop and ground for renders: background (gradient, solid color, or transparent), ground plane (invisible shadow catcher, solid plane, or a curved cyclorama backdrop), exposure, environment light strength, and shadows.",
"inputSchema": {
"type": "object",
"properties": {
"background": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"gradient",
"color",
"transparent"
]
},
"color": {
"type": "string",
"description": "Hex, for type \"color\"."
},
"top": {
"type": "string",
"description": "Hex, gradient center/top."
},
"bottom": {
"type": "string",
"description": "Hex, gradient edge/bottom."
}
}
},
"ground": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"none",
"shadow",
"solid",
"cyclorama"
],
"description": "\"shadow\" shows only shadows on an invisible plane; \"cyclorama\" is a seamless studio sweep."
},
"color": {
"type": "string",
"description": "Hex, for solid and cyclorama."
},
"size": {
"type": "number",
"description": "Plane size. Default 30."
},
"y": {
"type": "number",
"description": "Ground height. Default 0."
},
"opacity": {
"type": "number",
"description": "Shadow darkness for type \"shadow\", 0 to 1. Default 0.35."
}
}
},
"exposure": {
"type": "number",
"description": "Tone mapping exposure. Default 1; 0.7 darker, 1.4 brighter."
},
"env_intensity": {
"type": "number",
"description": "Image based light strength, 0 to 3."
},
"shadows": {
"type": "boolean",
"description": "Enable shadows. Default true."
}
}
},
"page": "/flevAgenticCAD/"
}set_cameraAction
Move the camera. Use view (perspective, front, back, left, right, top, bottom, iso, three_quarter, low, high) and frame to fit the whole scene or specific objects, or set position/target/fov directly. Frame is applied first, then explicit values override.
View tool JSON
{
"name": "set_camera",
"kind": "act",
"impl": "imperative",
"description": "Move the camera. Use view (perspective, front, back, left, right, top, bottom, iso, three_quarter, low, high) and frame to fit the whole scene or specific objects, or set position/target/fov directly. Frame is applied first, then explicit values override.",
"inputSchema": {
"type": "object",
"properties": {
"view": {
"type": "string",
"enum": [
"perspective",
"front",
"back",
"left",
"right",
"top",
"bottom",
"iso",
"three_quarter",
"low",
"high"
],
"description": "Named viewing direction."
},
"frame": {
"description": "\"all\", an object id/name, or a list of them: fit these in view.",
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"padding": {
"type": "number",
"description": "Framing margin multiplier. Default 1.2; smaller is tighter."
},
"position": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "Camera position."
},
"target": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"description": "Point the camera looks at."
},
"fov": {
"type": "number",
"description": "Vertical field of view in degrees. Default 38; 20 to 30 looks like a product shot."
}
}
},
"page": "/flevAgenticCAD/"
}renderAction
Render a polished image of the scene with shadows, environment lighting, and antialiasing. Optionally frame objects and pick a view first. Returns the image. The camera stays where the render was taken unless restore_camera is true. Keep width at or below 1600 for quick turnaround.
View tool JSON
{
"name": "render",
"kind": "act",
"impl": "imperative",
"description": "Render a polished image of the scene with shadows, environment lighting, and antialiasing. Optionally frame objects and pick a view first. Returns the image. The camera stays where the render was taken unless restore_camera is true. Keep width at or below 1600 for quick turnaround.",
"inputSchema": {
"type": "object",
"properties": {
"width": {
"type": "integer",
"description": "Pixels. Default 1024."
},
"height": {
"type": "integer",
"description": "Pixels. Default 3:4 of width."
},
"view": {
"type": "string",
"enum": [
"perspective",
"front",
"back",
"left",
"right",
"top",
"bottom",
"iso",
"three_quarter",
"low",
"high"
],
"description": "Viewing direction for this render."
},
"frame": {
"description": "\"all\", an object id/name, or a list: fit these before rendering.",
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"padding": {
"type": "number",
"description": "Framing margin. Default 1.2."
},
"transparent": {
"type": "boolean",
"description": "Transparent background (PNG). Default false."
},
"format": {
"type": "string",
"enum": [
"png",
"jpeg"
],
"description": "Default png. jpeg is smaller."
},
"quality": {
"type": "number",
"description": "JPEG quality 0.3 to 1. Default 0.92."
},
"supersample": {
"type": "integer",
"description": "1 or 2. Default 2 (renders at double size and downsamples)."
},
"restore_camera": {
"type": "boolean",
"description": "Put the camera back afterwards. Default false."
}
}
},
"page": "/flevAgenticCAD/"
}render_turntableAction
Render several views evenly spaced around the scene or given objects, at one elevation. Good for checking a model from all sides. Restores the camera afterwards.
View tool JSON
{
"name": "render_turntable",
"kind": "act",
"impl": "imperative",
"description": "Render several views evenly spaced around the scene or given objects, at one elevation. Good for checking a model from all sides. Restores the camera afterwards.",
"inputSchema": {
"type": "object",
"properties": {
"count": {
"type": "integer",
"description": "Number of views. Default 4, max 12."
},
"elevation": {
"type": "number",
"description": "Camera elevation in degrees above the horizon. Default 22."
},
"width": {
"type": "integer",
"description": "Pixels per image. Default 640."
},
"height": {
"type": "integer",
"description": "Default 3:4 of width."
},
"frame": {
"description": "\"all\" or object ids/names.",
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"padding": {
"type": "number",
"description": "Default 1.2."
},
"format": {
"type": "string",
"enum": [
"png",
"jpeg"
],
"description": "Default jpeg."
}
}
},
"page": "/flevAgenticCAD/"
}export_modelAction
Export the scene (or selected objects) as a file the user downloads: glb (with materials, best for sharing), stl (for 3D printing), obj, or json (this studio's own format, reloadable with load_scene). Set download false to just get the size, or include_content true for json text.
View tool JSON
{
"name": "export_model",
"kind": "act",
"impl": "imperative",
"description": "Export the scene (or selected objects) as a file the user downloads: glb (with materials, best for sharing), stl (for 3D printing), obj, or json (this studio's own format, reloadable with load_scene). Set download false to just get the size, or include_content true for json text.",
"inputSchema": {
"type": "object",
"properties": {
"format": {
"type": "string",
"enum": [
"glb",
"stl",
"obj",
"json"
],
"description": "Default glb."
},
"ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Only these objects (world placement baked in). Omit for everything visible."
},
"filename": {
"type": "string",
"description": "Without extension. Default is the scene name."
},
"download": {
"type": "boolean",
"description": "Trigger a browser download for the user. Default true."
},
"include_content": {
"type": "boolean",
"description": "For json: return the document text in the result. Default false."
}
}
},
"page": "/flevAgenticCAD/"
}load_sceneAction
Replace the current scene with a studio JSON document (from export_model format json). The previous scene stays in undo history.
View tool JSON
{
"name": "load_scene",
"kind": "act",
"impl": "imperative",
"description": "Replace the current scene with a studio JSON document (from export_model format json). The previous scene stays in undo history.",
"inputSchema": {
"type": "object",
"properties": {
"scene": {
"description": "The document as a JSON object or string.",
"anyOf": [
{
"type": "object"
},
{
"type": "string"
}
]
}
},
"required": [
"scene"
]
},
"page": "/flevAgenticCAD/"
}new_sceneAction
Clear everything and start a fresh scene with the default studio lighting. The old scene stays in undo history.
View tool JSON
{
"name": "new_scene",
"kind": "act",
"impl": "imperative",
"description": "Clear everything and start a fresh scene with the default studio lighting. The old scene stays in undo history.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Scene name."
}
}
},
"page": "/flevAgenticCAD/"
}set_scene_nameAction
Rename the scene (used for export filenames).
View tool JSON
{
"name": "set_scene_name",
"kind": "act",
"impl": "imperative",
"description": "Rename the scene (used for export filenames).",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
]
},
"page": "/flevAgenticCAD/"
}undoAction
Undo the last change(s).
View tool JSON
{
"name": "undo",
"kind": "act",
"impl": "imperative",
"description": "Undo the last change(s).",
"inputSchema": {
"type": "object",
"properties": {
"steps": {
"type": "integer",
"description": "Default 1."
}
}
},
"page": "/flevAgenticCAD/"
}redoAction
Redo the last undone change(s).
View tool JSON
{
"name": "redo",
"kind": "act",
"impl": "imperative",
"description": "Redo the last undone change(s).",
"inputSchema": {
"type": "object",
"properties": {
"steps": {
"type": "integer",
"description": "Default 1."
}
}
},
"page": "/flevAgenticCAD/"
}get_historyAnswer
List recent changes, newest last.
View tool JSON
{
"name": "get_history",
"kind": "answer",
"impl": "imperative",
"description": "List recent changes, newest last.",
"inputSchema": {
"type": "object",
"properties": {
"limit": {
"type": "integer",
"description": "Default 30."
}
}
},
"page": "/flevAgenticCAD/"
}