Phil BoBo avatar image
Phil BoBo posted Jacob Gillespie commented

FlexSim 2017 Update 2 Beta Available

FlexSim 2017 Update 2 Beta is available. (updated 22 August 2017)

To get the beta, log in to your account at, then go to the Downloads section, and click on More Versions. It will be at the top of the list.

If you have bug reports or other feedback on the software, please email [email protected] or create a new idea in the Development space.

Release Notes

  • Reorganized the User Manual and updated its formatting.
  • Added more topics, tutorials, and reference pages to the User Manual.
  • Added new Statistics Collector and Calculated Table tools.
  • Added new generic charts for plotting statistics gathered with Statistics Collectors and Calculated Tables.
  • Updated the pin to dashboard buttons to create and use Statistics Collectors instead of the legacy charts.
  • Added a Variant constructor and assignment operator to Vec3 and Color classes.
  • Added functionality for copying dashboard charts as images, and pasting images into dashboards.
  • Added new interfaces to FlexScript, such as Math, Group, and DateTime.
  • Added toNum() and fromNum() methods to the string class.
  • Added a setState() method to the Object class that will work correctly with listening to state changes.
  • Improved handling of read-only model files.
  • Keyboard shortcuts (Ctrl+PageUp and Ctrl+PageDown) and additional enhancements for switching tabs.
  • Added the ability to have null values in a bundle.
  • Added the ability to make kinematics exclude incline rotation when managing rotations.
  • Improved the parenthesis and quote autocomplete functionality.
  • Added autocomplete for curly and square brackets.
  • Added a new print() command to write to the output console more easily.
  • Added support for instanced meshes.
  • Updated the animation system so a single shape can have multiple animators from different shape files.
  • Changed the assimp 3D importer so that it can extract and load embedded textures.
  • Added support for using specular maps and gloss maps.
  • Added support for FlexScript dot syntax in SQL queries.
  • Added the capability to specify a warmup time in the interactive model run.
  • Added options for following objects with the view.
  • Improved MTBF/MTTR state listening to use less events and be more precise.
  • Updated the Network Navigator to work for an object that is inside a container that is connected to the network.
  • Fixed a bug with global variable highlighting and autocomplete.
  • Fixed an issue with destroying a TE on a network when it blocks space on the network.

Backwards Compatibility Note: the following changes may slightly change the way updated models behave.

  • Fixed a bug with min() and max() when using distribution functions.
  • Previously, getting the number of columns in a Global Table using Table.numCols or gettablecols() returned 0 when the number of rows was 0. Column headers and data types are preserved even when there is no row data. These commands now return the number of columns.
  • Changed operators to not change their incline rotation when traveling on inclines. This will change location calculations if you have advanced logic based on internal operator locations.
  • NodeListArrays like Object.outObjects can no longer be implicitly cast to an Array. Use the toArray() method instead.
  • Fixed a bug with animations drawing their first frame instead of their last frame at times beyond the endtime.
  • Added a special rule for ambient color {0, 0, 0} to not use the ambient color. This change will make shapes with ambient {0,0,0} to appear brighter. Change the ambient color to a dark gray, such as {1,1,1} if you want them to remain dark.
  • Fixed a bug in the shader that dulled specular highlights with the diffuse texture. This may change how shapes look; they may appear shinier now.
  • Added the IS NULL and IS NOT NULL clauses to SQL. Math and comparison operators on null values now return NULL. FlexSim's SQL execution engine is now more in line with the SQL ANSI standard regarding null values. Specifically, if you do comparisons or math operations on elements that have null values, this will return null values. This is different than in FlexScript, where a null value acts like 0 in math operations. Also, null values will be ignored in aggregation functions like AVG(). An option to use legacy SQL nulls was added to Model Settings to preserve backwards compatibility. Upgraded models will automatically enable this option, but new models will default to using the SQL ANSI standard for nulls.
  • Added support for more SQL query operators, such as the case-when-then-else-end operator and window functions. This adds many new keywords to SQL, meaning that if you used these as column names in older queries, they will create syntax errors in the query parser in this version. To fix this, put square brackets [] around the column name.
  • Changed accessing dynamic label properties to use evaluate() instead of value. For example, consider the following code sample:
Variant value = current.MyLabel;

In 17.1 and previous, this code was the same as:

Variant value = current.labels["MyLabel"].value;

In 17.2 we changed it so that this code is now the same as:

Variant value = current.labels["MyLabel"].evaluate();

The difference is in how FlexScript-toggled node values are retrieved. In 17.1 and previous, current.MyLabel would have just given the text that is the FlexScript code. In 17.2, retrieving current.MyLabel will actually evaluate the FlexScript as code. This is consistent with how table values are accessed. If you have old code that explicitly tried to get the code text with current.MyLabel, you will need to update that code in 17.2 to use current.labels["MyLabel"].value.

Process Flow

  • Added a Material Consumption and Replenishment template.
  • Added functionality for pasting images into Process Flow views.


  • Added a Gap-Optimizing Merge Controller Process Flow template.
  • Added instanced rendering to improve Render Mode performance.
  • Changed Render Mode to be enabled by default.
  • Added new visual options for conveyors.
  • Improved run speed performance of the Conveyor Module.


  • Added unload-to-empty capability to the AGV Process Flow template.


  • Added a bridge element to the AStar network.
  • Added functionality for collision avoidance.
  • Improved heat maps for analyzing AStar traffic.

Backwards Compatibility Note: the following changes may slightly change the way updated models behave.

  • Changed the path finding algorithm for the AStar navigator. When you tell an AStar traveler to travel to an object, now it will behave more like the default navigator. It will calculate a "threshold radius" around the object, based on the object's size. Then it will only travel to the edge of that radius. This makes it work better especially for loading/unloading to/from rack objects. The travel operation won't commit as much to traveling to the center of the object,because that can be left to the load/unload operation, which determines exactly where in the rack to pick/place the item. However, this change does affect how older models work because it changes the routes that travelers take.
product announcementbeta
· 30
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Mischa Spelt avatar image Mischa Spelt commented ·

Thanks guys, great feature list! Will definitely play with it test it next week.

In the mean time, could you please push the new headers to the Module SDK repository? Thanks.

1 Like 1 ·
Mischa Spelt avatar image Mischa Spelt commented ·

Just want to mention that I already love the statistics collector! Just a quick feature request: could you make a duplicate option for the event reference? I have an event with quick some settings and labels and would like to include another object with the same settings... I could have though about making the labels shared and just select the event again, but it would be easier if I could just hit the "Duplicate" button and just change the Object reference :)

Also, it would be nice if I could turn a property into a Shared property from the GUI :)

1 Like 1 ·
duplicateevent.png (1.2 MiB)
Matt Long avatar image Matt Long Mischa Spelt commented ·

Thanks for the suggestions.

0 Likes 0 ·
Ale avatar image Ale Mischa Spelt commented ·

@Mischa Spelt Sorry for the question but where do you pull from the statistics Collector window properties from?

0 Likes 0 ·
Jordan Johnson avatar image Jordan Johnson ♦♦ Ale commented ·

To open the window: You can add a new Statistics Collector from the toolbox, like a List. You can double click the object in the toolbox to re-open the properties window.

How to use the window: We are making a tutorial that will come out in a future beta. Sorry it didn't make the first couple betas!

1 Like 1 ·
Mischa Spelt avatar image Mischa Spelt commented ·

Sorry for reporting this so close to the release date but I think I may have found an annoying bug that happens when I try to create some labels in the Run Subflow activity. I cannot change the label name, when the name field loses focus it goes back to LabelName and I get an exception

exception: FlexScript exception: string index out of range in call to string.substr() at VIEW:/active/MainPanel/BackPanel/SplitterXPane/TabPane~2/TabControl/ProcessFlow/RunSubFlow/AssignLabels/Scroll/Panel/Template743/EditName/EditCode>eventfunctions/coldlinkx c: VIEW:/active/MainPanel/BackPanel/SplitterXPane/TabPane~2/TabControl/ProcessFlow/RunSubFlow/AssignLabels/Scroll/Panel/Template743/EditName/EditCode i: MODEL:/Tools/ProcessFlow/ProcessFlow/Load items

Hopefully you'll still be able to fix this in time for the release!

1 Like 1 ·
Matthew Gillespie avatar image Matthew Gillespie ♦♦ Mischa Spelt commented ·

Thanks for catching that! We've fixed it for the release.

1 Like 1 ·
Chris Smith avatar image Chris Smith commented ·

Seems like a lot of useful new features. Really looking forward to this release!

0 Likes 0 ·
Joerg Vogel avatar image Joerg Vogel commented ·

Nice new manual,
I miss in Reference > 3D Objects > Fixed Resources > Combiner
Instead I get: System Console: "exception: HTML Frame Load Error 37 Encountered: Couldn't read a file:// file"

0 Likes 0 ·
Matt Long avatar image Matt Long Joerg Vogel commented ·

Thanks. Looks like somehow that file didn't get included in the installer.

0 Likes 0 ·
Ralf Gruber avatar image Ralf Gruber ♦ Matt Long commented ·

Same for:
Tutorials/FlexSim Basic Tutorials/Task 1.2 - Build a Process Flow Model
in beta posted July 27.

0 Likes 0 ·
Show more comments



phil.bobo contributed to this article ben.wilson contributed to this article jacob.gillespie contributed to this article