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=())
menu
menu(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={})
menu
menu(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’.

menu
menu(switch=False, false=None, true=None)

Create Switch with operation ‘Menu’.

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