nodes.geometry.manual
manual
Classes
| Name | Description |
|---|---|
| AccumulateField | Add the values of an evaluated field together and output the running total for each element |
| AttributeStatistic | Calculate statistics about a data set from a field evaluated on a geometry |
| Bake | Cache the incoming data so that it can be used without recomputation |
| CaptureAttribute | Store the result of a field on a geometry and output the data as a node socket. |
| ColorRamp | Map values to colors with the use of a gradient |
| Compare | Perform a comparison operation on the two given inputs |
| EvaluateAtIndex | Retrieve data of other elements in the context’s geometry |
| EvaluateClosure | Execute a given closure |
| EvaluateOnDomain | Retrieve values from a field on a different domain besides the domain from the context |
| FieldAverage | Calculate the mean and median of a given field |
| FieldMinAndMax | Calculate the minimum and maximum of a given field |
| FieldToGrid | Create new grids by evaluating new values on an existing volume grid topology |
| FieldVariance | Calculate the standard deviation and variance of a given field |
| Float | Input numerical values to other nodes in the tree. A ‘type-hinted’ wrapper of the Value node. |
| FloatCurve | Map an input float to a curve and outputs a float value |
| FormatString | Insert values into a string using a Python and path template compatible formatting syntax |
| Frame | |
| GeometryToInstance | Convert each input geometry into an instance, which can be much faster |
| HandleTypeSelection | Provide a selection based on the handle types of Bézier control points |
| IndexSwitch | Node builder for the Index Switch node |
| JoinGeometry | Merge separately generated geometries into a single one |
| JoinStrings | Combine any number of input strings |
| MenuSwitch | Node builder for the Menu Switch node |
| MeshBoolean | Cut, subtract, or join multiple mesh inputs |
| SDFGridBoolean | Cut, subtract, or join multiple SDF volume grid inputs |
| SetHandleType | Set the handle type for the control points of a Bézier curve |
| StoreNamedAttribute | Store the result of a field on a geometry as an attribute with the specified name |
| Switch | Switch between two inputs |
| Value | Input numerical values to other nodes in the tree |
AccumulateField
AccumulateField(value=1.0, group_index=0, *, data_type='FLOAT', domain='POINT')Add the values of an evaluated field together and output the running total for each element
Attributes
| Name | Description |
|---|---|
corner |
|
data_type |
|
domain |
|
edge |
|
face |
|
i |
|
instance |
|
layer |
|
name |
|
node |
|
o |
|
outputs |
|
point |
|
spline |
|
tree |
|
type |
Classes
| Name | Description |
|---|---|
| AccumulateFieldDomainFactory |
AccumulateFieldDomainFactory
AccumulateFieldDomainFactory(domain)Methods
| Name | Description |
|---|---|
| float | |
| integer | |
| transform | |
| vector |
float
float(value=None, index=0)integer
integer(value=None, index=0)transform
transform(value=None, index=0)vector
vector(value=None, index=0)AttributeStatistic
AttributeStatistic(
geometry=None,
selection=True,
attribute=None,
*,
data_type='FLOAT',
domain='POINT',
**kwargs,
)Calculate statistics about a data set from a field evaluated on a geometry
Attributes
| Name | Description |
|---|---|
corner |
|
data_type |
|
domain |
|
edge |
|
face |
|
i |
|
instance |
|
layer |
|
name |
|
node |
|
o |
|
outputs |
|
point |
|
spline |
|
tree |
|
type |
Bake
Bake(*args, **kwargs)Cache the incoming data so that it can be used without recomputation
TODO: properly handle Animation / Still bake opations and ability to bake to a file
Attributes
| Name | Description |
|---|---|
i |
Input socket accessor. Subclasses narrow the return type via TYPE_CHECKING. |
name |
|
node |
|
o |
Output socket accessor. Subclasses narrow the return type via TYPE_CHECKING. |
outputs |
|
tree |
|
type |
CaptureAttribute
CaptureAttribute(geometry=None, items={}, *, domain='POINT')Store the result of a field on a geometry and output the data as a node socket. Allows remembering or interpolating data as the geometry changes, such as positions before deformation
Attributes
| Name | Description |
|---|---|
corner |
|
curve |
|
domain |
|
edge |
|
face |
|
i |
|
instance |
|
layer |
|
name |
|
node |
|
o |
|
outputs |
|
point |
|
tree |
|
type |
Methods
| Name | Description |
|---|---|
| capture | Capture the value to store in the attribute |
capture
capture(value)Capture the value to store in the attribute
Return the SocketLinker for the output socket
ColorRamp
ColorRamp(
fac=0.5,
*,
items=(),
color_interpolation='EASE',
hue_interpolation='NEAR',
mode='RGB',
)Map values to colors with the use of a gradient
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| fac | InputFloat | Factor: Which is used to sample the ColorRamp for the output color. | 0.5 |
| items | Iterable[tuple[float, tuple[float, float, float float]]] | Iterable of items which contain (position, color) which position being a 4-component float for values RGBA. Position is a value betwen 0..1. |
() |
Attributes
| Name | Description |
|---|---|
color_interpolation |
|
elements |
|
hue_interpolation |
|
i |
|
mode |
|
name |
|
node |
|
o |
|
outputs |
|
tree |
|
type |
Inputs
| Attribute | Type | Description |
|---|---|---|
i.fac |
FloatSocket |
Factor: The input value between 0..1 which maps to the final color value. |
Outputs
| Attribute | Type | Description |
|---|---|---|
o.color |
ColorSocket |
Color: The mapped color value based in the input fac. |
o.alpha |
FloatSocket |
Alpha: The mapped alpha of the color based on the input fac. |
Compare
Compare(operation='GREATER_THAN', data_type='FLOAT', **kwargs)Perform a comparison operation on the two given inputs
Attributes
| Name | Description |
|---|---|
color |
|
data_type |
|
float |
|
i |
|
integer |
|
mode |
|
name |
|
node |
|
o |
|
operation |
|
outputs |
|
string |
|
tree |
|
type |
|
vector |
EvaluateAtIndex
EvaluateAtIndex(value=None, index=0, *, domain='POINT', data_type='FLOAT')Retrieve data of other elements in the context’s geometry
Attributes
| Name | Description |
|---|---|
corner |
|
data_type |
|
domain |
|
edge |
|
face |
|
i |
|
instance |
|
layer |
|
name |
|
node |
|
o |
|
outputs |
|
point |
|
spline |
|
tree |
|
type |
EvaluateClosure
EvaluateClosure(
closure=None,
*,
active_input_index=0,
active_output_index=0,
define_signature=False,
)Execute a given closure
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| closure | InputClosure | Closure | None |
Attributes
| Name | Description |
|---|---|
active_input_index |
|
active_output_index |
|
define_signature |
|
i |
|
name |
|
node |
|
o |
|
outputs |
|
tree |
|
type |
Methods
| Name | Description |
|---|---|
| sync_signature |
sync_signature
sync_signature(node)Inputs
| Attribute | Type | Description |
|---|---|---|
i.closure |
ClosureSocket |
Closure |
EvaluateOnDomain
EvaluateOnDomain(value=None, *, domain='POINT', data_type='FLOAT')Retrieve values from a field on a different domain besides the domain from the context
Attributes
| Name | Description |
|---|---|
corner |
|
data_type |
|
domain |
|
edge |
|
face |
|
i |
|
instance |
|
layer |
|
name |
|
node |
|
o |
|
outputs |
|
point |
|
spline |
|
tree |
|
type |
FieldAverage
FieldAverage(value=None, group_index=0, *, data_type='FLOAT', domain='POINT')Calculate the mean and median of a given field
Attributes
| Name | Description |
|---|---|
corner |
|
data_type |
|
domain |
|
edge |
|
face |
|
i |
|
instance |
|
layer |
|
name |
|
node |
|
o |
|
outputs |
|
point |
|
spline |
|
tree |
|
type |
FieldMinAndMax
FieldMinAndMax(value=1.0, group_index=0, *, data_type='FLOAT', domain='POINT')Calculate the minimum and maximum of a given field
Attributes
| Name | Description |
|---|---|
corner |
|
data_type |
|
domain |
|
edge |
|
face |
|
i |
|
instance |
|
layer |
|
name |
|
node |
|
o |
|
outputs |
|
point |
|
spline |
|
tree |
|
type |
FieldToGrid
FieldToGrid(topology=None, items={}, *, data_type='FLOAT')Create new grids by evaluating new values on an existing volume grid topology
Data types are inferred automatically from the closest compatible data type.
Inputs:
topology: InputLinkable The grid which contains the topology to evaluate the different fields on. items: dict[str, InputAny] The key-value pairs of the fields to evaluate on the grid. Keys will be used as the name of the socket. data_type: _GridDataTypes = “FLOAT” The data type of the grid to evaluate on. Possible values are “FLOAT”, “INT”, “VECTOR”, “BOOLEAN”.
Attributes
| Name | Description |
|---|---|
data_type |
|
i |
|
name |
|
node |
|
o |
Output socket accessor. Subclasses narrow the return type via TYPE_CHECKING. |
outputs |
|
tree |
|
type |
Methods
| Name | Description |
|---|---|
| boolean | |
| capture | |
| float | |
| integer | |
| vector |
boolean
boolean(topology=None, items={})capture
capture(items)float
float(topology=None, items={})integer
integer(topology=None, items={})vector
vector(topology=None, items={})FieldVariance
FieldVariance(
value=None,
group_index=None,
*,
data_type='FLOAT',
domain='POINT',
)Calculate the standard deviation and variance of a given field
Attributes
| Name | Description |
|---|---|
corner |
|
data_type |
|
domain |
|
edge |
|
face |
|
i |
|
instance |
|
layer |
|
name |
|
node |
|
o |
|
outputs |
|
point |
|
spline |
|
tree |
|
type |
Float
Float(value=0.0)Input numerical values to other nodes in the tree. A ‘type-hinted’ wrapper of the Value node.
Attributes
| Name | Description |
|---|---|
i |
Input socket accessor. Subclasses narrow the return type via TYPE_CHECKING. |
name |
|
node |
|
o |
|
outputs |
|
tree |
|
type |
|
value |
Input socket: Value |
FloatCurve
FloatCurve(factor=1.0, value=1.0, *, items=())Map an input float to a curve and outputs a float value
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| factor | InputFloat | Factor | 1.0 |
| value | InputFloat | Value | 1.0 |
| items | Iterable[tuple[float, float] | tuple[float, float, Literal['AUTO', 'AUTO_CLAMPED', 'VECTOR']]] | An iterable which contains items (x, y, Optional[handle_type]). The position values are between 0..1 and map the input value to the output value from the resulting curve interpolation. |
() |
Attributes
| Name | Description |
|---|---|
i |
|
name |
|
node |
|
o |
|
outputs |
|
points |
|
tree |
|
type |
Inputs
| Attribute | Type | Description |
|---|---|---|
i.factor |
FloatSocket |
Factor |
i.value |
FloatSocket |
Value |
Outputs
| Attribute | Type | Description |
|---|---|---|
o.value |
FloatSocket |
Value |
FormatString
FormatString(format='', items={})Insert values into a string using a Python and path template compatible formatting syntax
Attributes
| Name | Description |
|---|---|
i |
|
items |
Input sockets: |
name |
|
node |
|
o |
|
outputs |
|
tree |
|
type |
Frame
Frame(label=None, shrink=True, text=None)Attributes
| Name | Description |
|---|---|
i |
Input socket accessor. Subclasses narrow the return type via TYPE_CHECKING. |
label |
|
name |
|
node |
|
o |
Output socket accessor. Subclasses narrow the return type via TYPE_CHECKING. |
outputs |
|
shrink |
|
text |
|
tree |
|
type |
GeometryToInstance
GeometryToInstance(*args)Convert each input geometry into an instance, which can be much faster than the Join Geometry node when the inputs are large
Attributes
| Name | Description |
|---|---|
i |
|
name |
|
node |
|
o |
|
outputs |
|
tree |
|
type |
Inputs
| Attribute | Type | Description |
|---|---|---|
geometry |
GeometrySocket |
Multi-input socket; geometry that will be converted into an instance |
Outputs
| Attribute | Type | Description |
|---|---|---|
instances |
GeometrySocket |
Single geometry output with each input linked geometry as a separate instance |
HandleTypeSelection
HandleTypeSelection(handle_type='AUTO', left=True, right=True)Provide a selection based on the handle types of Bézier control points
Attributes
| Name | Description |
|---|---|
handle_type |
|
i |
Input socket accessor. Subclasses narrow the return type via TYPE_CHECKING. |
left |
|
mode |
|
name |
|
node |
|
o |
|
outputs |
|
right |
|
tree |
|
type |
IndexSwitch
IndexSwitch(index=0, items=(), data_type='FLOAT')Node builder for the Index Switch node
Attributes
| Name | Description |
|---|---|
data_type |
Input socket: Data Type |
i |
|
name |
|
node |
|
o |
|
outputs |
|
tree |
|
type |
Methods
| Name | Description |
|---|---|
| boolean | |
| bundle | |
| closure | |
| collection | |
| color | |
| float | |
| geometry | |
| image | |
| integer | |
| material | |
| matrix | |
| menu | |
| object | |
| rotation | |
| string | |
| vector |
boolean
boolean(index=0, items=())bundle
bundle(index=0, items=())closure
closure(index=0, items=())collection
collection(index=0, items=())color
color(index=0, items=())float
float(index=0, items=())geometry
geometry(index=0, items=())image
image(index=0, items=())integer
integer(index=0, items=())material
material(index=0, items=())matrix
matrix(index=0, items=())object
object(index=0, items=())rotation
rotation(index=0, items=())string
string(index=0, items=())vector
vector(index=0, items=())JoinGeometry
JoinGeometry(geometry=())Merge separately generated geometries into a single one
Attributes
| Name | Description |
|---|---|
i |
|
name |
|
node |
|
o |
|
outputs |
|
tree |
|
type |
JoinStrings
JoinStrings(strings=(), delimiter='')Combine any number of input strings
Attributes
| Name | Description |
|---|---|
i |
|
name |
|
node |
|
o |
|
outputs |
|
tree |
|
type |
MenuSwitch
MenuSwitch(menu=None, items={}, *, data_type='FLOAT')Node builder for the Menu Switch node
Attributes
| Name | Description |
|---|---|
data_type |
Input socket: Data Type |
i |
|
name |
|
node |
|
o |
|
outputs |
|
tree |
|
type |
Methods
| Name | Description |
|---|---|
| boolean | |
| bundle | |
| closure | |
| collection | |
| color | |
| float | |
| geometry | |
| image | |
| integer | |
| is_selected | Gets the boolean output socket that is True when the named menu item is selected. |
| material | |
| matrix | |
| menu | |
| object | |
| rotation | |
| string | |
| vector |
boolean
boolean(menu=None, items={})bundle
bundle(menu=None, items={})closure
closure(menu=None, items={})collection
collection(menu=None, items={})color
color(menu=None, items={})float
float(menu=None, items={})geometry
geometry(menu=None, items={})image
image(menu=None, items={})integer
integer(menu=None, items={})is_selected
is_selected(name)Gets the boolean output socket that is True when the named menu item is selected.
Cannot be used with the “Output” name as this refers to the output socket itself.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| name | str | The name of the menu item to get the selected socket for. | required |
Returns
| Name | Type | Description |
|---|---|---|
| BooleanSocket | The boolean output socket that is True when the named menu item is selected. |
material
material(menu=None, items={})matrix
matrix(menu=None, items={})object
object(menu=None, items={})rotation
rotation(menu=None, items={})string
string(menu=None, items={})vector
vector(menu=None, items={})MeshBoolean
MeshBoolean(
mesh_1=None,
mesh_2=(),
*,
self_intersection=False,
hole_tolerant=False,
operation='DIFFERENCE',
solver='FLOAT',
)Cut, subtract, or join multiple mesh inputs
Attributes
| Name | Description |
|---|---|
i |
|
name |
|
node |
|
o |
|
operation |
|
outputs |
|
solver |
|
tree |
|
type |
Methods
| Name | Description |
|---|---|
| difference | |
| intersect | |
| union |
difference
difference(
mesh_1=None,
items=(),
self_intersection=False,
hole_tolerant=False,
*,
solver='FLOAT',
)intersect
intersect(
items=(),
self_intersection=False,
hole_tolerant=False,
*,
solver='FLOAT',
)union
union(items=(), self_intersection=False, hole_tolerant=False, *, solver='FLOAT')SDFGridBoolean
SDFGridBoolean(operation='DIFFERENCE')Cut, subtract, or join multiple SDF volume grid inputs
Attributes
| Name | Description |
|---|---|
i |
|
name |
|
node |
|
o |
|
operation |
|
outputs |
|
tree |
|
type |
Methods
| Name | Description |
|---|---|
| difference | Create SDF Grid Boolean with operation ‘Difference’. |
| intersect | |
| union |
difference
difference(grid_1=None, grids=())Create SDF Grid Boolean with operation ‘Difference’.
intersect
intersect(grids=())union
union(grids=())SetHandleType
SetHandleType(
curve=None,
selection=True,
*,
left=False,
right=False,
handle_type='AUTO',
)Set the handle type for the control points of a Bézier curve
Attributes
| Name | Description |
|---|---|
handle_type |
|
i |
|
left |
|
name |
|
node |
|
o |
|
outputs |
|
right |
|
tree |
|
type |
StoreNamedAttribute
StoreNamedAttribute(
geometry=None,
selection=True,
name='',
value=0.0,
*,
data_type='FLOAT',
domain='POINT',
)Store the result of a field on a geometry as an attribute with the specified name
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| geometry | InputGeometry | Geometry | None |
| selection | InputBoolean | Selection | True |
| name | InputString | Name | '' |
| value | InputFloat | Value | 0.0 |
Attributes
| Name | Description |
|---|---|
corner |
|
data_type |
|
domain |
|
edge |
|
face |
|
i |
|
instance |
|
layer |
|
name |
|
node |
|
o |
|
outputs |
|
point |
|
spline |
|
tree |
|
type |
Inputs
| Attribute | Type | Description |
|---|---|---|
i.geometry |
GeometrySocket |
Geometry |
i.selection |
BooleanSocket |
Selection |
i.name |
StringSocket |
Name |
i.value |
FloatSocket |
Value |
Outputs
| Attribute | Type | Description |
|---|---|---|
o.geometry |
GeometrySocket |
Geometry |
Switch
Switch(switch=False, false=None, true=None, *, input_type='FLOAT')Switch between two inputs
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| switch | InputBoolean | Switch | False |
| false | InputFloat | False | None |
| true | InputFloat | True | None |
Attributes
| Name | Description |
|---|---|
i |
|
input_type |
|
name |
|
node |
|
o |
|
outputs |
|
tree |
|
type |
Methods
| Name | Description |
|---|---|
| boolean | Create Switch with operation ‘Boolean’. |
| bundle | Create Switch with operation ‘Bundle’. |
| closure | Create Switch with operation ‘Closure’. |
| collection | Create Switch with operation ‘Collection’. |
| color | Create Switch with operation ‘Color’. |
| float | Create Switch with operation ‘Float’. |
| font | Create Switch with operation ‘Font’. |
| geometry | Create Switch with operation ‘Geometry’. |
| image | Create Switch with operation ‘Image’. |
| integer | Create Switch with operation ‘Integer’. |
| material | Create Switch with operation ‘Material’. |
| matrix | Create Switch with operation ‘Matrix’. |
| menu | Create Switch with operation ‘Menu’. |
| object | Create Switch with operation ‘Object’. |
| rotation | Create Switch with operation ‘Rotation’. |
| string | Create Switch with operation ‘String’. |
| vector | Create Switch with operation ‘Vector’. |
boolean
boolean(switch=False, false=False, true=False)Create Switch with operation ‘Boolean’.
bundle
bundle(switch=False, false=None, true=None)Create Switch with operation ‘Bundle’.
closure
closure(switch=False, false=None, true=None)Create Switch with operation ‘Closure’.
collection
collection(switch=False, false=None, true=None)Create Switch with operation ‘Collection’.
color
color(switch=False, false=None, true=None)Create Switch with operation ‘Color’.
float
float(switch=False, false=0.0, true=0.0)Create Switch with operation ‘Float’.
font
font(switch=False, false=None, true=None)Create Switch with operation ‘Font’.
geometry
geometry(switch=False, false=None, true=None)Create Switch with operation ‘Geometry’.
image
image(switch=False, false=None, true=None)Create Switch with operation ‘Image’.
integer
integer(switch=False, false=0, true=0)Create Switch with operation ‘Integer’.
material
material(switch=False, false=None, true=None)Create Switch with operation ‘Material’.
matrix
matrix(switch=False, false=None, true=None)Create Switch with operation ‘Matrix’.
object
object(switch=False, false=None, true=None)Create Switch with operation ‘Object’.
rotation
rotation(switch=False, false=None, true=None)Create Switch with operation ‘Rotation’.
string
string(switch=False, false='', true='')Create Switch with operation ‘String’.
vector
vector(switch=False, false=None, true=None)Create Switch with operation ‘Vector’.
Inputs
| Attribute | Type | Description |
|---|---|---|
i.switch |
BooleanSocket |
Switch |
i.false |
FloatSocket |
False |
i.true |
FloatSocket |
True |
Outputs
| Attribute | Type | Description |
|---|---|---|
o.output |
FloatSocket |
Output |
Value
Value(value=0.0)Input numerical values to other nodes in the tree
Attributes
| Name | Description |
|---|---|
i |
Input socket accessor. Subclasses narrow the return type via TYPE_CHECKING. |
name |
|
node |
|
o |
|
outputs |
|
tree |
|
type |
|
value |
Input socket: Value |