FlexSim 2022 Update 1: Python Connector, Coroutines + more
FlexSim 2022 Update 1 introduces an integration with Python, coroutines in FlexScript, a range-based Experimenter job, enhanced functionality for multi-floor modeling, and much more.
Scripting + Coding
FlexSim can now call Python packages and scripts. This is an exciting expansion of FlexSim’s functionality, since there are many powerful and well-supported Python libraries that have been developed for machine learning and AI (plus many other applications). We have also developed a custom module so Python can load FlexSim into its process and then execute FlexSim directly. This means you can now control FlexSim from an external location by directly calling functions in FlexSim using Python.
Coroutines in FlexScript
Using the new await keyword, you can make your FlexSim function a coroutine. This means the function will be suspended and its state will be preserved until something happens—like waiting for an event to fire, or for an item to be pulled from a list, or even for a simple 5-second delay.
FlexSim’s Process Flow logic-building tool already allows you to simulate nearly any time-spanning process in a flowchart-like interface, so we encourage you to use Process Flow for most model-building projects. This new coroutine feature is mainly intended to mirror some of the functionality of Process Flow (e.g. Wait for Event, Delay, etc.) while using FlexScript.
Other Scripting + Coding Features
- Parameters API
- Performance Measures API
- FlexSim can now run within Window Server Core docker containers, which are used by scaling cloud web services (such as Bonsai on Azure).
Floors Properties Panel
FlexSim 2022 Update 1 brings new options to improve the experience when modeling multiple floors. The Floors panel is found in the 3D View’s Properties pane, and it includes a simple interface to specify floors in the model. Use the “Set Grid Z” button for a particular floor to set the Z-position of the grid to that floor’s height, with allows you to easily add and move objects on that floor. You also have options to lock objects on a specific floor (preventing them from being accidentally moved) and to hide objects on a floor.
This updated icon creates a temporary Properties Table so you can quickly compare and edit object properties. We are thinking that most users will enjoy the convenience of a quick, temporary comparison, but you can also choose to install the table if you would like to keep it in the model. If you haven’t used Properties Tables to compare objects before, this is the perfect time to start using this powerful feature!
Entry/Exit Transfer Arrows
There are now arrows on conveyor transfers to visually indicate what kind of transfer point it is (Entry/Exit). Entry transfers will have an arrow that points toward the conveyor and Exit transfers will have an arrow that points away from the conveyor.
Improved Crane Manipulation
The Crane object now includes an additional set of manipulation handles to easily change its height, width, and length. There is also a Size field in its properties to edit its size in greater detail.
Other Model-Building Features
- Added an OnSimulationStart event, an additional option to the existing OnReset event.
- Improved the interface to open User Libraries on startup (found in Global Preferences > Libraries)
Range-Based Experimenter Jobs
This new Experimenter job is perfect if you would like to try many combinations of parameter values in an experiment. You can have the job iterate on all possible values for each parameter, or you can enter specific values for the parameter. The Range-Based Experimenter job will then automatically create all the different scenario combinations for you to run and evaluate—this should be a significant time savings over manually setting up experience with a high number of parameter combinations.
For more detailed release notes: https://docs.flexsim.com/en/22.1/Reference/ReleaseNotesAndHistory/