RealFlow 2014 contains various new tools to improve, accelerate, and customize your workflow. These features are grouped under a family of different managers where you can create new commands and shortcuts, or attach your scripts, files, and graphs to RealFlow's GUI. Before you start to read the following chapters explaining how to work with these tools, it is a good idea to define the terms “command”, “shelf”, and “shortcut”.
What is a Command?
In RealFlow, a command is a function, tool, node, or a feature you can access via the GUI. This also includes built-in plugins, scripts, and – if available – graphs. With the “Commands Manager” you are able to browse through all commands, but you also have the possibility of adding your own commands to the user interface. Custom commands also include scripts, plugins, and graphs, but even files or network locations are supported.
An example: Let's say you want to create a “Square” emitter and change its parameters with a script you wrote. The first action requires a built-in command. You will not notice anything, because you just click on the emitter's icon and the node appears. With the script it is different. You have to open a “Batch Script” window, load or create the script, and execute it. The problem is that this is not a permanent state, because when you close RealFlow and start with a new scene the next day the script has to be loaded again. This is not so, when the script is attached to RealFlow as a command. In this case it will be part of RealFlow permanently, and you will always have access to it with a single click – it works exactly as the built-in command for adding a “Square” emitter.
This tool is not just a register of RealFlow's built-in and external commands, but also a place for editing and creating them. In relation to this tool, “command” is a very broad concept, because it includes external and internal scripts, plugins, graphs, and even nodes. All these elements are named “commands”, because they can be attached to RealFlow's user interface and executed or activated as an internal feature – just like a command.
This also means that every RealFlow element can be converted into a command and made available in a shelf. One command can appear in multiple shelves as well and this way it possible to fully customize the shelves and populate them with your favourite tools.
The “Commands Manager” substitutes the old “Commands Organizer” and is much more flexible, easier to use, and provides more features. RealFlow's “Commands Manager” can be launched from
Commands > Commands Manager
The manager's user interface is subdivided into several sections which are described in separate chapters
Drag and Drop Actions
Drag and drop is possible from
the “Commands Manager” to the “Shelves Manager”, and the GUI's shelves.
the “Shelves Manager” to the GUI's shelfs.
external files to the GUI's shelves. This action creates file reference commands. Allowed extensions are: PY, RFS, RFG, and XML.
plain text can be dragged to the GUI's shelves. If the text appears to be XML RealFlow creates a new “Embedded Graph” command and displays an "Edit Command" dialog. Otherwise, it will create an “Embedded Script”, independent from the contained text type. This process is similar to clicking on "Add new Embedded Graph/Script".
The Class ID
Every RealFlow command has its own Id to make it identifiable and unique. Internally, RealFlow uses the Id to access a certain command and if there is a conflict, then it is not clear which command should be executed. Therefore, custom commands require a unique Id – just like their built-in counterparts.
When you add a new command in the manager you will see a predefined Id. There is also a “Generate” button to create a fresh Id. Alternatively, it is also possible to get Ids from “Generate Class ID...” in the “Tools” menu. When you create a new Id you will see that the leading number is always the same for a specific command type:
2 is reserved for C++ plugins
4 is the code for Python scripts
6 indicates a graph
You do not have to use the Id suggested by RealFlow and you can also enter any random number, but please make sure that this number is unique. It might be assigned to other commands. In this case you will get a warning message.
The "Commands Manager" has built-in functions for detecting conflicts, double-definitions or Id mismatches.