cadding.io
AI CAD for 3D printing in the browser. Turn prompts into editable models and export in minutes.
First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com
Answer 12 · Act 47 · Transact 1 · Score: Not yet scored
Tool inspector
cad.add_profile_shape
Create geometry from a profile, sketch, image trace, revolve, sweep, or loft. method=trace_image is only for a user-requested trace of a verified orthographic/planar true prism; extrude is only for a true prism (both large faces planar AND parallel, thickness = one extrude axis). Do not trace a general perspective product photo as a substitute for reconstructing its 3D form. Do not flatten a cupped wall into an extruded 2D outline, and do not fake a lean with extra rotationDeg — that mapping is sketch-plane onto CAD axes only (typically 90° about one axis). Circular-pattern phase belongs on pattern_parts. Curved shells use method=revolve or loft, or add_shape primitives plus boolean_parts. Prefer add_shape cylinder|truncatedCone|tube (or shell_part) when the axisymmetric wall is constant radius or a single linear taper with a coaxial bore — do not invent a custom revolve meridian or high radialSegments for that case. For a vessel with a genuinely changing meridian, use revolve with an outer meridian only, shell="hollow", openTop=true, openBottom=false, wallThicknessMm, and radialSegments ≤ 64; do not use a primary mouth cutter. For a handle/grip/loop/spout, use sweep with either absolute pathPointsMm or startMm/endMm plus optional viaPointsMm, pathMode="curve", profileKind="circle", tubeRadiusMm, and endpoints penetrating the host; do not follow that authored sweep with a generic mate_parts call.
Page: /editor
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
method |
string | yes | Construction method. trace_image requires an explicit user trace request and a verified orthographic/planar true-prism view; extrude also requires a true prism (planar AND parallel large faces). For ordinary perspective reference images, reconstruct the full visible 3D form instead. extrude/sketch_extrude requires parameters.profilePointsMm, segments, or profilePreset on the call. Extra rotationDeg is not a substitute for curvature; pattern phase is pattern_parts, not the prototype. If the wall cups, use revolve/loft or add_shape + boolean_parts. Use sweep for a constant-section member along a bent 3D path. Prefer parameters.startMm + parameters.endMm + optional parameters.viaPointsMm for a simple handle; use parameters.pathPointsMm for a multi-waypoint route. All points are absolute CAD x=right,y=front/back,z=up millimeters. Use pathMode=curve for an intentional smooth bend, profileKind=circle|rect, and tubeRadiusMm or rectWidthMm/rectDepthMm. Authored sweep endpoints should contact the host directly, so generic mate_parts is normally unnecessary and unsafe. |
name |
string | no | Display name for the new part. |
componentId |
string | no | Opaque owner/component ID. |
guideMode |
string | no | Loft guide interpolation. Use spline with guidePointsMm for a smooth centripetal spline rail; omit it or use polyline for straight station interpolation. |
parameters |
object | no | Method-specific profile, path, section, and dimension data. Millimeter suffixes are authoritative. For method=extrude/sketch_extrude, set profilePlane="XY" for a top/footprint outline or "XZ" for a side/elevation outline (U/V map to the named CAD plane; extrudeDepthMm is perpendicular to that plane). For method=trace_image, require an explicit user trace request and a verified orthographic/planar true-prism view; only then set useReferenceImage=true and extrudeDepthMm (and optional referenceWidthMm/widthMm). For ordinary perspective product photos, reconstruct the 3D geometry instead of tracing. Use silhouettePrompt / isolateFromReference only to isolate one explicitly named component from a multi-object photo, or when no photo is attached and silhouette generation is explicitly requested. For method=revolve: parameters.segments is the visible outer wall as EDGES (Umm=radius from the spin axis, Vmm=height along CAD +Z), bottom→top. One line per straight run; arc/bezier (midUmm/midVmm on the curve) for blends; two meeting lines for a sharp corner. Do not sample a curve as many short lines (that lathes into stacked rings). Do not include the inner wall or axis-seal points — set shell/openTop/openBottom instead. Call-level radiusMm/axialHeightMm are envelope fallbacks only when segments are omitted. |
positionMm |
array | no | Exact CAD position [x, y, z] in millimeters. |
rotationDeg |
array | no | Exact CAD rotation [x, y, z] in degrees. |
color |
string | no | Hex color. |
targetPartId |
string | no | Optional host/body id for an attached sweep or other profile member. Use the exact live id from scene context or an explicit result alias such as "$handle"; never use latest-created/prototype order or a display name. This records the intended relationship; sweep endpoints still define the exact placement. |
targetFace |
string | no | Optional host face id for the attached profile member; inspect the host first and do not guess. |
parentPartId |
string | no | Optional GROUP id to nest under. It must resolve to type=group; never pass a solid enclosure/body id because that makes the child a boolean operand and destroys separate appearance. Use boolean_parts for real unions/subtractions. When replacing a nested body, pass its deleted parent only when that parent is a group. |
Raw JSON schema
{
"type": "object",
"title": "add_profile_shape",
"description": "Arguments for add_profile_shape.",
"properties": {
"method": {
"type": "string",
"description": "Construction method. trace_image requires an explicit user trace request and a verified orthographic/planar true-prism view; extrude also requires a true prism (planar AND parallel large faces). For ordinary perspective reference images, reconstruct the full visible 3D form instead. extrude/sketch_extrude requires parameters.profilePointsMm, segments, or profilePreset on the call. Extra rotationDeg is not a substitute for curvature; pattern phase is pattern_parts, not the prototype. If the wall cups, use revolve/loft or add_shape + boolean_parts. Use sweep for a constant-section member along a bent 3D path. Prefer parameters.startMm + parameters.endMm + optional parameters.viaPointsMm for a simple handle; use parameters.pathPointsMm for a multi-waypoint route. All points are absolute CAD x=right,y=front/back,z=up millimeters. Use pathMode=curve for an intentional smooth bend, profileKind=circle|rect, and tubeRadiusMm or rectWidthMm/rectDepthMm. Authored sweep endpoints should contact the host directly, so generic mate_parts is normally unnecessary and unsafe.",
"enum": [
"extrude",
"trace_image",
"sketch_extrude",
"revolve",
"sweep",
"loft"
]
},
"name": {
"type": "string",
"description": "Display name for the new part."
},
"componentId": {
"type": "string",
"description": "Opaque owner/component ID."
},
"guideMode": {
"type": "string",
"description": "Loft guide interpolation. Use spline with guidePointsMm for a smooth centripetal spline rail; omit it or use polyline for straight station interpolation.",
"enum": [
"polyline",
"spline"
]
},
"parameters": {
"type": "object",
"description": "Method-specific profile, path, section, and dimension data. Millimeter suffixes are authoritative. For method=extrude/sketch_extrude, set profilePlane=\"XY\" for a top/footprint outline or \"XZ\" for a side/elevation outline (U/V map to the named CAD plane; extrudeDepthMm is perpendicular to that plane). For method=trace_image, require an explicit user trace request and a verified orthographic/planar true-prism view; only then set useReferenceImage=true and extrudeDepthMm (and optional referenceWidthMm/widthMm). For ordinary perspective product photos, reconstruct the 3D geometry instead of tracing. Use silhouettePrompt / isolateFromReference only to isolate one explicitly named component from a multi-object photo, or when no photo is attached and silhouette generation is explicitly requested. For method=revolve: parameters.segments is the visible outer wall as EDGES (Umm=radius from the spin axis, Vmm=height along CAD +Z), bottom→top. One line per straight run; arc/bezier (midUmm/midVmm on the curve) for blends; two meeting lines for a sharp corner. Do not sample a curve as many short lines (that lathes into stacked rings). Do not include the inner wall or axis-seal points — set shell/openTop/openBottom instead. Call-level radiusMm/axialHeightMm are envelope fallbacks only when segments are omitted.",
"default": {},
"additionalProperties": true
},
"positionMm": {
"type": "array",
"description": "Exact CAD position [x, y, z] in millimeters.",
"default": [
0,
0,
0
],
"items": {
"type": "number"
}
},
"rotationDeg": {
"type": "array",
"description": "Exact CAD rotation [x, y, z] in degrees.",
"default": [
0,
0,
0
],
"items": {
"type": "number"
}
},
"color": {
"type": "string",
"description": "Hex color."
},
"targetPartId": {
"type": "string",
"description": "Optional host/body id for an attached sweep or other profile member. Use the exact live id from scene context or an explicit result alias such as \"$handle\"; never use latest-created/prototype order or a display name. This records the intended relationship; sweep endpoints still define the exact placement."
},
"targetFace": {
"type": "string",
"description": "Optional host face id for the attached profile member; inspect the host first and do not guess."
},
"parentPartId": {
"type": "string",
"description": "Optional GROUP id to nest under. It must resolve to type=group; never pass a solid enclosure/body id because that makes the child a boolean operand and destroys separate appearance. Use boolean_parts for real unions/subtractions. When replacing a nested body, pass its deleted parent only when that parent is a group."
}
},
"required": [
"method"
],
"additionalProperties": false
}
Similar websites
reloadium.com
Paste a topic, URL, or PDF/TXT/MD — get a multi-episode AI podcast with audio, transcripts, timelines and quizzes. 60+ languages.
api.lmm.best
Connect AI models, tools and applications with LMM Forge. Explore model access, developer guides and open-source collaboration.
deskintab.dgkhan08.workers.dev
An operating system in your browser, where you and your AI agent share apps, files, and projects through WebMCP.
webmcp.agentsdesk.dev
Meridian Ops