Extending ProMax® Functionality

Each object inside of a ProMax model is readily accessible to external programs. In essence, anything that can be accessed with the keyboard and mouse through the user interface can be accessed through simple programming commands (think stream, property, unit operation, etc.). And this is done without the need of any add-ons to the program. ProMax is just built that way!

While this may sound minor, the implications are actually outstanding. This allows incredible extension and customization of the software to meet specific user needs, and it does so seamlessly. It allows ProMax to function as an expansive toolbox of objects to be used and manipulated in an external routine. The objects can be something as simple stream properties or as sophisticated as an entire gas plant!

If, for example, the user is working on a proprietary model in an external program but wants to harness the power of the superb thermodynamic packages in ProMax, they would simply use an environment and a flash object from ProMax in their own code, leaving the nuts and bolts of the VLE and physical properties up to ProMax in the background.

Alternatively, if the user has a proprietary model of a unit operation and would like to incorporate it into the powerful flowsheeting capabilities of ProMax, all that is required is the appropriate set of commands, either placed directly into Visio (through VBA) or referenced in an external DLL file.

External automation is a possibility as well since the “Execute” method is also exposed. If the user wants to make inputs to an embedded worksheet and have ProMax automatically execute upon change (events), a single line of code is all that is required.

The examples could go on, but the key is that as almost every object is exposed, any extension of the software begins and ends precisely where the user chooses.

Examples of useful objects that can be accessed include:

  • Physical properties of streams (P, T, density, etc.)
  • Process and energy streams themselves
  • Any unit operation (heat exchangers, distillation columns, pipelines, etc.)
  • Environments (i.e. thermodynamic packages)
  • Analyses (phase envelopes, relief valve sizing, freeze-out conditions, etc.)

To see a more extensive list of objects, methods, and functions available, simply open the Visual Basic Editor in Visio from the “Developer” tab (or press Alt-F11) and open the “Object Browser” by pressing F2.

To see some examples of extensions of ProMax, check out our blog Gadget Factory. For even greater detail, consider attending the BRE 331 course Extending Capabilities with VBA.

Or just call and ask for Technical Support!