/
Names, Groups, Visibility

Names, Groups, Visibility

Getting Names

Add this script to a "Batch Script" editor (F10) and execute it with Script > Run.

The script prints out the names of all scene nodes:

# Get all nodes in the scene
sceneNodes = scene.getNodes()

# Loop through every node and print out its name
for node in sceneNodes:
	nodeName = node.getName()
	scene.message(nodeName)

Renaming Nodes

Add this script to a "Batch Script" editor (F10) and execute it with Script > Run.

The script renames objects inside the "Object_Group" and adds leading 0s:

# Get the group "Object_Group" and its contained nodes
objectGroup = scene.getGroup("Object_Group")
objects     = objectGroup.getNodes()
namePrefix  = "RealFlow_Object_"
counter     = 0

# Loop through every object and assemble a padding format
for entry in objects:
	if (counter < 10)                   : padding = "00"+str(counter)
	if (counter >= 10 and counter < 100): padding = "0"+str(counter)
	if (counter >= 100)                 : padding = str(counter)

	# Assemble the complete name, consisting of prefix and padding
	completeName = namePrefix+padding
 
	# Set the new name
	entry.setName(completeName)

	# Increment the counter
	counter += 1

Grouping Nodes

Add this script to a "Batch Script" editor (F10) and execute it with Script > Run.

The script looks for daemons in the scene and groups them under a new "Daemon_Group" node:

# Get the scene's daemons and add a new group
daemons = scene.getDaemons()
group   = scene.addGroup()

# Rename the new group to "Daemon_Group"
group.setName("Daemon_Group")

# Loop through the daemons and add each node to the new group
for entry in daemons:
	group.add(entry.getName())

Hiding and Showing Nodes

Add this script to a "Batch Script" editor (F10) and execute it with Script > Run.

The script changes a node selection's visibility to hidden:

# Get the scene's selected nodes
nodeSelection = scene.getSelectedNodes()

# Loop through the nodes and unify their visibility (here: invisible)
for entry in nodeSelection:
	entry.setParameter("Visible", False) # make the nodes visible again with ("Visible", True)

Simulation States

Add this script to a "Batch Script" editor (F10) and execute it with Script > Run.

The script sets the nodes from the "Rigid_Bodies" group to inactive:

# Get the scene's "Rigid_Bodies" group and its contained nodes
group = scene.getGroup("Rigid_Bodies")
groupNodes = group.getNodes()

# Loop through the nodes and make them inactive
for entry in groupNodes:
	entry.setParameter("Simulation", "Inactive")

Related content

Looping - Group Members
Looping - Group Members
More like this
Looping: for ... in range
Looping: for ... in range
More like this
Checking for Existing Names
Checking for Existing Names
More like this
Batch Graph
More like this
Scene Node
More like this
Binding Daemons to Splines
Binding Daemons to Splines
More like this