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
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().
ResultMatrixSVD SVD components returned by MatrixSocket.svd().
ResultQuaternionComponents Quaternion components returned by RotationSocket.to_quaternion().
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

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.
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.

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.
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.

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
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.
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
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.

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
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.
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.
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.
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
ceil Round up to the nearest integer.
clamp Clamp the value to [min, max]. Defaults to the unit interval [0, 1].
enable_output Enable or disable the the output of this node group that is connected to this socket.
floor Round down to the nearest integer.
map_range Remap the values on the float socket using the MapRange node.
modulo Floored modulo — remainder after dividing by divisor, always non-negative.
negate Negate the FloatSocket by multiplying the value by -1.
power Raise this value to exponent.
round Round to the nearest integer.
sign Return the sign of the FloatSocket, eithe -1, 0 or 1.
sqrt Return the square root of this value.
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
wrap Wrap the value into the [min, max] range, repeating cyclically.
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].

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.
floor
floor()

Round down to the nearest integer.

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.

modulo
modulo(divisor)

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

negate
negate()

Negate the FloatSocket by multiplying the value by -1.

power
power(exponent)

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.

sqrt
sqrt()

Return the square root of this value.

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

wrap
wrap(min, max)

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
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.
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.
floor Round down to the nearest integer.
gradient Calculate the direction and magnitude of the change in values of a scalar grid.
laplacian Compute the divergence of the gradient of the input grid.
map_range Remap the values on the float socket using the MapRange node.
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.
modulo Floored modulo — remainder after dividing by divisor, always non-negative.
negate Negate the FloatSocket by multiplying the value by -1.
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_fillet Round off concave internal corners in a signed distance field. Only affects areas with negative principal curvature, creating smoother transitions between surfaces.
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.
sign Return the sign of the FloatSocket, eithe -1, 0 or 1.
sqrt Return the square root of this value.
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.
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.
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.

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.

floor
floor()

Round down to the nearest integer.

gradient
gradient()

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

laplacian
laplacian()

Compute the divergence of the gradient of the input grid.

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.

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.

modulo
modulo(divisor)

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

negate
negate()

Negate the FloatSocket by multiplying the value by -1.

power
power(exponent)

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_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_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.

sign
sign()

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

sqrt
sqrt()

Return the square root of this value.

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.

voxelize
voxelize()

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

wrap
wrap(min, max)

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

FloatSocketList

FloatSocketList(socket)

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
ceil Round up to the nearest integer.
clamp Clamp the value to [min, max]. Defaults to the unit interval [0, 1].
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.
floor Round down to the nearest integer.
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.
map_range Remap the values on the float socket using the MapRange node.
modulo Floored modulo — remainder after dividing by divisor, always non-negative.
negate Negate the FloatSocket by multiplying the value by -1.
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.
sort Sort the list based on the weights. Optional Group ID and Selection can be provided.
sqrt Return the square root of this value.
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
wrap Wrap the value into the [min, max] range, repeating cyclically.
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].

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.

floor
floor()

Round down to the nearest integer.

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.

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.

modulo
modulo(divisor)

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

negate
negate()

Negate the FloatSocket by multiplying the value by -1.

power
power(exponent)

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.

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.

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

wrap
wrap(min, max)

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
enable_output Enable or disable the the output of this node group that is connected to this socket.
realize_instances
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)

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
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.
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.

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.

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.
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.

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.
clamp Clamp the value to [min, max].
enable_output Enable or disable the the output of this node group that is connected to this socket.
modulo Remainder after dividing by divisor (always non-negative).
negate Negate the IntegerSocket value. Positive becomes negative, negative becomes positive.
sign Return the sign of the IntegerSocket, either -1, 0, or 1.
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.
abs
abs()

Return the absolute value of the IntegerSocket.

clamp
clamp(min=0, max=1)

Clamp the value to [min, max].

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.
modulo
modulo(divisor)

Remainder after dividing by divisor (always non-negative).

negate
negate()

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

sign
sign()

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

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()

Convert the IntegerSocket to a StringSocket.

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.
clamp Clamp the value to [min, max].
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.
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.
modulo Remainder after dividing by divisor (always non-negative).
negate Negate the IntegerSocket value. Positive becomes negative, negative becomes positive.
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.
sign Return the sign of the IntegerSocket, either -1, 0, or 1.
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.

clamp
clamp(min=0, max=1)

Clamp the value to [min, max].

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.

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.

modulo
modulo(divisor)

Remainder after dividing by divisor (always non-negative).

negate
negate()

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

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.

sign
sign()

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

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.
clamp Clamp the value to [min, max].
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.
modulo Remainder after dividing by divisor (always non-negative).
negate Negate the IntegerSocket value. Positive becomes negative, negative becomes positive.
reverse Reverse the list. Currently uses a SortList node with negative Index to reverse the list.
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_string Convert the IntegerSocket to a StringSocket.
abs
abs()

Return the absolute value of the IntegerSocket.

clamp
clamp(min=0, max=1)

Clamp the value to [min, max].

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.

modulo
modulo(divisor)

Remainder after dividing by divisor (always non-negative).

negate
negate()

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

reverse
reverse()

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

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_string
to_string()

Convert the IntegerSocket to a StringSocket.

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.
clamp Clamp the value to [min, max].
enable_output Enable or disable the the output of this node group that is connected to this socket.
modulo Remainder after dividing by divisor (always non-negative).
negate Negate the IntegerSocket value. Positive becomes negative, negative becomes positive.
sign Return the sign of the IntegerSocket, either -1, 0, or 1.
abs
abs()

Return the absolute value of the IntegerSocket.

clamp
clamp(min=0, max=1)

Clamp the value to [min, max].

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.
modulo
modulo(divisor)

Remainder after dividing by divisor (always non-negative).

negate
negate()

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

sign
sign()

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

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.
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.

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.
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 Apply this matrix to direction, ignoring translation.
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.
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)

Apply this matrix to direction, ignoring translation.

Use this instead of transform() when transforming a direction vector (e.g. a normal) where translation must not affect the result.

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.
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 Apply this matrix to direction, ignoring translation.
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.

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)

Apply this matrix to direction, ignoring translation.

Use this instead of transform() when transforming a direction vector (e.g. a normal) where translation must not affect the result.

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
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.
rotation The object’s rotation, optionally in relative space, via ObjectInfo.
scale The object’s scale, optionally in relative space, via ObjectInfo.
transform The Object’s transform matrix, optionally in relative space.
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.
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')

The Object’s transform matrix, optionally in relative space.

Adds ObjectInfo to the node tree and returns.

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.

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

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

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.
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.
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.

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.
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.

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.

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.
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_list Create a list of elements, evaluating this field count times based on the Index node.
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.

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_list
to_list(count=10)

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

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.
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.
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.

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.

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.
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.
length Get the length of this vector as a FloatSocket
map_range
normalize
project
reflect
rotate
scale
to_list Create a list of elements, evaluating this field count times based on the Index node.
transform
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.

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.
length
length()

Get the length of this vector as a FloatSocket

map_range
map_range(*args, **kwargs)
normalize
normalize()
project
project(other)
reflect
reflect(normal)
rotate
rotate(rotation)
scale
scale(scale)
to_list
to_list(count=10)

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

transform
transform(matrix)

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
align_rotation Orient the given rotation along the current vector. Uses AlignRotationToVector with this socket as the vector input.
clip Deactivate grid voxels outside minimum and maximum coordinates, setting them to the background value.
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.
field_to_grid Create new grids by evaluating new values on an existing volume grid topology.
length Get the length of this vector as a FloatSocket
map_range
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.
normalize
project
prune Make the storage of a volume grid more efficient by collapsing data into tiles or inner nodes.
reflect
rotate
sample Retrieve values from the specified volume grid.
sample_index Retrieve volume grid values at specific voxels.
scale
to_points Generate a point cloud from a volume grid’s active voxels.
transform
voxelize Remove sparseness from a volume grid by making the active tiles into voxels.
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.

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.

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.
field_to_grid
field_to_grid()

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

length
length()

Get the length of this vector as a FloatSocket

map_range
map_range(*args, **kwargs)
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.

normalize
normalize()
project
project(other)
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)
rotate
rotate(rotation)
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)
to_points
to_points()

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

transform
transform(matrix)
voxelize
voxelize()

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

VectorSocketList

VectorSocketList(socket)

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.
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.
filter Filter the list based on the selection.
get Get the item at the given index from the list.
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
normalize
project
reflect
reverse Reverse the list. Currently uses a SortList node with negative Index to reverse the list.
rotate
scale
sort Sort the list based on the weights. Optional Group ID and Selection can be provided.
transform
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.

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.
filter
filter(selection=True)

Filter the list based on the selection.

get
get(index)

Get the item at the given index from the list.

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)
normalize
normalize()
project
project(other)
reflect
reflect(normal)
reverse
reverse()

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

rotate
rotate(rotation)
scale
scale(scale)
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.
transform
transform(matrix)