Curves¶
Part of the modeling skill: these tools appear once it is loaded — by blender_enable_skill with modeling, or by find_tool when a search returns one of them.
blender_add_curve ¶
Adds a curve: bezier, nurbs or poly drawn through given points, or a circle or path primitive, with optional thickness (bevelDepth) that turns it into a tube.
only adds · every call adds · stays inside Blender.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
kind |
string |
— | bezier |
bezier, nurbs or poly (drawn through points), circle or path (Blender's primitives). |
name |
string? |
— | null |
Name for the curve object. |
points |
array? |
— | null |
Control points as [[x, y, z], ...] for bezier, nurbs and poly; at least two. |
closed |
boolean |
— | false |
Close the curve into a loop. |
location |
array? |
— | null |
[x, y, z] in metres. |
size |
number? |
— | null |
Radius of a circle or length of a path. |
bevelDepth |
number? |
— | null |
Thickness of the curve as a round tube, in metres; 0 keeps it a line. |
extrude |
number? |
— | null |
Extrude the curve into a flat ribbon of this half-height, in metres. |
resolutionU |
integer? |
— | null |
Segments between control points; more is smoother. |
JSON Schema
{
"type": "object",
"properties": {
"kind": {
"description": "bezier, nurbs or poly (drawn through points), circle or path (Blender\u0027s primitives).",
"type": "string",
"default": "bezier"
},
"name": {
"description": "Name for the curve object.",
"type": [
"string",
"null"
],
"default": null
},
"points": {
"description": "Control points as [[x, y, z], ...] for bezier, nurbs and poly; at least two.",
"type": [
"array",
"null"
],
"items": {
"type": [
"array",
"null"
],
"items": {
"type": "number"
}
},
"default": null
},
"closed": {
"description": "Close the curve into a loop.",
"type": "boolean",
"default": false
},
"location": {
"description": "[x, y, z] in metres.",
"type": [
"array",
"null"
],
"items": {
"type": "number"
},
"default": null
},
"size": {
"description": "Radius of a circle or length of a path.",
"type": [
"number",
"null"
],
"default": null
},
"bevelDepth": {
"description": "Thickness of the curve as a round tube, in metres; 0 keeps it a line.",
"type": [
"number",
"null"
],
"default": null
},
"extrude": {
"description": "Extrude the curve into a flat ribbon of this half-height, in metres.",
"type": [
"number",
"null"
],
"default": null
},
"resolutionU": {
"description": "Segments between control points; more is smoother.",
"type": [
"integer",
"null"
],
"default": null
}
}
}
blender_set_curve ¶
Changes a curve's thickness, extrusion, resolution, fill, and the objects used as bevel profile or taper.
only adds · every call adds · stays inside Blender.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
name |
string |
yes | — | Name of the curve object. |
bevelDepth |
number? |
— | null |
Thickness of the curve as a round tube, in metres; 0 keeps it a line. |
bevelResolution |
integer? |
— | null |
Segments around a round bevel; more is smoother. |
extrude |
number? |
— | null |
Extrude the curve into a flat ribbon of this half-height, in metres. |
resolutionU |
integer? |
— | null |
Segments between control points; more is smoother. |
fillMode |
string? |
— | null |
How closed 2D curves fill: NONE, BACK, FRONT, BOTH (FULL, HALF, FRONT, BACK for 3D). |
bevelObject |
string? |
— | null |
Curve object swept along this one as its cross-section; empty string removes it. |
taperObject |
string? |
— | null |
Curve object scaling the thickness along the length; empty string removes it. |
JSON Schema
{
"type": "object",
"properties": {
"name": {
"description": "Name of the curve object.",
"type": "string"
},
"bevelDepth": {
"description": "Thickness of the curve as a round tube, in metres; 0 keeps it a line.",
"type": [
"number",
"null"
],
"default": null
},
"bevelResolution": {
"description": "Segments around a round bevel; more is smoother.",
"type": [
"integer",
"null"
],
"default": null
},
"extrude": {
"description": "Extrude the curve into a flat ribbon of this half-height, in metres.",
"type": [
"number",
"null"
],
"default": null
},
"resolutionU": {
"description": "Segments between control points; more is smoother.",
"type": [
"integer",
"null"
],
"default": null
},
"fillMode": {
"description": "How closed 2D curves fill: NONE, BACK, FRONT, BOTH (FULL, HALF, FRONT, BACK for 3D).",
"type": [
"string",
"null"
],
"default": null
},
"bevelObject": {
"description": "Curve object swept along this one as its cross-section; empty string removes it.",
"type": [
"string",
"null"
],
"default": null
},
"taperObject": {
"description": "Curve object scaling the thickness along the length; empty string removes it.",
"type": [
"string",
"null"
],
"default": null
}
},
"required": [
"name"
]
}
blender_convert_to_mesh ¶
Converts a curve, text or metaball object into a mesh, keeping the original on request.
may overwrite or delete · every call adds · stays inside Blender.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
name |
string |
yes | — | Name of the curve, text or metaball object. |
keepOriginal |
boolean |
— | false |
Keep the original and convert a copy. |
JSON Schema
{
"type": "object",
"properties": {
"name": {
"description": "Name of the curve, text or metaball object.",
"type": "string"
},
"keepOriginal": {
"description": "Keep the original and convert a copy.",
"type": "boolean",
"default": false
}
},
"required": [
"name"
]
}