FlexSim 17.0.1 January 19, 2017 Copyright FlexSim Software Products, Inc. All rights reserved. Release Notes ================================================================================ TABLE OF CONTENTS ================================================================================ 1. Installation Instructions 2. License Activation 3. Upgrading Models 4. Technical Support 5. Change Log ================================================================================ 1. Installation Instructions ================================================================================ 1. Run the FlexSim installer that you downloaded from your FlexSim Account. The installation will begin. 2. You may need to press 'Allow', 'Run', or 'OK' to give Windows permission to run the installer. Follow the installation instructions. 3. After installation is complete, double click the FlexSim icon to start the program, or find your new FlexSim installation in your programs list. If you have any questions or problems downloading or installing FlexSim, please see the section "Technical Support" below. ================================================================================ 2. License Activation ================================================================================ Please see the User Manual documentation and examples for help in activating your FlexSim licenses. Access FlexSim's User Manual by clicking the Help menu, then choosing User Manual. In the right sidebar, choose the Contents tab, then click on the Getting Started topic and choose License Activation. If you have any questions or problems with licensing, please see the section "Technical Support" below. ================================================================================ 3. Upgrading Models ================================================================================ Models built with earlier versions of FlexSim should properly update and continue to work in this version of FlexSim. If you have any questions or problems with opening your model file in this version of FlexSim, please see the section "Technical Support" below. ================================================================================ 4. Technical Support ================================================================================ Please contact your local FlexSim distributor for support. Visit https://www.flexsim.com/contact/ to find the FlexSim distributor nearest you. While it is best to contact your local FlexSim distributor first, FlexSim Software Products, Inc., a United States based company (FlexSim US), will provide technical support to our licensees under current maintenance, as well as attempt to answer questions from guest users in a timely manner. Technical Support provided by FlexSim US is usually available from 9 am to 7 pm, Mon-Fri (Eastern, GMT-04:00). FlexSim US is closed on most major US Holidays. You can contact FlexSim US Technical Support by calling (801) 224-6914, or by asking a new question at https://answers.flexsim.com/. This answers portal serves as our global community hub, where you can also interact with the FlexSim global community, answer questions, make comments, participate in discussions, etc. ================================================================================ 10. Change Log ================================================================================ -------------------------------------------------------------------------------- --- FlexSim 17.0.1 ------------------------------------------------------------- * Fixed the updatekinematics() command. * Fixed a memory leak in the Table class. * Fixed a crash with executing certain switch cases, such as the Date/Time Text display. * Fixed a bug with the tonode(Variant) overload. * Fixed an issue with setting treenode properties in certain cases. * Fixed an issue with setting label properties on a Variant in certain cases. * Fixed some bugs with certain executetablecell() overloads. * Fixed the lognormalmeanstdev() command parameters. * Fixed the function_n() command definition. * Fixed a crash when updating some user libraries. * Fixed a bug with Navigator connections when adding TaskExecuters with the Experimenter. * Fixed a bug with autocomplete for current labels within code editors. * Updated the Event List view so it displays message parameters. * Fixed an issue with the Experimenter's Performance Measure charts again not displaying correctly when bad data was passed in. * Fixed issues with module dependencies not being asserted correctly. * Fixed some picklists to use Objects instead of treenodes where applicable. * Fixed the Precision field for Bar Charts. * Fixed an issue with flowitems without windowtitle attributes. * Fixed a bug in the Set Object Color pick option. * Fixed a bug in the Travel to a Home Location pick option. * Fixed event definitions for the Rack (Place In Bay/Level and Min Dwell Time). * Included fixes listed in 16.0.8 below. --- Process Flow --- * Fixed the State property for the Delay activity. * Fixed the code headers for all the task sequence activity properties. * Fixed the Sub Flow Instance Creation option from Quick Properties. * Made the add button for attaching objects to instanced ProcessFlows more lenient. * Fixed edit fields to properly display the code for labels with spaces in the name. * Updated edit fields to more properly handle typing in token labels as opposed to code. -------------------------------------------------------------------------------- --- FlexSim 17.0.0 (December 12, 2016) ----------------------------------------- * Improved FlexScript performance by compiling and executing it as machine code instead of interpreted bytecode. * Added new syntax to FlexScript for accessing objects' methods and properties, including dynamic label access. * Improved OpenGL compatibility by removing many deprecated function calls and adding support for the OpenGL Core Profile. * Added a mechanism for loading DWG data into the tree using the Model Background object. * Added a new Snap to Background setting on the 3D view for snapping to points loaded from a DWG file. * Upgraded the licensing system to Flexnet Publisher 2016 R1 (11.14). * Changed the network licensing system so that you can open multiple FlexSim instances using only one license seat. * Added a Quick Library popup to Dashboard views. * Added Travel to Location pick option to OnResourceAvailable. * Added Export Results to CSV pick option to the End of Experiment trigger. * Fixed a crashing bug with settablesize() on tables with bundle data. * Fixed some issues with auto-complete not displaying correctly. --- Process Flow --- * Added functionality for snapping activities into the middle of a block. * Improved the Activities window, including renaming activities, better filtering options, and locating label references. * Added a Billboard setting for Text objects. * Added a right-click Edit Activity Visuals option. * Added an option to the Create Object activity for positioning an object at another object's location without moving into that object. * Added a Preserve Global Position checkbox to the Move Object activity. * Updated the Schedule Source table so that it can add labels. * Updated the Release Token activity to allow numbers and strings. *** Backwards Compatibility Note *********************************************** *** the following changes may slightly change the way updated models behave **** * The new version of Flexnet Publisher requires network license servers to be upgraded. They need to use the latest vendor daemon and update the Flexnet Licensing Service. More information can be found in the license upgrade instructions at https://www.flexsim.com/ftp/LicenseServer/. * Updated the Separator's order of events (executing OnEntry before Setup Time) to be consistent with the Processor. * Users of the mesh api should update usage of GL_QUADS to use GL_TRIANGLES instead. GL_QUADS is deprecated and will not work when using the OpenGL Core Profile. * Since the new FlexScript parser compiles to machine code, the order in which parameters are evaluated has changed to be aligned with the x86/x64 calling convention. This means models containing code where parameter evaluation order is important may have changed results. For example, the following code will have different results: myusercommand(duniform(1, 5), duniform(1, 10)) In the x86/x64 calling convention, parameters are evaluated from last to first. In this case, the duniform(1, 10) call will be called first. Since this call changes the state of random stream 0, changing the order of parameter evaluation changes the result. * The new parser has a stricter grammar for the == and != comparison operators. The types of the operands must be the same or related. For example, the following code will now give compile errors because it is comparing unrelated types: double x = 0; treenode y = model(); if (x == y) { } * This version introduces a new Array type, which is an array of variants, enabling a more feature rich array usage. In doing this, we are deprecating the old array types of doublearray, intarray, stringarray, and treenodearray. Specifically, the old array types are now just aliases for the standard Array type. This means that you can now, technically, put a string into a doublearray and vice versa, because they are all just Arrays. Hence we encourage you to just use Array in your code instead of the old array types. This change has also introduced a problem regarding the Variant type. In previous versions, the Variant could hold each of the four types of arrays, and it had a type value associated with each type, which you could get with the getvartype() command, comparing that value to one of VAR_TYPE_INTARRAY, VAR_TYPE_DOUBLEARRAY, VAR_TYPE_STRINGARRAY, or VAR_TYPE_TREENODEARRAY. Now, however, since we've merged all of those types into one, all of those values would theoretically be the same value, introducing issues if you had code that switches on getvartype(), or in some cases if you had a series of if/else compares on that value. Depending on the specific nature of that code, it would be hard to predict exactly how that code would behave going forward. Thus, we have decided to get rid of those old macros for each array type. Now there is just the macro VAR_TYPE_ARRAY. If you have existing code that uses the older macros, you will get compile errors when you open your model in version 17.0. We do this specifically so that you will be notified of code that needs to be updated. There are also several pick list options in the process flow module that use these older macros. Version 17 includes update scripts that will hopefully update all of those pick options in existing models to use the new VAR_TYPE_ARRAY macro instead of the old macros. * With the new FlexScript parser, there are now some differences with how the parser compares a null variant to 0. In the old parser, the following expressions applied: (nullvar == 0) is false (nullvar <= 0) is true (nullvar >= 0) is true In the new parser, the following expressions apply: (nullvar == 0) is false (nullvar <= 0) is false (nullvar >= 0) is false This brings the <= and >= operators inline with the == operator. However, old code will evaluate differently now. The following expressions apply in both the new and old parsers: (nullvar < 1) is true (nullvar > -1) is true * The param() command will now return nullvar if the parameter number is greater than the number of parameters passed to the function (previously it returned 0). -------------------------------------------------------------------------------- --- FlexSim 16.2.2 (November 8, 2016) ------------------------------------------ * Included fixes listed in 16.0.7 below. --- Process Flow --- * Fixed a bug where all of a process flow's connections were sometimes being deleted. * Fixed the TE Delay activity so it properly shows the delay progress in the view. * Changed ProcessFlow charts to always store the tracked variable's full history. --- AGV --- * Made multiple AGV process flows share the same AGV work list. * Made the AGV path finder more adaptive on 90-degree turns. * Fixed a bug where sometimes AGVs would flip orientation incorrectly at certain transfer points. -------------------------------------------------------------------------------- --- FlexSim 16.2.1 (October 12, 2016) ------------------------------------------ * Fixed a bug with the Font dialog not opening in Global Preferences. * Fixed an exception with using JOIN ON without a WHERE clause in SQL queries. * Fixed a bug with the number of child processes spawned by the Optimizer. * Fixed the Presentation Builder auto-keyframe button. * Fixed a bug with the Model Limit view staying open in loaded models. * Fixed a bug with undoing in the Global Table Quick Properties panel. * Fixed a bug in the date-based Time Table UI. * Fixed undo in the 3D View's Quick Library popup. * Fixed a bug with priority fields not accepting negative numbers. * Included fixes listed in 16.0.6 below. --- Process Flow --- * Fixed a bug with not being able to click in the ProcessFlow view while debugging. * Fixed bugs with selecting tokens in stacked blocks under a Batch activity. * Fixed an issue with the text edit view not sizing correctly at certain zoom levels. * Fixed an issue with Send To Front and Send To Back not working with containers. * Fixed a bug with preemption in the Synchronize activity. * Fixed a bug with Zone partitions sometimes not working properly when using the query() command. * Fixed template instance objects resizing based upon the model units. * Improved draw speed when drawing many tokens within a single activity. * Fixed the Token(s) field on the Release Token activity to allow code. * Fixed a bug with arrows not correctly following the theme color. --- Conveyor --- * Fixed a bug with the Conveyor Station drawing its red stopped squares incorrectly. --- AGV --- * Fixed some bugs with AGV orientation. * Fixed a bug with AGVs sometimes stopping erroneously at a control point and not starting again. * Fixed some issues with continuation from non-zero end speed when deceleration would take you across a control point. * Fixed some bugs with the AGV template process flow. * Fixed an issue with clicking control points. * Fixed an issue with the navigator not rebuilding its routing information after deleting a path. * Fixed a bug with copying paths in visual tools. -------------------------------------------------------------------------------- --- FlexSim 16.2.0 (September 5, 2016) ----------------------------------------- * Added support for STEP and IGES 3D shapes. * Added a Quick Library popup when you double-click on empty space or A/S Connect to empty space in the 3D view. * Improved object rotation manipulation in the 3D view. * Added sorting to toolbox for top level items. * Added the ability to use the query() commands with partitioned lists, using ListName.$1 or ListName.PartitionIDStr syntax. * Added support for the ON clause in SQL queries. * Added support for the ARRAY_AGG() aggregation function in SQL queries using the query() command, in the manner of PostgreSQL. * Added an "Allow Multiple Pushes Before Back Order Fulfillment" setting to lists. * Added a "Reevaluate All Values On Push" setting to lists. * Added a Date Based feature to gantt charts. * Updated the auto-numbering mechanism when naming new objects. * Updated file browse dialogs to remember the last used directory. * Changed the default directory for opening and saving user libraries to be within documentsdir(). * Added a colors tab to the tracked variable dashboard chart. * Updated the Presentation Builder interface to make the timeline more useable. * Updated the Animation Creator interface. * Updated the Stop Time interface. * Added range and type validation to many edit fields. * Overhauled the FlexSim Web Server interface. * Added functionality to the Webserver to restrict access to certain models using Windows Authentication. * Fixed a bug with the window docking system that caused sizing to not work properly sometimes. * Fixed TimeTable Excel Import bug not working with Daily/Weekly Repeat table. * Fixed the Visual Studio project files so they don't give you the linker errors when you compile flexsimcontent.dll with Visual Studio. * Fixed a bug with cell heights and widths when inserting and deleting table rows or columns. * Fixed line charts continuing to collect data beyond their collect time. * Fixed the query() command so that it can be called within List fields. * Included fixes listed in 16.0.5 below. --- Process Flow --- * Improved Process Flow view drawing performance. * Added Split, Join, and Synchronize activities. * Added right-click options for re-ranking activities in a block and removing an activity from a block. * Added tooltips to activities that show you the activity type in the process flow view. * Added copy and paste options to the Process Flow right-click menu. * Populated field names of lists for SQL drop-down menu options. * Updated Text editing interface to be more user friendly. * Added an "Assign Event Object To" option to the Wait For Event and Event-Triggered Source. * Fixed a bug with Zone Partitions not being able to be graphed. * Fixed an issue with connectors losing their ranks when clicking and dragging them. * Fixed the List Back Order Reevaluation Events so you can listen to activity events. * Fixed the Experimenter duplicating TEs/FRs attached to Process Flow objects not properly duplicating the Process Flow instance. * Fixed Sub Flows that have Resources pointing to 3D objects in the model not properly creating/destroying copies of the 3D object. * Fixed Resources in Fixed Resource and Task Executer Process Flows losing their references when being updated by a user library. * Fixed a bug with the Pull from List where releasing the token and leaving the back order on the list would not give you all of the pulled results when using the 'Assign To' option. * Fixed a bug with capturing ProcessFlow views at resolutions larger than the window size. --- AGV --- * Added new agvinfo() command options. * Updated paths so that they can be contained within visual tools. *** Backwards Compatibility Note *********************************************** *** the following changes may slightly change the way updated models behave **** * Fixed issues with routing through path junctions where 3 or more paths connect. --- Conveyor --- * Fixed an issue with manually moving a waiting item off a conveyor with a restart delay. -------------------------------------------------------------------------------- --- FlexSim 16.1.2 (August 5, 2016) -------------------------------------------- --- Process Flow --- * Fixed the Acquire Resource receiving a reference to the back order when acquiring using a query. -------------------------------------------------------------------------------- --- FlexSim 16.1.1 (August 2, 2016) -------------------------------------------- * Included fixes listed in 16.0.3 below. * Fixed color and sizing issues with recording Dashboards using the Video Recorder. * Added a volume scale option to the FluidConveyor to adjust the visual display. *** Backwards Compatibility Note *********************************************** *** the following changes may slightly change the way updated models behave **** * Fixed several issues with the FluidConveyor. --- Conveyor --- * Fixed an issue with manually moving a waiting item off a conveyor with a restart delay. --- Process Flow --- * Fixed a bug with Zone Partitions not being able to be graphed. * Fixed an issue with connectors losing their ranks when clicking and dragging them. * Fixed the List Back Order Reevaluation Events so you can listen to activity events. * Fixed the Experimenter duplicating TEs/FRs attached to Process Flow objects not properly duplicating the Process Flow instance. * Fixed Sub Flows that have Resources pointing to 3D objects in the model not properly creating/destroying copies of the 3D object. * Fixed a bug with capturing ProcessFlow views at resolutions larger than the window size. -------------------------------------------------------------------------------- --- FlexSim 16.1.0 (June 22, 2016) --------------------------------------------- * Added group commands (groupaddmember(), groupmember(), groupnummembers(), groupremovemember()). * Global Lists will now update their Initial Content on reset when connected to a Group if the group's members change. * Added support for the UPDATE clause in SQL. * Added support for the RAND expression in SQL (uses stream 0 and will always be the same for a given query/row selection combo). * Improvements to speed and memory usage when performing SQL inner joins. * Tracked variables with type Categorical can now store arbitrary states. * Added a Kinetic Level tracked variable type (e.g. Battery Level). * You can now hold down the Alt key while clicking and dragging in the 3D view to ignore all objects. * You can now resize objects while maintain their aspect ratio by pressing both the left and right mouse buttons down on a sizer arrow. * Updated dashboard charts to support x-axis scaling. * Added OnStop and OnResume events to 3D objects for use with event listening objects (Wait for Event and Event-Triggered Source in Process Flow). * Video Recorder can now record Dashboards. * Time Tables, MTBF/MTTR and User Events can now be disabled. Experiment variables can be set to enable/disable these objects. * Fixed an issue with the VideoRecorder not loading properly. * Fixed issues with windows and popups not opening on the correct monitor when using a multiple monitor setup. * Fixed Fluid Conveyor throwing exceptions on reset. *** Backwards Compatibility Note *********************************************** *** the following changes may slightly change the way updated models behave **** * Updated to OpenGL 3.1. Deprecated OpenGL functions, such as glBegin(), glEnd(), glVertex(), glNormal(), and glTexCoord(), may no longer work correctly on some graphics cards. You should instead use the mesh api. * Changed the way that fixed resources (except the Combiner) receive items when they are being transported in. Previously, when they were notified that an item was being transported in, they would close their inputs and create an event to receive the next item. This would cause problems if the upstream objects had multiple items to send because their routing strategy would work differently when transporting vs not transporting. We have fixed this so that routing strategies will work the same when transporting as when not transporting. This may change the way that old models work because it changes the events that are created, and fixes routing strategy logic. * menumain(), menubelow() and getviewmenu() have changed. Instead of returning a double, they now return a var. Any calls to these commands will need to be updated to use var or the value returned will be 0. double myMenu = getviewmenu(); Changes to: var myMenu = getviewmenu(); * Previously the Fluid Conveyor would stop conveying if no material was moved into it (ie inputs were closed). This was changed so that the Fluid Conveyor continues to convey the material in it whether any additional material is added or not. Set the conveyor speed to 0 in order to keep the same functionality that was in previous versions. --- Conveyor --- * Added Ports to the Entry and Exit Transfers. * Added a Restart Delay setting to Conveyor Types. * Fixed the Join Conveyors Tool when connecting conveyors with a custom conveyor type. * Various bug fixes and improvements specifically with regards to items moving between conveyors and transfers. *** Backwards Compatibility Note *********************************************** *** the following changes may slightly change the way updated models behave **** * Changed the way stopping a non-accumulating conveyor works when propogating stops to straddled conveyors. When a conveyor is stopped, it will act the same as if an item on the conveyor were stopped. --- Process Flow --- * Added Preemption activities (Save Token Context, Release Token and Restore Token Context). * Added gettokens() and getbatch() commands. * Added Templates for Fixed Resource and Task Executer Process Flows. * Added a Token Data to Preserve option to the Sink and Finish activities. In the Tokens window you can view Dead tokens and explore their data. * Token Trace History is now stored as a label on the token. * Added a Speed Type and Repeat Type to the Run Animation activity. * A lot of improvements to the Zone. * Updated the evaluation of the Return Value from the Finish activity so that executesubflow() can get a return value from multiple Finish activities. * Fixed a bug causing the Wait for Event to evaluate its Max Wait Timer even if the token left the activity. * Fixed issues with the releasetoken(), createtoken(), and releasebatch() commands working differently when running vs stepping. *** Backwards Compatibility Note *********************************************** *** the following changes may slightly change the way updated models behave **** * Changed the way that a token manually released (preempted) from waiting in a task sequence activity manages the task that it's waiting on. Now the task will be removed, and the task executer preempted if currently working on it. This may change older models that release tokens in task sequence activities. --- AGV --- * Added Event info to AGVs and Control Points for use with event listening objects (Wait for Event and Event-Triggered Source in Process Flow). * Added AGV templates to Process Flow. * Fixed bug with way points not firing their OnArrival for redirected AGVs. * Fixed issue with arrival waypoints not firing correctly with non-zero end speed travel tasks. *** Backwards Compatibility Note *********************************************** *** the following changes may slightly change the way updated models behave **** * Fixed the order by which AGV trailers are attached to their AGV. This will affect old model trailer ordering. -------------------------------------------------------------------------------- --- FlexSim 16.0.8 ------------------------------------------------------------- * Fixed an issue with pushing an array to a list with static label fields. * Fixed a crash when a bundle used by a chart is destroyed. * Fixed a bug in time-scaled animations that was causing them to not update properly in some cases. * Fixed images in static text not showing when aligned to center. * Fixed a bug with the By Time of Day picklist on Send To Port. * Fixed several By Percentage picklists so that they work properly with 0%. * Fixed Global Variables being linked to Dashboard Radio Buttons. * Fixed an issue with selecting weeks in the Date Based Time Table. * Fixed module object context help options. * Fixed an issue with the Experimenter updating state values when a run is finished. * Fixed the event log not ignoring module events when you disabled them. * Fixed copying and pasting presentation slides. --- Conveyor --- * Fixed some issues with floating point precision errors. * Fixed photo eyes not clearing when height > 0. * Fixed an issue with an entry transfer's pull strategy pulling from a list. * Fixed a bug in the Exit Area pickoption. --- Process Flow --- * Fixed an issue where some charts didn't collect data if they weren't visible. * Fixed the Zone so you can view its tokens in the global process flow view of instanced process flows. * Updated some charts so they show the correct times when using a warmup time. * Fixed a bug with the batch when releasing multiple batches due to overflow when the batch quantities differed from the current batch and the new batches. * Fixed an issue with viewtofile() on the Process Flow view. --- AGV --- * Fixed an issue with adding and removing different types of control point connections. --- AStar --- * Fixed the distancetotravel() command for AStar. * Fixed issues with creating and drawing barriers in models set to units other than meters. -------------------------------------------------------------------------------- --- FlexSim 16.0.7 (November 8, 2016) ------------------------------------------ * Fixed a bug with clearglobaltable() not always clearing the entire table. * Fixed bugs with addtablerow(), addtablecol(), movetablerow(), and movetablecol() on bundle tables. * Fixed a UI bug with large Partition IDs displaying incorrectly. * Fixed a UI bug with the user command code editor's default header. * Fixed a bug with animation durations when deleting animation clips. --- Conveyor --- * Fixed conveyorsenditem() so that it works with Station objects. --- Process Flow --- * Fixed the Create Object activity so creating something on an AGV control point sets the location to the control point. * Fixed referencing process flow variables so it throws an exception if the variable doesn't exist. * Fixed the Run Animation Wait for Complete check box to work with bone animations. -------------------------------------------------------------------------------- --- FlexSim 16.0.6 (October 12, 2016) ------------------------------------------ * Fixed an exception when calling updatelocations() on TaskExecuterFlowitems directly under the model node. * Fixed a bug with multisorttable() not working correctly with string data. * Fixed a bug with querying lists using the $ parameter syntax. * Fixed a bug with state charts not properly accounting for the minimum collect time with the new stats structure. * Fixed an intermittent exception in gettenetnode() in the Travel to Home Location pick option. * Fixed an intermittent exception when pasting network nodes. * Fixed a bug with eventget(num, 4) throwing exceptions. * Fixed a bug with gettablecols(string) returning inconsistent values. * Fixed issues with the Optimizer not exporting string variables correctly. * Fixed a bug with the Optimizer not correctly running multiple replications with certain configurations. * Fixed a bug with Copy Visuals and Shape Factors not copying the shape factors correctly. * Fixed a UI bug in the MultiProcessor's Properties window that was renaming the first step. * Fixed the State Pie Chart so it correctly shows Totals and Averages of combined groups. * Fixed a bug in the State Pie Chart with "Combine All into One Pie" not showing the correct average totals. * Fixed some UI issues with sampling global tables. * Fixed the On Process Finish trigger for the MultiProcessor so Process Flow activities can listen to it. --- Conveyor --- * Fixed a bug in the Entry Transfer's Pull Requirement code header that caused pull not to work correctly. * Fixed a UI bug with the Station's Use Operator fields. * Fixed the z-height of conveyors created in a container using click-click creation. --- Process Flow --- * Greatly improved model run performance by removing some unnecessary destroyeventsofobject() function calls in the Sink activity. * Fixed issues with being able to wait for events on Tracked Variables and Fields. * Fixed the sampler in pick options in the Create Object activity properties. * Fixed a UI bug with the Visually Trace checkbox. * Fixed the token Labels view so you can select and copy label names. --- AStar --- * TaskExecuters that are travelling on the AStar Network will now properly respond to stopobject() and resumeobject() calls and to preempting task sequences. -------------------------------------------------------------------------------- --- FlexSim 16.0.5 (September 5, 2016) ----------------------------------------- * Fixed sin() command not displaying in the Command Helper. * Fixed a bug when shift-selecting entire rows and columns of global tables. * Fixed C++ Variant comparisons where the primitive is on the left side. * Fixed the return values for CURRENT_MINUTE, CURRENT_SECOND, and CURRENT_MILLISECOND in getmodelunit(). * Fixed a bug with SQL parsing of FlexScript functions returning doubles in 32-bit FlexSim. * Fixed some pin buttons in the Stats window. * Fixed a bug in a Pull From List pick option. * Fixed Crane and Robot speeds not scaling with model units. * Fixed a bug with the From/To Lookup Table popup not putting quotes around table names. * Fixed a bug with exporting Custom Chart data as CSV sometimes not working. * Fixed some UI issues with the Edit Name box for User Libraries. * Fixed an exception in the Set Label trigger popup. --- Conveyor --- * Fixed header for OnMessage trigger of Photo Eyes. * Fixed decision point rotation in a rotated container. * Fixed a bug with calculating the time that items will split off from each other when an ahead item speeds up. * Fixed a rare crashing issue with accumulated items. * Fixed an issue with resuming nonaccumulating conveyors that weren't stopped. --- Process Flow --- * Fixed a UI bug with the process flow variable panel in Quick Properties when opening a model. * Fixed some instance references from showing just the name to now showing the path to better distinguish objects in containers. * Fixed an extra line being added in the token Shared Assets list when requesting a Zone. * Fixed the Quick Library so you can collapse sections. --- AGV --- * Fixed issue with click-creating AGV control points before creating paths. * Fixed issue with calling stopobject() on an agv when it has arrived at a control point at (near) zero speed. -------------------------------------------------------------------------------- --- FlexSim 16.0.4 (August 5, 2016) -------------------------------------------- --- Process Flow --- * Fixed the Acquire Resource receiving a reference to the back order when acquiring using a query. -------------------------------------------------------------------------------- --- FlexSim 16.0.3 (August 2, 2016) -------------------------------------------- * Fixed a performance issue with settablenum() when referencing a table by rank. * Fixed a bug in exporttable() not exporting the correct number of rows. * Fixed a bug in query() with $iter(1) in certain cases when inner-joining tables. * Fixed a rare crashing issue with the WRL importer. * Fixed some glitches with editing Chinese characters in code edit fields. * Fixed an issue with Chinese characters in some Dashboard charts. * Added a flag to listpull() to fix an issue involving backorders when using Unique Pullers or Unique Values. * Fixed a bug with custom state names in the State Chart. * Fixed an infinite loop caused by using long object names with some Dashboard charts. * Updated some picklist options to use more consistent default terms. * Fixed an issue with Code Snippet popups not resizing vertically. * Fixed a bug with adding all user commands to a user library. * Fixed a bug with some startup and load install options not working properly with user libraries. * Fixed a UI bug with the Excel progress bar. * Fixed a UI bug with certain spin boxes not updating their text when holding the mouse on their arrow buttons. * Fixed a bug with Excel Import starting row and starting column not always working correctly. * Fixed an HTML Frame Load Error for user accounts with Unicode characters by changing programdatadir() to again use ProgramData instead of AppData. * Fixed the convert() command to handle years after 2035. * Fixed a bug with the experimenter displaying blank results due to invalid data. --- Process Flow --- * Fixed a bug with Pull from List not setting the pulled label when nothing was pulled. * Added conveyor pick options to the Custom Code activity. * Fixed a timing issue with the Resource at time 0 that sometimes allowed too many tokens to allocate it. * Fixed displaying Chinese characters in Text objects. * Fixed a bug with Zones throwing SQL errors when also using the query() command. * Fixed an infinite loop in the auto-naming of Split connectors. * Fixed an issue with certain time-weighted charts not calculating the average correctly. --- AStar --- * Fixed a repeatability issue with path finding in large models. -------------------------------------------------------------------------------- --- FlexSim 16.0.2 (June 28, 2016) --------------------------------------------- * Fixed a bug with nodetopath() sometimes returning a path that starts with / when it should start with >. * Fixed a bug with exporting tables with bundle data as csv. * Fixed an issue with reading current bound-statistic values. * Fixed a bug with weight objectives in OptQuest. * Fixed a bug showprogressbar() not updating the text properly. * Fixed an issue with watch variables not working right with some arrays. * Fixed an issue with popups closing when you hover over a tab when using the sampler. * Fixed an exception with drawing connections and hidden objects in the 3D view. * Fixed a bug with 'station' not being correctly passed into the Load Time and Unload Time triggers on Task Executers. * Changed the number precision model setting so that it behaves in a more consistent manner. * Fixed a UI bug with the Display Current State Only checkbox. * Fixed Help Manual's Open in Browser button. * Fixed a bug with the Code Profiler closing when undocked from a tab pane. * Fixed a bug with opening the Properties window for some shapes in the Animator. * Fixed an issue with using multiple replications with OptQuest. * Fixed a UI bug in the Optimizer view. * Fixed an issue with operators getting stuck when preempted while finishing an unload task. * Fixed a bug with the Combiner components list sometimes not updating. * Fixed the Time Table Dated Based GUI so it works with all model time units. * Fixed some exceptions being thrown with dashboard state charts when setting an object to a state that is not listed on the state chart. --- Conveyor --- * Fixed a UI bug with applying Decision Point and Photoeye triggers. * Fixed a bug with an operator picking up an item when it has transfered partially to the next conveyor. * Fixed an issue with an item exiting firing the accum stopped cleared event of upstream items. * Fixed some errors with clearing photo eyes on item exit. * Fixed a bug where items behind a side transfer were not notified of a speed driver change at a side transfer. * Fixed an issue that caused exceptions when items are removed while straddling multiple conveyors. * Fixed a binding issue with the OnSlugStart event. * Fixed a bug where re-routing was not working on a conveyor with a virtual length. --- Process Flow --- * Fixed some exceptions in Push to List. * Fixed a Push to List bug where puller is not assigned to a label if the pushed value is not a token. * Fixed the Tokens popup throwing exceptions when the token you're viewing leaves. * Fixed a bug causing the Wait for Event to evaluate its Max Wait Timer even if the token left the activity. * Fixed some issues in the releasetoken(), createtoken(), and releasebatch() commands so that they work the same when running or stepping. * Changed Request and Require fields to not require integers. * Fixed some bar chart color bugs. * Fixed a precision issue in the Batch activity. * Fixed a UI bug with ProcessFlow chart Display Names. --- AGV --- * Fixed a bug with way points not firing their OnArrival for redirected AGVs. * Fixed a bug with queryDistance(). * Fixed an issue with arrival waypoints not firing correctly with non-zero end speed travel tasks. -------------------------------------------------------------------------------- --- FlexSim 16.0.1 (April 1, 2016) --------------------------------------------- * Fixed a performance bug with stats_staytime() that was causing models to run slowly. * Fixed a bug with Excel export not working for certain columns. * Fixed some memory leaks in drawcylinder(), drawcolumn(), drawdisk(), and drawsphere(). * Fixed an issue with dll nodes sometimes not binding properly. * Fixed bugs with excelcreatesheet() and excelsaveas(). * Fixed a bug with old-structure stateprofiles not resetting properly. * Fixed a bug with group objects sometimes being added to charts twice. * Fixed a bug with 3D stats not displaying correctly on some objects. * Fixed dashboard buttons not saving their text color. * Fixed a bug where the hover text for combined stats on Stat charts said average for total values. --- Conveyor --- * Fixed a bug with decision points' current content stats. * Fixed a bug where items were sometimes not routed to the correct location. * Fixed a bug where exit transfers sometimes sent items to the wrong port when multiple items were released. --- Process Flow --- * Fixed some statistics bugs in the Zone. * Fixed some crashing issues when "Assign To" is given invalid data. * Fixed a bug with Batch Label Aggregation to keep strings/arrays/etc. with the Last Value and First Value options. * Fixed issues with the Run Animation not allowing you to pass in an array of objects. * Fixed an issue with using the wrong instance when pushing/pulling from a List in another Process Flow. * Improved 3D mouse performance in the ProcessFlow view. --- AGV --- * Made the addMember method a dll function so Process Flow can connect travelers to any control point using the Create Object activity. * You can now correctly get an AGV's current control point when it finishes OnPreArrival. * Fixed an issue with AGV start speeds incorrectly being set to 0 in certain circumstances. * Improved 3D mouse performance in the ProcessFlow view. -------------------------------------------------------------------------------- --- FlexSim 16.0.0 (March 14, 2016) -------------------------------------------- * Added options to Global Preferences to define which libraries are visible in the Drag-Drop Library and what order they appear in. * Restored the Media Files window (Main Menu > View > Media Files). * Added the ability to assign unique random streams to objects in the model using the command getstream(). * Added a Network Navigator Properties window. Right-click any NetworkNode to access. * Added a Track Number Field Totals option to the List for stats collection. * Added a 'Values Only' data distinction option to the Excel Importer. This data distinction reads number data and string data from excel cells without regard to the cell's formatting (i.e. dates and times are imported as Excel time values). * Implemented the excelrangeread() command to import a range of cells using the 'Values Only' data distinction. * Added the command convert() for converting model/Excel dates and times. * You can now use keyboard shortcuts for debugging. Next Line -> F10, Step Into -> F11, Continue -> F5, Stop Simulation Clock -> Shift+F5 * Updated object statistics to use Tracked Variables for collecting Content, Input, Output, and Staytime statistics. NOTE: These new statistics are only available for new objects. See the Object Statistics backwards compatbility note below for more information. * Made the SQL IN clause work if you compare it against a value that is an array. * Added trackedvariable() and inittrackedvariable() commands. This allows tracked variables to be created on objects as labels, etc. * Tracked Variables can now be accessed using the commands get(), set(), inc(), setnodenum(), getnodenum(), getlabel(), setlabel(). * Tracked Variables now have a Type which can be Level, Cumulative, Time Series, or Categorical (see inittrackedvariable() documentation). * Tracked Variables can now store profiles (similar to state profiles, the profile stores data on the amount of time the tracked variable was at each given value). * Improved OpenGL compatibility with older graphics cards and notebook PCs with Nvidia Optimus technology. * Fixed an issue with copy and paste in the 3D view not maintaining the z position of the copied object. * Fixed the Load From File button in the Edit Selected Objects window to call the firecreateevent on loaded objects. * Fixed an issue with the dashboard Send To Back not always working. * Fixed an issue with the Experimenter Default Reset Scenario combobox. * Fixed dashboard snapping. * Fixed issues with pasting a node onto another node of a different data type. * Fixed an issue with FlexSim sometimes crashing when a dashboard widget was deleted. * Fixed a memory leak in the query() command. *** Backwards Compatibility Note *********************************************** *** the following changes may slightly change the way updated models behave **** * Updated the Combiner so that items can properly exit through port 0 (such as using a Process Flow Load activity). * Fixed a bug in the Separator state management that was causing it to be idle when it should be blocked. * Changed the max bones per mesh for bone-animated shapes from 60 to 42. * Object Statistics: We have changed the default statistics structure for objects in the library. This will not change the structure of existing models, but will now be different for new objects that are created. Specifically, we have made the standard object statistics--namely input, output, content, staytime, and state--use tracked variables instead of the many different object attributes they used previously. This enables us to add new capabilities, such as a content-vs-time graph that exactly reflects the object content changes instead of an interval-based time graph (use the Tracked Variable vs Time chart or the pin button in the Quick Properties Statistics panel), and the ability for Process Flow Wait For Event activites to listen to object content, input, output changes, etc. Current FlexSim features will work for both the old and new statistics structures. If you have model or module code that is accessing statistical data directly (such as using commands like get(stats_contentavg(object)) or get(rank(state_profile(object), STATE_IDLE))), this code will continue to work on objects that have the older structure, but it will not work for new objects added to the model. If you want this access to work with objects having the new structure, you should use the getstat() command to get the desired data. The getstat() command will work on both the old structure and the new structure. Below is a list of examples of old statistical access commands vs new getstat() based access. OLD: get(stats_contentavg(object)) NEW: getstat(object, "Content", STAT_AVERAGE) (Note here that the getstat() command will return the weighted average that includes the time that the object has been at its current content, whereas with the old method, you had to add that on manually). OLD: get(stats_staytimemax(object)) NEW: getstat(object, "Staytime", STAT_MAX) OLD: get(rank(state_profile(object), STATE_IDLE)) NEW: getstat(object, "State", STAT_TIME_AT_VALUE, 0, STATE_IDLE) (Note here that the getstat() command will actually give you the total time in the idle state. This includes the time in its current state if the object is currently idle. With the old method you always had to manually add that in, i.e. get(rank(...)) + (getstatenum(object) == STATE_IDLE ? time() - get(state_since(object)) : 0); OLD: getstatenum(object) NEW: getstatenum(object) The getstatenum() command works on both structures, so you don't need to change it. Alternatively, you can use getstat(object, "State", STAT_CURRENT, 0) (0 is the state profile) OLD: getinput(object) NEW: getinput(object) The getinput() and getoutput() commands work on both structures, so you don't need to change them. Alternatively, you can use getstat(object, "Input", STAT_CURRENT) --- Conveyor --- * Added Pull and Send To functionality to conveyors. This is done by connecting multiple objects to a single entry/exit transfer. * Added reset position functionality to conveyors. * Added additional events to conveyor objects that can be used in connection with the Wait for Event and Event-Triggered Source activites in Process Flow. * You can now explicitly remove connections from an entry/exit transfer without it being deleted (using the right-click menu). This is useful when sending flowitems to a list where connections are not required. * Straight and curved conveyors now have an optional Virtual Length. * Added Priority and Preempt fields to the Exit Transfer. * Added a Station object. The Station works much like a Decision Point but also allows you to specify a processing time and optionally call operators. * Added States to conveyor objects. * Added a CONV_INFO_GET_ACTIVE_ITEM option to the conveyorinfo() command to get a decision point or photo eye's covering item. * Fixed decision points and photo eyes not saving to user libraries when adding a conveyor. * Fixed conveyor widths not updating when changing conveyor types. * Fixed issues not being able to snap decision points to the beginning or end of conveyors. * Fixed the conveyor type so new conveyors use the default conveyor type rather than Custom. * Fixed the name numbering of decision points and photo eyes. * Fixed the Release Area pick option in decision points. * Various other bug fixes and improvements to conveyors. --- Process Flow --- * Added a label filter option for tokens in Quick Properties. * Process Flow View now supports a 3D mouse. * Updated activity snapping to allow activities to be snapped to the top of other activities. * Updated the Release Resource activity to allow a reference to a Resource Shared Asset to be passed into the Resources to Release property. * Blocks of activities and display objects can now be saved in User Libraries. * Added aligning functionality to the Process Flow view. * Added snap-to-grid functionality to the Process Flow view. * Speed improvements to drawing. * Assign To properties on the Create Object, Push To List, Pull From List and Create Task Sequence can now either overwrite the assigned label's data or insert the data at the front (creating an array). * When tying the Resource shared asset to a Group, Dispatcher or Array, the Count property now allows you to utilize any number of those objects. This allows you or the experimenter to easily change the number of available resources without objects being added/removed from the model. * Added a 'Do not remove entries from List' option to the Pull From List activity allowing you to utilize the Request and Require fields without removing entries. * Tracked Variables can now be added as labels on objects. This allows you to track the history of its values as well as tie it to a Wait for Event activity as a value change listener. * Fixed issues with the Finish/Sink activity not properly deallocating shared assets if they still had children in the model. * Additional bug fixes and overall improvements. * Fixed the Priority field in the Create Task Sequence activity. * Fixed some issues with listening to the OnStateChange of objects. * Fixed an issue that caused large numbers of TE/FR instances to take a long time to reset. * Fixed an issue with the Resource when using a Local type with each instance having a unique resource reference. *** Backwards Compatibility Note *********************************************** *** the following changes may slightly change the way updated models behave **** * The Assign Labels activity used to allow you to pass in a treenodearray or a Group so that it assigned labels to multiple objects at once. Now the Assign Labels only accepts one treenode at a time. Passing in a treenodearray will cause only the first entry in the array to have labels assigned to it. To update any old model utilizing this functionality, loop through each object in the array using the Object from Label Array pick option. --- AGV --- * Updates to AGV travel tasks and preempting. * Some minor bug fixes. *** Backwards Compatibility Note *********************************************** *** the following changes may slightly change the way updated models behave **** * We changed the AGV preemption mechanism so that: 1. When you preempt an AGV, if you do not immediately give it a new travel task, it will decelerate to stop after the preemption occurs. In previous versions the preemption mechanism stopped the AGV immediately. 2. If you preempt an AGV and then immediately give it a new travel task, it will start the new task at the speed it was at before it was preempted. In older versions, a preemption would cause the AGV to immediately stop and then start from speed 0. -------------------------------------------------------------------------------- --- FlexSim 7.7.4 (January 28, 2016) ------------------------------------------- * Fixed an exception in the VideoRecorder. * Fixed a bug with list back orders table sometimes not drawing. * Fixed a bug with the BasicConveyor recycling itemtype nodes. * Fixed a bug with coordinated task sequences. * Fixed a bug with compiling using Visual Studio 2015. * Fixed a bug with the Ticker component list table. * Fixed an issue with getvarnum() returning treenodes when it shouldn't. * Fixed an exception when debugging uninitialized treenode variables. * Fixed a scaling issue with changing the operator's shape with different model units. * Fixed a bug with some vrml textures not displaying correctly. * Fixed bugs with certain configurations of drawcylinder(), drawcolumn(), drawcube(), and drawsphere(). --- Conveyor --- * Fixed exceptions that were thrown when an item straddling multiple conveyors exits through an exit transfer and it is still taking the speed of the upstream (sending) conveyor. --- Process Flow --- * Fixed the Resource Queue Strategy. * Fixed a bug where FlexSim would crash when opening some models. * Fixed issues with using the Create Object activity to TaskExecuter Flowitems on Network Nodes that were inside of Visual Tools. -------------------------------------------------------------------------------- --- FlexSim 7.7.2 (January 8, 2016) -------------------------------------------- * Fixed Elevators, Cranes, ASRS, and Conveyor module objects not resizing correctly for different model units. * Fixed an issue with the List Entries debugging tool not allowing you to sample objects. * Fixed the default header for the OnStateChange trigger. * Fixed an issue with displaying variants in the local/watch variables windows of the debugger. * Fixed a bug with drawtomodelscale() and drawtoobjectscale() commands. * Improved the performance of XML loading and saving. * Fixed the gettablestr() command when a Global Table is set to use a bundle. * Fixed a bug with using global lists in the query() command. * Fixed bugs that caused child experimenter processes to die unexpectedly. * Fixed a bug where code windows would sometimes not show the text when multiple windows were open together. * Fixed a bug with multisorttable() not working correctly with descending column sorts. * Improvements to quick properties for faster updates and better scroll management. * Added an Update Locations picklist to Enter/Exit triggers. *** Backwards Compatibility Note *********************************************** *** the following changes may slightly change the way updated models behave **** * Fixed drawtext()'s rotation parameters so that they match FlexSim object rotations. --- AGV --- * Fixed issues with agvaddlistener and cpaddlistener not interpreting object references correctly. --- Conveyor --- * Fixed a smooth transfer interpolation bug when an item is straddling three conveyors. * Fixed an issue where an item merging onto a conveyor doesn't merge properly if it is blocked by an item that is diverting from the conveyor. * Made various fixes for undo functionality. * Fixed an issue with speed drivers not properly calculating accumulation block points in specific scenarios. --- Process Flow --- * Fixed an issue with trace histories not displaying in FR/TE Process Flows. * Fixed an issue with viewing List back orders for instanced Process Flows. * Fixed the Wait for Event and Event Triggered Source to properly pass in the eventRank. * Fixed an issue with containers sometimes not moving activities inside of them. * Fixed an issue with entries on a List not properly being removed when a token was released manually from the Push to List activity. * Fixed issues with using Process Flow Variables in the Experimenter. * Fixed issues with saving Process Flow dashboards and using Process Flow dashboards as PFMs in the Experimenter. * Fixed an issue with connectors not being renamed properly. * Tokens are now destroyed when sitting in Sink/Finish activities once all of their shared assets are deallocated. * Improvements to the Universal Edit fields (you can now select a portion of text in the field and use the sampler or select a label from the drop down). * Improved zooming in the Process Flow view. * Improvements to quick properties for faster updates and better scroll management. * You can now manually release a token from a Run Sub Flow activity using the releasetoken() command. * Updated the Custom Task Sequence activity to use an edit field for the task type to allow for user-defined custom tasks. * Update the Delay Task Activity to display the delay time on the token. * Updated the Process Flow dll to allow user-defined modules to extend Process Flow with custom activities. * Added OnEntering, OnExiting, OnManualRelease, OnAssetAllocated, and OnAssetDeallocated events to the token. * Added additional Array picklists for the Assign Labels activity. -------------------------------------------------------------------------------- --- FlexSim 7.7.0 (November 23, 2015) ------------------------------------------ * Added a Process Flow module for handling complex logic using flowcharting. * FlexScript now has a var type which can be any of the current variable types (number, string, treenode, intarray, doublearray, stringarray, treenodearray). * Bone Animations - Animator can now import 3d models with bone animation data and set those to FlexSim animations. * Added Global List objects to the Toolbox (see User Manual > Modeling Tools > Global List). * Global Tables can now store their data in a bundle rather than in nodes. * Arrays (int, double, string and treenode) can be stored on nodes such as labels. * Arrays are now viewable/editable as tables. * Labels can also store pointers to other objects using the setlabel() command. * Deprecated parnode(), parval() and parstr() and replaced with param(). * Added an arraysize() command. * Added support for Oculus Rift. * Added support for using Xbox 360 Controllers. * Added a global preference for displaying the 3D view's frames per second. * Added a Truck TaskExecuter Flowitem. * Added a Custom Gantt Chart dashboard. * Dashboards now have the ability to scroll. * Added a precision property to dashboard stat widgets. * Added a spinner object to the dashboard model input objects. * Updated dashboard charts to rebuild their data if pointing to a group and the number of group members changes during the model run. * Dashboard charts can now be copied and pasted. * Removed the AVI Maker and replaced it with the new Video Recorder. * Added an "Available at Simulation Start" option to TaskExecuters that causes the OnResourceAvailable trigger to fire at time 0. * Changed many Quick Properties panels to apply to all selected objects. * Improved the Rotated Selected and Flip Selected so you can click in the 3D view and select a rotation axis. * Added a Model Layout option to the Experimenter Variables. * Improved the Experimenter web viewer export so view can be customized. * Task Sequences now have the ability to store their own labels. * Improvements to FlexSim's display for non-standard DPI settings. * Added a panel to Quick Properties that allows for saving high resolution images of the 3D view (this can also be done through the viewtofile() command). * Updated TrackedVariables to be a simpledatatype object instead of a node with a bundle. * Typing shift+enter in a table cell creates a new line rather than moving to the next cell. * Changed the UI for flowitem packing methods so it makes more sense. * Added a flowitem packing method - Layer Stacking By Item Size * Added On State Change triggers to the BasicTE and BasicFR trigger pages. * Got rid of the usage of FRLOAD and FRUNLOAD. USe LOAD and UNLOAD instead. * Updated the updatelocations command so that if you pass an item in as the object parameter, it calls updatelocations on the parent object of the item. * A lot of general improvements to drawing performance. * Improvements to how model data is saved to remove differences in the xml files. * Added a page to the User Manual about model repeatability (FlexSim Concepts > Model Repeatability). * Deprecated the getmodelunitnum() and getmodelunitstr() command and replaced it with getmodelunit(). * Deprecated Global Task Sequences. User Process Flow instead. * Improved User Manual search results to display the most relevant results first. * Improvements to the License Activation window. * The middle mouse button can now be used to pan in the 3D view and scrolling with the mouse wheel now zooms relative to the mouse location. * Added statisticaltime() command. * Added rangemin and rangemax attributes to an Edit field to define a range of valid values that can be entered (options have also been added to the Dashboard). * Added all FlexScript commands as sql scalar functions. * Adding support for the HAVING clause in the query command. * Added the == operator to the sql parser. * Added an option to the Excel Importer to allow you to import cells formatted with Dates/Times as numbers when using the Automatic Data Distinction setting. * Improvements to the Excel Importer's Automatic Data Distinction option. It now correctly determines if a cell has a number in it but is stored as text. In this case, instead of importing a numeric value of 0, it will import the text as a string. * Fixed Time Plots in the dashboard so they clear their data after the warmup time is complete. * Fixed a bug with the visual tool inner connections not surviving copy/paste correctly in certain cases. * Fixed the visual tool so it can have multiple internal connections go through each other. * Fixed the Elevator so the delivery platform properly lines up with wherever the item is being dropped off at. * Fix for Task Executers so the endspeed works for offset travel. * Fixed fly paths to run in real seconds when not running with the simulation time. *** Backwards Compatibility Note *********************************************** *** the following changes may slightly change the way updated models behave **** * Fixed resource item state variables are now stored with a custom data structure instead of being stored directly in the tree. This means that if you previously accessed an item's fixed resource state directly through the tree instead of using the commands getitemstate(), getitemsendto(), getitemvar(), etc. your model will need to be updated to use those commands. * Previously, drawfont() would only change the font for one call of drawtext(). Now, calling drawfont() will change the font and leave it that way until it is changed again. * Fixed the 50-flowitem receive limit on the combiner, processor, and rack. This will break old models if your model is dependent on this bug. * Null Variants no longer equate with 0 (NULL). We have added the "nullvar" keyword that equates with null Variants. This could affect models that use getlabel() on a label that does not exist. For more information, see getlabel()'s documentation. * The following commands now take/return Variants instead of doubles: nodefunction() sendmessage() function_s() function_n() userfunction_s() userfunction_n() nodefunctionlisten() delayednodefunction() addbundleentry() applicationcommand() The implications for these changes are as follows: nodefunction(x, tonum(current)); // BAD CODE nodefunction(x, current); // GOOD CODE The problem here is that if you cast it into a number, and on the other side someone wants a node, the Variant thinks it's a number so it won't give back a valid node. Additionally, all FlexScript and c++ code nodes now return a Variant instead of a double. This also has implications. return tonum(centerobject(current, 1)); // BAD CODE return centerobject(current, 1); // GOOD CODE Here again, if you put something into a number, and then on the other side it wants a node, the variant realizes it's holding a number and won't give back a valid node. We have implemented an update script that will search the model for this type of code and will update the code to not use tonum(). The update script logs any changes made, putting the log in the node MODEL:/Tools/CodeUpdateLog. The update script will make the following changes: return tonum(...); changes to: return (...); For each of the above mentioned commands, the update will search the model for calls to this command, and will update the parameters as follows: nodefunction(theNode, tonum(...), tonum(...)); changes to: nodefunction(theNode, (...), (...)); However, the update script will NOT catch the following: double myVal = tonum(...); return myVal; or, double myVal = tonum(...); nodefunction(theNode, myVal); In saying this, please realize that leaving number casts in these areas may continue to work properly, particularly if you the user control both sides of the pass-off, i.e. you have implemented both the caller side and the callee side. For example: Caller side: nodefunction(theNode, tonum(theObj)); Callee side: treenode myVal = parnode(1); This example should actually work properly. We have deprecated parnode(), parstr(), and parval() and replaced them with a single param() command that returns a type-safe Variant. However, the deprecated commands will essentially try their best to take whatever was passed in and put it into whatever you want. So parnode() will see a number, and try to get it into a treenode. This is the same for returns: Callee side: return tonum(myObj); Caller side: treenode myObj = tonode(nodefunction(theNode, ...)); Again, this should work, because tonode() and tonum() will essentially try to take whatever is there and put it into a number/node. Where this will break is where one side is using the type-safe method while the other is not. Caller side: nodefunction(theNode, tonum(theObj)); Callee side: treenode myVal = param(1); // WILL NOT WORK BECAUSE param(1) IS A NUMBER NOT A NODE On FlexSim's side we have moved all (or most) of our code over to using the type-safe method. Thus any calls that interact between FlexSim code and your code should use the type-safe method. We hope that the proactive update script will resolve this for 99.99% of cases. --- Conveyor --- * Fixed a bug with exceptions throwing when an item is picked by an operator while straddling two conveyors. * Fixed bug that was caused when you have skewed rollers and the item size is less than half the width of the conveyor and you go through a merging side transfer. * Fixed a bug with side transfers when the item is already moving to an inline transfer. * Fixes to rotate selected and flip selected for Conveyors. * Bug fixes on drawing conveyors. * Fixed entry/exit transfer connecting with network nodes. * Added listenable events for Conveyors, Photo Eyes, and Decision Points, allowing Process Flow to listen for conveyor events. * Fixed an issue with transfers being deleted when you click on a visual tool * Fixed photo eye draw with offset angle. * Added list push/pull pick options for Decision Points and Photo Eyes. --- Process Flow --- * Released a new Process Flow module. -------------------------------------------------------------------------------- --- FlexSim 7.5.4 (April 24, 2015) --------------------------------------------- * Fixed an issue with installing flowitems from user libraries. * Fixed an issue with the undo history in the Global Variables window. * Added a Delete Path option to the context menu of Network Node paths. * Fixed the Match Whole Word option in the Tree Search panel. * Fixed an issue with task sequences to allow for creating more than 65,535 tasks. * Fixed an issue with visual tools as containers storing correct stats when a warmup time is used. *** Backwards Compatibility Note *********************************************** *** the following changes may slightly change the way updated models behave **** * Fixed a bug with "Do not travel offset and block space on networks" where task executers started at their endspeed even after a load/unload or after an extended period of time. * Fixed a bug with TEs jumping to their max speed when leaving a network to do offset travel. --- Conveyor --- * Fixed a bug that was causing exceptions when you copy/paste conveyors from one FlexSim instance to another. * Fixed a bug with sending to the correct exit transfer when there are multiple transfers at the end of a conveyor. * Fixed an issue where a conveyor transfer's inline speed rule was not being followed when transferring from a previously blocked non-accumulating conveyor. * Fixed a bug causing exceptions when you reset the model in certain power and free models. * Fixed a bug where accumulation stop events weren't being created at the right times (bad calculation of gap close point). * Fixed issues with calculating the accumulation split time. * Fixes for acceleration/deceleration, accumulation stops and speed changes. * Fixed bugs with connecting from an object inside a visual tool to a conveyor. * Fixed bugs with the kinematics and finish time not working on side transfers. * Fixed a bug that created two output port connections from a Decision Point to an exit transfer. * Fixed issue with accumulation split events being created at time FLT_MAX. * Fixed issues with place offset onto an entry transfer * Fixed an issue that sometimes caused items to move beyond their conveyor and ignore other items when doing an inline merge that accumulates to the merge point. * Fixed exceptions throwing when building conveyor models with code. * Fixed issues with adding conveyor types and transfer types to models with scaled units. * Fixed an issue with stopped decision points not being resumed on reset. -------------------------------------------------------------------------------- --- FlexSim 7.5.2 (March 4, 2015) ---------------------------------------------- * Made it so the Reports and Stats export can export all object types, including module classes. * Updated images for the custom user toolbar items. * Made a time graph only update its stats at the timed intervals (not on repaint), so custom stats don't get called repeatedly. * Fixed an issue with docking 3 tool windows on the left or right side (the third would dock above the others). * Fixed an issue with the User Manual throwing exceptions when there was no Internet connection. * Fixed the DWG importer to properly show the layer colors. * Fixed an issue with the model floor not drawing properly. * Several fixes to the conveyor module (See the conveyor module's release notes topic). --- Conveyor --- * Added an optional "force" parameter to conveyorresumeitem(), which override the stop/resume counting mechanism and force the item to resume. * Fixed issues caused by conveyors with invalid spatial properties messing up snapping and causing other conveyors to disappear when you drag them. * Fixed an issue with not being able to connect network nodes to entry/exit transfers * Fixed an issue with doing an inline divert at a point where items accumulate * Fixed an issue with items still being rotated when they leave the conveyor system * Fixed an issue with transfers from faster to slower non-accumulating sections and the item accumulation at the transfer point. * Fixed a bug where items get off-center over time in a conveyor system. * Fixed an issue with double-clicking on conveyor transfers. * Fixed an issue with feeding items into a Combiner. * Fixed a UI glitch where if you drop a Decision Point or Photo Eye onto a conveyor, it is placed inside the conveyor in the tree. * Fixed a UI bug with defining the location of an Exit/Entry Transfer on a curved conveyor. * Fixed an issue with slug building on an accumulating section where other things are done on the section such as stopping/starting items manually. * Added off-network routing logic for exit-to-entry transfers directly between two conveyors, so a user can dispatch from one conveyor to another that's not connected to it, using conveyorsenditem(). * Added a color property to Conveyor Types. If you defined them manually on the conveyors before, you'll need to redefine them on the conveyor types. * Added an optional delay time for releasing and exiting a restricted area. This can be used to define variable gapping. * Added Area Restriction examples to the documentation. * Added a Conveyor Commands topic to the user manual, which links to the Conveyor command group in the command documentation. * Added a message trigger to Photo Eye and Decision Point types. * Fixed an issue with motors not properly syncing power and free dog positions across their member conveyors. * Various other minor fixes. -------------------------------------------------------------------------------- --- FlexSim 7.5.0 (January 28, 2015) ------------------------------------------- * Added a new conveyor module and deprecated the legacy conveyor set. * Improvements to the User Manual's user interface. * You can now use the windowtitle attribute for a User Library. * Fixed a crash when you call stopobject() on a FluidToItem. * Fixed an issue with Export All Dashboards to HTML not properly laying out the widgets. * Fixed a bug with importing Chinese characters from Excel. * Fixed an issue with the Rack never returning to an idle state after calling for a transporter. * Fixed an issue when saving as .fsx, where if you save a model after making no changes, some values in the .fsx would be different. These differences did not change anything measurable in the model, but it did pose a problem for differencing software. --- AGV --- * Fixed a bug with preemption. --- AStar --- * Made Preferred Paths take priority over barriers, so that you can make a Preferred Path act as a "bridge" across an area where an object barrier would otherwise block it. * Improved the object barrier implementation to better take into account rotated objects. * Made a mechanism that allows object members to customize the way the grid is defined for them, specifically to allow objects like the curved conveyor in the new conveyor module to work as an object barrier. * Fixed a bug that caused TaskExecuters attached to the A* Navigator to not reset their positions on model reset. --- Conveyor --- * Released a new conveyor module. -------------------------------------------------------------------------------- --- FlexSim 7.3.6 (October 9, 2014) -------------------------------------------- * Updated Toolbox right click options. * Updated commands documentation for bundle commands to include that they are base 0. * SQL query columns will now first look for named sub-nodes and then for object labels. * Fixed negative events to go back to previous functionality of setting the event time to the current model time. * Fixed drawRect command drawing dark when shaders were enabled. * Fixed opening saved Default 3D Views. * Fixed the Filter Field in the Library to work with User Library Objects. * Fixed an infinite loop when resuming a Dispatcher with circular connections to it's team members. * Fixed issues with adding Performance Measures from Dashboard Statistic Widgets with Groups and grouped objects. * Fixed the double-click feature in the Performance Measures results window graph (to display the associated dashboard). * Fixed issues with exporting Experimenter results to Web Viewer format. * Fixed some issues with updating model libraries to the latest version of FlexSim. * Added flow item packing method to items saved to model libraries. * Fixed renaming User Commands from the Toolbox to no longer remove the user command code. * Fixed number precision values on the Financial Analysis widget to correctly store high precision numbers. * Fixed the Gantt Chart displaying erroneous data when using a collect time. * Fixed the Duplicate button in Edit Selected Objects so it no longer copies objects inside themselves. * Fixed the Draw Surrogate option for animation components. * Fixed the code snippet popup in triggers to allow for multiple lines. * Fixed grid snapping in the GUI Builder. * Fixed undos with the sizing panel in the Quick Properties. * Fixed FlexSim compiling with Visual Studio 2012. -------------------------------------------------------------------------------- --- FlexSim 7.3.4 (September 2, 2014) ------------------------------------------ * Fixed exceptions being thrown when using the Debugger. * Fixed exceptions being thrown when using the User Manual. -------------------------------------------------------------------------------- --- FlexSim 7.3.2 (August 28, 2014) -------------------------------------------- * Fixed a bug in the MTBF/MTTR and TimeTable to allow for all Down States. * Fixed a bug in the Optimizer GUI when checking Manual stop only. * Fixed a bug on the merge sort not resetting its input table properly. * Fixed Model Units for Gallons so it no longer displays as Fluid Ounces. * Fixed an issue with older models not properly opening Global Tables from the toolbox. * Fixed a bug in the queue when it has a non-integer maxcontent. * Restored ExpertFit. ------------------------------------------------------------------------------- --- FlexSim 7.3.0 (July 31, 2014) --------------------------------------------- * Added an autosave feature to global preferences. * Took shaders/shadows out of beta and added preferences for hard and soft shadows. * Improved support for stereoscopic 3D including shadow support. * Add a floor object. * Added alignment property to dashboard model input widgets. * Added a dashboard GUI class model input widget. * Added support for linking to groups in dashboard statistics widgets. * Added support for selecting multiple dashboard widgets. * Dashboard dynamic model input fields and edit fields can be tied to global variables. * Improved support for full screen mode including stereoscopic 3D and multiple monitors (F11 to toggle full screen mode). * Improved 3D mouse support. * Removed the Tools menu and added an organizable Toolbox. * Added Date Based mode to TimeTables. * Added optional stateprofile parameter to stopobject and resumeobject commands. * Added Stop Date & Time to the Experimenter. * Added FlexScript commands for use with Stat::Fit curve fitting software. * Added search results to Command Helper window. * Added copy/paste functionality to Dashboard (Model Input Widgets only). * Updated the Automatic Data Distinction in the Excel Importer to more correctly import numbers. * Added sql query() support for LIKE, GROUP BY, and non-trivial expressions in the SELECT column clause. * Updated the Excel Import/Export to handle importing into bundles and exporting bundle data. * Fixed the Reports and Statistics available classes GUI. * Fixed an issue with adding/editing triggers in the dashboard causing FlexSim to crash. * Fixed an issue with exporting multiple TrackedVariables statistics to CSV files. * Fixed an issue with aligning model input objects to the left/top of the dashboard. * Fixed Content vs Time graph not collecting data when defined for a time interval. * Fixed an issue with setting long object names/paths in bundles and dashboard statistic objects. * Fixed tabbing in Quick Properties causing FlexSim to crash. *** Backwards Compatibility Note *********************************************** *** the following changes may slightly change the way updated models behave **** * Expressions can now be used in select columns of an sql query. In order to do this we needed to change our sql grammar to be more compliant with standard SQL. This means you can no longer use the AS clause in a WHERE or ORDER BY statement. You can now only use AS in SELECT and FROM clauses. * Some parameter types for the query command have changed in C++ for more flexible type definitions. This means if you use the query() command in a C++ dll, you'll need to update your dll's headers and recompile the dll. If you use straight C++ compiled code or FlexScript for your query() command, then this should just update. * Removed ExpertFit. --- AGV --- * Fixed incorrect travel distance calculation. * Fixed an issue with shadow rendering while manipulating paths. * Added help manual file AGV > Objects > Control Point. * Fixed a bug that threw exceptions when diverting AGVs to an elevator. * Fixed various tool tips. * Fixed default proximity stop distance. --- AStar --- * Added a picklist to the Transport Ref for adding TaskExecuter FlowItems to the AStar Navigator. * Fixed an issue with attaching TaskExecuters to AStar when they weren't already connected to a navigator. * Updated barriers to draw resizing arrows. -------------------------------------------------------------------------------- --- FlexSim 7.1.4 (April 15, 2014) --------------------------------------------- * Fixed an issue with the Excel Import not properly handling importing multiple sheets from the same file. * Fixed Basic Conveyors and Merge Sorts not drawing with shaders on. * Fixed loading SimpleDataType nodes in modules in the Experimenter. --- AGV --- * Fixed a bug with preemption not working properly. * Fixed an issue with exceptions being thrown when beginning a travel task. * Added support for accumulating paths. * Added a feature to explicitly force a defined AGV orientation on a path. * Added a feature to allow you to attach a load to the AGV as a trailer/tug. * Added a quick properties button to switch the primary direction of a path. * Added better support for preemption. -------------------------------------------------------------------------------- --- FlexSim 7.1.2 (March 27, 2014) --------------------------------------------- * Fixed a memory leak with the 3D view. * Fixed a bug in the MTBF/MTTR that caused the downtime value in the down function to always be 0. * Fixed a bug causing Keyframe triggers to not be fired in operator animations. * Fixed Animation Editor > Draw Surrogate > Main Object Content. * Fixed Animation Editor > Component > Rotational Centroid fields. * Fixed issues with editing animations in models where units were not meters. * Fixed an issue causing global variables to be renamed to NULL when creating multiple global variables at the same time. * Fixed exceptions being thrown when you try to use shaders in compatibility mode. * Fixed issues displaying skp files while using the A* Module. * Fixed an issue with not being able to select views in the GUI builder. * Fixed DLL loading to properly load DLLs from the model directory. -------------------------------------------------------------------------------- --- FlexSim 7.1.0 (March 10, 2014) --------------------------------------------- * Added Financial Analysis Dashboard Widget. * Added Custom Dashboard Widget to allow any numeric data to be displayed in the dashboard, including table data, bundle data, global variables, etc. * Added State Gantt Chart Dashboard Widget. * Added a FlowItem Trace Gantt Chart Dashboard Widget. * Dashboard table data can display current state values as strings. * Added functionality to export dashboards to HTML. * Moved the statistics tab out of object properties windows and into the Quick Properties window. * Labels, tables, statistics, global variables and tracked variables can be "pinned" to the dashboard. * More options to customize Dashboard Widgets (font size, bar size, custom display names, etc). * More Model Input objects in the Dashboard including Radio Buttons, Listboxes, Trackers and Tables. * Added picklist options for starting and stopping animations. * Added picklist option to display labels on FlowItems in the 3D view. * Moved the User Manual into FlexSim as a dockable window. * Redesigned Robot GUI. * Animation variables can point to components in an animation for quick referencing, not just surrogates. * Improved User Toolbar items for Dashboard, GlobalTables, TimeTables and MTBF/MTTR buttons to allow for opening the objects. * Improvements to shadows, shaders and mesh drawing. * Improvements to the SKP Reader. * Removed Model Views utility and placed it in the Quick Properties window. * Added a "Headlight" feature to light sources. * Updated Excel Importer/Exporter to handle relative paths of workbooks to the model. * Improved the Excel Import's excelreadstr() and Automatic Data Distinction to more accurately read in values from Excel, including dates and times. * Added double click to open colors panel to all color wells. * Fixed issues with the date time pickers sometimes displaying the current date and time. * Fixed model unit scaling with flowitems when creating new models. * Fixed issues with copying network nodes in containers. * Fixed a bug in the Excel Import on Reset not handling multiple workbooks. * Fixed a bug in the TimeTables causing the duration passed in to picklists to sometimes be negative. * Fixed issues with closing/reopening dashboard widgets. * Fixed sizing issues with dashboard widgets. * Fixed Rack shelf tilt. * Fixed an issue with having TaskExecuters using navigator logic for offset travel. * Updated Move into Highlighted object to move into the model if no object is highlighted. * Fixed a bug with running flypaths using model run speed. * Fixed issues with adding flowitems to User Libraries. * Fixed sizing issues with the Crane. * Fixed a problem where Global Variables were not being properly loaded using save/load state. * Fixed an issue with saving views in Full Screen Mode. * Fixes to the Conveyor's drawing. * Fixed issues with the Shape Frame tab of the Quick Properties window. * Fixed a bug with the Basic Conveyor causing flowitems to not always exit when they're supposed to. * Removed FlexSim Chart and save full history. *** Backwards Compatibility Note *********************************************** *** the following changes may slightly change the way updated models behave **** * The order in which MTBF/MTTR triggers are fired has been changed to reflect the documentation. Now the down/up trigger fires AFTER the down/up function. This may cause problems in models that depend on the down/up triggers firing before the down/up functions. * Excel Multi Table Import using Automatic Data Distinction will import empty cells as string data, rather than as the number 0. --- AGV --- * Fixed a bug with cpaddlistener() where the control point wasn't passing the right values into the listener callback. * Fixed a bug with custom control point allocations not being cleared on reset. * Fixed a bug where an agv will "jump" if turning around at a path section that doesn't fit its full length. * Fixed a floating point precision issue where the agv doesn't always deallocate a control area on arrival at the next control point and thus causes deadlock with himself when he needs to reallocate the area after turning around for the next task. * Fixed a bug with deallocation events not being created at the correct time. --- AStar --- * Fixed calculations for total travel distance on TaskExecuter objects. * Fixed an issue with using offset travel and traveltoloc tasks. * Added Help Manual to FlexSim. * Fixed an issue with TaskExecuter's being set to state TRAVEL_LOADED when the state should have been TRAVE_EMPTY. * Added VisualTool to objects that can be added to the AStarNavigator as barriers. * Fixed issues with FixedResource and TaskExecuter objects that are inside container objects. * Barriers created by FixedResource objects can now be rotated 90 degrees. * Fixed bug with using AStar in models using units other than meters. -------------------------------------------------------------------------------- --- FlexSim 7.0.6 (January 8, 2014) -------------------------------------------- * Fixed an issue in the installer regarding Optquest dll registration. * Added support for compiling with Visual Studio 2013. * Fixed the duration passed into the TimeTable down function when the last row is combined with the first row. * Fixed a bug with time tables when the model start time is on a Sunday. * Changed the Event List to save its filters when the model is saved. * Fixed an issue with global variables when saving or loading state files. * Fixed a bug in Display Date and Time pick option. * Fixed a bug with exporting bundle string data. * Fixed an exception when documenting user commands with improperly formatted descriptions. * Some fixes to the query() command. -------------------------------------------------------------------------------- --- FlexSim 7.0.4 (December 3, 2013) ------------------------------------------- * Fixed a bug with the refresh rate overlay showing for educational users. * Fixed an issue with library installcomponents not getting installed. * Fixed a bug with the model start time getting reset incorrectly. * Fixed issues with Labels not showing up in Dashboard Properties window. * Fixed issues with saving open properties windows and top level windows. * Refactored TimeTables to minimize the number of events created. * Fixed issues with recursive debugging hiding the debug toolbar. -------------------------------------------------------------------------------- --- FlexSim 7.0.2 (November 12, 2013) ------------------------------------------ * Fixed a bug with the Pick Operator with Animation picklist. * Added scroll bar to Labels page Tree View. * Fixed bug in Processor that showed item conveying when stopped using STATE_BLOCKED. * Added code to read texture repeats/offsets into the assimp importer so that .ac file textures render more accurately. * Fixed some import and display issues with SKP files. * Fixed a bug that was occasionally causing WebKit to crash. * Fixed a bug in the Presentation Builder that was causing the first flypoint to jump beyond the second flypoint. * Fixed issues with the TimeTable repeating daily. * Fixed parqty() issue on nodefunction, user commands, function_s, etc. * Fixed bug in Dashboard to display current content of Fluid Objects. * OnCreate now gets fired for all objects inside a container when the container is copied. * Fixed an exception in the Startup Page's OnPreLoad when there was an invalid recent models path. * Updated Experimenter PFM graph to draw the box plot on top of replication points. * Made it so foreign languages' dashboard statistic names will be properly associated with the visible name that they're dragged from. * Fixed bug with changing the model start time and it not being reflected in the model stop time. * Fixed reset exceptions on presentation slide. * Fixed a bug that crashes FlexSim when you call startanimation with a rank that doesn't exist. * Fixed bug causing FlexSim to crash when copying NetworkNodes. * Fixed round() to work properly with negative numbers and large numbers. * Fixed triangular distribution from dividing by 0. * Fixed issue with debugging on a script window script when the first line is commented. * Other various bug fixes from the development list -------------------------------------------------------------------------------- --- FlexSim 7.0.0 (October 14, 2013) ------------------------------------------- * 64-bit version (enables FlexSim to use more RAM). * Windowing interface overhaul to use a docked window paradigm. * Created a Quick Properties docked window that is context sensitive. The window will display the most used properties based on the current selection or the active document window. * Tree Find/Replace is now integrated with the Quick Properties window and has support for case-insensitive searches as well as searching for node names. * Library Icon Grid enhancements to include filtering, collapsible groups and edit modes. * Library Icon Grid is context sensitive and changes its display based on the current selection or the active document window. * Added a sampler button that is placed throughout the software to allow users to sample images, 3D media, objects, nodes, numbers, strings and colors. The sampler helps to eliminate some need for writing code. * Downloads page that gives functionality to download and install Modules, 3D Shapes, Images and Models. * Added a Measure/Convert tool * Improved script console allowing scripts to be saved both in individual models and to the user environment. You can also now debug your script console code. * Improved Presentation Builder interface. * Improved the Flowitem Bin interface including making packing modes for container flow items visible and editable. Flowitem shapes may be changed through a drag and drop from the Library Icon Grid. * Flowitems can now have their own custom animations. * Improved the employment of shape frames in FR objects and Flowitems. * Added a No Select flag to all objects. * Added a multi-table Excel export and overhauled the Excel interface to match the MTEI. The new MTEI includes an option to automatically reimport tables on reset. * Improved Animation Creator, including dynamic animations using animation variables, more detailed editing of keyframes, and keyframe triggers. 3D shapes may be added to an animation through a drag and drop from the Library Icon Grid. * Created a global model start date/time that is tied to TimeTables. A stop date/time may also be specified. * Revamped TimeTable window. A daily or weekly schedule may now be imported through the MTEI. * Added and updated several picklist popups removing all text based picklist options. * Improvement in the Code Editor and other areas where logic is defined through draggable constructs in the library icon grid and sampler buttons throughout popups and picklist widgets to automatically add code, etc. FlexSim commands also display a short description when typing in the code editor. * Picklist fields and many popups' fields have code highlighting and autocomplete. * Added some FlexScript implementations of lambda expressions. * Better debugger that allows you to access the tree and other areas of FlexSim while in debug mode. Hovering over variables during debug mode will display their current value. * Panel control GUI enhancements. * Added dashboard constructs that will replace most need for the GUI builder: Users can now do model input through dashboards instead of having to use the GUI builder. Multiple dashboards may be created. * You can now pick which navigator a TE is connected to through their properties page (allows you remove them from all navigators). * New hot keys/accelerators. Ctrl+K and Ctrl+L to resize objects up or down by 5%. Ctrl+W to close the active document window or the active floating window. Updated Ctrl+Tab and Ctrl+Shift+Tab to moved between tabs in the active floating or document window. * Added the FluidConveyor to the default fluid library. * Can now view an object's events by right clicking an object in the 3D view and selecting View | View Object Events. * Complete OptQuest overhaul (includes multi-core support and experimenter integration). * Better support for importing 3D shapes. FlexSim now supports the following formats: *.wrl; *.3ds; *.dxf; *.stl; *.skp; *.dae; *.obj; *.ac; *.x; *.ase; *.ply; *.ms3d; *.cob;*.md5mesh; *.irr; *.irrmesh; *.ter; *.lxo; *.csm; *.scn; *.q3o; *.q3s; *.raw; *.off; *.mdl; *.hmp; *.scn; *.xgl; *.zgl; *.lvo; *.lvs; *.blend * Added a new mesh class for drawing in OpenGL. * Stereoscopic 3d rendering (requires workstation Quadro or FireGL card for frame-sequential rendering). * Enhanced graphical compatibility with integrated Intel cards. * Improved 3d rendering, including shadow rendering, specular highlights on 3ds objects, bump maps, parallax maps, etc. * Module Development SDK, including: SimpleDataType data type, which is a low-overhead class for fast, memory-efficient aggregation of data and for better object-oriented module code, with an easy mechanism for saving in the tree. * Updated visual studio wizards that work with VS 2012 * A module sample tutorial. * Unfortunately the 64-bit version of FlexSim no longer supports creation of FlexSim Chart databases because Microsoft deprecated its Jet Database Engine and there is no 64-bit API for it. We hope to replace all FlexSim Chart functionality with dashboard-based functionality in a future release. * More Documentation. *** Backwards Compatibility Note *********************************************** *** the following changes may slightly change the way updated models behave **** * Many open gl commands have been deprecated. The model update mechanism tries to replace all old usages with the new graphics usages. Usually this should work, but in some cases it may not. Note that glBegin(), glEnd(), glVertex(), glNormal(), glTexCoord() have all been completely deprecated, and eventually will no longer work. Going forward you should use the mesh api. * The spaceobject() command has been deprecated and no longer works. In optimizing the graphics engine we realized that a 5-20% refresh rate improvement can be attained simply by removing functionality that is solely there to make the spaceobject() command work. So we've deprecated this command. It is still in the command list so models will update, but updated models that use it will have weirdly drawn shapes. * OnLoad is no longer dispatched by the engine when a project/tree is loaded. If you have custom objects that depend on this event, you will need to use some other mechanism to fire logic when the model loads, i.e. through the OnModelOpen, or through model libraries' OnModelOpen * Kinematics functionality has changed so that by default kinematics will automatically be pruned off as you pass their individual end times. Note this required a restructuring of the kinematics data, so if your models don't do it on reset anyway, you'll need to re-initialize kinematics in models that are updated from older versions. * In previous versions, getdatastat() was documented incorrectly for the parameter p2 (degrees of freedom). It was actually interpretting p2 as the number of samples in the set, not degrees of freedom. We've fixed that by simply not using that parameter and inferring the number of samples/degrees of freedom from other parameters. This means if you used this command previously it will return different/better results in this version. Also we've changed the way the confidence interval "clamps" to percentages in order to be "safer". Again this affects the values that were returned in previous versions vs this version. See the command documentation on getdatastat() for more information. * We changed the name of the class FlexsimObject to FlexSimObject in-line with our naming scheme going forward. We have implemented an update script that replaces all instances of "FlexsimObject" with "FlexSimObject" in updated models. This means if certain things in your model are dependent on the name "FlexsimObject" (possibly dll code that uses the name FlexsimObject) there may be issues with the update. * The assimp 3ds importer is translating some of the files (namely the robot clamps) in a way that is different than our old 3ds importer. It is possible that other 3ds files may need their offsets manually adjusted after updating. * Fixed the 50-flowitem receive limit on the queue. This will break old models if your model is dependent on this bug. * Fixed a bug with deceleration on a network when the task executer is blocking space and is given two travel tasks in a row (backwards compatibility note: this might change old models) * Several attributes were removed, so if you use these attributes in your model you will need to update your model properly: Removed Attributes: assertshape, asserttexture, billboard, distcutoff, events, instances, OnCaptured, OnCollision, OnInterrupted, state_graph, state_histo, state_percent, stats_contenthisto, stats_customgraphs, stats_throughputgraph, stats_throughputgraphmaxpoints, stats_throughputhisto, tables, textureaxis_s, textureaxis_t, travelstarttime, traveldirection, travelendtime, traveltimealpha, traveltimebeta, travelvpeak, traveldistance, travelstartx, travelstarty, travelstartz, travelendx, travelendy, travelendz, travelvmax, travelacc, traveldec Removed Draw Attributes: ignoredraw, ignorezbuffer, nochildrotate, nochildscale, noondraw, nopredraw, shapetype, reflective, luminous Removed Commands: travelto, traveltoupdate, ntravelto, ntraveltoupdate -------------------------------------------------------------------------------- --- FlexSim 6.0.2 (Aug 1, 2012) ------------------------------------------------ * Fixed a bug with double-clicking experimenter results to drill down into the dashboard data that the point represents. * Updated the tree version number; old FlexSim versions will now correctly give an error message when trying to open new tree files. * Fixed a bug that was causing FlexSim to crash when the bundle field names' length exceeded 500 characters. * Fixed a bug with automatic state naming in setstate(). * Fixed a bug with the context menu's positioning on code windows. * Fixed nodeinsertafter()'s return value. * Fixed a speed issue when resetting a model in Windows XP. * Stopping the model now updates the content statistics on objects. * Fixed a bug with OnRunStop firing at incorrect times in experiment child processes. * Fixed a bug with the tree's bundle display. * Fixed some display issues with bar charts in the dashboard. * Fixed "Distanced Traveled" statistics objects. * Fixed the "Down State" combo box on the MTBF MTTR gui. * Fixed a bug on the Fluid Ticker if you create a tick in 0 time. * Changed several task sequence picklist options to default to using the priority and preempt values specified in the gui. * Changed the recorder pie chart's colors to match the state chart. * Fixed some user interface quirks with the new trigger editor popup. * Fixed the task executer's Breaks page. * Fixed a bug with setname() on subnodes of hashed-list nodes in C++. * Fixed a bug with applying the user commands window. * Fixed a bug with sizes/locations sometimes being set to 0 when applying a properties windows that was opened through the right-click menu. * Fixed the logevent() for receivefromport. * Fixed an issue with the code editor's OnClose not asking for Apply. * Other minor bug fixes from the development list. -------------------------------------------------------------------------------- --- FlexSim 6.0.0 (March 23, 2012) --------------------------------------------- * Enhanced the experimenter to use multiple cores. * Added a new web browser GUI widget. * Added a new Dashboard window with HTML5 canvas statistics graphs. * Redesigned the experimenter interface to integrate the new statistics objects. * Added new experiment variable options "number of objects in group" and "number of task executers." * Developed web accessibility: Opening, configuring, running, and viewing models over the web (using a web browser or handheld device). * Added a new AutoCAD dwg importer. * Added model units and conversion windows. When building a new model, a screen will ask you what model units you will be using. When updating an old model, a screen will ask you what model units were used to build the old model. These settings are stored in the Tools folder of the model. * Modified the picklist and trigger gui widgets to be easier to use. * Created a new node datatype (DATATYPE_BUNDLE) for storing large amount of information efficiently (see documentation of bundle commands). * Implemented a way to package media (3d shapes and bitmaps) into the model file so that you only need to distribute one file instead of a whole directory of files. * Added an embedded command documentation window that can be opened by highlighting a command and pressing F1 in the code window or tree view. * Added a FlexScript call stack to the debugger. * Added a step-in function for FlexScript user commands and nodefunctions in the debugger. * Added a logic builder interface for writing FlexScript logic without writing code. (You can change the default editor back to Code by unchecking 'File > Global Preferences > Environment > Use Logic Builder by Default'.) * Enhanced the flexibility of pull logic and added a new pullitem() command for use in the Pull Strategy trigger. * Improved templates to allow for popup gui windows on pick list options. * Added a mechanism for multiple state profiles. * Changed tables to always show the headers despite scrolling. * Fixed a bug that was messing up the save operation when out of memory. * Toggled the large-address-aware switch so that FlexSim can allocate more memory. * Added floor() and ceil() commands. * Added a switch for hashing the node's subnodes' names for quick lookup. * Added a right-click menu option in the Labels tab so that labels' values are set on reset. This option is checked by default. * Other various fixes from the development list. *** Backwards Compatibility Note *********************************************** *** the following changes may slightly change the way updated models behave **** * Fixed a critical bug in curved network length calculations. * Fixed issues with gettenetnode() and distancetotravel() on TEs that use "do not travel offsets and block network space." * Made a change to distancetotravel() to base the "back-to-node" distance on the center of the object instead of the object's location. * Changed pulling to no longer override the send-to. Now both send-to and pull must check out to transfer a flowitem. * Changed receiveitem() so that it doesn't behave as if it were pulling. * Made the Rack's OnEntry trigger fire before evaluating the dwell time. * Explicitly set the processor float rounding mode for consistent results in compatibility mode. * Added a new random number generator to generate seeds based on the replication number for the existing random number generator. Email support if you need a script to initialize the streams of a particular model back to the values used in prior versions. * Added a new overload to the command tonode() to handle large memory addresses. Dlls will need to be recompiled with updated headers to obtain this fix. * Fixed a bug where an endspeed of 0 wasn't properly telling a task executer to continue at full speed at the end of a travel task. The behavior now correctly matches the documentation. -------------------------------------------------------------------------------- --- FlexSim 5.1.2 (February 1, 2011) ------------------------------------------- * Fixed a bug with pallets not correctly setting items' locations * Added code to execute the open model scripts when a model is double-clicked * Fixed a bug on autocompletion for empirical() commands * Added a gridz attribute to the perspective view so that it snaps vertically with the gridsize * Fixed a bug that was making the multicode window open tabs after the first with the template edit open * Modified the Breakdowns page so that it doesn't reorder the MTBFMTTR or TimeTable's couplings when you Apply the Properties window * Fixed a bug that caused fileopen() to crash in C++ * Fixed some more command overloads to compile properly in C++. * New version of ExpertFit with working help documentation. * Fixed some issues in FlexSim Chart. * Fixed a glitch in the Model Settings window. * Fixed a bug in the Animator that caused it to crash when adding keyframes to the Crane object. -------------------------------------------------------------------------------- --- FlexSim 5.1.0 (January 7, 2011) -------------------------------------------- * added a File > Model Settings option that allows you to change model settings or add password encryption to the model * added text compression to model, library, and tree files (model file sizes will be much smaller now) * added a "modules" features for program developers (undocumented currently) * added new listener functionality and listenerinfo() command * enabled more features (such as the tree view) for the student version * modified the educational watermark to be less intrusive * fixed the calltip and auto completion issue on left-side monitors * changed Excel browse buttons to show xlsx files * changed Find/Replace in Tree so that you can specify VIEW:/ as the search node to search the entire view tree * fixed a bug on lifo, batching queues * fixed an issue with variable binding * fixed a bug with the excel single table import when using both row and column headers * fixed a bug with the MTEI that wasn't allowing you to specify the entire path to the node in the "tablelocation" without specifying the "tablename" (this fix allows you to navigate to a table node at first level of object data properly) * added hiding for surrogates into the "Hide shape and contents at a distance" pick option * upgraded the licensing system to Flexnet Publisher 11.9 * made it possible for offset tasks to use a navigator (must be implemented on the TE, though, so it's not automatic right now) * fixed some bugs in the socket command parameters * other minor fixes from the development list -------------------------------------------------------------------------------- --- FlexSim 5.0.4 (June 25, 2010) ---------------------------------------------- * Fixed a crashing problem introduced with a new Nvidia driver (257.21 WHQL). * Fixed a bug with the FindReplace gui only working for the first code tab. * Fixed a bug with very big FlexScript functions not executing properly. * Fixed several command overloads to compile properly in C++. * Removed the Trace Debugger from the interface. The Event Log makes it obsolete. * Fixed a bug with the Find tool window. * Fixed several icons that were not appearing correctly in Windows XP. * Fixed some a bug with reversing direction on the BasicConveyor. -------------------------------------------------------------------------------- --- FlexSim 5.0.2 (May 17, 2010) ----------------------------------------------- * Fixed a graphics exception with Visual Tool internal connections. * Fixed a bug with item spacing on a basicconveyor. * Fixed a bug with table pasting on computers with '.' thousand separators. * Correctly unset the 'shouldcompile' flag after a successful compile. * Fixed bug with post compile trigger timing. * Fixed bug with the duplicate button messing up objects' ranks. * Fixed a bug with the code window that wasn't building FlexScript or changing code state correctly for some triggers. * Fixed the installer to install the Flexnet licensing service - eliminating the need to "Run as administrator" when starting FlexSim for the first time after install. * Fixed the offset tasks' event log entries. * Fixed some bugs on the Conveyor properties window. * Added a generic TaskExecutor to the library for use with custom 3d shapes - this eliminates the problem of having to delete surrogates when adding a custom shape to a standard TaskExecutor (ie Operator, Forktruck). * Added a new selection mechanism for experiment variables. * Added commands setdrawnamefunction(), drawflattext(), and draw3dtext(). * Changed the name text to be more visible when using a black background. -------------------------------------------------------------------------------- --- FlexSim 5.0.0 (April 15, 2010) --------------------------------------------- * New undo/redo capability. * New debugging capabilities, including: An in-line, step-by-step FlexScript debugger. Just go to the code editor and click in the left margin to set a break point. More strict syntax rules for FlexScript, including parameter cardinality and type checking. An event log that lets you see all events that have fired in the model, filter those events, export them to csv, etc. An event list that gives you a view of the list of pending events. A FlexScript code profiler that lets you see what FlexScript functionality is being called, how often, and how much time is being taken up. * A new Animation Creator that allows you to create movable sub-components of objects as well as custom animations for those sub-components. * New .skp 3D file import capability, for using files from Google Sketchup and Google 3D Warehouse. * Improved 3D refresh rate. * Improved compatibility with ATI, NVIDIA, and integrated graphics cards. * New software-based licensing using Flexnet. * Faster and more seamless compiling process, with no creation of a new FlexSim instance. * Fixed compiling issues for Windows Vista and Windows 7 * More detailed, navigable and configurable Experiment reporting, with additional histogram and correlation plots. * Support for png, ico and gif texturing on 3D objects, allowing transparency without requiring the .tmp and .tpg files. * New all-in-one code editor with tabbing and an apply button. * Improved look on default library objects. * New 6-axis robot. * Improved interface for defining Conveyor layout. * Fixed AVI Maker for Windows Vista and Windows 7. * New and improved xml save features, allowing multiple developers to work on the same model simultaneously, as well as better integration with versioning management systems. * Various improvements for advanced modelers and developers. * Improved right-click menu options in the 3D View. * Much more intuitive manipulation of objects in the 3D view. * Users can now click on objects below the grid plane. * Improved support for traversing window controls with the keyboard. * Improved Find/Replace in Tree feature. * Improved refresh rate on table views * Fixed a crashing issue with auto-completion hints * Fixed a bug with renaming labels * Fixed an issue with spline points being invisible if the 3D view has a black background * Several new FlexScript commands for string parsing. * You can now Ctrl-Tab to switch between windows within FlexSim * More capabilities/commands for customizing TrafficControl object logic. * FlexSim's 3D view now has a "hover" highlight so you can see what object is under the mouse. * More descriptive exception handling. * Added TASKTYPE_STARTANIMATION, TASKTYPE_STOPANIMATION, and TASKTYPE_FREEOPERATORS. * Animation of the 3D View continues while panning/zooming. * Various minor fixes and improvements. -------------------------------------------------------------------------------- --- FlexSim 4.5.2 (March 2, 2009) ---------------------------------------------- * Fixed a bug with the switch statement in FlexScript. * Fixed the exception thrown when returning strings in FlexScript. * Added an error message to the MergeSort to alert users not to transport into it. For more information, see the MergeSort page in Help>Users Manual. * Fixed a bug that wasn't updating the FluidTicker correctly. * Shortcuts were added for copy/pasting nodes in the tree. Ctrl-C will copy the currently highlighted node. Ctrl-V will paste the copied node onto the highlighted node, replacing the highlighted node. This works the same way as the right-click menu options to Copy/Paste. If the highlighted object is selected in red, Ctrl-C will "Copy Mult" rather than a normal "Copy". If the last copy was a "Copy Mult", Ctrl-V will "Paste Mult". If the highlighted node has object data and it is expanded, Ctrl-V will "Paste Mult into Object". * Library user commands are properly loaded before FlexScript is built now when opening libraries and models with custom User Commands. * FlexSim now remembers what you last selected for Repeat Random Streams when you close FlexSim and reopen it. * Added more icons to the options in the user toolbar. * Fixed some issues with the BasicConveyor. Removed some excess prints, fixed a bug in the DecisionPoints page, and made it more flexible with how it handles items being copied and inserted into it. * Fixed the Edit Highlighted Object's 'rank last' button to work in the first layer of object data correctly. * Decreased the number of states listed in the state report by default. * Fixed a bug on the Source where it assigns number data to labels added by the sequence or schedule whether they are toggled as number data or not. * Fixed a floating point error on the Network Navigator that was causing infrequent crashes. * Fixed the NetworkNode's Properties window to apply the name properly. * Entirely removed the "View Magnification" and "View Distance" usage from the Visual Tool in order to make the "Show Contents" and "Show 3D Shape" checkboxes work correctly. There is now a pick option in the OnDraw trigger that behaves the same way as view magnification and view distance did previously. * Added scrollbars to the GUI Builder's tree and the "Select a node" tree window. * Fixed an issue with the Experimenter not properly exporting the performance measures in the report. * Fixed a memory issue that was causing crashes in the createcopy() command. -------------------------------------------------------------------------------- --- FlexSim 4.5.0 (January 9, 2009) -------------------------------------------- * FlexSim now follows your windows theme. * Moved the run control buttons from the bottom of the window to the top. * Added various modes at the top of the window for connecting/selecting/ creating objects as an alternative to holding keys down while click- dragging. Also added some cursor changes for easier understanding of what is going on. * Rather than "downclick-drag-upclick" to connect objects, you can "click- click" objects to connect. The yellow line and cursor is indicative of what is going on. * The sidebar options on the ortho/perspective/tree views are now individual windows accessed through the View > Modeling Utilities menu. * The orthographic, perspective, planar, and tree views (document windows) can be tabbed together by clicking on a window to move it, dragging it on top of another window, hovering the mouse still for a moment, and releasing the mouse when the black outline appears on the window below. You can drag tabs out of windows by clicking on the tab and dragging it outside the window it is in. * The windows in Modeling Utilities can similarly be tabbed together. * You can save your workspace in the Environment tab of the Global Preferences window. New models will then open with your default workspace rather than just the library and ortho windows. You can also revert your windows back to that saved default workspace through the Window menu. * You can add buttons to the Toolbar through the Global Preferences window. * Combined Parameters and Properties windows for all the default FlexSim objects. * Improved the table widget including copy/paste functionality. * Added more commands for table handling such as addtablerow() and deletetablecol(). * Added a scrollbar to the tree view. * Nodes with attribute names are colored differently in the tree for easier understanding. * Changed the right-click menu for the tree/ortho/persp/planar views * Changed the FlexScript builder and parser. Building and running FlexScript code is now significantly faster. * Added the BasicConveyor to the library. * Allowed use of 3d shape frames for user-defined moving parts of various task executers. * Cleaned up many of the useless prints in the System Console. * Added a model OnReset trigger in Tools > Model Triggers. * Added an OnStateChange event. This attribute currently must be added from the tree to individual objects. It is not in the objects' default GUIs. * Added the highlighted object's state to the Ortho status bar. * Fixed the Visual Tool's Display Contents bug. * Changed the default colors in the state chart for easier reading. * You can call refreshview() on a single GUI widget now instead of having to refresh the entire view. * Copy/Pasting nodes in the tree is significantly sped up. * Other various user interface improvements and bug fixes including many issues posted to the development list. -------------------------------------------------------------------------------- --- FlexSim 4.3.2 (March 13, 2008) --------------------------------------------- * Fixed an issue with the Experimenter variables where the browse button would not work properly if multiple experiment variables had the same name. * Fixed an issue with the importtable() command, where extra rows/columns were being created unnecessarily. * Fixed a problem with the #define statement, where you could not have tabs after the #define, only spaces. Also, global macros required a carriage return after the last line. This has been fixed. * The menu option Build|Make all code C++ now skips any guis in the model. * Provided more error checking for re-ranking in the tree. The user can no longer accidentally rerank the model. * Fixed an issue with the Cancel button not working properly on the Graphical Editor of time tables. * Fixed various errors in the help manual. * Fixed a problem where the stop time would not work properly if there was an experimenter in the model. * Fixed a problem on the FlexSim startup wizard where if you uncheck the box then press cancel, it didn't apply the checkbox properly. * Fixed a graphical memory leak on graph views. If graph views were open long enough, FlexSim's windowing system would become corrupted and you'd have to kill FlexSim * Added an error message if the user tries to repeat random number streams while the Experimenter is active. * Fixed the getnetnodeoutport() command. Before this command did not work properly in FlexScript. * Fixed a copy/paste problem in tables. Copy/paste should now work properly in table views, for both single cells and for table ranges (if you shift-select the range then press Ctrl-C). * Fixed the screen locked billboard feature to show in the perspective view (unfortunately at this time you can't move the object around in the perspective view as you can in the ortho view). * Fixed a coldlink issue with the VisualTool locations not applying properly. * Fixed a problem with the Experimenter's new Performance Measure report. The confidence interval was not drawn correctly for very small confidence intervals (less than 0.01) * Fixed a problem with timed hasp keys not working on a certain day in February (on a leap year). -------------------------------------------------------------------------------- --- FlexSim 4.3.0 (February 5, 2008) ------------------------------------------- * The following commands have been added to the command list: asin, acos, angle, bitwiseand, bitwisenot, bitwiseor, mpt, mpf, mpd, mpr, modeldir, currentfile, truncatemediapath, documentsdir, commandlineparam, getpath, getrunstate, windowstyle, keyboardfocus, getdirbrowse, drawshadow, glBegin, glEnd, glVertex3d, glRotated, glTranslated, glScaled, glLoadIdentity, glMatrixMode, glPushMatrix, glPopMatrix, glColor3d, glNormal3d, glPointSize, glLineWidth, glEnable, glDisable, glIsEnabled, glPushAttrib, glPopAttrib, glTexCoord2d, drawbox, flyendnode, flyactive, flyupdate, viewtofile, avi, textureaxis_s, textureaxis_t, mediapath, mediafile, embedfile, wmp, randstate, filereadline, endoffile, dbusername, excelsave, backupfile, distcutoff, openflexsimchart, sendwindowmessage, getviewhwnd, excelrangereadstr, excelrangereadnum, excelrangewritestr, excelrangewritenum, getproperty, setproperty, fileisreadonly, getapplicationtitle, setapplicationtitle, socketx, mesh, cubemap, simexec, trackpopup, copycolor, createglobaltasksequence, documentusercommands, emptyfluidobject, getnetnode, getnetnodespline, getnetworkdistance, getnextparametersobject, getnextnetnode, getnextnetnodeoutport, gettenetnode, getutilizedobject, inititem, isedgeforward, netnodefromrank, rankfromnetnode, addsystemcontrolleritem, getlinecontrollerdata, getreportnum, notifylinecontroller, updatereport. * The Performance Measures tab of the Experimenter has been redesigned. Experiment reports should be easier to analyze and more data can be gathered and aggregated. * Auto-completion hints have been added for the scintilla code editor and the template code editor. * By default, models will now be saved in My Documents\Flexsim 4 Projects\ * Model media paths can now be relative to the model directory, making models much more portable. * Some adjustments have been made to the presentation builder, making it take up less desktop real estate. * The AVI maker can now automatically run a fly path when it starts avi creation. * TaskExecuters now keep a statistic on their total travel distance, as well as time blocked on the network (STATE_BLOCKED). * The Model Documentation feature is much more useful now. By default, model documentation will only document those values that have been changed in the objects of the model. It is also printed in much more readable html. * TaskExecuters now have a "flip threshold" that can be customized by the user. If the TE comes to a junction point in the network and must turn past the its "flip threshold" then the TE will "flip" and travel backwards. This can be used in building agv models where the agvs can travel backward and forward. * Modification to the bottom panel to add quick buttons for setting model stop time and run speed. * Various modifications of menus and guis for ease of use. * Lifo option in the object. * The sky box feature has been removed because it doesn't work in the orthographic view, and the VisualTool can provide the same functionality. * The visual tool parameters window has been changed to make it more intuitive. Also a feature has been added to lock the visual tool to a location on the screen. * Added a set of network access commands for accessing network node data (commands mentioned above). * Better support for developers to connect external dlls that run on a different thread in order to: listen to hardware, serve as an active-x control for another application, act as a web server, etc. This has no documentation at the moment, but please contact support for more information. * Added support for Microsoft Visual Studio 2008 Express Edition. We have discontinued support for Visual Studio .Net 2002 and 2003, so if you use C++ and have these older versions, you can download the 2008 Express Edition from Microsoft's web site here: http://www.microsoft.com/express/Downloads/ * The speed of the senddelayedmessage() command has been improved. This may result in a slightly improved model run speed if your models rely heavily on sending delayed messages. * Task sequence queue sorting is now done on resource availability instead of on task sequence dispatch. This allows for a dispatcher's queue strategy to be much more useful. * The TaskExecuter now has an OnResourceAvailable trigger that will fire whenever the TaskExecuter finishes a task sequence. * Model Load, Run Start, and Run Stop triggers have been added. * Find/Replace functionality added to the scintilla code editor. * Keyboard access to several menu functions, including compile, reset, run, pause, model open, new, save, and run speed changing. * Various FlexSim Chart features, including the ability to save a chart template file. * Changes to better import/export from .csv files for foreign csv separators and number formats. * Fixed some graphical problems with Windows Vista. * Various documentation improvements. * Colored brace highlighting of code. * There can now be an unlimited number of random number streams (streams above 99 should be explicitly initialized with randinit()). -------------------------------------------------------------------------------- --- FlexSim 4.0.1 (May 22, 2007) ----------------------------------------------- * Fixed a problem with hasp keys not being recognized in Windows Vista. * Fixed an issue with the installer automatically installing hasp drivers. Because errors occasionally appeared causing the install to fail, we have moved this part into FlexSim's start menu. * The Source object will now continue through rows with 0 items when in sequence mode. * Fixed an issue with global table windows not remembering column/row sizes after being closed. * The code editor will now force at least one template code comment when the user has edited the code. * Fixed a problem with draw trigger options containing a return statement. Now you can add multiple options to the draw trigger without having to manually remove the return statements. * Updated various portions of the help. * Fixed an issue with excelwritestr(), dellabel(), and memberremoveall() not working in FlexScript. * Fixed an issue with the standard report not being properly created for experiments. * New compiler configurator allows you to specify custom install paths. * Various updates to the command documentation. * Made various fixes to pick list options, including the sendto picklist's random available port, round robin, and round robin if available, the pull requirement's range of itemtypes and array of itemtypes pick options, the entry trigger's sort by itemtype, sort by labelnum, and increment value options,. * Added the "Crane Logic" pick option back into the collision trigger pick list. This was available in version 3, but was inadvertently taken out when updating to FlexScript. * Since the equivalent functionality of the command hints window is now available just by mousing over a command, the command hints window has been taken out. Now completion hints will open when the toolbar hints button is pressed. * Fixed an issue with FlexSim's message to compile does not appear after editing C++ code. * Fixed an issue with FlexSim's message to compile appearing after adding an Excel MTEI. * Various GUI and functional changes to the Recorder. * Adjusted the Crane's offset functionality to make sure it picks up from the center of the object. * Fixed the setcollisioncheck() command. * Took the return statement out of the TaskExecuter's default collision trigger code. Now can add pick options without having to remove the return statement. * Fixed a problem with FixedResources getting mixed up with their output vs. input being closed when pulling from a non-zero port. * In order to improve speed on some of the new Nvidia cards that were showing significant refresh-rate slow-downs, mostly when clicking around with the mouse (probably specific to certain drivers for those cards), we implemented a high-level clipping algorithm for 3ds and wrl files. This should improve refresh rates when clicking, as well as improve refresh rates when zoomed in to a small sub-part of a large model. * Fixed a problem with FlexSim Chart not opening properly if groups had been created in the ortho view's groups tool panel. * Changed the Experimenter to calculate confidence intervals based on the "unbiased" sample standard deviation. * The Experimenter will now stop at the exact stop time instead of at the next event. * Fixed a flickering issue for the ortho and perspective windows on some graphics cards. -------------------------------------------------------------------------------- --- FlexSim 4.0.0 (March 7, 2007) ---------------------------------------------- * Users may choose whether or not to compile their models * Visual Studio C++ and the need to compile are no longer requirements (version 3.x models will still need to be compiled, however) * New FlexScript interpreter and error reporting * FlexScript is the default language for model-building * FlexScript allows local variables (int, double, string, treenode) * FlexScript allows arrays of local variables * FlexScript has new C++ - like statements (for, switch, while) * Code fields can be toggled FlexScript/C++/DLL * New Library View * New menus * Tools menu added to replace Toolbox * Global Task Sequences available in Tools menu * Global Variables available in Tools menu to replace Global Object Pointers * Fluid objects added to the Standard Library * Forward/Backward buttons added to Parameters and Properties windows * Pick-lists have fewer options, and remaining options are more robust * Pick-lists options have been rewritten to be easier to read and use * Trigger pick-list options can easily be combined with other options * New template-creation system to replace PARAMSTART/PROSESTART * Templates no longer open in a window separate from the Parameters window * New code edit control - uses Scintilla editor * Pop-up parameter hints appear when a command is typed * Code Edit window has been redesigned to be more user-friendly * User-written code can be added to User Libraries * Event-handling speed improvement * Graphic display speed improvement * Events, Task Sequences and Kinematics display detailed information in the tree view * Global Preferences dialog allows more customization * Smaller software installation * New charting/reporting application which includes Gantt charts and costing * 3D view windows display axes and origin of model space. * 3D views display object information in the status bar * New version of ExpertFit included * New updated Users Manual includes more tutorials, explains GUI development * New command documentation -------------------------------------------------------------------------------- --- FlexSim 3.5.1 (Oct 9, 2006) ------------------------------------------------ * various bug fixes -------------------------------------------------------------------------------- --- FlexSim 3.5.0 (May 10, 2006) ----------------------------------------------- * Fixed a compiling problem for custom GUIs with picklists * Added a link to the flexsim website and user community in the help menu * Global MTBF MTTR now allows a 0 MTBF (meaning don't do any downs for this simulation) * Fixed a minor floating point error in the non-accumulating conveyor * Global MTBF/MTTR now passes individual object references into First Failure, MTBF, and MTTR fields * Label Table gui now imports correctly when you import, then press OK/Apply * FlexSim now prints an error if you have a processor with max content > 1 that is also using operators * Added deactivatekinematics() command. This should make some kinematics situations easier to work with. * The graphical time table editor now has a default start time of Monday at 12 AM * Passto documentation of Dispatcher now mentions return value -1 * Changing an object's z location with the mouse wheel now will not move the object below 0. * Stop time events now update states * Made adjustments to Rack draw normals * Fixed Excel multi-table import problems from 3.06 * Preempting placeoffset and pickoffset tasks now works correctly * Setup finish trigger now fires before the process time trigger on a Processor object * Recycling error in recycleitem() is now more descriptive * Improved the documentation on stop request finish task * Fixed the staytime information of a VisualTool that is used as a container * If a resource for a coordinated task is allocated but idle, then it will now be in a new state called allocated idle * You can now change the speed of a conveyor to 0 with the changeconveyorspeed() command. * Many more states were added to the standard state list * A new toolbar has been added to the ortho, perspective and tree windows, replacing the window's menu. This should make some modeling operations much faster. * A quick selection list was added to the 3d shape widget in the properties page * A new gui was added for editing an object's shape factors. * The openinput(), openoutput() commands can now have a delay time associated with them. This is still in beta state, and is not documented, but you can pass a second parameter to the command to specify a delay time. * An end speed parameter is now available for load/unload tasks * addlabel now lets you set the initial value of the label * Fixed a problem with the mergesort not updating locations correctly when blocked * Labels tab now allows you to view the labels tree * Global MTBF/MTTR's now lets you specify a subset of the member objects' states that apply to the mtbf/mttr. * Processors (and TaskExecuters) now use the global MTBF/MTTR's by default, instead of their own MTBF/MTTR mechanism. Older models will still work the older way, but newer ones should use the new functionality. * The sorttable() command was added * gettasktype(), gettaskvariable(), gettaskinvolved() now allow you to pass the TaskExecuter as the first parameter and -1 as the second, getting information of the object's active task. * Fixed and issue where multi-level networks sometimes caused TaskExecuters to miss their reset triggers. This fix will only work for newly built models. If you want to fix this in an older model, move the object named DefaultNetworkNavigator to the top of the model tree. * State time recording was fixed for the load/unload time of a TaskExecuter. * An optional transport pick option was added to the request transport from pick list. * Added a parameter to the travel task where you can force the object to travel to the destination node even if he is already there. * Added an option to specify the location of level 1 of a Rack * Added the ability to have variable icon size in the library icon grid for a user library. Just add a cellwidth and cellheight attribute to the attribute tree of the user library node. * Added a new look for the network nodes. This should also improve refresh rate. * Added library support for the new mechanism for the stopobject() command, using keys and priorities. * You can now set reset positions of objects with the right-click menu of the ortho view. * More global MTBF/MTTR pick options were added for calling operators. * dempirical(), empirical() are now overloaded to take a node as a parameter * Made some adjustments to the GUI builder to make some operations easier * You can now specify Time Tables/MTBF MTTR's from Processor's and TaskExecuter's Parameters windows * X-candy functionality has been included in this release. These tools are accessible from the new toolbar for ortho, perspective, and tree windows. * Several "MTEI" buttons have been added to object parameters windows for adding to the multiple table import * A new option was added to the TaskExecuter to continue to take up space on the network while doing travel offsets * Triggers were added to the Traffic Control. * On the crane you can now specify max speed/acc/dec for all three axes. You can also hide the crane's frame by setting its size to 0. * Conveyors now have a mechanism to notify upstream conveyors of blocked content so that products do not overlap. This requires quite a bit of event processing, which may slow down a simulation significantly, so use sparingly. * For user libraries, you can now have an "openmodelinstall" folder, which will install components from the user library when an existing model is opened. Use this in conjunction with the dropscript mechanism to maintain older model with updated user libraries. Unfortunately, right now all of this stuff is not documented. Contact support if you need more information on this. * The duplicate mechanism was changed so you can now duplicate network nodes correctly. * The copy variables funcitonality was changed. This fixes several problems with the copy variables mechanism. * Labels are now validated. If a label function is called and the label doesn't exist, an error will be printed to the system console. * There is a known problem with ATI cards that we haven't been able to fix yet. It has to do with building new models, compiling, then closing FlexSim and getting a blue screen error. If this problem happens to you, please notify support with your detailed hardware specs. To avoid it, you can work in compatibility mode until we find the source of the problem. * MTBF/MTTR's, time tables, and user events can now be added to user libraries. * Please note that in future releases we will update to be compatible with Microsoft Visual Studio 2005. There are some existing issues with this update, the most important of which is that the existence of a main() function in FlexSim's command list will not compile in Visual Studio 2005. Please do not use this function in your model development. Use maintree() instead, or node("MAIN:/project/model/..."). If you already have models that use this function, then you will need to remove/replace those function calls when the Visual Studio 2005 compatible version of FlexSim is released. This release will be at least version 4, which means that it will be installed into a different directory as FlexSim 3, and you can have both versions installed on the same machine, so if you do not want to update your model, you can still run it in FlexSim version 3. -------------------------------------------------------------------------------- --- FlexSim 3.0.6 (December 12, 2005) ------------------------------------------ * Updated hasp drivers. * Added 39 demonstration models to the userprojects\DemoModels folder. * Fixed a problem where a stoprequestbegin task would stall the taskexecuter if it was the last task in the task sequence. * Added several warnings to the C++ coding portion of the online user manual regarding floating point precision loss and C++ typing issues. * Fixed a problem on break tasks. If for the break task the TE requested a task sequence from an upstream dispatcher but didn't get one, then it would leave its input ports open, allowing task sequences in when it was not available. This has been fixed. * Fixed a problem with loading libraries. Sometimes the library would not load properly. * Fixed a problem with TaskExecuters loading/unloading to/from other TaskExecuters. Sometimes the statistics would be dependent on the screen refresh rate. * Fixed some problems with Multiple Table Import. * Improved various command documentation. * Fixed a problem with the Conveyor photoeyes OnUncover Trigger template code not showing the correct information. * The Visual Tool's parameters window will now calculate relative paths instead of absolute paths. * Improved the model documentation functionality. * Fixed a problem with dragging a user library object into an ortho/perspective view that is looking at the contents of a VisualTool instead of the contents of the model. * Improved the stopobject() and resumeobject() commands so that the user can avoid the two state issue for overlapping stop requests. Note that this requires user input to implement. It will work exactly as before if the user doesn't change anything. Note also that the new functionality is in beta state until the next major release. * Added a graphical TimeTable gui button to the TimeTable parameters page, where you can define either a weekly time table or a daily time table. * Fixed a problem with the Experimenter being activated when you open a model. * Fixed a problem with compiling with the flowitembin open in compatibility mode. -------------------------------------------------------------------------------- --- FlexSim 3.0.4 (October 4, 2005) -------------------------------------------- * Fixed a bug with the stringcopy() command in C++. Although stringcopy() works correctly in FlexScript, in C++ it is 0 based instead of 1 based as documented. Now it is 1 based. * Note: the above stringcopy() fix may cause problems with older models if you have implemented stringcopy() in your model in C++. Please notify us if you need help in updating your model. * Fixed a bug with the VisualTool losing internal center port connections when added to a libary. * "Add to User Library" now works correctly in the planar view * Fixed a problem with recycled flowitems not updating their creation time when recycled back into the model * Fixed a bug with the load trigger setsize pick option * dbsqlquery() can now take a string type parameter, instead of just a char* type * Fixed a bug with preempting TaskExecuters * If you are not compiled and select a main menu option that needs to be be compiled first, FlexSim will now show a message notifying you that you need to compile * Made further adjustments to the crane collision trigger pick option. The trigger did not work if both cranes were idle and colliding * Fixed a problem with the conveyor drawing photo eyes wrong along curved sections * Fixed a bug with TaskExecuters pick up an item from a rack. If the rack contained multiple items per cell, occasionally the task executers would disappear. * Fixed the isclasstype() command documentation. Also, this command should now work in FlexScript with the CLASSTYPE_ values * Fixed a problem with pressing 'O', 'T', 'N', space bar, and enter in the ortho/perspective views * Fixed a problem with deleting an object's blue internal connections with the delete key * Adjusted the optimizer gui so that the variables table expands with the size of the window * User commands should now work in C++. * Please note that the user commands functionality, however, is still in beta state, and we anticipate that more issues will need to be addressed regarding using user commands in user libraries and using them in FlexScript * Fixed a problem where the time table gui pick lists had problems with template code containing a '+' symbol, like "C++ code" * Fixed a problem with the conveyor legs drawn wrong on curved sections * The conveyor parameters page should close faster now * Fixed a bug with the rackrestoreitem() command * Removed the Help | Sample Models menu option. Sample concept models will now be managed through the user community. * Removed the undo button from the main toolbar, allowing the "Control" button to be visible in 1024x768 resolution * Added a "Model Control GUI" option to the main View menu * You should now be able to enter 0 Acceleration/Deceleration values on TaskExecuters, which translates to infinite acceleration/deceleration * Fixed a problem with incorrect bay/level references in the Rack. Now, if you return an incorrect bay/level reference, the Rack will show a message notifying you of the error. * Fixed a problem with pressing the Apply button on a Rack before compiling. * You should now be able to change the model stop time in the middle of a run. * Fixed a problem with opening models that were previously edited with user libraries open. The library window's combo box list would often be incorrect. While a better fix is still pending, we have added an option to the library window's Edit menu to refresh the list of open libraries * Fixed a bug in the VisualTool's staytime statistics when being used as a virtual container with the containerentry() and containerexit() commands * Fixed a problem with FlexSim crashing when you do a Find/Replace on the MAIN tree. At this point we haven't found the root cause, but we now disallow a search from that high in the tree. * Now if you slide the model run speed track bar all the way to the right, FlexSim will go into an "Unlimited" run speed, which essentially runs the model as fast as the cpu can handle it. * Fixed a problem with the adding to a library of a VisualTool containing network nodes with paths leading out of the VisualTool. * Pick list combo boxes should now refresh based on text entered in the template/code window. * Improved the graphics configurator so it will read your current settings -------------------------------------------------------------------------------- --- FlexSim 3.0.3 (August 1, 2005) --------------------------------------------- * Improved robot visual. * Added several rack commands: rackdrawfilledcell(), rackgetcellvar(), racksetcellvar(), rackgetbayloc(), rackgetbaysize(), rackgetlevelloc(), rackgetlevelsize(), rackrecycleitem(), rackrestoreitem(), rackdrawvirtualcontent(), racksetcellcontent() * Added commands: changeconveyorspeed(), transfernode(), recycleitem() * The experimenter can now be deactivated by unchecking a box in the experimenter gui * Fixed a bug with coordinated task sequences and preempting * Made some major changes to user libraries, as follows: 1. Merged the user library icon grid with the standard library icon grid. 2. Added the ability to add global tables, flowitems and user commands to a user library. 3. Added an auto-install mechanism to the user library 4. Added the ability to create your own icon that will execute a user-defined script when the icon is dragged into the model. Although this is not documented yet, you can support for information on how to do this. 5. Add the ability to have user library objects "dropped" into your model when you hit the new model button, when you startup flexsim, and/or when you load the library. Again, it's not documented because it's in a beta state. Contact support for info. * User Libraries should now have all the capability that service packs have, and more. Service packs will eventually be phased out of FlexSim. * Fixed a bug with state saving. * Changed some guis to take up less room for better use of the desktop space. These include the toolbox window and the global table window. * Fixed a bug with the travel task's end speed of -1. * Added the ability to define user commands. This is accessible from the toolbox. * Fixed some problems with dragging visualtools containing networknodes into the model. * Fixed bug with the run speed indicator not updating correctly. * Fixed a bug in adding a VisualTool with center port connections to internal objects to a user library. The center ports will no longer be deleted. * Sinks can now recycle flowitems, which can significantly increase model run speed. * You can now define your own custom guis to open when you press the Ortho and Persp buttons, as well as a "Control" button on the toolbar, which is meant specifically for custom defined model control guis * Changed the ortho/perspective view menus: added some quick toggles to the "Settings" menu * Changed the ortho/perspective "Edit Selected Objects|Switches" menu so that, instead of just toggling all selected objects, it synchronizes the toggling first. For example if you have selected 5 object that are hiding connections, and five objects that are showing connections, toggling them first chooses one of the two and sets all to that setting, instead of toggling the first five on and the second five off. This will hopefully make these options more useful. * Changed the ortho/perspective settings windows to hopefully be more intuitively organized. You can also specify grid line color, grid line width, grid fog, and view fog now. * Setting the stop time will now stop the model at the exact stop time. It will also allow you to continue running without stopping again. * Some modifications have been made to the lighting. You may need to re-open a new orthographic view for models that have already been created. * Changed the specification for the Oncontinue trigger of a network node. Now the Oncontinue trigger will fire when the traveler "continues" at his final destination node, and finishes the travel task. Note that this may cause problems with older models. You will need to take this new trigger point into account. In such a case, the edgenum will equal 0. -------------------------------------------------------------------------------- --- FlexSim 3.0.2 (May 13, 2005) ----------------------------------------------- * Added two buttons to the VisualTool parameters page to view contents in ortho/perspective. * Fixed decimal problem with Rack size table (this time it should really be fixed... no really). * Fixed a problem with the sendmessage task not allowing involved1 to be NULL * Fixed various draw command documentation * The place in bay/level by label pick option now allows you to specify a maximum content for each cell. * There is more error checking on photo eye positions and entry/exit positions on the mergesort. Before it would let you get away with having a position completely off the conveyor (and then would crash on you). * Fixed problems with optquest gui graying replication stuff. * Added several FixedResource commands to the command list: transportoutcomplete, transportincomplete, getitemvar, setitemvar, getiteminvolved, setiteminvolved, getitemsendto, setitemsendto, getitemstate, releaseitem(item, port), receiveitem(port), savestoppedtransportin, savestoppedtransportout, resumetransportsin, resumetransportsout * Fixed a problem with the redirectnetworktraveler command * Fixed the TaskExecuter's entry placement of an item so it's not like the operator's * Fixed the Flownode so you can send delayed messages to it * Added BasicFR object as a starting point for developers to create user library fixed resources * Added BasicTE object as a starting point for developers to create user library task executers * Various modifications to the documentation * The following commands were added: vectorprojectx, vectorprojecty, vectorprojectz, xcenter, ycenter, zcenter, pickoffsetx, pickoffsety, pickoffsetz, placeoffsetx, placeoffsety, placeoffsetz * A return value of -1 for the minimum dwell time field of a rack will cause the rack now to not release the item at all. You can use this if you want to define your own release strategy for the rack. * Added an onresource available trigger to the dispatcher. * If the passto function of the dispatcher returns -1, the dispatcher will not do its default logic, but will assume all dispatching logic is done within the passto trigger using movetasksequence and dispatchtasksequence commands. * Added the following commands (although still in beta state): initkinematics, addkinematic, updatekinematics, getkinematics, setkinematicsrotoffset, profilekinematics * Added a gui builder. Although it is not documented yet, we are putting it in anyway for those who are so inclined. It can be reached from the toolbox. * Fixed the avi maker problem where it wouldn't work on some computers. -------------------------------------------------------------------------------- --- FlexSim 3.0.1 (March 2, 2005) ---------------------------------------------- * Fixed bug where two queues would sometimes stop receiving flowitems even though they weren't full. * Fixed bug on network where the network would change the traveler's rotation, even though it was configured not to rotate while traveling. * Fixed Optimizer gui to show real time per optimization instead of real time per scenario * Fixed bug with Tree Editor rename (wouldn't rename objects in Visualtools) * Fixed a bug in ntravelto where deceleration wasn't being calculated correctly * Fixed the checkbox bug in Standard reports where the "report for whole model" didn't work * changed the lod operator files (fs3d\newoper.3ds) so LOD changes are more apparent. * Fixed Rack so that it updates locations correctly on exit (and fixed location setting onreceive because tilting was slightly off) * Changed Source so that it searches from front to back instead of back to front for flowitems to push out. Before, parts would exit out of order. Now they will exit in the order they are created. This may affect older models if you depend on flowitems leaving out of order. * Fixed the experimenter's reset functionality. Sometimes the model would not reset properly after each replication. * Fixed the Rack so that it doesn't round bay width to the nearest whole number. * Changed many instances of "traveller" to "traveler" in object code. * Because of recently encountered problems, copying variables between MultiProcessors is now disabled. * The FlowNode now resets the rotation of exiting flowitems to 0,0,0, so that flowitems are oriented correctly when they go to the next station. * Photo eye showing/hiding can now be done with a 'B' click or through the Parameters window. * Two new options have been added to the "Down Function" pick list of the Time Tables. These create a task sequence for a TaskExecuter to travel to certain parts of the model and wait the duration of the down time. * A bug was fixed in the Separator state diagram. The separator would sometimes go into the Processing state when it should be in the blocked state. * The orthographic view tab was taken out of the visualtool gui and efforts were made to make that window interface faster. * Fixed a bug in creating your own operator requests in the Processor. * Fixed a bug in the changeconveyorspeed command. Note that this command is nevertheless still in the beta state (and totally undocumented). * Changed 3ds files for the Processor, COmbiner, Separator, Queue, Reservoir, and MultiProcessor so that the color of the object shows through. * Fixed an OptQuest bug with the permutation variable. * Various tweaks changes to the documentation. * Fixed a problem with the undo capability. * Fixed a problem with stack overflow when an object like a Combiner receives hundreds of flowitems all at once. -------------------------------------------------------------------------------- --- FlexSim 3.0.0 (February 2, 2005) ------------------------------------------- * no need to compile immediately after opening anymore * quicker compile because library is already compiled * new window titles * can now have multiple guis open * faster model runtime * faster compile time * context sensitive help * picklist options are documented with examples * more sample models * better links to related info * New Orthographic Editor with new “Edit Selected Objectsmenu * New Tree Editor that lets you quickly do advanced modeling in the model tree * New Automatic Excel Import * New Visio Model Import capability - Build a model in Visio using FlexSim Template and you can import directly into FlexSim! * Improved FlexScript language commands for macros, local variables, math operators, comparators * part of new entry-level product development (no compiling) * table access commands will now accept either a pointer to a table node or the name of a global table * label access commands will now accept either an index number defining the rank of the label or the name of the label itself * Excel access commands are more robust, faster, return status * database access commands have more flexibility, are more robust, return status * socket commands can now create socket servers and socket clients * Faster refresh for Code Editors * Personal highlighting preferences: File | Editor Properties * text undos (ctrl z) * shift-left arrow block highlights properly now * View | User Library Icon Grid to start a new library * right-click on an object in model and “Add to User Library * drag-drop TaskExecuter available for object development * all taskexecuters have collision detection (new gui) * acceleration and deceleration across passing network node paths * “Break To Requirementcan create a new tasksequence and reference it. * new and modified tasks for tasksequences: TASKTYPE_TRAVEL can now define end speed TASKTYPE_BREAK can now execute a message trigger on a user-specified object rather than default to the Break To Requirement field of the receiving TaskExecuter. TASKTYPE_CALLSUBTASKS similar to break task, but control is always returned to original tasksequence TASKTYPE_STOPREQUESTBEGIN calls stopobject() on involved1 and puts it into state var1 TASKTYPE_SENDMESSAGE can now send a delayed message and also reference the TaskExecuter who ends up executing the tasksequence. TASKTYPE_MOVEOBJECT for moving one object into another (can move one TaskExecuter into another one) TASKTYPE_DESTROYOBJECT for deleting any object TASKTYPE_SETNODENUM for changing value of ANY node (i.e. variables and labels) TASKTYPE_PICKOFFSET used for controlling the x, y, and z offset travel movements combined or independently without the need to actually pick up a flowitem as with a load task. TASKTYPE_PLACEOFFSET used for controlling the x, y, and z offset travel movements combined or independently without the need to actually dropping off a flowitem as with an unload task. TASKTYPE_TAG used for tagging or identifying tasksequences * coordinated task sequences are now fully tested and operational * drag-drop FixedResource available for object development * continuous Send To Port evaluation to allow changed output port assignments based on downstream activity * continuous pull requirement evaluation will force Pull Requirement to be evaluated for all released flowitems upstream (not just the involved flowitem to enter upstream). * four new pickoptions in “Request Transport Fromfield to create your own tasksequences manually and use a TaskExecuter as a flowitem! * new “Pick Operatorpicklist option to choose operators from multiple teams * NetworkNodes have new sideoffset value keeps travelers from visually overlapping * NetworkNodes have a new paths gui (edges) * You can specify speedlimits for NetworkNodes edges (paths) * A NetworkNodes virtual distance entry overrides actual distance between nodes * New triggers for NetworkNodes: OnArrival, OnContinue * if OnArrival returns a number > 0, then the traveler will be rerouted to the edge number returned. * node connections are now allowed across hierarchal levels * if two nodes are connected to the same object and both nodes are connected to each other with D-click-drag, then the TaskExecuter will enter and leave through whichever node provides the shortest travel distance * NetworkNodes new display modes (x-click): points, paths, connections, for selected group only * spline tension is now user definable (Edit | Spline Tension) * New object TrafficControl controls the flow of TaskExecuters within a specified group of NetworkNodes * TrafficControl has two traffic control modes: Mutual Exclusion and Untimed Traffic Modes * new sideoffset value for the FlowNode keeps travelers from visually overlapping * updates to TimeTables and MTBF/MTTR * user-definable down and resume functions * stop object * stop inputs and outputs * Presentation Builder added * Experimenter added to support multiple scenarios with multiple replications and defined performance measures * OptQuest support added * new default shapes for library objects with lower polygon count and better use of texturing * growing 3D library provided * level of detail (LOD) files automatically assigned to object based on distance away from viewer * frame (FRAME) files assigned to object based on value of object’s “frameattribute. * setframe(object,number) * getframe(object) * object animation * assign shapes based on object state * change flowitem shape as processed * new table attributes * table cellwidth (allows click-drag resizing by column) * table cellheight (allows click-drag resize all) * table drawlines (1=all, 2=horz, 3=vert) * table drawleftcol (y/n) * table fulleditor (new mode 3 for in cell text edit) * table new cell highlighting * table cleaner look * new confidence interval functionality applied to staytime chart * New label right-click edit menu * Edit as Table when using a label as a table header node * Many new picklist options, including Create and Initialize a Label v.s. Set a Label Send a Message v.s. Send a Delayed Message Custom Draw Code field Draw Text Near Object’s Name * Can now use rack for floor storage simulation * Can now define transverse travel offsets for rack * new table commands gettablecell settablesize gettablerows gettablecols clearglobaltable gettablenum gettablestr settablenum settablestr * new label commands label dellabel getlabelnum getlabelstr setlabelnum setlabelstr * new socket commands serveraccept serversend serverreceive serverclosemain servercloseconnection numconnections highestconnection * new interface commands msg (3rd parameter defines message types) showprogressbar(caption) setprogressbar(percent) hideprogressbar() userinput(targetnode,text) resetmodel() getsystemmetric(screenwidth/height) * new taskexecuter commands distancetotravel(traveller,destination) getedgedist(networknode,edgenum) getedgespeedlimit(networknode,edgenum) setcollisioncheck(object,on/off) redirectnetworktraveller(traveller,newdest) * new rack commands rackgetbayofitem(rack,flowitem) rackgetlevelofitem(rack,flowitem) rackgetitembybaylevel(rack,bay,level,itemrank) rackgetbaycontent(rack,bay) rackgetcellcontent(rack,bay,level) * new object data commands nodetopath(2nd parameter for name path) getstatenum(object) getstatestr(object) getvarnode(object,variable) getvarnum(object,variable) setvarnum(object,variable,value) getvarstr(object,variable) setvarstr(object,variable,text) getobjectshapeindex(object) setobjectshapeindex(object,index) getobjecttextureindex(object) setobjecttextureindex(object,index) getobjectimageindex(object) setobjectimageindex(object,index) getinput(object) getoutput(object) getentrytime(object) getcolorcomponent(object,index) * new statistics commands calculateconfidence(stddev,nrofdatapoints,confidence) getdatastat(mean/confidenceinterval,dataset) * new userevent commands geteventtime(eventname,mode) seteventtime(eventname,time,mode,createevent y/n) * new object development commands holditem(item) releaseitem(item) receiveitem(item) addtouserlibrary(addobject) * new automatic model building commands setselectedobject(view,object) contextdragconnect(fromobject,toobject,characterpressed) copyvariable(fromobject,toobject,variablename) copyvariables(fromobject,toobject) copylabel(fromobject,toobject,labelname) copylabels(fromobject,toobject) copyvisuals(fromobject,toobject) groupconnectto(toobject,characterpressed) groupconnectfrom(fromobject,characterpressed) groupcopyconnections(originalobject) groupsetnames(textnode,startnum,append y/n) moveselectedintohighlighted(highlightedobject) saveselectedtofile() loadselectedfromfile(highlightedobject) duplicateselected() deleteselected() selectall() deselectall() savebyname(tree,filename) * new console information commands profiletasksequence(tasksequence) profileevents() * new model flow control commands stopinput(object) stopoutput(object) resumeinput(object) resumeoutput(object) inputopen(object) outputopen(object) executing text as FlexScript executefsfile(filename) executefsnode(node,c,i,eventdata) -------------------------------------------------------------------------------- --- FlexSim 2.6.0.4 (March 4, 2004) -------------------------------------------- -------------------------------------------------------------------------------- --- FlexSim 2.5.0.2.1 () ------------------------------------------------------- * Fixed visual bug with nonaccumulating conveyor using transport (flowitem located beyond the end) * Fixed bug with display of state percentage with names for Source,Processor,MultiProcessor * Fixed File|Exit * Improved File|New * Fixed File|Open then cancel bug * Fixed Reservoir Parameter's gui * Changed traveltoloc task such that the traveller's center goes to the location instead of the front end. * OrderPacking1 and ShiftTimeTables1 sample models have been updated so that the Excel importlooks in the install directory. * Fixed display refresh problem with Hints window -------------------------------------------------------------------------------- --- FlexSim 2.5.0.2 () --------------------------------------------------------- * Random number streams can now be repeated on reset (see Stats | Repeat Random Streams menu option). * getstatenum() and getstatestr() commands added * defaultdragconnection() command added for auto connecting (or disconnecting) objects with code. * new experiment example demonstrating how to add and remove operators per scenario. * memberadd() and memberremove() commands added (for timetables and mtbf/mttr objects). * FlowRack functionality has been included in Rack functionality and the FlowRack object has been removed. * Standard Objects, Fixed Resources, and Tools library groupings have been added. * final help documentation included. -------------------------------------------------------------------------------- --- FlexSim 2.5.0.1 () --------------------------------------------------------- * the mouse wheel can be used to scroll tree views, zoom in orth/persp windows, and change z-loc for highlighted object. * you can now keep the "A" key held down when connecting ports * a model *.fsm file now saves the active view windows, the flypaths, the Excel interface code, and the experiment setup .nullifying the need for modelers to ever save a session or project!! * reorganized the menus and toolbars (only one toolbar now). * run control button have been integrated into the FlexSim main window. * "Samples" button has been added to toolbar for easy access of sample models and sample documentation. * "Excel" button has been added to toolbar for easy import and export functions. * online help has been totally reorganized and improved. * more automated process for updating models built in earlier versions. * collision object gui modified with an object selection list. * modify userevents during run with geteventtime() and seteventtime(). * updated code picklists with new commands like nrop(), addlable(), empirical(), and dempirical(). * improved current sample models and added more sample models (highway and airport models are very showy). * renamed Build C++ to Compile. * removed unneeded menus, buttons, and right-click options. * added more hint text. * added distancetotravel(), addsphere(), drawspheres(), and updatestates() commands. * added custom color saving capability. * all of the GUI in FlexSim is now customizable by the end-user. * a new file format *.fpk has been developed allowing us to "surgically update" your FlexSim version in the future nullifying the need to replace your whole project and view trees. You will receive these *.fpk files in the future via email and then you can update your version via the new "Install Service Pack" File menu option. * time and resource tracking of flowitems through the model (new OnEntry and OnExit triggers). * potential problem with min and avg staytime statistics repaired. * New time field picklist options: Two Possible Distributions By Time of Day * New "Send to Port" picklist options: Default Separator Option Round Robin Array * New "Request Transport From" picklist options: By Table Create Task Sequence Manually * New "Pick Operator" picklist options: By Table * New "Pull From Port" picklist options: Conditional Port By Lookup Table * New "Pull Requirement" picklist options: Range of Itemtypes Array of Itemtypes * New picklist options in applicable trigger fields Itemtype and Color Send Message Create Flowitems Write to Tracelist Dump Tracelist to a Table Increment Label Close and Open Ports Update Component Table Change 3D Shape Update Queue's Batch Size Update Processor's Max Content Release a TaskExecuter * New "Pass To" picklist options: First Available Shortest Distance Shortest Queue Round Robin * New "OnEntry" trigger option for NetworkNode: Send Message Close Node Edge Open Node Edge Change 3D Shape * New "Break To Requirement" picklist options on TaskExecuters: Specific Label Same load station Same itemtype Same destination * New "OnLoad" and "OnUnload" trigger options for TaskExecuters: Travel to a Specific Location Travel to an Object Reassign Current Node * improved code for "Place In Bay" and "Place in Level" pickoptions on Rack and FlowRack. * Dispatcher's "Pass To" and "Queue Strategy" fields are simultaneously available now. * added a Properties and Parameters button to get from one window type to another. * Visual Display options on a VisualTool update immediately on selection. * new Advanced button in Global Table Editor allows easier formatting of tables now. * value parameter is third parameter in Excel write commands. * undo is much more robust now. * only 1 undo is allowed for now. * undos is disenabled when compiling or running a model (user must manually re enable through menu). * excelquit() also closes link. * added dbgettablenum() and dbgettablestr() commands. * additional buttons in ToolBox: ImportMedia, ModelStartup, ExcelImportCode, ExcelExportCode. * help button listing states added to TimeTable editor. * operator shift work sample model added. * stop() command stop immediately now therefore no need for stopnow() command. * a "Start of Replication" edit field has been added to the Experimenter. * new picklist options added to Experimenter edit fields (new sample model shows how to use them). * global MTBF/MTTR can now apply to the member group or to each member independently. * First down time, OnDown trigger, and OnRepair triggers have been added to global MTBF/MTTR objects. * OnDown and OnResume triggers have been added to global TimeTable objects. * OnEntry triggers have been moved up in the OnReceive execution sequence to allow updating more object variables on entry. * new contentunder() commands counts all subobjects at any sub-heirarchal level. * added new debugger (Trace window capability). * added lefthanded keys (j,u,k,i) for making port connections/disconnections. * changed default FlowNode bitmap. * Save State and Load State File menu options added. * fixed bug with multiple "basic" flowitems appearing in FlowItem Bin. * fixed bug with dissappearing flowitem list on Source. * min, avg, max are labeled correctly in reports. * fixed bug with closing windows during presentations. * fixed crash bug when running without reseting. * "Reset" now stops as well as resets. * "Run" resets if needed before running. * a low level of zero is now acceptable in Reservoir object. * bitmaps for 6 new skyboxes have been added to fs3d folder(top7.bmp, bottom7.bmp, etc.). -------------------------------------------------------------------------------- --- FlexSim 2.5.0.0 (Oct 24, 2003) --------------------------------------------- * new Recorder object (powerful new data recording object that collects standard and user-defined data and displays 3D and 2D graphs, charts, and tables). * new Watchlist object (see Tools button). * new VisualTool object (replaces VisualObject and VisualText, also can be used as a container or presentation slide). * new MultiProcessor object (user can define an unlimited number of processing steps on one object). * new FlowNode object (a network node that flowitems flow through - each with unique speeds if desired). * new CollisionObj object (detects collision with other objects and executes a collision event). * new FlowRack object (has accumulating angled shelving and marks next flowitem to leave). * added several simple objects in the library for educational purposes, but they are not shown in the Library icon grid (their names start with "Simple"). * new ability to write global C++ code (functions/variables) that's saved with the model (see Tools button). * can now reference objects in your model by name if Object Variables are defined (see Tools button). * 3D shapes and 2D images can be imported without using an object (see Tools button). * modified Rack gui for editing number and size of all bays and levels. * Windows Sockets functionality has been added (look for commands that start with "client" or "socket"). * rearranged Library icon grid display with page selections. * can use "a" and "q" keys for connecting the VisualTool's internal ports (when used as a container) * new presentation capability has been added (see Presentation menu on a VR window, and see the Visual Display option on a Visual Tool for creating a Presentation Slide). * new sound capability (see commands that start with "sound"). * an event is now created at the beginning and end of a flypath. * a sound wave file can be played at the beginning and end of a flypath. * can now save and reload the state of a model (see savestate and loadstate commands). * fixed a bug with Combiner (occured when transporters delivered to the Combiner). * a Processor's MTBF is now based on the time it is busy and not total simulation time (must use the global MTBFMTTR event for total simulation time now). * included advanced capability for creating "coordinated tasksequences" between taskexecuters using allocate and deallocate tasks. * user can now define their own custom draw code for an object on the Properties|Visual tab. * all advanced edit fields have a corrected Help "?" window now. * new dataplot command * new distcutoff command * new setcolor,setloc,setsize,setrot,xloc,xsize,xrot, etc commands * new insertcopy command * new stopnow command (stops immediately and then allows resume) * new gettablecell command * new excelwritenum, excelwritestr, excelreadnum, and excelreadstr commands * new reassignnetnode command (dynamically change a taskexecuter's networknode assignment on the fly). * new closenodeedge and opennodeedge commands (allows more control over taskexecuters travelling a networknode system). * new 3D primitive shape commands (look for all commands that start with "draw") * "space..." commands have been revised to match the right-hand coordinate system of FlexSim. * added an OnEntry event when a taskexecuter enters a networknode. * full screen editor for table cells with string data. * single column tables have an improved appearance. * fixed bug when tables are resized lower than 2X2 * fixed bug with Rack when adding or deleting bays. * reports are saved in comma-delimeted text (csv) files now instead of rich text format (rtf). * new Views capturing menu has been added to all graphic windows. * added Execute On Reset Only, First Event Time, and Repeat Event Time options to the User-Event gui (see Tools button). * added First Failure Time to MTBFMTTR event (see Tools button). * Fixed "Select Member" picklists to show objects in all layers of the model, not just the top layer. * overloaded label and tabel commands to allow char* or string entries. * added a new Experiment1.fss, OrderPacking1.fss (includes a custom menu for importing data from Excel), ConveyorSortationLanes1.fsm in the "samples" folder. * speed up the refresh rate of pop-up guis. * added several simple objects in the library for educational purposes, but they are not shown in the Library icon grid (their names start with "Simple"). * new stats_content attribute node added to all objects. * modified the "Stack in Queue" Item Placement option for a Queue class. * can preload model with WIP using a new OnMessage trigger option. * repaired preempting problems during a load/unload task. * repaired problem with a Separator creating duplicates of a cached flowitem instead of the current flowitem. * modified AVIMaker object to force a screen refresh right before capturing a frame (improves playback) -------------------------------------------------------------------------------- --- FlexSim 2.0.3.2 () --------------------------------------------------------- * Fixed problems with OnDestroy event execution * Reorganized underlying code structure for a Fixed Resource * The documentation for Fixed Resource creation is now deprecated (to be updated in September release * When opening older models you will now be prompted to update model to the newer version. * Changed the underlying structure of the task and tasksequence. Now all accesses to attributes of tasks and tasksequences should be done through the following commands. gettasksequence() gettasksequencequeue() gettasktype() gettaskinvolved() gettaskvariable() getpriority() setpriority() getpreempt() setpreempt() gettotalnroftasks() getnroftasks() If you have written code in your model that accesses or changes any of these attributes on tasksequences, you will need to rewrite the code using these commands. Also, if you have overwritten the queue strategy or the load requirement of a Dispatcher or TaskExecuter, you will need to rewrite that code using these commands. * Two commands have been added to stop and restart objects, they are: stopobject() resumeobject() -------------------------------------------------------------------------------- --- FlexSim 2.0.3.1 () --------------------------------------------------------- * Faster execution speed (up to 10 times faster on some models) * Improved calculations for averagestaytime and averagecontent * Visual glitches fixed on ASRS and Elevator objects * Fixed problem with closing outputs of a conveyor during model runtime. * Color commands can take an fsnode reference in C++ code * Updated the tutorial models * Included a low polygon count semi truck 3d shape * Included 3 new flowitems to the flowitem bin (Person Billboard, Loaded Pallet, Textured Colored Plane) * Default Person object's 3d shape uses a WRL file where the shirt color is defined by the color of the object * dxf files are now an option for 3d shape imports * Updated the ASRS model with latest low polygon count truck shape * The staytime histogram does not require history and therefore is much faster * User has more control over the staytime histograms * Command hints window uses a more intelligent display technique to better help in code writing * Shapefactors can now be explicitly defined in the Properties Visual page of an object. * Double clicking on a word in the Commands Help window will automatically enter the word into the "Details of" field * randinit command allows user to specify starting seed values for a specific generator * OnSetupFinish trigger only executes once now * Reenabled repeat textures on VisualObject plane * New command called "outputtreecontent" which dumps all or part of a tree to a text file -------------------------------------------------------------------------------- --- FlexSim 2.0.0.9 () --------------------------------------------------------- * Engine is compatible with VisualC++.net Version 2003 (previously only v2002 compatible) * Fixed bug in Separator and Combiner when calling an operator with zero setup time * TaskExecuter will now consistently open input ports on reset regardless of queued tasks * Fixed bug in preempting options 2 and 3 (destroy active and queued tasksequences) * Corrected ASRS1.doc documentation * Fixed some obscure graphical glitches on conveyors occuring under uncommon situations * Added "Initial Z Rotation" to the ConveyorLayout tab of a Conveyor's Parameter gui. -------------------------------------------------------------------------------- --- FlexSim 2.0.0.8 () --------------------------------------------------------- * changed content revision number to match engine revision number -------------------------------------------------------------------------------- --- FlexSim 2.0.0.3 () --------------------------------------------------------- * Fixed capacity bug on conveyors * Changed all float variables to doubles as required by .NET * Fixed SplineConveyor exit problem * Improvement to node binding for increased speed -------------------------------------------------------------------------------- --- FlexSim 2.0.0.2 () --------------------------------------------------------- * Fixed bug in Separator OnProcessFinish Trigger * Fixed bug in Sendto option for matching itemtypes * Includes a "configurator" for choosing a directory for Microsoft Visual Studio .NET other than the default -------------------------------------------------------------------------------- --- FlexSim 2.0.0.1 () --------------------------------------------------------- * New revision scheme no more alphabet letter unique release numbers for engine,project,view,and model * undos work better (no key repeats when used with .net) * undo switch and history switch are remembered between compilations (when used with .net) * doesn't make a call to operators when setup or process times are zero * GUIs are faster (when used with .net) * No more dissappearing flowitems * Added additional TaskExecuter control functionality: createtraveltask createloadtask createunloadtask createtravelloadtask createtavelunloadtask createtraveltoloctask createwaittask endwaittask createdelaytask createtraveltolocandwaittask createsendmessagetask createstandardtask createemptytasksequence inserttask disptachtasksequence movetasksequence gettasksequence gettasksequencequeue getinvolved1 getinvolved2 * Added two new Operator control commands: requestoperators releaseoperators * Added a clearglobaltable command * Added a senddelayedmessage command (gives the modeler a way to create a future timeevent). * Added a few more pick options in the triggers * Processor: can now have common or independant operators called for setup and process times. bug fixed with the preempt call for operators and transports (if you've been trying to use the preempt check box, please call us) * Source: doesn't display flowitems inside it anymore * VisualObject: Will display contained objects (works well as a container now) Default shape is a plane (floors) * Conveyor: zoffset fixed pickoffset correctly assumes flowitem to be picked resides at end of conveyor. leg width is now adjustable (tied into the spatialx) corrected graphic glitch with angles less than 15 degrees. Improved tree maintenance on all objects to avoid dangling pointers * The FlowItemBin has been moved from the project to the model (saving the model will now save changes to the flowitem classes) * Decreased compile time and memory requirements by not declaring cpp variable nodes until they are actually used by modeler. * A PreDraw event code was moved to a preddraw function to allow explicit updating of object locations even when all graphic windows are closed. * Navigator bug fixed (crashed when TaskExecuters were too close to a pickup point when called). * NetworkNode bug fixed (transports jumped to next node sometimes). * General code optimization to help reduce model execution time. * Can reassign a network node to TaskExecuters on the fly (reassignnetnode). * Added a savestate and loadstate nodefunction. * Made ODBC database link more stable. * Made Excel link more stable. * dbclose command now closes the database instead of the table * dbchangetable command added * Added better checking for disconnected ports in sendto logic. * Properties page gui fixed (wouldn't open if object had unconnected ports). * New "Edit Selected Objects" menu option added to all layout windows (planar,ortho,vr) Toggle visual switches of the selected group (red). Change variables and attributes of a large selection group (red) to match those of a highlighted object(yellow). Move selection group into a highlighted object (or model). Duplicate a selection group Save a selection group to a file and reload from a file. -------------------------------------------------------------------------------- --- FlexSim 2.0.0 (May 21, 2003) -----------------------------------------------