Houdini 18.0 Nodes TOP nodes

Generic Generator TOP node

Generates work items with no attributes that run a command line.

On this page

You can use this to generate work items with a command line generated by an expression. It can also sometimes be useful when starting a network to simply generate a certain number of work items that don’t do anything (leave the command line blank), so you can add attributes to them and use them to drive downstream nodes.

If you want more advanced functionality, use a Python Processor instead.

This node will generate Item Count work items when it has no inputs, otherwise it will generate Item Count work items for each upstream work item.


Work Item Generation

Whether this node generates static or dynamic work items. You should generally leave this set to "Automatic" unless you know the node’s work items can be computed statically, or that they need to be generated dynamically.


This node always creates dynamic work items: it waits until the upstream work items are known, and generates new work items from the upstream work items.


This node always creates static work items: it creates the number of work items it thinks it needs based on the parameters (and any upstream static items) before the network runs.


If the input is static (a static processor, or a partitioner with only static inputs, or a mapper), this node generates static work items, otherwise it generates dynamic work items.



Makes each generated work item will depend on the previous one, so they run in sequence instead of simultaneously.

Copy Inputs to Outputs

Item Count

The number of outgoing work items to generate for each incoming work item. If there are no incoming work items, the node generates this number of outgoing work items.


By default, the node gives the generated work items sequential index attributes starting at 0. If you want to generate custom index values from an expression, turn this on and enter the expression in the text field.


By default, the generated work items inherit the frame attribute from the corresponding incoming work item. If you want to generate custom frame values from an expression, turn this on and enter the expression in the text field.

Specify Command Using

Determines how the command line executable is specified. It can be defined as a custom string, a delay time or using a multiparm of command line args.


When the Specify Command Using parameter is set to Custom String this parameter is evaluated to determine the command string for work items in this node.

Delay Time

When the Specifiy Command Using option is set to Delay, this parameter determines how long of a delay to use in seconds. A generic sleep/wait command line will be run by work items in this node, instead of running a custom command line. This is sometimes useful for simulating a slow workload to see how it affects the rest of the network, for example to check whether nodes correctly wait for results before proceeding.

Interactive Command Builder

Instead of specifying a command line string using a single expression, it’s possible to use the multiparm command builder in order to more easily compose executable arguments. The arguments can be driven by upstream files or work item attributes. If the argument data is in an array, the array values are automatically expanded into strings using a configurable separator. Arguments can also be marked as command outputs, which will cause the value(s) of that argument to be added as output files on the work item.

Base Command

The base command line, which will have the extra arguments from Extra Arguments appended to the end. This parameter should contain the executable and any simple arguments that don’t require the extra features available to the ones specified in the multiparm.

Extra Arguments

The number of extra arguments to append to the command.

Argument Name

The name of the argument, such as -o or –output. This name should include the - if necessary.

Argument Source

The source of the data passed to the argument. The values can come from upstream output files, an attribute name or a custom expression.

Input File Tag

When Argument Source is set to Upstream Output Files, this parameter determines which tag to use when filtering the files

Attribute Name

When Argument Source is set to Attribute Name, this paramter should be set to the name of the attribute to use for setting arg data. This option is useful when looking up array data, since PDG will be able to load the array attribute regardless of its length and convert it to a string.

Attribute Value

When Argument Source is set to Custom Value this parameter is evaluated for each work item to determine what the argument value should be.

Collapse Arrays To

Determines how arrays of files or attribute values should be handled when adding them to the command line. Arrays can be added as a space-separate list of values, a command separated list or a list with a custom separator between entries. Alternatively, the entire argument can be copied for each entry in the array. This parameter is not available when specifying the argument data with as a Custom Value.

For example, given an input data array containing the entries ["example", "example1", "example2"] and an argument name of "–input", the following expansions would take place:

Space-Separated String

executable --input "example" "example1" "example2"

Comma-Separated String

executable --input "example","example1","example2"

String with Custom Separator, set to "#"

executable --input "example"#"example1"#"example2"

Multiple Arguments

executable --input "example" --input "example1" --input "example2"

Array Separator

When Collapse Arrays To is set to String with Custom Separator, this parameter determines the separator used between entries in the array.

Attach Argument as Output File

When this toggle is enabled, the value(s) from this arugment are attached as output files on the work item.

Output File Tag

The file tag used when attaching output files to the work item.


TOP Scheduler Override

This parameter overrides the TOP scheduler for this node.

Work Item Priority

This parameter determines how the current scheduler prioritizes the work items in this node.

Inherit From Upstream Item

The work items inherit their priority from their parent items. If a work item has no parent, its priority is set to 0.

Custom Expression

The work item priority is set to the value of Priority Expression.

Node Defines Priority

The work item priority is set based on the node’s own internal priority calculations.

This option is only available on the Python Processor TOP, ROP Fetch TOP, and ROP Output TOP nodes. These nodes define their own prioritization schemes that are implemented in their node logic.

Priority Expression

This parameter is only available when Work Item Priority is set to Custom Expression.

This parameter specifies an expression for work item priority. The expression is evaluated for each work item in the node.


example_top_genericgenerator Example for Generic Generator TOP node

This example demonstrates how to use generic generators to both prototype setups and to run custom command line executables.

See also

TOP nodes