snnib.blender.utils.geo_nodes_utils¶
utilities to manipulate blenders geometry nodes
Exceptions
Classes
- Functions
add_todo_node()
copy_geonodes()
clear_node_group()
create_node_group()
delete_geonode_groups()
exists_node_group()
get_node_by_label()
set_node_curve()
Other Objects
Functions
|
adds a frame denoting a TODO to the node tree |
|
clears the node group of group_name |
|
sets the geo nodes modifier of targ to the same as src |
|
returns existing node group if dev, otherwise always creates new one |
|
deletes all geometry node node groups with name group_name |
|
returns flag whether node group of group_name already exists |
|
returns first node in node_tree that matches label |
|
|
|
overrides node curve (i.e. RGB Curves node) with new curve. |
|
- snnib.blender.utils.geo_nodes_utils.add_todo_node(node_group: bpy.types.GeometryNodeTree, location: Tuple[float, float] = (0.0, 0.0)) bpy.types.Node[source]¶
adds a frame denoting a TODO to the node tree
- Parameters
- node_group
bpy.types.GeometryNodeTree
geo nodes node tree to attach the node to
- location
Tuple[float,float], optional
location as (x,y) of the node
the default is (0.0,0.0)
Raises
- Returns
- n_todo
bpy.types.Node
created node
- Dependencies
bpy
logging
typing
- snnib.blender.utils.geo_nodes_utils.clear_node_group(group_name: str)[source]¶
clears the node group of group_name
used to avoid cluttering in blender file when developing new node group
allow to stay in node group and see changes when rerunning scripts
- Parameters
- group_name
str
name of the targeted geo nodes group
Raises
Returns
- Dependencies
bpy
logging
typing
- snnib.blender.utils.geo_nodes_utils.copy_geonodes(src: bpy.types.Object, targ: bpy.types.Object) bpy.types.NodesModifier[source]¶
sets the geo nodes modifier of targ to the same as src
only applies to first found geo nodes modifier
no action if no geo nodes modifier found
- Parameters
- src
bpy.types.Object
source to copy geo nodes modifier from
- targ
bpy.types.Object
target to copy geo nodes modifier to
Raises
- Returns
- targ_gn_mod
bpy.types.NodesModifier
created geo nodes modifier
- Dependencies
bpy
logging
typing
- snnib.blender.utils.geo_nodes_utils.create_node_group(group_name: str, dev: bool) bpy.types.GeometryNodeTree[source]¶
returns existing node group if dev, otherwise always creates new one
helper creating node groups based on specifications
overrides existing nodes when dev==True (creates new group if nonexistent)
creates new group without overriding if dev!=True
- Parameters
- group_name
str
name of the targeted geo nodes group
- dev
bool, optional
flag denoting if script is ran in development mode
Raises
- Returns
- node_group
bpy.types.GeometryNodeTree
created geo nodes node group
- Dependencies
bpy
logging
typing
- snnib.blender.utils.geo_nodes_utils.delete_geonode_groups(group_name: str)[source]¶
deletes all geometry node node groups with name group_name
used before generating new groups to avoid cluttering blender
- Parameters
- group_name
str
name of the targeted geo nodes group
Raises
Returns
- Dependencies
bpy
logging
typing
- snnib.blender.utils.geo_nodes_utils.exists_node_group(group_name: str)[source]¶
returns flag whether node group of group_name already exists
- used to avoid cluttering in blender file when developing new node group
allows creation of new group only if it is not existing already
- Parameters
- group_name
str
name of the targeted geo nodes group
Raises
Returns
- Dependencies
bpy
logging
typing
- snnib.blender.utils.geo_nodes_utils.get_node_by_label(node_tree: bpy.types.GeometryNodeTree, label: str) bpy.types.Node[source]¶
returns first node in node_tree that matches label
- Parameters
- node_tree
bpy.types.GeometryNodeTree
geometry nodes node tree to extract node from
- label
str
label of the node to search for
Raises
- Returns
- node
bpy.types.Node
extracted node
None if no matching node was found
- Dependencies
bpy
logging
typing
- snnib.blender.utils.geo_nodes_utils.set_node_curve(node: bpy.types.ShaderNodeRGBCurve, channel_index: int, pts: List[List[float]], handle_types: List[str] = None)[source]¶
overrides node curve (i.e. RGB Curves node) with new curve
- Parameters
- node
bpy.types.ShaderNodeRGBCurve
node to update the curve of
- channel_index
int
- index of the channel to target
0 > r
1 > g
2 > b
3 > combined
- pts
List[List[float]]
coordinates to place the control points at
- handle_types
List[str], optional
handle types to use for each point in pts
- the default is None
uses default settings
Raises
Returns
- Dependencies
bpy
logging
typing