nodes.geometry.manual
manual
Classes
| Name | Description |
|---|---|
| AccumulateField | Add the values of an evaluated field together and output the running total for each element |
| AttributeStatistic | Calculate statistics about a data set from a field evaluated on a geometry |
| Bake | Cache the incoming data so that it can be used without recomputation |
| CaptureAttribute | Store the result of a field on a geometry and output the data as a node socket. |
| Compare | Perform a comparison operation on the two given inputs |
| EvaluateAtIndex | Retrieve data of other elements in the context’s geometry |
| EvaluateOnDomain | Retrieve values from a field on a different domain besides the domain from the context |
| FieldAverage | Calculate the mean and median of a given field |
| FieldMinAndMax | Calculate the minimum and maximum of a given field |
| FieldToGrid | Create new grids by evaluating new values on an existing volume grid topology |
| FieldVariance | Calculate the standard deviation and variance of a given field |
| FormatString | Insert values into a string using a Python and path template compatible formatting syntax |
| GeometryToInstance | Convert each input geometry into an instance, which can be much faster |
| HandleTypeSelection | Provide a selection based on the handle types of Bézier control points |
| IndexSwitch | Node builder for the Index Switch node |
| JoinGeometry | Merge separately generated geometries into a single one |
| JoinStrings | Combine any number of input strings |
| MenuSwitch | Node builder for the Menu Switch node |
| MeshBoolean | Cut, subtract, or join multiple mesh inputs |
| SDFGridBoolean | Cut, subtract, or join multiple SDF volume grid inputs |
| SetHandleType | Set the handle type for the control points of a Bézier curve |
| Value | Input numerical values to other nodes in the tree |
AccumulateField
AccumulateField(
value=1.0,
group_index=0,
*,
data_type='FLOAT',
domain='POINT',
**kwargs,
)Add the values of an evaluated field together and output the running total for each element
Attributes
| Name | Description |
|---|---|
corner |
|
data_type |
|
domain |
|
edge |
|
face |
|
i |
|
inputs |
|
instance |
|
layer |
|
name |
|
node |
|
o |
|
outputs |
|
point |
|
spline |
|
tree |
|
type |
AttributeStatistic
AttributeStatistic(
geometry=None,
selection=True,
attribute=None,
*,
data_type='FLOAT',
domain='POINT',
**kwargs,
)Calculate statistics about a data set from a field evaluated on a geometry
Attributes
| Name | Description |
|---|---|
data_type |
|
domain |
|
i |
|
inputs |
|
name |
|
node |
|
o |
|
outputs |
|
tree |
|
type |
Bake
Bake(*args, **kwargs)Cache the incoming data so that it can be used without recomputation
TODO: properly handle Animation / Still bake opations and ability to bake to a file
Attributes
| Name | Description |
|---|---|
i |
Input socket accessor. Subclasses narrow the return type via TYPE_CHECKING. |
inputs |
|
name |
|
node |
|
o |
Output socket accessor. Subclasses narrow the return type via TYPE_CHECKING. |
outputs |
|
tree |
|
type |
CaptureAttribute
CaptureAttribute(*args, geometry=None, domain='POINT', **kwargs)Store the result of a field on a geometry and output the data as a node socket. Allows remembering or interpolating data as the geometry changes, such as positions before deformation
Attributes
| Name | Description |
|---|---|
corner |
|
curve |
|
domain |
|
edge |
|
face |
|
i |
|
inputs |
|
instance |
|
layer |
|
name |
|
node |
|
o |
|
outputs |
|
point |
|
tree |
|
type |
Methods
| Name | Description |
|---|---|
| capture | Capture the value to store in the attribute |
capture
capture(value)Capture the value to store in the attribute
Return the SocketLinker for the output socket
Compare
Compare(operation='GREATER_THAN', data_type='FLOAT', **kwargs)Perform a comparison operation on the two given inputs
Attributes
| Name | Description |
|---|---|
color |
|
data_type |
|
float |
|
i |
|
inputs |
|
integer |
|
mode |
|
name |
|
node |
|
o |
|
operation |
|
outputs |
|
string |
|
tree |
|
type |
|
vector |
Methods
| Name | Description |
|---|---|
| switch |
switch
switch(false, true)EvaluateAtIndex
EvaluateAtIndex(value=None, index=0, *, domain='POINT', data_type='FLOAT')Retrieve data of other elements in the context’s geometry
Attributes
| Name | Description |
|---|---|
corner |
|
data_type |
|
domain |
|
edge |
|
face |
|
i |
|
inputs |
|
instance |
|
layer |
|
name |
|
node |
|
o |
|
outputs |
|
point |
|
spline |
|
tree |
|
type |
EvaluateOnDomain
EvaluateOnDomain(value=None, *, domain='POINT', data_type='FLOAT')Retrieve values from a field on a different domain besides the domain from the context
Attributes
| Name | Description |
|---|---|
corner |
|
data_type |
|
domain |
|
edge |
|
face |
|
i |
|
inputs |
|
instance |
|
layer |
|
name |
|
node |
|
o |
|
outputs |
|
point |
|
spline |
|
tree |
|
type |
FieldAverage
FieldAverage(value=None, group_index=0, *, data_type='FLOAT', domain='POINT')Calculate the mean and median of a given field
Attributes
| Name | Description |
|---|---|
corner |
|
data_type |
|
domain |
|
edge |
|
face |
|
i |
|
inputs |
|
instance |
|
layer |
|
name |
|
node |
|
o |
|
outputs |
|
point |
|
spline |
|
tree |
|
type |
FieldMinAndMax
FieldMinAndMax(value=1.0, group_index=0, *, data_type='FLOAT', domain='POINT')Calculate the minimum and maximum of a given field
Attributes
| Name | Description |
|---|---|
corner |
|
data_type |
|
domain |
|
edge |
|
face |
|
i |
|
inputs |
|
instance |
|
layer |
|
name |
|
node |
|
o |
|
outputs |
|
point |
|
spline |
|
tree |
|
type |
FieldToGrid
FieldToGrid(*args, topology=None, data_type='FLOAT', **kwargs)Create new grids by evaluating new values on an existing volume grid topology
New socket items for field evaluation are first created from *args then **kwargs to give specific names to the items.
Data types are inferred automatically from the closest compatible data type.
Inputs:
topology: InputLinkable The grid which contains the topology to evaluate the different fields on. data_type: _GridDataTypes = “FLOAT” The data type of the grid to evaluate on. Possible values are “FLOAT”, “INT”, “VECTOR”, “BOOLEAN”. *args: InputFloat | InputVector | InputInteger | InputBoolean The fields to evaluate on the grid. **kwargs: dict[str, InputFloat | InputVector | InputInteger | InputGeometry] The key-value pairs of the fields to evaluate on the grid. Keys will be used as the name of the socket.
Attributes
| Name | Description |
|---|---|
data_type |
|
i |
|
inputs |
|
name |
|
node |
|
o |
Output socket accessor. Subclasses narrow the return type via TYPE_CHECKING. |
outputs |
|
tree |
|
type |
Methods
| Name | Description |
|---|---|
| boolean | |
| capture | |
| float | |
| integer | |
| vector |
boolean
boolean(*args, topology=None, **kwargs)capture
capture(*args, **kwargs)float
float(*args, topology=None, **kwargs)integer
integer(*args, topology=None, **kwargs)vector
vector(*args, topology=None, **kwargs)FieldVariance
FieldVariance(
value=None,
group_index=None,
*,
data_type='FLOAT',
domain='POINT',
)Calculate the standard deviation and variance of a given field
Attributes
| Name | Description |
|---|---|
corner |
|
data_type |
|
domain |
|
edge |
|
face |
|
i |
|
inputs |
|
instance |
|
layer |
|
name |
|
node |
|
o |
|
outputs |
|
point |
|
spline |
|
tree |
|
type |
FormatString
FormatString(*args, format='', **kwargs)Insert values into a string using a Python and path template compatible formatting syntax
Attributes
| Name | Description |
|---|---|
i |
|
inputs |
|
items |
Input sockets: |
name |
|
node |
|
o |
|
outputs |
|
tree |
|
type |
GeometryToInstance
GeometryToInstance(*args)Convert each input geometry into an instance, which can be much faster than the Join Geometry node when the inputs are large
Attributes
| Name | Description |
|---|---|
i |
|
inputs |
|
name |
|
node |
|
o |
|
outputs |
|
tree |
|
type |
Inputs
| Attribute | Type | Description |
|---|---|---|
geometry |
GeometrySocket |
Multi-input socket; geometry that will be converted into an instance |
Outputs
| Attribute | Type | Description |
|---|---|---|
instances |
GeometrySocket |
Single geometry output with each input linked geometry as a separate instance |
HandleTypeSelection
HandleTypeSelection(handle_type='AUTO', left=True, right=True)Provide a selection based on the handle types of Bézier control points
Attributes
| Name | Description |
|---|---|
handle_type |
|
i |
Input socket accessor. Subclasses narrow the return type via TYPE_CHECKING. |
inputs |
|
left |
|
mode |
|
name |
|
node |
|
o |
|
outputs |
|
right |
|
tree |
|
type |
IndexSwitch
IndexSwitch(*args, index=0, data_type='FLOAT')Node builder for the Index Switch node
Attributes
| Name | Description |
|---|---|
boolean |
|
bundle |
|
closure |
|
collection |
|
color |
|
data_type |
Input socket: Data Type |
float |
|
geometry |
|
i |
|
image |
|
inputs |
|
integer |
|
material |
|
matrix |
|
menu |
|
name |
|
node |
|
o |
|
object |
|
outputs |
|
rotation |
|
string |
|
tree |
|
type |
|
vector |
JoinGeometry
JoinGeometry(*args)Merge separately generated geometries into a single one
Attributes
| Name | Description |
|---|---|
i |
|
inputs |
|
name |
|
node |
|
o |
|
outputs |
|
tree |
|
type |
JoinStrings
JoinStrings(*args, delimiter='')Combine any number of input strings
Attributes
| Name | Description |
|---|---|
i |
|
inputs |
|
name |
|
node |
|
o |
|
outputs |
|
tree |
|
type |
MenuSwitch
MenuSwitch(*args, menu=None, data_type='FLOAT', **kwargs)Node builder for the Menu Switch node
Attributes
| Name | Description |
|---|---|
boolean |
|
bundle |
|
closure |
|
collection |
|
color |
|
data_type |
Input socket: Data Type |
float |
|
geometry |
|
i |
|
image |
|
inputs |
|
integer |
|
material |
|
matrix |
|
menu |
|
name |
|
node |
|
o |
|
object |
|
outputs |
|
rotation |
|
string |
|
tree |
|
type |
|
vector |
MeshBoolean
MeshBoolean(*args, operation='DIFFERENCE', solver='FLOAT', **kwargs)Cut, subtract, or join multiple mesh inputs
Attributes
| Name | Description |
|---|---|
i |
Input socket accessor. Subclasses narrow the return type via TYPE_CHECKING. |
inputs |
|
name |
|
node |
|
o |
Output socket accessor. Subclasses narrow the return type via TYPE_CHECKING. |
operation |
|
outputs |
|
solver |
|
tree |
|
type |
Methods
| Name | Description |
|---|---|
| difference | |
| intersect | |
| union |
difference
difference(
*args,
mesh_1=None,
hole_tolerant=False,
self_intersection=False,
solver='FLOAT',
)intersect
intersect(*args, self_intersection=False, hole_tolerant=False, solver='FLOAT')union
union(*args, hole_tolerant=False, self_intersection=False, solver='FLOAT')SDFGridBoolean
SDFGridBoolean(operation='DIFFERENCE')Cut, subtract, or join multiple SDF volume grid inputs
Attributes
| Name | Description |
|---|---|
i |
|
inputs |
|
name |
|
node |
|
o |
|
operation |
|
outputs |
|
tree |
|
type |
Methods
| Name | Description |
|---|---|
| difference | Create SDF Grid Boolean with operation ‘Difference’. |
| intersect | |
| union |
difference
difference(*args, grid_1=None)Create SDF Grid Boolean with operation ‘Difference’.
intersect
intersect(*args)union
union(*args)SetHandleType
SetHandleType(
curve=None,
selection=True,
*,
left=False,
right=False,
handle_type='AUTO',
)Set the handle type for the control points of a Bézier curve
Attributes
| Name | Description |
|---|---|
handle_type |
|
i |
|
inputs |
|
left |
|
name |
|
node |
|
o |
|
outputs |
|
right |
|
tree |
|
type |
Value
Value(value=0.0)Input numerical values to other nodes in the tree
Attributes
| Name | Description |
|---|---|
i |
Input socket accessor. Subclasses narrow the return type via TYPE_CHECKING. |
inputs |
|
name |
|
node |
|
o |
|
outputs |
|
tree |
|
type |
|
value |
Input socket: Value |