builder.socket

socket

Typed Python wrappers around Blender node sockets.

These classes give each socket type (float, vector, color, …) a fluent, type-aware API and the operator overloads used when wiring node trees.

Organization (top to bottom): * Type variables and result types * Base wrappers: BaseSocket and Socket * Grid sockets and domain-bound field evaluation * Per-type behaviour mixins (_VectorMixin, _FloatMixin, …) * Structural mixins (lists, default values, type conversions) * Concrete socket classes — the registry targets returned by _wrap_socket * Registry registration (bl_idname -> socket class)

Classes

Name Description
BaseSocket
BooleanSocket Runtime boolean socket wrapper.
BooleanSocketGrid Runtime boolean grid socket wrapper.
BooleanSocketList List of boolean sockets.
BundleSocket Runtime bundle socket wrapper.
BundleSocketList List of bundle sockets.
ClosureSocket Runtime closure socket wrapper.
ClosureSocketList List of closure sockets.
CollectionSocket Runtime collection socket wrapper.
CollectionSocketList List of collection sockets.
ColorSocket Runtime color socket wrapper.
ColorSocketList List of color sockets.
FloatSocket Runtime float socket wrapper.
FloatSocketGrid Runtime float grid socket wrapper.
FloatSocketList List float sockets.
FontSocket Runtime font socket wrapper.
FontSocketList List of font sockets.
GeometrySocket Runtime geometry socket wrapper.
GeometrySocketList List of geometry sockets.
ImageSocket Runtime image socket wrapper.
ImageSocketList List of image sockets.
IntegerSocket Runtime integer socket wrapper.
IntegerSocketGrid Runtime integer grid socket wrapper.
IntegerSocketList List of integer sockets.
IntegerVectorSocket Runtime integer vector socket wrapper.
MaterialSocket Runtime material socket wrapper.
MaterialSocketList List of material sockets.
MatrixSocket Runtime matrix socket wrapper.
MatrixSocketList List of matrix sockets.
MenuSocket Runtime menu socket wrapper.
MenuSocketList List of menu sockets.
ObjectSocket Runtime object socket wrapper.
ObjectSocketList List of object sockets.
ResultAxisAngle Axis-angle components returned by RotationSocket.to_axis_angle().
ResultCollectionChildren Children returned by CollectionSocket.children().
ResultCylindrical Cylindrical coordinates returned by VectorSocket.to_cylindrical().
ResultMatrixSVD SVD components returned by MatrixSocket.svd().
ResultQuaternionComponents Quaternion components returned by RotationSocket.to_quaternion().
ResultSpherical Spherical coordinates returned by VectorSocket.to_spherical().
ResultStringFind Result of StringSocket.find().
RotationSocket Runtime rotation socket wrapper.
RotationSocketList List of rotation sockets.
ShaderSocket Runtime shader socket wrapper.
ShaderSocketList List of shader sockets.
Socket Wraps a single Blender NodeSocket, providing operator overloads and linking.
SoundSocket Runtime sound socket wrapper.
SoundSocketList List of sound sockets.
StringSocket Runtime string socket wrapper.
StringSocketList List of string sockets.
VectorSocket Runtime vector socket wrapper.
VectorSocketGrid Runtime vector grid socket wrapper.
VectorSocketList Class for list of vector sockets.

BaseSocket

BaseSocket(socket)

Attributes

Name Description
links
name
node
socket
tree
type

BooleanSocket

BooleanSocket(socket)

Runtime boolean socket wrapper.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
corner BooleanSocket corner domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
default_value Get or set the default value of the socket. Only relevant for input sockets.
edge BooleanSocket edge domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
face BooleanSocket face domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
i
instance BooleanSocket instance domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
layer BooleanSocket layer domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
links
name
node
o
point BooleanSocket point domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
socket
spline BooleanSocket spline domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
switch Creat a Switch node with this boolean as the switch input.
tree
type

Methods

Name Description
enable_output Enable or disable the the output of this node group that is connected to this socket.
to_list Create a list of elements, evaluating this field count times based on the Index node.
enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
to_list
to_list(count=10)

Create a list of elements, evaluating this field count times based on the Index node.

BooleanSocketGrid

BooleanSocketGrid(socket)

Runtime boolean grid socket wrapper.

Attributes

Name Description
background_value
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
switch Creat a Switch node with this boolean as the switch input.
transform
tree
type

Methods

Name Description
clip Deactivate grid voxels outside minimum and maximum coordinates, setting them to the background value.
dilate_erode Dilate or erode the active regions of a grid. This changes which voxels are active but does not change their values.
enable_output Enable or disable the the output of this node group that is connected to this socket.
field_to_grid Create new grids by evaluating new values on an existing volume grid topology.
prune Make the storage of a volume grid more efficient by collapsing data into tiles or inner nodes.
sample Retrieve values from the specified volume grid.
sample_index Retrieve volume grid values at specific voxels.
set_background Set the grid’s background value, optionally also on inactive voxels.
set_transform Set the grid’s transform from index to object space.
to_points Generate a point cloud from a volume grid’s active voxels.
voxelize Remove sparseness from a volume grid by making the active tiles into voxels.
clip
clip(min_x=0, min_y=0, min_z=0, max_x=32, max_y=32, max_z=32)

Deactivate grid voxels outside minimum and maximum coordinates, setting them to the background value.

dilate_erode
dilate_erode(steps=1, connectivity='Face', tiles='Preserve')

Dilate or erode the active regions of a grid. This changes which voxels are active but does not change their values.

enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
field_to_grid
field_to_grid()

Create new grids by evaluating new values on an existing volume grid topology.

prune
prune(threshold=0.1, mode=None)

Make the storage of a volume grid more efficient by collapsing data into tiles or inner nodes.

sample
sample(position=None, interpolation='Trilinear')

Retrieve values from the specified volume grid.

sample_index
sample_index(x=0, y=0, z=0)

Retrieve volume grid values at specific voxels.

set_background
set_background(background, update_inactive=False)

Set the grid’s background value, optionally also on inactive voxels.

set_transform
set_transform(matrix)

Set the grid’s transform from index to object space.

to_points
to_points()

Generate a point cloud from a volume grid’s active voxels.

voxelize
voxelize()

Remove sparseness from a volume grid by making the active tiles into voxels.

BooleanSocketList

BooleanSocketList(socket)

List of boolean sockets.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
switch Creat a Switch node with this boolean as the switch input.
tree
type

Methods

Name Description
enable_output Enable or disable the the output of this node group that is connected to this socket.
filter Filter the list based on the selection.
get Get the item at the given index from the list.
list_length Get the length of the list.
list_slice Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.
reverse Reverse the list. Currently uses a SortList node with negative Index to reverse the list.
sort Sort the list based on the weights. Optional Group ID and Selection can be provided.
enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
filter
filter(selection=True)

Filter the list based on the selection.

get
get(index)

Get the item at the given index from the list.

list_length
list_length()

Get the length of the list.

list_slice
list_slice(start=0, stop=None, step=1)

Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.

reverse
reverse()

Reverse the list. Currently uses a SortList node with negative Index to reverse the list.

sort
sort(sort_weight, group_id=None, selection=None)

Sort the list based on the weights. Optional Group ID and Selection can be provided.

Parameters
Name Type Description Default
sort_weight InputFloat | InputFloatList The weight to sort by. required
group_id InputInteger | IntegerSocket The group ID to sort within. Groups are sorted independently and groups returned in order of Group ID. None
selection InputBoolean | BooleanSocketList The selection to sort by. If False then an element is not included in the sort and remains in its original position. None
Returns
Name Type Description
Self The sorted list.

BundleSocket

BundleSocket(socket)

Runtime bundle socket wrapper.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
get Read the item at a path as a given type: bundle.get.float("path").
i
links
name
node
o
socket
tree
type

Methods

Name Description
enable_output Enable or disable the the output of this node group that is connected to this socket.
has Whether the bundle has an item at path.
join Join this bundle with others; on a duplicate path the later bundle wins.
paths The paths of the items in this bundle and any nested bundles.
store This bundle with value stored at path; the item type follows value.
enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
has
has(path)

Whether the bundle has an item at path.

join
join(*others)

Join this bundle with others; on a duplicate path the later bundle wins.

paths
paths(mode='All', pattern_mode='Exact', bundle_type='', data_type='Float')

The paths of the items in this bundle and any nested bundles.

store
store(path, value)

This bundle with value stored at path; the item type follows value.

BundleSocketList

BundleSocketList(socket)

List of bundle sockets.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
tree
type

Methods

Name Description
enable_output Enable or disable the the output of this node group that is connected to this socket.
filter Filter the list based on the selection.
get Get the item at the given index from the list.
list_length Get the length of the list.
list_slice Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.
reverse Reverse the list. Currently uses a SortList node with negative Index to reverse the list.
sort Sort the list based on the weights. Optional Group ID and Selection can be provided.
enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
filter
filter(selection=True)

Filter the list based on the selection.

get
get(index)

Get the item at the given index from the list.

list_length
list_length()

Get the length of the list.

list_slice
list_slice(start=0, stop=None, step=1)

Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.

reverse
reverse()

Reverse the list. Currently uses a SortList node with negative Index to reverse the list.

sort
sort(sort_weight, group_id=None, selection=None)

Sort the list based on the weights. Optional Group ID and Selection can be provided.

Parameters
Name Type Description Default
sort_weight InputFloat | InputFloatList The weight to sort by. required
group_id InputInteger | IntegerSocket The group ID to sort within. Groups are sorted independently and groups returned in order of Group ID. None
selection InputBoolean | BooleanSocketList The selection to sort by. If False then an element is not included in the sort and remains in its original position. None
Returns
Name Type Description
Self The sorted list.

ClosureSocket

ClosureSocket(socket)

Runtime closure socket wrapper.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
tree
type

Methods

Name Description
enable_output Enable or disable the the output of this node group that is connected to this socket.
enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.

ClosureSocketList

ClosureSocketList(socket)

List of closure sockets.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
tree
type

Methods

Name Description
enable_output Enable or disable the the output of this node group that is connected to this socket.
filter Filter the list based on the selection.
get Get the item at the given index from the list.
list_length Get the length of the list.
list_slice Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.
reverse Reverse the list. Currently uses a SortList node with negative Index to reverse the list.
sort Sort the list based on the weights. Optional Group ID and Selection can be provided.
enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
filter
filter(selection=True)

Filter the list based on the selection.

get
get(index)

Get the item at the given index from the list.

list_length
list_length()

Get the length of the list.

list_slice
list_slice(start=0, stop=None, step=1)

Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.

reverse
reverse()

Reverse the list. Currently uses a SortList node with negative Index to reverse the list.

sort
sort(sort_weight, group_id=None, selection=None)

Sort the list based on the weights. Optional Group ID and Selection can be provided.

Parameters
Name Type Description Default
sort_weight InputFloat | InputFloatList The weight to sort by. required
group_id InputInteger | IntegerSocket The group ID to sort within. Groups are sorted independently and groups returned in order of Group ID. None
selection InputBoolean | BooleanSocketList The selection to sort by. If False then an element is not included in the sort and remains in its original position. None
Returns
Name Type Description
Self The sorted list.

CollectionSocket

CollectionSocket(socket)

Runtime collection socket wrapper.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
default_value Get or set the default value of the socket. Only relevant for input sockets.
i
links
name
node
o
socket
tree
type

Methods

Name Description
children The child collections and objects, as lists; recursive includes nested ones.
enable_output Enable or disable the the output of this node group that is connected to this socket.
instances Import objects from the collection as instances.
children
children(recursive=False)

The child collections and objects, as lists; recursive includes nested ones.

enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
instances
instances(
    transform_space='ORIGINAL',
    separate_children=False,
    reset_children=False,
)

Import objects from the collection as instances.

Parameters
Name Type Description Default
transform_space Literal['ORIGINAL', 'RELATIVE'] The transform space to use for the instances. 'ORIGINAL'
separate_children bool Whether to separate objects as their own instances. False
reset_children bool Whether to reset children of the collection to world origin. False
Returns
Name Type Description
GeometrySocket The output ‘Instances’ GeometrySocket. Will be a single instance or multiple instances if separate_children is True.

CollectionSocketList

CollectionSocketList(socket)

List of collection sockets.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
tree
type

Methods

Name Description
enable_output Enable or disable the the output of this node group that is connected to this socket.
filter Filter the list based on the selection.
get Get the item at the given index from the list.
list_length Get the length of the list.
list_slice Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.
reverse Reverse the list. Currently uses a SortList node with negative Index to reverse the list.
sort Sort the list based on the weights. Optional Group ID and Selection can be provided.
enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
filter
filter(selection=True)

Filter the list based on the selection.

get
get(index)

Get the item at the given index from the list.

list_length
list_length()

Get the length of the list.

list_slice
list_slice(start=0, stop=None, step=1)

Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.

reverse
reverse()

Reverse the list. Currently uses a SortList node with negative Index to reverse the list.

sort
sort(sort_weight, group_id=None, selection=None)

Sort the list based on the weights. Optional Group ID and Selection can be provided.

Parameters
Name Type Description Default
sort_weight InputFloat | InputFloatList The weight to sort by. required
group_id InputInteger | IntegerSocket The group ID to sort within. Groups are sorted independently and groups returned in order of Group ID. None
selection InputBoolean | BooleanSocketList The selection to sort by. If False then an element is not included in the sort and remains in its original position. None
Returns
Name Type Description
Self The sorted list.

ColorSocket

ColorSocket(socket)

Runtime color socket wrapper.

Attributes

Name Description
a
b
builder_node The builder node that owns this socket, if accessed via .o/.i.
corner ColorSocket corner domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
default_value
edge ColorSocket edge domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
face ColorSocket face domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
g
i
instance ColorSocket instance domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
layer ColorSocket layer domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
links
name
node
o
point BooleanSocket point domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
r
socket
spline ColorSocket spline domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
tree
type

Methods

Name Description
blur Smooth this field by mixing each element with its neighbours, iterations times.
enable_output Enable or disable the the output of this node group that is connected to this socket.
gamma Apply a gamma correction, raising each RGB channel to the power gamma.
hash Hash this value to a pseudo-random integer, varied by seed.
to_list Create a list of elements, evaluating this field count times based on the Index node.
blur
blur(iterations=1, weight=1.0)

Smooth this field by mixing each element with its neighbours, iterations times.

enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
gamma
gamma(gamma)

Apply a gamma correction, raising each RGB channel to the power gamma.

hash
hash(seed=0)

Hash this value to a pseudo-random integer, varied by seed.

to_list
to_list(count=10)

Create a list of elements, evaluating this field count times based on the Index node.

ColorSocketList

ColorSocketList(socket)

List of color sockets.

Attributes

Name Description
a
b
builder_node The builder node that owns this socket, if accessed via .o/.i.
corner ColorSocket corner domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
default_value
edge ColorSocket edge domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
face ColorSocket face domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
g
i
instance ColorSocket instance domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
layer ColorSocket layer domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
links
name
node
o
point BooleanSocket point domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
r
socket
spline ColorSocket spline domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
tree
type

Methods

Name Description
blur Smooth this field by mixing each element with its neighbours, iterations times.
enable_output Enable or disable the the output of this node group that is connected to this socket.
filter Filter the list based on the selection.
gamma Apply a gamma correction, raising each RGB channel to the power gamma.
get Get the item at the given index from the list.
hash Hash this value to a pseudo-random integer, varied by seed.
list_length Get the length of the list.
list_slice Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.
reverse Reverse the list. Currently uses a SortList node with negative Index to reverse the list.
sort Sort the list based on the weights. Optional Group ID and Selection can be provided.
to_list Create a list of elements, evaluating this field count times based on the Index node.
blur
blur(iterations=1, weight=1.0)

Smooth this field by mixing each element with its neighbours, iterations times.

enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
filter
filter(selection=True)

Filter the list based on the selection.

gamma
gamma(gamma)

Apply a gamma correction, raising each RGB channel to the power gamma.

get
get(index)

Get the item at the given index from the list.

hash
hash(seed=0)

Hash this value to a pseudo-random integer, varied by seed.

list_length
list_length()

Get the length of the list.

list_slice
list_slice(start=0, stop=None, step=1)

Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.

reverse
reverse()

Reverse the list. Currently uses a SortList node with negative Index to reverse the list.

sort
sort(sort_weight, group_id=None, selection=None)

Sort the list based on the weights. Optional Group ID and Selection can be provided.

Parameters
Name Type Description Default
sort_weight InputFloat | InputFloatList The weight to sort by. required
group_id InputInteger | IntegerSocket The group ID to sort within. Groups are sorted independently and groups returned in order of Group ID. None
selection InputBoolean | BooleanSocketList The selection to sort by. If False then an element is not included in the sort and remains in its original position. None
Returns
Name Type Description
Self The sorted list.
to_list
to_list(count=10)

Create a list of elements, evaluating this field count times based on the Index node.

FloatSocket

FloatSocket(socket)

Runtime float socket wrapper.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
corner FloatSocket corner domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField, FieldMinAndMax, FieldAverage, FieldVariance.
default_value Get or set the default value of the socket. Only relevant for input sockets.
edge FloatSocket edge domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField, FieldMinAndMax, FieldAverage, FieldVariance.
face FloatSocket face domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField, FieldMinAndMax, FieldAverage, FieldVariance.
i
instance FloatSocket instance domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField, FieldMinAndMax, FieldAverage, FieldVariance.
layer FloatSocket layer domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField, FieldMinAndMax, FieldAverage, FieldVariance.
links
mix Create a Mix node using this socket as the factor.
name
node
o
point FloatSocket point domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField, FieldMinAndMax, FieldAverage, FieldVariance.
socket
spline FloatSocket spline domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField, FieldMinAndMax, FieldAverage, FieldVariance.
tree
type

Methods

Name Description
abs Absolute value of the input
acos Create a Math node with operation ‘ArcCosine’. The arccosine of self
asin Create a Math node with operation ‘ArcSine’. The arcsine of self
atan Create a Math node with operation ‘ArcTangent’. The arctangent of self
atan2 Create a Math node with operation ‘ArcTan2’. The arctangent of self
blur Smooth this field by mixing each element with its neighbours, iterations times.
ceil Round up to the nearest integer.
clamp Clamp the value to [min, max]. Defaults to the unit interval [0, 1].
cos Create a Math node with operation ‘Cosine’. The cosine of self
cosh Create a Math node with operation ‘Hyperbolic Cosine’. The hyperbolic cosine of self
enable_output Enable or disable the the output of this node group that is connected to this socket.
exp Create a Math node with operation ‘Exponent’. The exponent of self
floor Round down to the nearest integer.
fraction The fractional part of the vlaue
hash Hash this value to a pseudo-random integer, varied by seed.
inverse_sqrt Return 1 / sqrt(self).
is_close Whether self and other differ by at most epsilon.
log Return the logarithm of this value to base, the natural logarithm
map_range Remap the values on the float socket using the MapRange node.
max Create Math with operation ‘Maximum’. The maximum from self and value
min Create Math with operation ‘Minimum’. The minimum from self and value
modulo Floored modulo — remainder after dividing by divisor, always non-negative.
mul_add Multiply and then add a value. More efficient as it is a single CPU instruction.
negate Negate the FloatSocket by multiplying the value by -1.
ping_pong Input ping-pongs between 0 and value.
power Raise this value to exponent.
round Round to the nearest integer.
sign Return the sign of the FloatSocket, eithe -1, 0 or 1.
sin Create a Math node with operation ‘Sine’. The sine of self
sinh Create a Math node with operation ‘Hyperbolic Sine’. The hyperbolic sine of self
smooth_max The maximum of self and value, blended smoothly over distance.
smooth_min The minimum of self and value, blended smoothly over distance.
snap Create a Math node with operation ‘Snap’. The snap of self
sqrt Return the square root of this value.
tan Create a Math node with operation ‘Tangent’. The tangent of self
tanh Create a Math node with operation ‘Hyperbolic Tangent’. The hyperbolic tangent of self
to_degrees Convert radians to degrees.
to_integer Convert the FloatSocket to an IntegerSocket by truncating the decimal part.
to_list Create a list of elements, evaluating this field count times based on the Index node.
to_radians Convert degrees to radians.
to_string Convert the FloatSocket to a StringSocket wtih the given number of decimal places
truncate The integer part of of the value, removing fractional digits
wrap Wrap the value into the [min, max] range, repeating cyclically.
abs
abs()

Absolute value of the input

acos
acos()

Create a Math node with operation ‘ArcCosine’. The arccosine of self

asin
asin()

Create a Math node with operation ‘ArcSine’. The arcsine of self

atan
atan()

Create a Math node with operation ‘ArcTangent’. The arctangent of self

atan2
atan2(value=0.5)

Create a Math node with operation ‘ArcTan2’. The arctangent of self

blur
blur(iterations=1, weight=1.0)

Smooth this field by mixing each element with its neighbours, iterations times.

ceil
ceil()

Round up to the nearest integer.

clamp
clamp(min=0.0, max=1.0)

Clamp the value to [min, max]. Defaults to the unit interval [0, 1].

cos
cos()

Create a Math node with operation ‘Cosine’. The cosine of self

cosh
cosh()

Create a Math node with operation ‘Hyperbolic Cosine’. The hyperbolic cosine of self

enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
exp
exp()

Create a Math node with operation ‘Exponent’. The exponent of self

floor
floor()

Round down to the nearest integer.

fraction
fraction()

The fractional part of the vlaue

hash
hash(seed=0)

Hash this value to a pseudo-random integer, varied by seed.

inverse_sqrt
inverse_sqrt()

Return 1 / sqrt(self).

is_close
is_close(other, epsilon=0.0001)

Whether self and other differ by at most epsilon.

log
log(base=math.e)

Return the logarithm of this value to base, the natural logarithm by default (as math.log).

map_range
map_range(
    from_min=0.0,
    from_max=1.0,
    to_min=0.0,
    to_max=1.0,
    *,
    clamp=True,
    interpolation_type='LINEAR',
    steps=4.0,
)

Remap the values on the float socket using the MapRange node.

max
max(value)

Create Math with operation ‘Maximum’. The maximum from self and value

min
min(value)

Create Math with operation ‘Minimum’. The minimum from self and value

modulo
modulo(divisor)

Floored modulo — remainder after dividing by divisor, always non-negative.

mul_add
mul_add(multiplier=0.5, addend=0.5)

Multiply and then add a value. More efficient as it is a single CPU instruction.

negate
negate()

Negate the FloatSocket by multiplying the value by -1.

ping_pong
ping_pong(value=1.0)

Input ping-pongs between 0 and value.

power
power(exponent=2.0)

Raise this value to exponent.

round
round()

Round to the nearest integer.

sign
sign()

Return the sign of the FloatSocket, eithe -1, 0 or 1.

sin
sin()

Create a Math node with operation ‘Sine’. The sine of self

sinh
sinh()

Create a Math node with operation ‘Hyperbolic Sine’. The hyperbolic sine of self

smooth_max
smooth_max(value, distance)

The maximum of self and value, blended smoothly over distance.

smooth_min
smooth_min(value, distance)

The minimum of self and value, blended smoothly over distance.

snap
snap(increment=0.5)

Create a Math node with operation ‘Snap’. The snap of self

sqrt
sqrt()

Return the square root of this value.

tan
tan()

Create a Math node with operation ‘Tangent’. The tangent of self

tanh
tanh()

Create a Math node with operation ‘Hyperbolic Tangent’. The hyperbolic tangent of self

to_degrees
to_degrees()

Convert radians to degrees.

to_integer
to_integer(rounding_mode='ROUND')

Convert the FloatSocket to an IntegerSocket by truncating the decimal part.

to_list
to_list(count=10)

Create a list of elements, evaluating this field count times based on the Index node.

to_radians
to_radians()

Convert degrees to radians.

to_string
to_string(decimals=0)

Convert the FloatSocket to a StringSocket wtih the given number of decimal places

truncate
truncate()

The integer part of of the value, removing fractional digits

wrap
wrap(min=0.0, max=1.0)

Wrap the value into the [min, max] range, repeating cyclically.

FloatSocketGrid

FloatSocketGrid(socket)

Runtime float grid socket wrapper.

Attributes

Name Description
background_value
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
mix Create a Mix node using this socket as the factor.
name
node
o
socket
transform
tree
type

Methods

Name Description
abs Absolute value of the input
acos Create a Math node with operation ‘ArcCosine’. The arccosine of self
advect Move the grid’s values along the velocity grid over time_step.
asin Create a Math node with operation ‘ArcSine’. The arcsine of self
atan Create a Math node with operation ‘ArcTangent’. The arctangent of self
atan2 Create a Math node with operation ‘ArcTan2’. The arctangent of self
blur Smooth this field by mixing each element with its neighbours, iterations times.
ceil Round up to the nearest integer.
clamp Clamp the value to [min, max]. Defaults to the unit interval [0, 1].
clip Deactivate grid voxels outside minimum and maximum coordinates, setting them to the background value.
cos Create a Math node with operation ‘Cosine’. The cosine of self
cosh Create a Math node with operation ‘Hyperbolic Cosine’. The hyperbolic cosine of self
dilate_erode Dilate or erode the active regions of a grid. This changes which voxels are active but does not change their values.
enable_output Enable or disable the the output of this node group that is connected to this socket.
exp Create a Math node with operation ‘Exponent’. The exponent of self
field_to_grid Create new grids by evaluating new values on an existing volume grid topology.
floor Round down to the nearest integer.
fraction The fractional part of the vlaue
gradient Calculate the direction and magnitude of the change in values of a scalar grid.
hash Hash this value to a pseudo-random integer, varied by seed.
inverse_sqrt Return 1 / sqrt(self).
is_close Whether self and other differ by at most epsilon.
laplacian Compute the divergence of the gradient of the input grid.
log Return the logarithm of this value to base, the natural logarithm
map_range Remap the values on the float socket using the MapRange node.
max Create Math with operation ‘Maximum’. The maximum from self and value
mean Apply mean (box) filter smoothing to a voxel. The mean value from surrounding voxels in a box-shape defined by the radius replaces the voxel value.
median Apply median (box) filter smoothing to a voxel. The median value from surrounding voxels in a box-shape defined by the radius replaces the voxel value.
min Create Math with operation ‘Minimum’. The minimum from self and value
modulo Floored modulo — remainder after dividing by divisor, always non-negative.
mul_add Multiply and then add a value. More efficient as it is a single CPU instruction.
negate Negate the FloatSocket by multiplying the value by -1.
ping_pong Input ping-pongs between 0 and value.
power Raise this value to exponent.
prune Make the storage of a volume grid more efficient by collapsing data into tiles or inner nodes.
round Round to the nearest integer.
sample Retrieve values from the specified volume grid.
sample_index Retrieve volume grid values at specific voxels.
sdf_difference This signed distance field with others subtracted.
sdf_fillet Round off concave internal corners in a signed distance field. Only affects areas with negative principal curvature, creating smoother transitions between surfaces.
sdf_intersect Intersection of this signed distance field with others.
sdf_laplacian Apply Laplacian flow smoothing to a signed distance field. Computationally efficient alternative to mean curvature flow, ideal when combined with SDF normalization.
sdf_mean Apply mean (box) filter smoothing to a signed distance field. Fast separable averaging filter for general smoothing of the distance field.
sdf_mean_curvature Apply mean curvature flow smoothing to a signed distance field. Evolves the surface based on its mean curvature, naturally smoothing high-curvature regions more than flat areas.
sdf_median Apply median filter to a signed distance field. Reduces noise while preserving sharp features and edges in the distance field.
sdf_offset Offset a signed distance field surface by a world-space distance. Dilates (positive) or erodes (negative) while maintaining the signed distance property.
sdf_union Union of this signed distance field with others.
set_background Set the grid’s background value, optionally also on inactive voxels.
set_transform Set the grid’s transform from index to object space.
sign Return the sign of the FloatSocket, eithe -1, 0 or 1.
sin Create a Math node with operation ‘Sine’. The sine of self
sinh Create a Math node with operation ‘Hyperbolic Sine’. The hyperbolic sine of self
smooth_max The maximum of self and value, blended smoothly over distance.
smooth_min The minimum of self and value, blended smoothly over distance.
snap Create a Math node with operation ‘Snap’. The snap of self
sqrt Return the square root of this value.
tan Create a Math node with operation ‘Tangent’. The tangent of self
tanh Create a Math node with operation ‘Hyperbolic Tangent’. The hyperbolic tangent of self
to_degrees Convert radians to degrees.
to_mesh Generate a mesh on the “surface” of a volume grid.
to_points Generate a point cloud from a volume grid’s active voxels.
to_radians Convert degrees to radians.
truncate The integer part of of the value, removing fractional digits
voxelize Remove sparseness from a volume grid by making the active tiles into voxels.
wrap Wrap the value into the [min, max] range, repeating cyclically.
abs
abs()

Absolute value of the input

acos
acos()

Create a Math node with operation ‘ArcCosine’. The arccosine of self

advect
advect(
    velocity,
    time_step=1.0,
    integration_scheme='Runge-Kutta 3',
    limiter='Clamp',
)

Move the grid’s values along the velocity grid over time_step.

asin
asin()

Create a Math node with operation ‘ArcSine’. The arcsine of self

atan
atan()

Create a Math node with operation ‘ArcTangent’. The arctangent of self

atan2
atan2(value=0.5)

Create a Math node with operation ‘ArcTan2’. The arctangent of self

blur
blur(iterations=1, weight=1.0)

Smooth this field by mixing each element with its neighbours, iterations times.

ceil
ceil()

Round up to the nearest integer.

clamp
clamp(min=0.0, max=1.0)

Clamp the value to [min, max]. Defaults to the unit interval [0, 1].

clip
clip(min_x=0, min_y=0, min_z=0, max_x=32, max_y=32, max_z=32)

Deactivate grid voxels outside minimum and maximum coordinates, setting them to the background value.

cos
cos()

Create a Math node with operation ‘Cosine’. The cosine of self

cosh
cosh()

Create a Math node with operation ‘Hyperbolic Cosine’. The hyperbolic cosine of self

dilate_erode
dilate_erode(steps=1, connectivity='Face', tiles='Preserve')

Dilate or erode the active regions of a grid. This changes which voxels are active but does not change their values.

enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
exp
exp()

Create a Math node with operation ‘Exponent’. The exponent of self

field_to_grid
field_to_grid()

Create new grids by evaluating new values on an existing volume grid topology.

floor
floor()

Round down to the nearest integer.

fraction
fraction()

The fractional part of the vlaue

gradient
gradient()

Calculate the direction and magnitude of the change in values of a scalar grid.

hash
hash(seed=0)

Hash this value to a pseudo-random integer, varied by seed.

inverse_sqrt
inverse_sqrt()

Return 1 / sqrt(self).

is_close
is_close(other, epsilon=0.0001)

Whether self and other differ by at most epsilon.

laplacian
laplacian()

Compute the divergence of the gradient of the input grid.

log
log(base=math.e)

Return the logarithm of this value to base, the natural logarithm by default (as math.log).

map_range
map_range(
    from_min=0.0,
    from_max=1.0,
    to_min=0.0,
    to_max=1.0,
    *,
    clamp=True,
    interpolation_type='LINEAR',
    steps=4.0,
)

Remap the values on the float socket using the MapRange node.

max
max(value)

Create Math with operation ‘Maximum’. The maximum from self and value

mean
mean(width=1, iterations=1)

Apply mean (box) filter smoothing to a voxel. The mean value from surrounding voxels in a box-shape defined by the radius replaces the voxel value.

median
median(width=1, iterations=1)

Apply median (box) filter smoothing to a voxel. The median value from surrounding voxels in a box-shape defined by the radius replaces the voxel value.

min
min(value)

Create Math with operation ‘Minimum’. The minimum from self and value

modulo
modulo(divisor)

Floored modulo — remainder after dividing by divisor, always non-negative.

mul_add
mul_add(multiplier=0.5, addend=0.5)

Multiply and then add a value. More efficient as it is a single CPU instruction.

negate
negate()

Negate the FloatSocket by multiplying the value by -1.

ping_pong
ping_pong(value=1.0)

Input ping-pongs between 0 and value.

power
power(exponent=2.0)

Raise this value to exponent.

prune
prune(threshold=0.1, mode=None)

Make the storage of a volume grid more efficient by collapsing data into tiles or inner nodes.

round
round()

Round to the nearest integer.

sample
sample(position=None, interpolation='Trilinear')

Retrieve values from the specified volume grid.

sample_index
sample_index(x=0, y=0, z=0)

Retrieve volume grid values at specific voxels.

sdf_difference
sdf_difference(*others)

This signed distance field with others subtracted.

sdf_fillet
sdf_fillet(iterations=1)

Round off concave internal corners in a signed distance field. Only affects areas with negative principal curvature, creating smoother transitions between surfaces.

sdf_intersect
sdf_intersect(*others)

Intersection of this signed distance field with others.

sdf_laplacian
sdf_laplacian(iterations=1)

Apply Laplacian flow smoothing to a signed distance field. Computationally efficient alternative to mean curvature flow, ideal when combined with SDF normalization.

sdf_mean
sdf_mean(width=1, iterations=1)

Apply mean (box) filter smoothing to a signed distance field. Fast separable averaging filter for general smoothing of the distance field.

sdf_mean_curvature
sdf_mean_curvature(iterations=1)

Apply mean curvature flow smoothing to a signed distance field. Evolves the surface based on its mean curvature, naturally smoothing high-curvature regions more than flat areas.

sdf_median
sdf_median(width=1, iterations=1)

Apply median filter to a signed distance field. Reduces noise while preserving sharp features and edges in the distance field.

sdf_offset
sdf_offset(distance=0.1)

Offset a signed distance field surface by a world-space distance. Dilates (positive) or erodes (negative) while maintaining the signed distance property.

sdf_union
sdf_union(*others)

Union of this signed distance field with others.

set_background
set_background(background, update_inactive=False)

Set the grid’s background value, optionally also on inactive voxels.

set_transform
set_transform(matrix)

Set the grid’s transform from index to object space.

sign
sign()

Return the sign of the FloatSocket, eithe -1, 0 or 1.

sin
sin()

Create a Math node with operation ‘Sine’. The sine of self

sinh
sinh()

Create a Math node with operation ‘Hyperbolic Sine’. The hyperbolic sine of self

smooth_max
smooth_max(value, distance)

The maximum of self and value, blended smoothly over distance.

smooth_min
smooth_min(value, distance)

The minimum of self and value, blended smoothly over distance.

snap
snap(increment=0.5)

Create a Math node with operation ‘Snap’. The snap of self

sqrt
sqrt()

Return the square root of this value.

tan
tan()

Create a Math node with operation ‘Tangent’. The tangent of self

tanh
tanh()

Create a Math node with operation ‘Hyperbolic Tangent’. The hyperbolic tangent of self

to_degrees
to_degrees()

Convert radians to degrees.

to_mesh
to_mesh(threshold=0.1, adaptivity=0.0)

Generate a mesh on the “surface” of a volume grid.

to_points
to_points()

Generate a point cloud from a volume grid’s active voxels.

to_radians
to_radians()

Convert degrees to radians.

truncate
truncate()

The integer part of of the value, removing fractional digits

voxelize
voxelize()

Remove sparseness from a volume grid by making the active tiles into voxels.

wrap
wrap(min=0.0, max=1.0)

Wrap the value into the [min, max] range, repeating cyclically.

FloatSocketList

FloatSocketList(socket)

List float sockets.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
mix Create a Mix node using this socket as the factor.
name
node
o
socket
tree
type

Methods

Name Description
abs Absolute value of the input
acos Create a Math node with operation ‘ArcCosine’. The arccosine of self
asin Create a Math node with operation ‘ArcSine’. The arcsine of self
atan Create a Math node with operation ‘ArcTangent’. The arctangent of self
atan2 Create a Math node with operation ‘ArcTan2’. The arctangent of self
blur Smooth this field by mixing each element with its neighbours, iterations times.
ceil Round up to the nearest integer.
clamp Clamp the value to [min, max]. Defaults to the unit interval [0, 1].
cos Create a Math node with operation ‘Cosine’. The cosine of self
cosh Create a Math node with operation ‘Hyperbolic Cosine’. The hyperbolic cosine of self
enable_output Enable or disable the the output of this node group that is connected to this socket.
exp Create a Math node with operation ‘Exponent’. The exponent of self
filter Filter the list based on the selection.
floor Round down to the nearest integer.
fraction The fractional part of the vlaue
get Get the item at the given index from the list.
hash Hash this value to a pseudo-random integer, varied by seed.
inverse_sqrt Return 1 / sqrt(self).
is_close Whether self and other differ by at most epsilon.
list_length Get the length of the list.
list_slice Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.
log Return the logarithm of this value to base, the natural logarithm
map_range Remap the values on the float socket using the MapRange node.
max Create Math with operation ‘Maximum’. The maximum from self and value
min Create Math with operation ‘Minimum’. The minimum from self and value
modulo Floored modulo — remainder after dividing by divisor, always non-negative.
mul_add Multiply and then add a value. More efficient as it is a single CPU instruction.
negate Negate the FloatSocket by multiplying the value by -1.
ping_pong Input ping-pongs between 0 and value.
power Raise this value to exponent.
reverse Reverse the list. Currently uses a SortList node with negative Index to reverse the list.
round Round to the nearest integer.
sign Return the sign of the FloatSocket, eithe -1, 0 or 1.
sin Create a Math node with operation ‘Sine’. The sine of self
sinh Create a Math node with operation ‘Hyperbolic Sine’. The hyperbolic sine of self
smooth_max The maximum of self and value, blended smoothly over distance.
smooth_min The minimum of self and value, blended smoothly over distance.
snap Create a Math node with operation ‘Snap’. The snap of self
sort Sort the list based on the weights. Optional Group ID and Selection can be provided.
sqrt Return the square root of this value.
tan Create a Math node with operation ‘Tangent’. The tangent of self
tanh Create a Math node with operation ‘Hyperbolic Tangent’. The hyperbolic tangent of self
to_degrees Convert radians to degrees.
to_integer Convert the FloatSocket to an IntegerSocket by truncating the decimal part.
to_radians Convert degrees to radians.
to_string Convert the FloatSocket to a StringSocket wtih the given number of decimal places
truncate The integer part of of the value, removing fractional digits
wrap Wrap the value into the [min, max] range, repeating cyclically.
abs
abs()

Absolute value of the input

acos
acos()

Create a Math node with operation ‘ArcCosine’. The arccosine of self

asin
asin()

Create a Math node with operation ‘ArcSine’. The arcsine of self

atan
atan()

Create a Math node with operation ‘ArcTangent’. The arctangent of self

atan2
atan2(value=0.5)

Create a Math node with operation ‘ArcTan2’. The arctangent of self

blur
blur(iterations=1, weight=1.0)

Smooth this field by mixing each element with its neighbours, iterations times.

ceil
ceil()

Round up to the nearest integer.

clamp
clamp(min=0.0, max=1.0)

Clamp the value to [min, max]. Defaults to the unit interval [0, 1].

cos
cos()

Create a Math node with operation ‘Cosine’. The cosine of self

cosh
cosh()

Create a Math node with operation ‘Hyperbolic Cosine’. The hyperbolic cosine of self

enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
exp
exp()

Create a Math node with operation ‘Exponent’. The exponent of self

filter
filter(selection=True)

Filter the list based on the selection.

floor
floor()

Round down to the nearest integer.

fraction
fraction()

The fractional part of the vlaue

get
get(index)

Get the item at the given index from the list.

hash
hash(seed=0)

Hash this value to a pseudo-random integer, varied by seed.

inverse_sqrt
inverse_sqrt()

Return 1 / sqrt(self).

is_close
is_close(other, epsilon=0.0001)

Whether self and other differ by at most epsilon.

list_length
list_length()

Get the length of the list.

list_slice
list_slice(start=0, stop=None, step=1)

Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.

log
log(base=math.e)

Return the logarithm of this value to base, the natural logarithm by default (as math.log).

map_range
map_range(
    from_min=0.0,
    from_max=1.0,
    to_min=0.0,
    to_max=1.0,
    *,
    clamp=True,
    interpolation_type='LINEAR',
    steps=4.0,
)

Remap the values on the float socket using the MapRange node.

max
max(value)

Create Math with operation ‘Maximum’. The maximum from self and value

min
min(value)

Create Math with operation ‘Minimum’. The minimum from self and value

modulo
modulo(divisor)

Floored modulo — remainder after dividing by divisor, always non-negative.

mul_add
mul_add(multiplier=0.5, addend=0.5)

Multiply and then add a value. More efficient as it is a single CPU instruction.

negate
negate()

Negate the FloatSocket by multiplying the value by -1.

ping_pong
ping_pong(value=1.0)

Input ping-pongs between 0 and value.

power
power(exponent=2.0)

Raise this value to exponent.

reverse
reverse()

Reverse the list. Currently uses a SortList node with negative Index to reverse the list.

round
round()

Round to the nearest integer.

sign
sign()

Return the sign of the FloatSocket, eithe -1, 0 or 1.

sin
sin()

Create a Math node with operation ‘Sine’. The sine of self

sinh
sinh()

Create a Math node with operation ‘Hyperbolic Sine’. The hyperbolic sine of self

smooth_max
smooth_max(value, distance)

The maximum of self and value, blended smoothly over distance.

smooth_min
smooth_min(value, distance)

The minimum of self and value, blended smoothly over distance.

snap
snap(increment=0.5)

Create a Math node with operation ‘Snap’. The snap of self

sort
sort(sort_weight, group_id=None, selection=None)

Sort the list based on the weights. Optional Group ID and Selection can be provided.

Parameters
Name Type Description Default
sort_weight InputFloat | InputFloatList The weight to sort by. required
group_id InputInteger | IntegerSocket The group ID to sort within. Groups are sorted independently and groups returned in order of Group ID. None
selection InputBoolean | BooleanSocketList The selection to sort by. If False then an element is not included in the sort and remains in its original position. None
Returns
Name Type Description
Self The sorted list.
sqrt
sqrt()

Return the square root of this value.

tan
tan()

Create a Math node with operation ‘Tangent’. The tangent of self

tanh
tanh()

Create a Math node with operation ‘Hyperbolic Tangent’. The hyperbolic tangent of self

to_degrees
to_degrees()

Convert radians to degrees.

to_integer
to_integer(rounding_mode='ROUND')

Convert the FloatSocket to an IntegerSocket by truncating the decimal part.

to_radians
to_radians()

Convert degrees to radians.

to_string
to_string(decimals=0)

Convert the FloatSocket to a StringSocket wtih the given number of decimal places

truncate
truncate()

The integer part of of the value, removing fractional digits

wrap
wrap(min=0.0, max=1.0)

Wrap the value into the [min, max] range, repeating cyclically.

FontSocket

FontSocket(socket)

Runtime font socket wrapper.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
tree
type

Methods

Name Description
enable_output Enable or disable the the output of this node group that is connected to this socket.
enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.

FontSocketList

FontSocketList(socket)

List of font sockets.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
tree
type

Methods

Name Description
enable_output Enable or disable the the output of this node group that is connected to this socket.
filter Filter the list based on the selection.
get Get the item at the given index from the list.
list_length Get the length of the list.
list_slice Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.
reverse Reverse the list. Currently uses a SortList node with negative Index to reverse the list.
sort Sort the list based on the weights. Optional Group ID and Selection can be provided.
enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
filter
filter(selection=True)

Filter the list based on the selection.

get
get(index)

Get the item at the given index from the list.

list_length
list_length()

Get the length of the list.

list_slice
list_slice(start=0, stop=None, step=1)

Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.

reverse
reverse()

Reverse the list. Currently uses a SortList node with negative Index to reverse the list.

sort
sort(sort_weight, group_id=None, selection=None)

Sort the list based on the weights. Optional Group ID and Selection can be provided.

Parameters
Name Type Description Default
sort_weight InputFloat | InputFloatList The weight to sort by. required
group_id InputInteger | IntegerSocket The group ID to sort within. Groups are sorted independently and groups returned in order of Group ID. None
selection InputBoolean | BooleanSocketList The selection to sort by. If False then an element is not included in the sort and remains in its original position. None
Returns
Name Type Description
Self The sorted list.

GeometrySocket

GeometrySocket(socket)

Runtime geometry socket wrapper.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
tree
type

Methods

Name Description
bundle The bundle stored on this geometry.
enable_output Enable or disable the the output of this node group that is connected to this socket.
realize_instances
set_bundle This geometry with bundle stored on it.
bundle
bundle()

The bundle stored on this geometry.

enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
realize_instances
realize_instances(selection=True, realize_all=False, depth=0)
set_bundle
set_bundle(bundle)

This geometry with bundle stored on it.

GeometrySocketList

GeometrySocketList(socket)

List of geometry sockets.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
tree
type

Methods

Name Description
bundle The bundle stored on this geometry.
enable_output Enable or disable the the output of this node group that is connected to this socket.
filter Filter the list based on the selection.
get Get the item at the given index from the list.
list_length Get the length of the list.
list_slice Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.
realize_instances
reverse Reverse the list. Currently uses a SortList node with negative Index to reverse the list.
set_bundle This geometry with bundle stored on it.
sort Sort the list based on the weights. Optional Group ID and Selection can be provided.
bundle
bundle()

The bundle stored on this geometry.

enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
filter
filter(selection=True)

Filter the list based on the selection.

get
get(index)

Get the item at the given index from the list.

list_length
list_length()

Get the length of the list.

list_slice
list_slice(start=0, stop=None, step=1)

Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.

realize_instances
realize_instances(selection=True, realize_all=False, depth=0)
reverse
reverse()

Reverse the list. Currently uses a SortList node with negative Index to reverse the list.

set_bundle
set_bundle(bundle)

This geometry with bundle stored on it.

sort
sort(sort_weight, group_id=None, selection=None)

Sort the list based on the weights. Optional Group ID and Selection can be provided.

Parameters
Name Type Description Default
sort_weight InputFloat | InputFloatList The weight to sort by. required
group_id InputInteger | IntegerSocket The group ID to sort within. Groups are sorted independently and groups returned in order of Group ID. None
selection InputBoolean | BooleanSocketList The selection to sort by. If False then an element is not included in the sort and remains in its original position. None
Returns
Name Type Description
Self The sorted list.

ImageSocket

ImageSocket(socket)

Runtime image socket wrapper.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
default_value Get or set the default value of the socket. Only relevant for input sockets.
i
links
name
node
o
socket
tree
type

Methods

Name Description
enable_output Enable or disable the the output of this node group that is connected to this socket.
info Image Info for this image at frame; read its outputs, e.g. .o.width.
enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
info
info(frame=0)

Image Info for this image at frame; read its outputs, e.g. .o.width.

ImageSocketList

ImageSocketList(socket)

List of image sockets.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
tree
type

Methods

Name Description
enable_output Enable or disable the the output of this node group that is connected to this socket.
filter Filter the list based on the selection.
get Get the item at the given index from the list.
list_length Get the length of the list.
list_slice Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.
reverse Reverse the list. Currently uses a SortList node with negative Index to reverse the list.
sort Sort the list based on the weights. Optional Group ID and Selection can be provided.
enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
filter
filter(selection=True)

Filter the list based on the selection.

get
get(index)

Get the item at the given index from the list.

list_length
list_length()

Get the length of the list.

list_slice
list_slice(start=0, stop=None, step=1)

Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.

reverse
reverse()

Reverse the list. Currently uses a SortList node with negative Index to reverse the list.

sort
sort(sort_weight, group_id=None, selection=None)

Sort the list based on the weights. Optional Group ID and Selection can be provided.

Parameters
Name Type Description Default
sort_weight InputFloat | InputFloatList The weight to sort by. required
group_id InputInteger | IntegerSocket The group ID to sort within. Groups are sorted independently and groups returned in order of Group ID. None
selection InputBoolean | BooleanSocketList The selection to sort by. If False then an element is not included in the sort and remains in its original position. None
Returns
Name Type Description
Self The sorted list.

IntegerSocket

IntegerSocket(socket)

Runtime integer socket wrapper.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
corner IntegerSocket corner domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField, FieldMinAndMax.
default_value Get or set the default value of the socket. Only relevant for input sockets.
edge IntegerSocket edge domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField, FieldMinAndMax.
face IntegerSocket face domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField, FieldMinAndMax.
i
instance IntegerSocket instance domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField, FieldMinAndMax.
layer IntegerSocket layer domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField, FieldMinAndMax.
links
name
node
o
point IntegerSocket point domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField, FieldMinAndMax.
socket
spline IntegerSocket spline domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField, FieldMinAndMax.
tree
type

Methods

Name Description
abs Return the absolute value of the IntegerSocket.
blur Smooth this field by mixing each element with its neighbours, iterations times.
clamp Clamp the value to [min, max]. There isn’t a built-in node for this, so it uses .max().min()
divide_ceiling Divide by divisor, rounding up.
divide_round Divide by divisor, rounding to the nearest integer.
enable_output Enable or disable the the output of this node group that is connected to this socket.
gcd Greatest common divisor of self and value.
hash Hash this value to a pseudo-random integer, varied by seed.
lcm Least common multiple of self and value.
max Create IntegerMath with operation ‘Maximum’. The maximum from self and value
min Create IntegerMath with operation ‘Minimum’. The minimum from self and value
modulo Floored modulo — remainder after dividing by divisor, with the sign of divisor.
mul_add Multiply and then add a value. More efficient as it is a single CPU instruction.
negate Negate the IntegerSocket value. Positive becomes negative, negative becomes positive.
power Raise this value to exponent.
rotate Rotate the 32 bits left by amount, or right when amount is negative;
shift Shift the bits left by amount, or right when amount is negative.
sign Return the sign of the IntegerSocket, either -1, 0, or 1.
to_float Convert to a float with an Implicit Conversion node.
to_list Create a list of elements, evaluating this field count times based on the Index node.
to_string Convert the IntegerSocket to a StringSocket in the given base, zero-padded to padding digits.
abs
abs()

Return the absolute value of the IntegerSocket.

blur
blur(iterations=1, weight=1.0)

Smooth this field by mixing each element with its neighbours, iterations times.

clamp
clamp(min=0, max=1)

Clamp the value to [min, max]. There isn’t a built-in node for this, so it uses .max().min()

divide_ceiling
divide_ceiling(divisor)

Divide by divisor, rounding up.

divide_round
divide_round(divisor)

Divide by divisor, rounding to the nearest integer.

enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
gcd
gcd(value)

Greatest common divisor of self and value.

hash
hash(seed=0)

Hash this value to a pseudo-random integer, varied by seed.

lcm
lcm(value)

Least common multiple of self and value.

max
max(value)

Create IntegerMath with operation ‘Maximum’. The maximum from self and value

min
min(value)

Create IntegerMath with operation ‘Minimum’. The minimum from self and value

modulo
modulo(divisor)

Floored modulo — remainder after dividing by divisor, with the sign of divisor.

mul_add
mul_add(multiplier=0, addend=0)

Multiply and then add a value. More efficient as it is a single CPU instruction.

negate
negate()

Negate the IntegerSocket value. Positive becomes negative, negative becomes positive.

power
power(exponent=2)

Raise this value to exponent.

rotate
rotate(amount)

Rotate the 32 bits left by amount, or right when amount is negative; bits shifted off one end come back at the other.

shift
shift(amount)

Shift the bits left by amount, or right when amount is negative.

Right shifts are logical, filling with zeros, so a negative value turns positive, unlike Python’s >>.

sign
sign()

Return the sign of the IntegerSocket, either -1, 0, or 1.

to_float
to_float()

Convert to a float with an Implicit Conversion node.

to_list
to_list(count=10)

Create a list of elements, evaluating this field count times based on the Index node.

to_string
to_string(base=10, padding=0)

Convert the IntegerSocket to a StringSocket in the given base, zero-padded to padding digits.

IntegerSocketGrid

IntegerSocketGrid(socket)

Runtime integer grid socket wrapper.

Attributes

Name Description
background_value
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
transform
tree
type

Methods

Name Description
abs Return the absolute value of the IntegerSocket.
advect Move the grid’s values along the velocity grid over time_step.
blur Smooth this field by mixing each element with its neighbours, iterations times.
clamp Clamp the value to [min, max]. There isn’t a built-in node for this, so it uses .max().min()
clip Deactivate grid voxels outside minimum and maximum coordinates, setting them to the background value.
dilate_erode Dilate or erode the active regions of a grid. This changes which voxels are active but does not change their values.
divide_ceiling Divide by divisor, rounding up.
divide_round Divide by divisor, rounding to the nearest integer.
enable_output Enable or disable the the output of this node group that is connected to this socket.
field_to_grid Create new grids by evaluating new values on an existing volume grid topology.
gcd Greatest common divisor of self and value.
hash Hash this value to a pseudo-random integer, varied by seed.
lcm Least common multiple of self and value.
max Create IntegerMath with operation ‘Maximum’. The maximum from self and value
mean Apply mean (box) filter smoothing to a voxel. The mean value from surrounding voxels in a box-shape defined by the radius replaces the voxel value.
median Apply median (box) filter smoothing to a voxel. The median value from surrounding voxels in a box-shape defined by the radius replaces the voxel value.
min Create IntegerMath with operation ‘Minimum’. The minimum from self and value
modulo Floored modulo — remainder after dividing by divisor, with the sign of divisor.
mul_add Multiply and then add a value. More efficient as it is a single CPU instruction.
negate Negate the IntegerSocket value. Positive becomes negative, negative becomes positive.
power Raise this value to exponent.
prune Make the storage of a volume grid more efficient by collapsing data into tiles or inner nodes.
rotate Rotate the 32 bits left by amount, or right when amount is negative;
sample Retrieve values from the specified volume grid.
sample_index Retrieve volume grid values at specific voxels.
set_background Set the grid’s background value, optionally also on inactive voxels.
set_transform Set the grid’s transform from index to object space.
shift Shift the bits left by amount, or right when amount is negative.
sign Return the sign of the IntegerSocket, either -1, 0, or 1.
to_float Convert to a float with an Implicit Conversion node.
to_points Generate a point cloud from a volume grid’s active voxels.
voxelize Remove sparseness from a volume grid by making the active tiles into voxels.
abs
abs()

Return the absolute value of the IntegerSocket.

advect
advect(
    velocity,
    time_step=1.0,
    integration_scheme='Runge-Kutta 3',
    limiter='Clamp',
)

Move the grid’s values along the velocity grid over time_step.

blur
blur(iterations=1, weight=1.0)

Smooth this field by mixing each element with its neighbours, iterations times.

clamp
clamp(min=0, max=1)

Clamp the value to [min, max]. There isn’t a built-in node for this, so it uses .max().min()

clip
clip(min_x=0, min_y=0, min_z=0, max_x=32, max_y=32, max_z=32)

Deactivate grid voxels outside minimum and maximum coordinates, setting them to the background value.

dilate_erode
dilate_erode(steps=1, connectivity='Face', tiles='Preserve')

Dilate or erode the active regions of a grid. This changes which voxels are active but does not change their values.

divide_ceiling
divide_ceiling(divisor)

Divide by divisor, rounding up.

divide_round
divide_round(divisor)

Divide by divisor, rounding to the nearest integer.

enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
field_to_grid
field_to_grid()

Create new grids by evaluating new values on an existing volume grid topology.

gcd
gcd(value)

Greatest common divisor of self and value.

hash
hash(seed=0)

Hash this value to a pseudo-random integer, varied by seed.

lcm
lcm(value)

Least common multiple of self and value.

max
max(value)

Create IntegerMath with operation ‘Maximum’. The maximum from self and value

mean
mean(width=1, iterations=1)

Apply mean (box) filter smoothing to a voxel. The mean value from surrounding voxels in a box-shape defined by the radius replaces the voxel value.

median
median(width=1, iterations=1)

Apply median (box) filter smoothing to a voxel. The median value from surrounding voxels in a box-shape defined by the radius replaces the voxel value.

min
min(value)

Create IntegerMath with operation ‘Minimum’. The minimum from self and value

modulo
modulo(divisor)

Floored modulo — remainder after dividing by divisor, with the sign of divisor.

mul_add
mul_add(multiplier=0, addend=0)

Multiply and then add a value. More efficient as it is a single CPU instruction.

negate
negate()

Negate the IntegerSocket value. Positive becomes negative, negative becomes positive.

power
power(exponent=2)

Raise this value to exponent.

prune
prune(threshold=0.1, mode=None)

Make the storage of a volume grid more efficient by collapsing data into tiles or inner nodes.

rotate
rotate(amount)

Rotate the 32 bits left by amount, or right when amount is negative; bits shifted off one end come back at the other.

sample
sample(position=None, interpolation='Trilinear')

Retrieve values from the specified volume grid.

sample_index
sample_index(x=0, y=0, z=0)

Retrieve volume grid values at specific voxels.

set_background
set_background(background, update_inactive=False)

Set the grid’s background value, optionally also on inactive voxels.

set_transform
set_transform(matrix)

Set the grid’s transform from index to object space.

shift
shift(amount)

Shift the bits left by amount, or right when amount is negative.

Right shifts are logical, filling with zeros, so a negative value turns positive, unlike Python’s >>.

sign
sign()

Return the sign of the IntegerSocket, either -1, 0, or 1.

to_float
to_float()

Convert to a float with an Implicit Conversion node.

to_points
to_points()

Generate a point cloud from a volume grid’s active voxels.

voxelize
voxelize()

Remove sparseness from a volume grid by making the active tiles into voxels.

IntegerSocketList

IntegerSocketList(socket)

List of integer sockets.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
tree
type

Methods

Name Description
abs Return the absolute value of the IntegerSocket.
blur Smooth this field by mixing each element with its neighbours, iterations times.
clamp Clamp the value to [min, max]. There isn’t a built-in node for this, so it uses .max().min()
divide_ceiling Divide by divisor, rounding up.
divide_round Divide by divisor, rounding to the nearest integer.
enable_output Enable or disable the the output of this node group that is connected to this socket.
filter Filter the list based on the selection.
gcd Greatest common divisor of self and value.
get Get the item at the given index from the list.
hash Hash this value to a pseudo-random integer, varied by seed.
lcm Least common multiple of self and value.
list_length Get the length of the list.
list_slice Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.
max Create IntegerMath with operation ‘Maximum’. The maximum from self and value
min Create IntegerMath with operation ‘Minimum’. The minimum from self and value
modulo Floored modulo — remainder after dividing by divisor, with the sign of divisor.
mul_add Multiply and then add a value. More efficient as it is a single CPU instruction.
negate Negate the IntegerSocket value. Positive becomes negative, negative becomes positive.
power Raise this value to exponent.
reverse Reverse the list. Currently uses a SortList node with negative Index to reverse the list.
rotate Rotate the 32 bits left by amount, or right when amount is negative;
shift Shift the bits left by amount, or right when amount is negative.
sign Return the sign of the IntegerSocket, either -1, 0, or 1.
sort Sort the list based on the weights. Optional Group ID and Selection can be provided.
to_float Convert to a float with an Implicit Conversion node.
to_string Convert the IntegerSocket to a StringSocket in the given base, zero-padded to padding digits.
abs
abs()

Return the absolute value of the IntegerSocket.

blur
blur(iterations=1, weight=1.0)

Smooth this field by mixing each element with its neighbours, iterations times.

clamp
clamp(min=0, max=1)

Clamp the value to [min, max]. There isn’t a built-in node for this, so it uses .max().min()

divide_ceiling
divide_ceiling(divisor)

Divide by divisor, rounding up.

divide_round
divide_round(divisor)

Divide by divisor, rounding to the nearest integer.

enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
filter
filter(selection=True)

Filter the list based on the selection.

gcd
gcd(value)

Greatest common divisor of self and value.

get
get(index)

Get the item at the given index from the list.

hash
hash(seed=0)

Hash this value to a pseudo-random integer, varied by seed.

lcm
lcm(value)

Least common multiple of self and value.

list_length
list_length()

Get the length of the list.

list_slice
list_slice(start=0, stop=None, step=1)

Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.

max
max(value)

Create IntegerMath with operation ‘Maximum’. The maximum from self and value

min
min(value)

Create IntegerMath with operation ‘Minimum’. The minimum from self and value

modulo
modulo(divisor)

Floored modulo — remainder after dividing by divisor, with the sign of divisor.

mul_add
mul_add(multiplier=0, addend=0)

Multiply and then add a value. More efficient as it is a single CPU instruction.

negate
negate()

Negate the IntegerSocket value. Positive becomes negative, negative becomes positive.

power
power(exponent=2)

Raise this value to exponent.

reverse
reverse()

Reverse the list. Currently uses a SortList node with negative Index to reverse the list.

rotate
rotate(amount)

Rotate the 32 bits left by amount, or right when amount is negative; bits shifted off one end come back at the other.

shift
shift(amount)

Shift the bits left by amount, or right when amount is negative.

Right shifts are logical, filling with zeros, so a negative value turns positive, unlike Python’s >>.

sign
sign()

Return the sign of the IntegerSocket, either -1, 0, or 1.

sort
sort(sort_weight, group_id=None, selection=None)

Sort the list based on the weights. Optional Group ID and Selection can be provided.

Parameters
Name Type Description Default
sort_weight InputFloat | InputFloatList The weight to sort by. required
group_id InputInteger | IntegerSocket The group ID to sort within. Groups are sorted independently and groups returned in order of Group ID. None
selection InputBoolean | BooleanSocketList The selection to sort by. If False then an element is not included in the sort and remains in its original position. None
Returns
Name Type Description
Self The sorted list.
to_float
to_float()

Convert to a float with an Implicit Conversion node.

to_string
to_string(base=10, padding=0)

Convert the IntegerSocket to a StringSocket in the given base, zero-padded to padding digits.

IntegerVectorSocket

IntegerVectorSocket(socket)

Runtime integer vector socket wrapper.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
default_value Get or set the default value of the socket. Only relevant for input sockets.
i
links
name
node
o
socket
tree
type

Methods

Name Description
abs Return the absolute value of the IntegerSocket.
blur Smooth this field by mixing each element with its neighbours, iterations times.
clamp Clamp the value to [min, max]. There isn’t a built-in node for this, so it uses .max().min()
divide_ceiling Divide by divisor, rounding up.
divide_round Divide by divisor, rounding to the nearest integer.
enable_output Enable or disable the the output of this node group that is connected to this socket.
gcd Greatest common divisor of self and value.
hash Hash this value to a pseudo-random integer, varied by seed.
lcm Least common multiple of self and value.
max Create IntegerMath with operation ‘Maximum’. The maximum from self and value
min Create IntegerMath with operation ‘Minimum’. The minimum from self and value
modulo Floored modulo — remainder after dividing by divisor, with the sign of divisor.
mul_add Multiply and then add a value. More efficient as it is a single CPU instruction.
negate Negate the IntegerSocket value. Positive becomes negative, negative becomes positive.
power Raise this value to exponent.
rotate Rotate the 32 bits left by amount, or right when amount is negative;
shift Shift the bits left by amount, or right when amount is negative.
sign Return the sign of the IntegerSocket, either -1, 0, or 1.
to_float Convert to a float with an Implicit Conversion node.
abs
abs()

Return the absolute value of the IntegerSocket.

blur
blur(iterations=1, weight=1.0)

Smooth this field by mixing each element with its neighbours, iterations times.

clamp
clamp(min=0, max=1)

Clamp the value to [min, max]. There isn’t a built-in node for this, so it uses .max().min()

divide_ceiling
divide_ceiling(divisor)

Divide by divisor, rounding up.

divide_round
divide_round(divisor)

Divide by divisor, rounding to the nearest integer.

enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
gcd
gcd(value)

Greatest common divisor of self and value.

hash
hash(seed=0)

Hash this value to a pseudo-random integer, varied by seed.

lcm
lcm(value)

Least common multiple of self and value.

max
max(value)

Create IntegerMath with operation ‘Maximum’. The maximum from self and value

min
min(value)

Create IntegerMath with operation ‘Minimum’. The minimum from self and value

modulo
modulo(divisor)

Floored modulo — remainder after dividing by divisor, with the sign of divisor.

mul_add
mul_add(multiplier=0, addend=0)

Multiply and then add a value. More efficient as it is a single CPU instruction.

negate
negate()

Negate the IntegerSocket value. Positive becomes negative, negative becomes positive.

power
power(exponent=2)

Raise this value to exponent.

rotate
rotate(amount)

Rotate the 32 bits left by amount, or right when amount is negative; bits shifted off one end come back at the other.

shift
shift(amount)

Shift the bits left by amount, or right when amount is negative.

Right shifts are logical, filling with zeros, so a negative value turns positive, unlike Python’s >>.

sign
sign()

Return the sign of the IntegerSocket, either -1, 0, or 1.

to_float
to_float()

Convert to a float with an Implicit Conversion node.

MaterialSocket

MaterialSocket(socket)

Runtime material socket wrapper.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
default_value Get or set the default value of the socket. Only relevant for input sockets.
i
links
name
node
o
socket
tree
type

Methods

Name Description
enable_output Enable or disable the the output of this node group that is connected to this socket.
selection Whether each face uses this material.
enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
selection
selection()

Whether each face uses this material.

MaterialSocketList

MaterialSocketList(socket)

List of material sockets.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
tree
type

Methods

Name Description
enable_output Enable or disable the the output of this node group that is connected to this socket.
filter Filter the list based on the selection.
get Get the item at the given index from the list.
list_length Get the length of the list.
list_slice Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.
reverse Reverse the list. Currently uses a SortList node with negative Index to reverse the list.
sort Sort the list based on the weights. Optional Group ID and Selection can be provided.
enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
filter
filter(selection=True)

Filter the list based on the selection.

get
get(index)

Get the item at the given index from the list.

list_length
list_length()

Get the length of the list.

list_slice
list_slice(start=0, stop=None, step=1)

Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.

reverse
reverse()

Reverse the list. Currently uses a SortList node with negative Index to reverse the list.

sort
sort(sort_weight, group_id=None, selection=None)

Sort the list based on the weights. Optional Group ID and Selection can be provided.

Parameters
Name Type Description Default
sort_weight InputFloat | InputFloatList The weight to sort by. required
group_id InputInteger | IntegerSocket The group ID to sort within. Groups are sorted independently and groups returned in order of Group ID. None
selection InputBoolean | BooleanSocketList The selection to sort by. If False then an element is not included in the sort and remains in its original position. None
Returns
Name Type Description
Self The sorted list.

MatrixSocket

MatrixSocket(socket)

Runtime matrix socket wrapper.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
corner MatrixSocket corner domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField.
edge MatrixSocket edge domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField.
face MatrixSocket face domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField.
i
instance MatrixSocket instance domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField.
layer MatrixSocket layer domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField.
links
name
node
o
point MatrixSocket point domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField.
rotation Get the rotation component of the matrix, via [~nodebpy.nodes.geometry.converter.SeparateTransform].
scale Get the scale component of the matrix, via [~nodebpy.nodes.geometry.converter.SeparateTransform].
socket
spline MatrixSocket spline domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField.
translation Get the translation component of the matrix, via [~nodebpy.nodes.geometry.converter.SeparateTransform].
tree
type

Methods

Name Description
determinant Compute the determinant of a matrix input and return as a FloatSocket.
enable_output Enable or disable the the output of this node group that is connected to this socket.
hash Hash this value to a pseudo-random integer, varied by seed.
invert Invert the MatrixSocet and return a MatrixSocket.
svd Decompose the matrix via SVD. Returns (u, s, v).
to_list Create a list of elements, evaluating this field count times based on the Index node.
transform_direction Deprecated: use direction.transform_direction(matrix), which
transpose Transpose the MatrixSocket and return a MatrixSocket.
determinant
determinant()

Compute the determinant of a matrix input and return as a FloatSocket.

enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
hash
hash(seed=0)

Hash this value to a pseudo-random integer, varied by seed.

invert
invert()

Invert the MatrixSocet and return a MatrixSocket.

svd
svd()

Decompose the matrix via SVD. Returns (u, s, v).

to_list
to_list(count=10)

Create a list of elements, evaluating this field count times based on the Index node.

transform_direction
transform_direction(direction)

Deprecated: use direction.transform_direction(matrix), which keeps the method on the vector that continues down the chain.

transpose
transpose()

Transpose the MatrixSocket and return a MatrixSocket.

MatrixSocketList

MatrixSocketList(socket)

List of matrix sockets.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
rotation Get the rotation component of the matrix, via [~nodebpy.nodes.geometry.converter.SeparateTransform].
scale Get the scale component of the matrix, via [~nodebpy.nodes.geometry.converter.SeparateTransform].
socket
translation Get the translation component of the matrix, via [~nodebpy.nodes.geometry.converter.SeparateTransform].
tree
type

Methods

Name Description
determinant Compute the determinant of a matrix input and return as a FloatSocket.
enable_output Enable or disable the the output of this node group that is connected to this socket.
filter Filter the list based on the selection.
get Get the item at the given index from the list.
hash Hash this value to a pseudo-random integer, varied by seed.
invert Invert the MatrixSocet and return a MatrixSocket.
list_length Get the length of the list.
list_slice Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.
reverse Reverse the list. Currently uses a SortList node with negative Index to reverse the list.
sort Sort the list based on the weights. Optional Group ID and Selection can be provided.
svd Decompose the matrix via SVD. Returns (u, s, v).
transform_direction Deprecated: use direction.transform_direction(matrix), which
transpose Transpose the MatrixSocket and return a MatrixSocket.
determinant
determinant()

Compute the determinant of a matrix input and return as a FloatSocket.

enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
filter
filter(selection=True)

Filter the list based on the selection.

get
get(index)

Get the item at the given index from the list.

hash
hash(seed=0)

Hash this value to a pseudo-random integer, varied by seed.

invert
invert()

Invert the MatrixSocet and return a MatrixSocket.

list_length
list_length()

Get the length of the list.

list_slice
list_slice(start=0, stop=None, step=1)

Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.

reverse
reverse()

Reverse the list. Currently uses a SortList node with negative Index to reverse the list.

sort
sort(sort_weight, group_id=None, selection=None)

Sort the list based on the weights. Optional Group ID and Selection can be provided.

Parameters
Name Type Description Default
sort_weight InputFloat | InputFloatList The weight to sort by. required
group_id InputInteger | IntegerSocket The group ID to sort within. Groups are sorted independently and groups returned in order of Group ID. None
selection InputBoolean | BooleanSocketList The selection to sort by. If False then an element is not included in the sort and remains in its original position. None
Returns
Name Type Description
Self The sorted list.
svd
svd()

Decompose the matrix via SVD. Returns (u, s, v).

transform_direction
transform_direction(direction)

Deprecated: use direction.transform_direction(matrix), which keeps the method on the vector that continues down the chain.

transpose
transpose()

Transpose the MatrixSocket and return a MatrixSocket.

MenuSocket

MenuSocket(socket)

Runtime menu socket wrapper.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
default_value
i
links
name
node
o
socket
tree
type

Methods

Name Description
enable_output Enable or disable the the output of this node group that is connected to this socket.
to_list Create a list of elements, evaluating this field count times based on the Index node.
enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
to_list
to_list(count=10)

Create a list of elements, evaluating this field count times based on the Index node.

MenuSocketList

MenuSocketList(socket)

List of menu sockets.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
tree
type

Methods

Name Description
enable_output Enable or disable the the output of this node group that is connected to this socket.
filter Filter the list based on the selection.
get Get the item at the given index from the list.
list_length Get the length of the list.
list_slice Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.
reverse Reverse the list. Currently uses a SortList node with negative Index to reverse the list.
sort Sort the list based on the weights. Optional Group ID and Selection can be provided.
enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
filter
filter(selection=True)

Filter the list based on the selection.

get
get(index)

Get the item at the given index from the list.

list_length
list_length()

Get the length of the list.

list_slice
list_slice(start=0, stop=None, step=1)

Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.

reverse
reverse()

Reverse the list. Currently uses a SortList node with negative Index to reverse the list.

sort
sort(sort_weight, group_id=None, selection=None)

Sort the list based on the weights. Optional Group ID and Selection can be provided.

Parameters
Name Type Description Default
sort_weight InputFloat | InputFloatList The weight to sort by. required
group_id InputInteger | IntegerSocket The group ID to sort within. Groups are sorted independently and groups returned in order of Group ID. None
selection InputBoolean | BooleanSocketList The selection to sort by. If False then an element is not included in the sort and remains in its original position. None
Returns
Name Type Description
Self The sorted list.

ObjectSocket

ObjectSocket(socket)

Runtime object socket wrapper.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
default_value Get or set the default value of the socket. Only relevant for input sockets.
i
links
name
node
o
socket
tree
type

Methods

Name Description
bone_info Bone Info for bone_name on this armature; read its outputs, e.g. .o.pose.
camera_info Camera Info for this object; read its outputs, e.g. .o.focal_length.
enable_output Enable or disable the the output of this node group that is connected to this socket.
geometry The object’s geometry, optionally in relative space, via ObjectInfo.
location The object’s location, optionally in relative space, via ObjectInfo.
matrix The object’s transform matrix, optionally in relative space, via ObjectInfo.
rotation The object’s rotation, optionally in relative space, via ObjectInfo.
scale The object’s scale, optionally in relative space, via ObjectInfo.
transform Deprecated: use :meth:matrix, which does not read like
bone_info
bone_info(bone_name, transform_space='ORIGINAL')

Bone Info for bone_name on this armature; read its outputs, e.g. .o.pose.

camera_info
camera_info()

Camera Info for this object; read its outputs, e.g. .o.focal_length.

enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
geometry
geometry(transform_space='ORIGINAL', as_instance=False)

The object’s geometry, optionally in relative space, via ObjectInfo.

Parameters
Name Type Description Default
transform_space Literal['ORIGINAL', 'RELATIVE'] The space in which to return the geometry. 'ORIGINAL'
as_instance InputBoolean Whether to return the geometry as an instance. False
Returns
Name Type Description
GeometrySocket The output ‘Geometry’ GeometrySocket.
location
location(transform_space='ORIGINAL')

The object’s location, optionally in relative space, via ObjectInfo.

Parameters
Name Type Description Default
transform_space Literal['ORIGINAL', 'RELATIVE'] The space in which to return the location. 'ORIGINAL'
Returns
Name Type Description
VectorSocket The output ‘Location’ VectorSocket.
matrix
matrix(transform_space='ORIGINAL')

The object’s transform matrix, optionally in relative space, via ObjectInfo.

Parameters
Name Type Description Default
transform_space Literal['ORIGINAL', 'RELATIVE'] The space in which to return the transform matrix. 'ORIGINAL'
Returns
Name Type Description
MatrixSocket The output ‘Transform’ MatrixSocket.
rotation
rotation(transform_space='ORIGINAL')

The object’s rotation, optionally in relative space, via ObjectInfo.

Parameters
Name Type Description Default
transform_space Literal['ORIGINAL', 'RELATIVE'] The space in which to return the rotation. 'ORIGINAL'
Returns
Name Type Description
RotationSocket The output ‘Rotation’ RotationSocket.
scale
scale(transform_space='ORIGINAL')

The object’s scale, optionally in relative space, via ObjectInfo.

Parameters
Name Type Description Default
transform_space Literal['ORIGINAL', 'RELATIVE'] The space in which to return the scale. 'ORIGINAL'
Returns
Name Type Description
VectorSocket The output ‘Scale’ VectorSocket.
transform
transform(transform_space='ORIGINAL')

Deprecated: use :meth:matrix, which does not read like VectorSocket.transform(matrix) (applying a matrix).

ObjectSocketList

ObjectSocketList(socket)

List of object sockets.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
tree
type

Methods

Name Description
enable_output Enable or disable the the output of this node group that is connected to this socket.
filter Filter the list based on the selection.
get Get the item at the given index from the list.
list_length Get the length of the list.
list_slice Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.
reverse Reverse the list. Currently uses a SortList node with negative Index to reverse the list.
sort Sort the list based on the weights. Optional Group ID and Selection can be provided.
enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
filter
filter(selection=True)

Filter the list based on the selection.

get
get(index)

Get the item at the given index from the list.

list_length
list_length()

Get the length of the list.

list_slice
list_slice(start=0, stop=None, step=1)

Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.

reverse
reverse()

Reverse the list. Currently uses a SortList node with negative Index to reverse the list.

sort
sort(sort_weight, group_id=None, selection=None)

Sort the list based on the weights. Optional Group ID and Selection can be provided.

Parameters
Name Type Description Default
sort_weight InputFloat | InputFloatList The weight to sort by. required
group_id InputInteger | IntegerSocket The group ID to sort within. Groups are sorted independently and groups returned in order of Group ID. None
selection InputBoolean | BooleanSocketList The selection to sort by. If False then an element is not included in the sort and remains in its original position. None
Returns
Name Type Description
Self The sorted list.

ResultAxisAngle

ResultAxisAngle()

Axis-angle components returned by RotationSocket.to_axis_angle().

Attributes

Name Description
angle
axis

ResultCollectionChildren

ResultCollectionChildren()

Children returned by CollectionSocket.children().

Attributes

Name Description
collections
objects

ResultCylindrical

ResultCylindrical()

Cylindrical coordinates returned by VectorSocket.to_cylindrical().

Attributes

Name Description
phi
r
z

ResultMatrixSVD

ResultMatrixSVD()

SVD components returned by MatrixSocket.svd().

Attributes

Name Description
s
u
v

ResultQuaternionComponents

ResultQuaternionComponents()

Quaternion components returned by RotationSocket.to_quaternion().

Attributes

Name Description
w
x
y
z

ResultSpherical

ResultSpherical()

Spherical coordinates returned by VectorSocket.to_spherical().

Attributes

Name Description
phi
r
theta

ResultStringFind

ResultStringFind()

Result of StringSocket.find().

Attributes

Name Description
count
first_found

RotationSocket

RotationSocket(socket)

Runtime rotation socket wrapper.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
corner RotationSocket corner domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
default_value Get or set the default value of the socket. Only relevant for input sockets.
edge RotationSocket edge domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
face RotationSocket face domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
i
instance RotationSocket instance domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
layer RotationSocket layer domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
links
name
node
o
point RotationSocket point domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
socket
spline RotationSocket spline domain-bound methods from EvaluateAtIndex, EvaluateOnDomain.
tree
type

Methods

Name Description
align_to_vector Align the specified axis of this rotation to the given vector. Uses AlignRotationToVector with this socket as the rotation input.
enable_output Enable or disable the the output of this node group that is connected to this socket.
hash Hash this value to a pseudo-random integer, varied by seed.
invert Invert the rotation of the socket.
rotate Rotate this rotation by the given rotation in the specified rotation space.
to_axis_angle Decompose the rotation into axis-angle components (axis, angle).
to_euler Convert the rotation to an XYZ euler rotation and return VectorSocket.
to_list Create a list of elements, evaluating this field count times based on the Index node.
to_quaternion Decompose the rotation into quaternion components (w, x, y, z).
align_to_vector
align_to_vector(
    vector=(0.0, 0.0, 1.0),
    factor=1.0,
    *,
    axis='Z',
    pivot_axis='AUTO',
)

Align the specified axis of this rotation to the given vector. Uses AlignRotationToVector with this socket as the rotation input.

enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
hash
hash(seed=0)

Hash this value to a pseudo-random integer, varied by seed.

invert
invert()

Invert the rotation of the socket.

rotate
rotate(rotation, rotation_space='GLOBAL')

Rotate this rotation by the given rotation in the specified rotation space.

"GLOBAL" applies rotation after this one; "LOCAL" applies it first, matching matrix order: r1.rotate(r2, rotation_space="LOCAL") is r1 @ r2.

to_axis_angle
to_axis_angle()

Decompose the rotation into axis-angle components (axis, angle).

to_euler
to_euler()

Convert the rotation to an XYZ euler rotation and return VectorSocket.

to_list
to_list(count=10)

Create a list of elements, evaluating this field count times based on the Index node.

to_quaternion
to_quaternion()

Decompose the rotation into quaternion components (w, x, y, z).

RotationSocketList

RotationSocketList(socket)

List of rotation sockets.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
tree
type

Methods

Name Description
align_to_vector Align the specified axis of this rotation to the given vector. Uses AlignRotationToVector with this socket as the rotation input.
enable_output Enable or disable the the output of this node group that is connected to this socket.
filter Filter the list based on the selection.
get Get the item at the given index from the list.
hash Hash this value to a pseudo-random integer, varied by seed.
invert Invert the rotation of the socket.
list_length Get the length of the list.
list_slice Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.
reverse Reverse the list. Currently uses a SortList node with negative Index to reverse the list.
rotate Rotate this rotation by the given rotation in the specified rotation space.
sort Sort the list based on the weights. Optional Group ID and Selection can be provided.
to_axis_angle Decompose the rotation into axis-angle components (axis, angle).
to_euler Convert the rotation to an XYZ euler rotation and return VectorSocket.
to_quaternion Decompose the rotation into quaternion components (w, x, y, z).
align_to_vector
align_to_vector(
    vector=(0.0, 0.0, 1.0),
    factor=1.0,
    *,
    axis='Z',
    pivot_axis='AUTO',
)

Align the specified axis of this rotation to the given vector. Uses AlignRotationToVector with this socket as the rotation input.

enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
filter
filter(selection=True)

Filter the list based on the selection.

get
get(index)

Get the item at the given index from the list.

hash
hash(seed=0)

Hash this value to a pseudo-random integer, varied by seed.

invert
invert()

Invert the rotation of the socket.

list_length
list_length()

Get the length of the list.

list_slice
list_slice(start=0, stop=None, step=1)

Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.

reverse
reverse()

Reverse the list. Currently uses a SortList node with negative Index to reverse the list.

rotate
rotate(rotation, rotation_space='GLOBAL')

Rotate this rotation by the given rotation in the specified rotation space.

"GLOBAL" applies rotation after this one; "LOCAL" applies it first, matching matrix order: r1.rotate(r2, rotation_space="LOCAL") is r1 @ r2.

sort
sort(sort_weight, group_id=None, selection=None)

Sort the list based on the weights. Optional Group ID and Selection can be provided.

Parameters
Name Type Description Default
sort_weight InputFloat | InputFloatList The weight to sort by. required
group_id InputInteger | IntegerSocket The group ID to sort within. Groups are sorted independently and groups returned in order of Group ID. None
selection InputBoolean | BooleanSocketList The selection to sort by. If False then an element is not included in the sort and remains in its original position. None
Returns
Name Type Description
Self The sorted list.
to_axis_angle
to_axis_angle()

Decompose the rotation into axis-angle components (axis, angle).

to_euler
to_euler()

Convert the rotation to an XYZ euler rotation and return VectorSocket.

to_quaternion
to_quaternion()

Decompose the rotation into quaternion components (w, x, y, z).

ShaderSocket

ShaderSocket(socket)

Runtime shader socket wrapper.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
tree
type

Methods

Name Description
enable_output Enable or disable the the output of this node group that is connected to this socket.
enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.

ShaderSocketList

ShaderSocketList(socket)

List of shader sockets.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
tree
type

Methods

Name Description
enable_output Enable or disable the the output of this node group that is connected to this socket.
filter Filter the list based on the selection.
get Get the item at the given index from the list.
list_length Get the length of the list.
list_slice Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.
reverse Reverse the list. Currently uses a SortList node with negative Index to reverse the list.
sort Sort the list based on the weights. Optional Group ID and Selection can be provided.
enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
filter
filter(selection=True)

Filter the list based on the selection.

get
get(index)

Get the item at the given index from the list.

list_length
list_length()

Get the length of the list.

list_slice
list_slice(start=0, stop=None, step=1)

Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.

reverse
reverse()

Reverse the list. Currently uses a SortList node with negative Index to reverse the list.

sort
sort(sort_weight, group_id=None, selection=None)

Sort the list based on the weights. Optional Group ID and Selection can be provided.

Parameters
Name Type Description Default
sort_weight InputFloat | InputFloatList The weight to sort by. required
group_id InputInteger | IntegerSocket The group ID to sort within. Groups are sorted independently and groups returned in order of Group ID. None
selection InputBoolean | BooleanSocketList The selection to sort by. If False then an element is not included in the sort and remains in its original position. None
Returns
Name Type Description
Self The sorted list.

Socket

Socket(socket)

Wraps a single Blender NodeSocket, providing operator overloads and linking.

Returned by SocketAccessor.get() / node.inputs[...] / node.outputs[...]. Type-specific subclasses (VectorSocket, ColorSocket, IntegerSocket) are selected automatically via the registry.

Properties:

tree : TreeBuilder The tree this socket belongs to. socket : NodeSocket The underlying Blender NodeSocket.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
tree
type

Methods

Name Description
enable_output Enable or disable the the output of this node group that is connected to this socket.
enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.

SoundSocket

SoundSocket(socket)

Runtime sound socket wrapper.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
tree
type

Methods

Name Description
enable_output Enable or disable the the output of this node group that is connected to this socket.
enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.

SoundSocketList

SoundSocketList(socket)

List of sound sockets.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
tree
type

Methods

Name Description
enable_output Enable or disable the the output of this node group that is connected to this socket.
filter Filter the list based on the selection.
get Get the item at the given index from the list.
list_length Get the length of the list.
list_slice Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.
reverse Reverse the list. Currently uses a SortList node with negative Index to reverse the list.
sort Sort the list based on the weights. Optional Group ID and Selection can be provided.
enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
filter
filter(selection=True)

Filter the list based on the selection.

get
get(index)

Get the item at the given index from the list.

list_length
list_length()

Get the length of the list.

list_slice
list_slice(start=0, stop=None, step=1)

Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.

reverse
reverse()

Reverse the list. Currently uses a SortList node with negative Index to reverse the list.

sort
sort(sort_weight, group_id=None, selection=None)

Sort the list based on the weights. Optional Group ID and Selection can be provided.

Parameters
Name Type Description Default
sort_weight InputFloat | InputFloatList The weight to sort by. required
group_id InputInteger | IntegerSocket The group ID to sort within. Groups are sorted independently and groups returned in order of Group ID. None
selection InputBoolean | BooleanSocketList The selection to sort by. If False then an element is not included in the sort and remains in its original position. None
Returns
Name Type Description
Self The sorted list.

StringSocket

StringSocket(socket)

Runtime string socket wrapper.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
default_value Get or set the default value of the socket. Only relevant for input sockets.
i
links
name
node
o
socket
tree
type

Methods

Name Description
contains Create a MatchStringContains, return the result as a BooleanSocket.
enable_output Enable or disable the the output of this node group that is connected to this socket.
ends_with Create a MatchString[Ends With], return the result as a BooleanSocket.
find Find where in a string a pattern occurs. Returns (first_found, count).
format Format a given string with the key-value items.
hash Hash this value to a pseudo-random integer, varied by seed.
join Join the input strings with this as the separator.
length Compute the length of a string and return as IntegerSocket.
lowercase Convert the string to lowercase and return as StringSocket.
replace Replace every match of the string with the replacement string
reverse Reverse the string.
slice Slice a given string from a starting position for a given length.
split
starts_with Create a MatchString[Starts With], return the result as a BooleanSocket.
to_float Parse the string as a floating-point value and return as FloatSocket.
to_integer Parse the string as an integer in the given base and return as IntegerSocket.
to_list Create a list of elements, evaluating this field count times based on the Index node.
trim Trim the string and return as StringSocket.
uppercase Convert the string to uppercase and return as StringSocket.
contains
contains(search)

Create a MatchStringContains, return the result as a BooleanSocket.

enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
ends_with
ends_with(search)

Create a MatchString[Ends With], return the result as a BooleanSocket.

find
find(search)

Find where in a string a pattern occurs. Returns (first_found, count).

format
format(items)

Format a given string with the key-value items.

hash
hash(seed=0)

Hash this value to a pseudo-random integer, varied by seed.

join
join(strings)

Join the input strings with this as the separator.

length
length()

Compute the length of a string and return as IntegerSocket.

lowercase
lowercase()

Convert the string to lowercase and return as StringSocket.

replace
replace(find, replace)

Replace every match of the string with the replacement string

reverse
reverse()

Reverse the string.

slice
slice(position=0, length=0)

Slice a given string from a starting position for a given length.

split
split(separator='')
starts_with
starts_with(search)

Create a MatchString[Starts With], return the result as a BooleanSocket.

to_float
to_float()

Parse the string as a floating-point value and return as FloatSocket.

to_integer
to_integer(base=10)

Parse the string as an integer in the given base and return as IntegerSocket.

to_list
to_list(count=10)

Create a list of elements, evaluating this field count times based on the Index node.

trim
trim(characters='', whitespace=True, start=True, end=True)

Trim the string and return as StringSocket.

uppercase
uppercase()

Convert the string to uppercase and return as StringSocket.

StringSocketList

StringSocketList(socket)

List of string sockets.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
tree
type

Methods

Name Description
contains Create a MatchStringContains, return the result as a BooleanSocket.
enable_output Enable or disable the the output of this node group that is connected to this socket.
ends_with Create a MatchString[Ends With], return the result as a BooleanSocket.
filter Filter the list based on the selection.
find Find where in a string a pattern occurs. Returns (first_found, count).
format Format a given string with the key-value items.
get Get the item at the given index from the list.
hash Hash this value to a pseudo-random integer, varied by seed.
length Compute the length of a string and return as IntegerSocket.
list_length Get the length of the list.
list_slice Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.
lowercase Convert the string to lowercase and return as StringSocket.
replace Replace every match of the string with the replacement string
reverse Reverse the string.
slice Slice a given string from a starting position for a given length.
sort Sort the list based on the weights. Optional Group ID and Selection can be provided.
starts_with Create a MatchString[Starts With], return the result as a BooleanSocket.
trim Trim the string and return as StringSocket.
uppercase Convert the string to uppercase and return as StringSocket.
contains
contains(search)

Create a MatchStringContains, return the result as a BooleanSocket.

enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
ends_with
ends_with(search)

Create a MatchString[Ends With], return the result as a BooleanSocket.

filter
filter(selection=True)

Filter the list based on the selection.

find
find(search)

Find where in a string a pattern occurs. Returns (first_found, count).

format
format(items)

Format a given string with the key-value items.

get
get(index)

Get the item at the given index from the list.

hash
hash(seed=0)

Hash this value to a pseudo-random integer, varied by seed.

length
length()

Compute the length of a string and return as IntegerSocket.

list_length
list_length()

Get the length of the list.

list_slice
list_slice(start=0, stop=None, step=1)

Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.

lowercase
lowercase()

Convert the string to lowercase and return as StringSocket.

replace
replace(find, replace)

Replace every match of the string with the replacement string

reverse
reverse()

Reverse the string.

slice
slice(position=0, length=0)

Slice a given string from a starting position for a given length.

sort
sort(sort_weight, group_id=None, selection=None)

Sort the list based on the weights. Optional Group ID and Selection can be provided.

Parameters
Name Type Description Default
sort_weight InputFloat | InputFloatList The weight to sort by. required
group_id InputInteger | IntegerSocket The group ID to sort within. Groups are sorted independently and groups returned in order of Group ID. None
selection InputBoolean | BooleanSocketList The selection to sort by. If False then an element is not included in the sort and remains in its original position. None
Returns
Name Type Description
Self The sorted list.
starts_with
starts_with(search)

Create a MatchString[Starts With], return the result as a BooleanSocket.

trim
trim(characters='', whitespace=True, start=True, end=True)

Trim the string and return as StringSocket.

uppercase
uppercase()

Convert the string to uppercase and return as StringSocket.

VectorSocket

VectorSocket(socket)

Runtime vector socket wrapper.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
corner VectorSocket corner domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField, FieldMinAndMax, FieldAverage, FieldVariance.
default_value
edge VectorSocket edge domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField, FieldMinAndMax, FieldAverage, FieldVariance.
face VectorSocket face domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField, FieldMinAndMax, FieldAverage, FieldVariance.
i
instance VectorSocket instance domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField, FieldMinAndMax, FieldAverage, FieldVariance.
layer VectorSocket layer domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField, FieldMinAndMax, FieldAverage, FieldVariance.
links
name
node
o
point VectorSocket point domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField, FieldMinAndMax, FieldAverage, FieldVariance.
socket
spline VectorSocket spline domain-bound methods from EvaluateAtIndex, EvaluateOnDomain, AccumulateField, FieldMinAndMax, FieldAverage, FieldVariance.
tree
type
x
y
z

Methods

Name Description
align_rotation Orient the given rotation along the current vector. Uses AlignRotationToVector with this socket as the vector input.
blur Smooth this field by mixing each element with its neighbours, iterations times.
ceil
cos
cross
distance Euclidean distance between this vector and other, as a FloatSocket.
dot Dot product with another vector and return the result as a FloatSocket.
enable_output Enable or disable the the output of this node group that is connected to this socket.
euler_to_rotation Read this vector as XYZ Euler angles and convert it to a rotation.
faceforward
floor
fraction
hash Hash this value to a pseudo-random integer, varied by seed.
length Get the length of this vector as a FloatSocket
map_range
max
min
mul_add
normalize
project
project_point
reflect
refract
rotate
round
scale
sign
sin
snap
tan
to_cylindrical Convert to cylindrical coordinates (r, phi, z).
to_list Create a list of elements, evaluating this field count times based on the Index node.
to_spherical Convert to spherical coordinates (r, phi, theta).
transform
transform_direction
wrap
align_rotation
align_rotation(rotation=None, factor=1.0, *, axis='Z', pivot_axis='AUTO')

Orient the given rotation along the current vector. Uses AlignRotationToVector with this socket as the vector input.

blur
blur(iterations=1, weight=1.0)

Smooth this field by mixing each element with its neighbours, iterations times.

ceil
ceil()
cos
cos()
cross
cross(other)
distance
distance(other=(0.0, 0.0, 0.0))

Euclidean distance between this vector and other, as a FloatSocket.

dot
dot(vector=(0.0, 0.0, 1.0))

Dot product with another vector and return the result as a FloatSocket.

enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
euler_to_rotation
euler_to_rotation()

Read this vector as XYZ Euler angles and convert it to a rotation.

faceforward
faceforward(incident, reference)
floor
floor()
fraction
fraction()
hash
hash(seed=0)

Hash this value to a pseudo-random integer, varied by seed.

length
length()

Get the length of this vector as a FloatSocket

map_range
map_range(*args, **kwargs)
max
max(value)
min
min(value)
mul_add
mul_add(multiplier, addend)
normalize
normalize()
project
project(other)
project_point
project_point(matrix)
reflect
reflect(normal)
refract
refract(normal, ior)
rotate
rotate(rotation)
round
round()
scale
scale(scale)
sign
sign()
sin
sin()
snap
snap(increment)
tan
tan()
to_cylindrical
to_cylindrical()

Convert to cylindrical coordinates (r, phi, z).

to_list
to_list(count=10)

Create a list of elements, evaluating this field count times based on the Index node.

to_spherical
to_spherical()

Convert to spherical coordinates (r, phi, theta).

transform
transform(matrix)
transform_direction
transform_direction(matrix)
wrap
wrap(min, max)

VectorSocketGrid

VectorSocketGrid(socket)

Runtime vector grid socket wrapper.

Attributes

Name Description
background_value
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
tree
type
x
y
z

Methods

Name Description
advect Move the grid’s values along the velocity grid over time_step.
align_rotation Orient the given rotation along the current vector. Uses AlignRotationToVector with this socket as the vector input.
blur Smooth this field by mixing each element with its neighbours, iterations times.
ceil
clip Deactivate grid voxels outside minimum and maximum coordinates, setting them to the background value.
cos
cross
curl Calculate the magnitude and direction of circulation of a directional vector grid.
dilate_erode Dilate or erode the active regions of a grid. This changes which voxels are active but does not change their values.
distance Euclidean distance between this vector and other, as a FloatSocket.
divergence Calculate the flow into and out of each point of a directional vector grid.
dot Dot product with another vector and return the result as a FloatSocket.
enable_output Enable or disable the the output of this node group that is connected to this socket.
euler_to_rotation Read this vector as XYZ Euler angles and convert it to a rotation.
faceforward
field_to_grid Create new grids by evaluating new values on an existing volume grid topology.
floor
fraction
hash Hash this value to a pseudo-random integer, varied by seed.
length Get the length of this vector as a FloatSocket
map_range
max
mean Apply mean (box) filter smoothing to a voxel. The mean value from surrounding voxels in a box-shape defined by the radius replaces the voxel value.
median Apply median (box) filter smoothing to a voxel. The median value from surrounding voxels in a box-shape defined by the radius replaces the voxel value.
min
mul_add
normalize
project
project_point
prune Make the storage of a volume grid more efficient by collapsing data into tiles or inner nodes.
reflect
refract
rotate
round
sample Retrieve values from the specified volume grid.
sample_index Retrieve volume grid values at specific voxels.
scale
set_background Set the grid’s background value, optionally also on inactive voxels.
set_transform Set the grid’s transform from index to object space.
sign
sin
snap
tan
to_cylindrical Convert to cylindrical coordinates (r, phi, z).
to_points Generate a point cloud from a volume grid’s active voxels.
to_spherical Convert to spherical coordinates (r, phi, theta).
transform
transform_direction
voxelize Remove sparseness from a volume grid by making the active tiles into voxels.
wrap
advect
advect(
    velocity,
    time_step=1.0,
    integration_scheme='Runge-Kutta 3',
    limiter='Clamp',
)

Move the grid’s values along the velocity grid over time_step.

align_rotation
align_rotation(rotation=None, factor=1.0, *, axis='Z', pivot_axis='AUTO')

Orient the given rotation along the current vector. Uses AlignRotationToVector with this socket as the vector input.

blur
blur(iterations=1, weight=1.0)

Smooth this field by mixing each element with its neighbours, iterations times.

ceil
ceil()
clip
clip(min_x=0, min_y=0, min_z=0, max_x=32, max_y=32, max_z=32)

Deactivate grid voxels outside minimum and maximum coordinates, setting them to the background value.

cos
cos()
cross
cross(other)
curl
curl()

Calculate the magnitude and direction of circulation of a directional vector grid.

dilate_erode
dilate_erode(steps=1, connectivity='Face', tiles='Preserve')

Dilate or erode the active regions of a grid. This changes which voxels are active but does not change their values.

distance
distance(other=(0.0, 0.0, 0.0))

Euclidean distance between this vector and other, as a FloatSocket.

divergence
divergence()

Calculate the flow into and out of each point of a directional vector grid.

dot
dot(vector=(0.0, 0.0, 1.0))

Dot product with another vector and return the result as a FloatSocket.

enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
euler_to_rotation
euler_to_rotation()

Read this vector as XYZ Euler angles and convert it to a rotation.

faceforward
faceforward(incident, reference)
field_to_grid
field_to_grid()

Create new grids by evaluating new values on an existing volume grid topology.

floor
floor()
fraction
fraction()
hash
hash(seed=0)

Hash this value to a pseudo-random integer, varied by seed.

length
length()

Get the length of this vector as a FloatSocket

map_range
map_range(*args, **kwargs)
max
max(value)
mean
mean(width=1, iterations=1)

Apply mean (box) filter smoothing to a voxel. The mean value from surrounding voxels in a box-shape defined by the radius replaces the voxel value.

median
median(width=1, iterations=1)

Apply median (box) filter smoothing to a voxel. The median value from surrounding voxels in a box-shape defined by the radius replaces the voxel value.

min
min(value)
mul_add
mul_add(multiplier, addend)
normalize
normalize()
project
project(other)
project_point
project_point(matrix)
prune
prune(threshold=0.1, mode=None)

Make the storage of a volume grid more efficient by collapsing data into tiles or inner nodes.

reflect
reflect(normal)
refract
refract(normal, ior)
rotate
rotate(rotation)
round
round()
sample
sample(position=None, interpolation='Trilinear')

Retrieve values from the specified volume grid.

sample_index
sample_index(x=0, y=0, z=0)

Retrieve volume grid values at specific voxels.

scale
scale(scale)
set_background
set_background(background, update_inactive=False)

Set the grid’s background value, optionally also on inactive voxels.

set_transform
set_transform(matrix)

Set the grid’s transform from index to object space.

sign
sign()
sin
sin()
snap
snap(increment)
tan
tan()
to_cylindrical
to_cylindrical()

Convert to cylindrical coordinates (r, phi, z).

to_points
to_points()

Generate a point cloud from a volume grid’s active voxels.

to_spherical
to_spherical()

Convert to spherical coordinates (r, phi, theta).

transform
transform(matrix)
transform_direction
transform_direction(matrix)
voxelize
voxelize()

Remove sparseness from a volume grid by making the active tiles into voxels.

wrap
wrap(min, max)

VectorSocketList

VectorSocketList(socket)

Class for list of vector sockets.

Attributes

Name Description
builder_node The builder node that owns this socket, if accessed via .o/.i.
i
links
name
node
o
socket
tree
type
x
y
z

Methods

Name Description
align_rotation Orient the given rotation along the current vector. Uses AlignRotationToVector with this socket as the vector input.
blur Smooth this field by mixing each element with its neighbours, iterations times.
ceil
cos
cross
distance Euclidean distance between this vector and other, as a FloatSocket.
dot Dot product with another vector and return the result as a FloatSocket.
enable_output Enable or disable the the output of this node group that is connected to this socket.
euler_to_rotation Read this vector as XYZ Euler angles and convert it to a rotation.
faceforward
filter Filter the list based on the selection.
floor
fraction
get Get the item at the given index from the list.
hash Hash this value to a pseudo-random integer, varied by seed.
length Get the length of this vector as a FloatSocket
list_length Get the length of the list.
list_slice Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.
map_range
max
min
mul_add
normalize
project
project_point
reflect
refract
reverse Reverse the list. Currently uses a SortList node with negative Index to reverse the list.
rotate
round
scale
sign
sin
snap
sort Sort the list based on the weights. Optional Group ID and Selection can be provided.
tan
to_cylindrical Convert to cylindrical coordinates (r, phi, z).
to_spherical Convert to spherical coordinates (r, phi, theta).
transform
transform_direction
wrap
align_rotation
align_rotation(rotation=None, factor=1.0, *, axis='Z', pivot_axis='AUTO')

Orient the given rotation along the current vector. Uses AlignRotationToVector with this socket as the vector input.

blur
blur(iterations=1, weight=1.0)

Smooth this field by mixing each element with its neighbours, iterations times.

ceil
ceil()
cos
cos()
cross
cross(other)
distance
distance(other=(0.0, 0.0, 0.0))

Euclidean distance between this vector and other, as a FloatSocket.

dot
dot(vector=(0.0, 0.0, 1.0))

Dot product with another vector and return the result as a FloatSocket.

enable_output
enable_output(enable=True)

Enable or disable the the output of this node group that is connected to this socket.

If called on an output socket, the output of the EnableOutput node is returned. If called on an input socket, the input socket is returned.

Parameters
Name Type Description Default
enable InputBoolean Whether to enable or disable the output, by default True. True
Returns
Name Type Description
Self The output socket or input socket, depending on the socket type.
euler_to_rotation
euler_to_rotation()

Read this vector as XYZ Euler angles and convert it to a rotation.

faceforward
faceforward(incident, reference)
filter
filter(selection=True)

Filter the list based on the selection.

floor
floor()
fraction
fraction()
get
get(index)

Get the item at the given index from the list.

hash
hash(seed=0)

Hash this value to a pseudo-random integer, varied by seed.

length
length()

Get the length of this vector as a FloatSocket

list_length
list_length()

Get the length of the list.

list_slice
list_slice(start=0, stop=None, step=1)

Slice the list using start, stop, and step indices. Behaves like Python’s slice notation.

map_range
map_range(*args, **kwargs)
max
max(value)
min
min(value)
mul_add
mul_add(multiplier, addend)
normalize
normalize()
project
project(other)
project_point
project_point(matrix)
reflect
reflect(normal)
refract
refract(normal, ior)
reverse
reverse()

Reverse the list. Currently uses a SortList node with negative Index to reverse the list.

rotate
rotate(rotation)
round
round()
scale
scale(scale)
sign
sign()
sin
sin()
snap
snap(increment)
sort
sort(sort_weight, group_id=None, selection=None)

Sort the list based on the weights. Optional Group ID and Selection can be provided.

Parameters
Name Type Description Default
sort_weight InputFloat | InputFloatList The weight to sort by. required
group_id InputInteger | IntegerSocket The group ID to sort within. Groups are sorted independently and groups returned in order of Group ID. None
selection InputBoolean | BooleanSocketList The selection to sort by. If False then an element is not included in the sort and remains in its original position. None
Returns
Name Type Description
Self The sorted list.
tan
tan()
to_cylindrical
to_cylindrical()

Convert to cylindrical coordinates (r, phi, z).

to_spherical
to_spherical()

Convert to spherical coordinates (r, phi, theta).

transform
transform(matrix)
transform_direction
transform_direction(matrix)
wrap
wrap(min, max)