FlexSim Knowledge Base
Announcements, articles, and guides to help you take your simulations to the next level.
Sort by:
[ FlexSim 2016 ] FlexSim 2016, version 16.0.5, is available. To download the installer log in to your account at www.flexsim.com, then go to the Downloads section and click on More Versions. If you have bug reports or other feedback on the software, please email dev@flexsim.com or create a new idea in the Development space. Release Notes 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.
View full article
[ FlexSim 2016 ] FlexSim 2016 Update 2 is available. FlexSim's start page will automatically notify you of the update and allow you to download and install the update from within FlexSim. To manually download the installer log in to your account at www.flexsim.com, then go to the Downloads section. If you have bug reports or other feedback on the software, please email dev@flexsim.com or create a new idea in the Development space. Release Notes 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() command with partitioned lists, using ListName.$1 or ListName.PartitionIDStr syntax. Added support for the ON clause in SQL queries using the query() command. 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. Process Flow Improved Process Flow view 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. 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.
View full article
FlexSim 2016 Update 2 Beta is available. To get it, log in to your account at www.flexsim.com, then go to the Downloads section, and click on More Versions. It will be at the top of the list. If you have bug reports or other feedback on the software, please email dev@flexsim.com or create a new idea in the Development space. Release Notes 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() command with partitioned lists, using ListName.$1 or ListName.PartitionIDStr syntax. Added support for the ON clause in SQL queries using the query() command. 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. 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. Process Flow Improved Process Flow view 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. 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. 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.
View full article
FlexSim Answers is designed to make information available to the FlexSim community. However, there are times when you will need help with a model or project that contains proprietary or otherwise confidential information. Here are a couple ways of getting the help you need while protecting sensitive information. Private Questions When you create a question you can mark it as Private. The question is then only viewable to FlexSim employees. A lock icon will show up next to the question for those who can see the question Comment Visibility (Currently this option is only available to moderators, but moderators may use it to make comments visible only to you and other FlexSim employees) You can also post private comments by setting the visibility level of your comment. Setting the visibility of the comment to Viewable by Moderators will make the comment visible only to FlexSim employees. Posting private comments is useful for posting confidential information to questions that aren't private.
View full article
I'm attaching a user library and an example model that contains process flows for two types of merge controller. The main advantage of both of these is that the release strategy is consolidated into a single list pull query, so that you can have incredible flexibility in defining custom release strategies just by adjusting a single query. Several query examples are included and explained. The DPClearingMergeController uses the standard merge controller mechanism that utilizes decision points and the merge controller's lane clear table to determine when slug lanes are clear for release. Alternatively, the FixedGapMergeController customizes lane release times for an optimal target gap between released slugs. This, combined with a good release strategy, can maximize total merge throughput. Here's a view of the fixed gap merge control running. Notice how it tries to time the releases so the slugs line up pretty close on the take away lane (the target gap here is 3 feet). And below is a screenshot of the fixed gap merge control process flow. mergecontrollerprocessflows.zip This model and library were created in 16.1.0.
View full article
[ FlexSim 16.1.0 ] Attached is an example model that uses both of the new template process flows for AGV and AGV elevator control, available in FlexSim 2016 Update 1. Thanks @Katharina Albert (I believe), who provided the seed model, which I adjusted/extended as I implemented these process flows. This model enumerates many of the control point connections and path configurations you might use in an AGV model when using these template process flows.
View full article
FlexSim 2016 Update 1 is available. Download it from: https://www.flexsim.com/account/#/downloads If you have bug reports or other feedback on the software, please email dev@flexsim.com or create a new idea in the Development space. Release Notes FlexSim 16.1.0 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, obviously, it 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(); 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. Added Activity Profiles to the token trace histories. 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.
View full article
FlexSim 2016 Update 1 Beta is available. Download FlexSim 2016 Update 1 Beta (updated 17 June 2016) If you have bug reports or other feedback on the software, please email dev@flexsim.com or create a new idea in the Development space. Release Notes FlexSim 16.1.0 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, obviously, it 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(); 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. Added Activity Profiles to the token trace histories. 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.
View full article
Using Mixamo Fuse, Mixamo, and (optionally) 3ds Max, you can create animated characters for use with FlexSim. For modifying the existing operators' animations, see Adding More People Animations From Mixamo Character Creation You can customize a character’s look using Mixamo Fuse: After creating the character, you can save your character as a .fuse file in case you want to edit it again later in Mixamo Fuse. Character Rigging From Mixamo Fuse, you can press the Animate button in the upper-right corner to upload the character to Mixamo’s website to apply animations. You will need to log in with a Mixamo account. You will be presented with the Mixamo Auto-Rigger. After a few moments, your character will appear in a view with a default animation applied. Choose whether to enable facial blendshapes and select the appropriate level of detail for the skeleton, such as 2 Chain Fingers, and then press Update Rig. The auto-rigger will reapply and the view will be updated with the newly rigged character. If the settings are good for your needs, press the Finish button. Character Animating Once the character is rigged, you can select it on the Mixamo website and press Find Animations to find animations to apply to the character. You can search for animations and add them to packs. For each animation, you can adjust various parameters to fit your character to that animation better. Exporting the Character and Animations Once you have applied and customized animations for your character, you can add them to the Cart and checkout in order to have them available for download. After checking out, you can select an animation or animation pack to download on the My Animations page. You can apply the same animation sets to different characters using the Change Character button after selecting the animation set. Press the Queue Download button to tell the Mixamo server to create the files for download. You want to use the FBX format so that we can edit it with 3ds Max. The pose can probably be T-Pose or Original because the Original is probably a T-Pose anyway. I use 30 Frames per Second for consistency and ease of timing animations. Keyframe Reduction didn’t seem to do anything in my tests, and you can do it yourself with more control in 3ds Max so I use “none.” If you exported multiple animations, the output will contain one fbx file that is the character shape and several other fbx files that contain only animation data for each animation. (Update) Important Note: Starting with FlexSim 2017 Update 2, the rest of the steps in this document are no longer necessary. FlexSim 17.2 added support for embedded textures, specular maps, and gloss maps that fix the material issues directly without modification in 3ds Max. FlexSim 17.2 also added support for assigning animations to a shape from multiple files, so you can import the mixamo output files directly without having to merge all the animations into a single file. The following steps can be used if you want to optimize or otherwise modify the shape files, but are no longer required. Preparing the Character using 3ds Max Import the character shape .fbx file into 3ds Max and save the file as a .max file. You will want to resave as a .max file at different points with different file names as you progress so that you can easily revert back to a previously known working point if something messes up. The FBX Import window will show you lots of options you can modify. The defaults seemed to work fine. I tried messing with the “Units” scale factor and file unit conversions, but I was unable to find any options that improved the scaling in FlexSim. Ultimately, I found it best to just use Automatic and sort out the units myself using FlexSim’s shape factors. Export the file as fbx and bring it into FlexSim to see how it looks. Again, the default options seem to work fine. In FlexSim, the size will probably be 100x too big (no matter what “unit conversion” options I seemed to set in the import/export options). Resize the character to be 100x smaller. Fixing the Materials in 3ds Max When you first bring in a Mixamo Fuse character into FlexSim, it will probably look shiny and dark. That can be fixed in 3ds Max. Open the Material Editor using the button Double-click each material in the list of Scene Materials on the left to add it to the middle view for editing. Press the “Lay Out All – Vertical” button to arrange the nodes nicely in the middle view. When you imported the .fbx file, 3ds Max should have automatically unpacked its textures into a directory called CharacterFileName.fbm. When you double-click on a texture node in the Material Editor view, you should be able to see and edit the path where it is referencing each texture in the Material Parameter Editor pane on the right. Removing the shininess Each material has Ambient, Diffuse and Specular colors, in addition to any textures that are mapped to various channels. The operator is shiny everywhere because each material’s Specular color is set to White and their specular maps are mostly black. Since FlexSim doesn’t currently read specular maps and gloss maps, the white specular color is being applied everywhere instead of the black color from the specular maps. To fix it, click each specular map and gloss map in the center view and delete them with the Delete key. Then double-click on each main material and set its specular color to black to turn off the shininess. Save the .max file with a new name, and re-export the .fbx file to test it in FlexSim. The shininess should be gone. Brightening the darkness FlexSim uses Assimp to read fbx files. Assimp’s fbx importer is setting a default Ambient color value of dark gray to the materials instead of leaving it off. This is why the character looks darker than he should. To fix it, we can simply specify an ambient color of white on each material. For each material, set the ambient color to white and check the Ambient Color box under Maps: Save the .max file with a new name, and re-export the .fbx file to test it in FlexSim. The darkness should be fixed. Setting local texture paths Based on the procedure above, the texture paths are likely to be absolute paths when you export the fbx file. You can fix that by saving the .max file, the .fbx file, and the textures all in the same directory. In Windows Explorer, copy all the useful textures from the CharacterName.fbm directory into the same directory where you have been exporting the .fbx file. Then also save your .max to that same directory. Once everything is in the same directory, you can reselect the texture file paths for each material so that they are pointing at these files instead of the other files. Then, when you export the fbx file, each texture’s path will be relative so you can copy all the necessary files onto any computer and use them correctly. After changing all the materials, export the fbx file again. You should be able to copy the fbx file and all its textures into a directory on a different machine and have them display properly. Save your .max file with all the updated materials. Making part of the object change color To make a material show the FlexSim color, append _fsclr to its name in 3ds Max: Configuring Animations With the character loaded, you can import the fbx files with just animation data, and it will automatically apply that data to the shape. The slider at the bottom controls the currently applied keyframe. The buttons in the bottom corner play the animation, pause, or step between keyframes. Animation data can be stored beyond the relevant range. You can open the Time Configuration dialog by pressing the button in the bottom corner. In that dialog, you can specify the speed of the playback and set a Start Time (keyframe number) and End Time for the animation you want to see in the viewport when you play. This dialog is only changing the playback options in the software; the actual data outside the specified range is still preserved. You may need to adjust these values as you import/modify/combine animations into one Timeline. Keyframes If you push the button on the top toolbar, it will open the Track View – Curve Editor. You can edit and modify Keyframes through this view. Click in the left pane and press Ctrl-A to select everything in the model. You should see keyframes appear if you have animation data loaded. Sometimes this window doesn’t refresh correctly and you can’t find keyframes. You can try closing it and reopening it, or pressing the and buttons to re-center the view on the keyframes in the configured time range. To edit the animations, you need to be able to see the keyframes in this view. You can drag the current frame by dragging the yellow bar around. You can zoom by scrolling the mouse wheel. Ctrl-mouse wheel will zoom the timeline (X-axis) without zooming the key values (Y-axis). You can select keyframes by dragging a rectangle around them. You can delete selected keyframes with the Delete key. You can move keyframes by dragging them. If you hold Ctrl while dragging them, then it will force the movement to be only along the X-axis and not along the Y-axis so that you don’t actually edit the keyframe’s values, just its time. You can duplicate keyframes by holding Shift and dragging them. Again, holding Ctrl will prevent the new keyframes’ values from shifting by holding the Y-axis still. You can scale keyframes by selecting them, putting the key keyframe indicator on the first keyframe in the selection, picking the menu option Edit > Transform Tools > Scale Keys Tool, and then clicking and dragging on one of the selected keyframes to scale all of the selected keyframes towards the yellow bar. This can be helpful to sync the timing of animations, such as walking empty vs. walking loaded. Preparing Animations for Merging When you load an animation into the file, the Track View – Curve Editor will show you the individual components that have keyframe animations. Different animations may affect different components and the interpolation of transformation information between keyframes may get messed up when you merge different animations that affect different components together into one timeline. To fix this, you can stamp a keyframe at the beginning and end of each animation that stores each component’s position at that point. You can also duplicate the first and the last keyframes to make it easier to specify perfectly-repeating animation clips in FlexSim later. Stamp a keyframe by moving the current frame (yellow line) to the keyframe you want. Then select all within the Track View – Curve Editor to select every component. Finally, press the Set Keys button ( ) at the bottom of the main 3ds Max window to store each component’s value as a keyframe. Duplicate keyframes by holding Shift and dragging them. Also holding Ctrl will prevent the new keyframes’ values from shifting by holding the Y-axis still. Merging Multiple Animations into One File To merge multiple animations into one file, you need the export each of the animations as an animation file (XML Animation File (*.xaf)). Then you can import each of these animations into a specific range of keyframes in the timeline. From the .max file without any animations loaded, import one of the fbx animation files. It will automatically apply it to the shape. Click in the Perspective view and press Ctrl-A to select everything. Then prepare the animation using the information above. Lastly, select the menu option Animation > Save Animation to save the animation as an XML Animation File (*.xaf). Reload the .max file without any animations and repeat this process for each animation you want to merge. Reload the .max file without any animations loaded. Click in the Perspective view and press Ctrl-A to select everything. Then select the menu option Animation > Load Animation to load an animation into the timeline. On the right side of the Load XML Animation File dialog, you can specify the keyframe number at which the animation should be inserted. Do not insert the animation at keyframe 0; make sure that keyframe 0 is the bind T-pose. This will be important later if you want to edit the mesh without breaking the skeletal rigging. You also need to be sure to specify Absolute and not Relative. Select the animation you want to import, specify the keyframe you want to insert at, and then press Load Motion to load the keyframes into the animation. Do this for each animation file you want to merge. Use the Track View – Curve Editor to determine the keyframe at which to insert each subsequent animation. Save your .max file with all the merged animations to a new file. Modifying the Mesh without Breaking the Rigging Sometimes you may want to modify the mesh after you have applied animations. I can’t guarantee that this always works perfectly, but there is a way to make some tweaks even after animations have been applied. Before trying to edit a skinned mesh, be sure to save your work so you can revert back to a clean state if something don’t work correctly. First, you need to be sure that the bind pose is frame 0 and that you are set to frame 0 on the timeline. Second, click on a mesh in the scene and click on the Modifiers tab. You will probably see an Editable Poly with a Skin modifier applied. If you click on the Skin modifier and expand the Advanced Parameters, you will see an Always Deform checkbox. If you clear the Always Deform box, you can then click on the Editable Poly and modify it. You then need to recheck the Always Deform box on the Skin modifier once you are done making edits. Ensure that your animations still work after making edits. In my tests with the operator shape above, when I cleared Always Deform, the mesh moved up slightly. This made the Tops mesh not line up correctly with the Body mesh. To fix that, I cleared and immediately checked Always Deform for each mesh (each mesh then moved up the same amount). Then I verified that the animations still worked and that the arms still lined up correctly with the shirt. Reducing Polygon Count 3ds Max has features for reducing the polygon count of an object. You can apply these modifiers without breaking the rigging by following certain steps. You can display the polygon count of your shape by clicking in the Perspective view and pressing the 7 key on the keyboard. As stated above, before modifying the mesh, clear Always Deform on the Skin modifier. To reduce the polygon count, you can use the ProOptimizer modifier. After clearing Always Deform, click on the Editable Poly and then select ProOptimizer from the Modifier List to add it to the stack between the Editable Poly and the Skin modifiers. In the Optimization Options, be sure to check Keep Textures. Then press the Calculate button. Then you can specify a Vertex % and it will start to remove vertices from your mesh. After applying the ProOptimizer modifier, the normals on your mesh might be messed up. You can recalculate the normals based on a crease angle using the Smooth modifier. Apply the Smooth modifier after the ProOptimizer and before the Skin modifier. Check the Auto Smooth box and specify a Threshold. You can use a value of 89 to get a very smooth surface, only applying a crease to angles that are greater than 89 degrees. After making these changes, be sure to recheck Always Deform on the Skin modifier, and test your animation to make sure the rigging is all still working properly.
View full article
Finding the right answer should be easy. Together we can build and maintain a well organized, growing knowledge base by practicing a bit of good Question and Answer hygiene. Below are 12 tips for using Answers in a way that will help the whole FlexSim community get maximum value from the site, and keep our content organized, efficient, and intuitive. These tips are adapted from this Devada article. Devada makes AnswerHub, which powers this site. Search existing questions before asking. Use the advanced search functionality to look for a question you may have before asking it. You may find your question has already been asked and answered. This saves you and other community members time and effort. Please also search our online user manual. Your answer may be in FlexSim's documentation. Post a model that demonstrates your question. The best case is to make a simple model that demonstrates the question or issue. If the model is sensitive, you can post a private question (see the Private Questions item below for more info). Make your question titles descriptive. Making a question's title descriptive makes it much easier for other people searching the site to find what they need. Question titles like Problem with conveyor are not very helpful when searching, whereas titles like Item gets stuck at photo eye when using area restriction are much more helpful. The question title should not be too verbose, but it should describe the problem well. Post content in the right space. When creating content, it's important to select the appropriate space for it to be posted. Choosing the right space for your content will not only keep the community organized, it's also more likely to be viewed and responded to by the right community members. Need help with some aspect of FlexSim or your simulation? It goes into the Software & Simulation Questions space. Starting a discussion that doesn't have a specific answer? General Discussion is the space it should go in. Don't post an article to ask a question - do that with a question. Don't use a question to request a feature - that should be posted as an idea. Mark correct answers as accepted. It's important to accept a correct answer to a question, especially the questions that you asked. This will make finding the right answer much easier for other members and let the community know that your problem has been solved. Let others know what answers helped you solve questions by upvoting or liking correct answers to show community support. Share your knowledge by answering questions. See a question you know the answer to? Submit an answer with text, images, links, videos, and more to support your answer and to help fellow community members. Use comments and replies. Only post an answer when you're actually answering a question. You can use comments, or directly reply to others' comments to provide support, additional information or ask for further explanations when necessary. Ask experts directly. Want a reliable answer quickly? You can ask an expert directly after creating a question and the expert will be notified. Use the 'at' symbol @ and start typing someone's name, and they will be notified that they were referenced in a post. Be sure to use the autocomplete as you type their name, or you may type it incorrectly and the user will not be notified. A properly formatted @mention automatically becomes a link. If it's not a link (like this: @Ben Wilson!), try again. Avoid overdoing @mentions. Don't make the mistake of @mentioning more people than is necessary to try to draw attention to your question: Your question is just as important as any other question. The community will help you to the best of our ability regardless, so there is no need to spam multiple users in hopes of bumping up your priority. If anything, annoying active members on the community you will only hurt your cause. Monitor reputation points and the leader-board. See how you rank in your community with reputation points. Reputation reflects engagement levels like questions asked, answers submitted, upvotes, and more. Become an expert yourself. Have an area of expertise? By providing knowledgeable answers you can be recognized as a topic expert. The system identifies these users based on the number of accepted answers you provide within a topic. Additionally, you can self-identify areas of expertise in your profile settings. Topic experts receive an elevated role in the community and get notified when content is posted within their area of expertise. Follow topics of interest. Want to continue learning about a specific topic in your community? Follow a topic and receive activity updates in your inbox instantly, daily, or on a weekly basis. Change notification frequency and other settings within your profile. Visit the community often. The more we contribute to the community, the more valuable it becomes for everyone. Have an article you want to share? Post it. Want to share an idea and generate a discussion among other FlexSim users? Answers is a great place to facilitate "ideation" and collaboration. Additional pointers for using answers.flexsim.com: Use the latest version of your internet browser. Mozilla Firefox, Google Chrome, Microsoft Edge, Opera, and other modern browsers should be fully compatible with this Answers site. For the safest, fastest, and most compatible browsing experience, please keep your browser version up-to-date with its latest release. Internet Explorer is an older browser and is not supported. Preparation We expect you to have some foundation of FlexSim knowledge and experience before asking a question. If you're new to FlexSim, before asking questions here, please take the time to go through the in-software tutorials. Topics - when you create a post, whether it's a question, article, or idea, you must tag your post with at least 1 topic (and up to 5 topics) to help identify the main issues of your post. As you add topics, autocomplete will suggest preexisting topics. Please select a preexisting topic if it is a good match, rather than creating a new, slightly different spelling of an existing topic. Also, please try to keep new topics to only 1 or 2 words. Ask one question at a time. When composing a new question, limit yourself to a single question. Don't include multiple questions in one post. Each question deserves its own place. When you separate multiple questions into individual posts, it's more likely that more users will participate in your questions, getting you more answer options more quickly, often from multiple individuals. It also makes each post smaller and easier to digest, encouraging more participation. Follow-up questions. Sometimes it's tempting to ask a follow-up question as a comment to an answer, or even more inappropriately, as a new answer to your first question. New questions that can stand alone should be posted as brand new questions. Only clarifying questions should be asked that expand on the original question/answer/comment that is being discussed. This keeps each question post laser-focused on the top question, and each answer directly pertaining to the main question. An answer should really be an answer. Each answer should directly address the top question in a post. An answer is never a 'thank you', a comment, or another question. Those each have their place (usually as a comment), but none of them should be posted as an answer. A question can have multiple answers. The question asker (or 'OP' - original poster) should 'accept' the answer that worked best for them. Users can up-vote answers that are helpful, or down-vote those that are not. The top answers will bubble up to the top. Conversations go in comments - If you need to clarify a part of someone's question ("what version of the software are you using?"), add a comment to that question. If you want to respond to someone's answer ("thank you!" or "that didn't work for me because..."), add a comment to that answer. Need to respond to someone else's comment? Reply specifically to that comment. Simple and specific questions are best. Simplify your question by creating a sample model that shows the issue, rather than posting a large model (perhaps containing proprietary information) where only one small part of it pertains to the question. Use images to show what is going on and what should be happening. Animated GIFs are even better (example). Public questions are best. They add to the public knowledge base. They will get community participation, and thus get more answers, faster responses, and broader participation. They can help others in the future. Whenever possible, simplify your question for a general audience. Private questions are for private information. If you have a question pertaining to your specific license, make it a private question. Only FlexSim US can see the contents of private questions. AnswerHub takes reasonable measures to help protect information (see their privacy policy's Security heading) but this AnswerHub community should not be considered a secure site. Be sure to follow your organization's rules regarding posting of proprietary data, and when in doubt use approved methods to share confidential information. Consider reaching out directly to your local FlexSim representative for phone or email support. Post attachments: Attachments types - If you find that you can't upload a particular file type, simply compress it to .zip and upload that way. Make a note of that in your post so that we can consider allowing your file type. Attachment sizes - We've tried to be quite generous with total allowable upload sizes. If you find that your attachment(s) are too big to upload, first try compressing to .zip. If that still doesn't get your attachments small enough to post, you may be able to use a 3rd party file hosting service such as Dropbox or SugarSync, and include a link to your uploaded file in your post. Make a note of that in your post so that we can consider increasing the file size limit if this becomes a common problem. Attachment count - Again, we've tried to be quite generous with the total number of attachments that can be added to a post, primarily because images count against your attachment count. Let us know if you're trying to make a post but run into the max attachment limit. Advanced search functions: Simple search A search that uses one or more words, separated by spaces. For example: Enter transporter resource to perform a search for transporter, resource, or transporter resource. Refined search You can refine your search by adding different symbols (+, -, [, or ]) to your search. For example: Entering transporter +resource in the search bar returns results that include transporter and resource, but resource is a required term. Entering transporter -resource in the search bar returns results that include the term transporter, but excludes any that contain the term resource. Entering in the search bar returns only results that are tagged with the transporter topic. Entering [resource] in the search bar returns only results that are tagged with the transporter and resource topics. Google search This Answers community includes Google Custom Search to easily enable the use of Google's powerful search engine across all FlexSim web sites, including this Answers community, our old, archived community, our online user manual, and more. Please see this question and answer for details. If you have any questions, comments, or tips of your own that you'd like to share, please start a discussion in the comments below. We can update the article above with the best suggestions or illuminate anything that might be confusing.
View full article
When installing FlexSim, has the installer ever quit, saying "Installation Cancelled" or "FlexSim must close"? Installation Canceled Installation was cancelled by user. Or has your FlexSim installation ever had errors upon starting the software? FlexSim has encountered a problem. Your work is saved in recovery files. Please notify FlexSim Technical Support. Retrieve your recovery files, then email FlexSim. Do you want to restart? FlexSim encountered an unrecoverable error and must close. Please notify FlexSim Technical Support about this issue. This can be frustrating any time, let alone for a brand new FlexSim installation. Here are some possible solutions that may help FlexSim install or start properly: 1. Meet the System Requirements Make sure that your computer meets FlexSim's minimum system requirements. If your computer's hardware or operating system is out of spec, you may not be able to install FlexSim, or it may not start or work properly. Don't overlook the disk space requirement. You'll need about 2.5 GB free for the installer and the completed installation in order to install FlexSim. Low disk space will cause the installation to fail. Graphics specifications are particularly important, as incompatible/nonexistent graphics hardware or out of date graphics drivers may cause strange graphics behavior or other issues. See this article for more graphics considerations, tips, and guidance for installing or upgrading graphics drivers. 2. Windows Updates, Driver Updates FlexSim relies on some newer Windows components and libraries provided by Microsoft in patches and updates. Make sure your computer is up to date with all Windows updates. In addition to Windows updates, be sure to upgrade your system's graphics drivers, as FlexSim relies on fixes and features found in the latest graphics drivers from NVIDIA, Intel, or AMD. It is not enough to just use Windows Update to check for new graphics drivers - you should check the websites for your system manufacturer or graphics vendor specifically for updated graphics drivers. See our graphics article for more detailed information. 3. Reboot your computer Windows has improved enormously over the years, but even with modern Windows sometimes a good, old-fashioned reboot can do the trick, especially if you have recently installed or uninstalled other software or Windows updates. 4. Run as Administrator Software Installation: Ensure that you have the proper privileges on your PC to install new software. Install FlexSim by right-clicking the installer file and choosing Run As Administrator. If you don't have admin rights, you will be prompted to enter credentials with admin rights. Enter the proper credentials to allow the software installation to proceed. Startup Issues: Try starting FlexSim with higher permissions by right-clicking the program icon and choosing Run As Administrator. If you don't have admin rights, you will be prompted to enter credentials with admin rights. Enter the proper credentials and the software should start with elevated permissions. Does this solve the problem? Some users have reported that some FlexSim components are blocked by default, but can run properly when FlexSim is started with elevated privileges. If you find this is the case for you, work with your IT group to determine how to unblock the DLLs or other components required by FlexSim. 5. Delete FlexSim's saved settings Sometimes when FlexSim has trouble starting up, it can be due to a corrupted prefs.t file. FlexSim's prefs.t file stores your FlexSim settings and preferences and is located at: %APPDATA%\Flexsim\FlexSim <version> The %APPDATA% address is a shortcut to your Windows user account's Roaming directory. This animation shows how to get to your %APPDATA% directory: With FlexSim closed, delete this prefs.t file. Then try starting FlexSim. Are the problems resolved? 6. Reinstall FlexSim Completely uninstall FlexSim and try a new installation. It may be worth downloading a new copy of the full installer to ensure there was no corruption in the install package. You could also try the .msi installer, instead of the .exe. When installing using the .msi you can save a log of the install process. This could help with debugging if there are still problems. Whichever method you use when reinstalling FlexSim, be sure to right-click the installer and choose to Run as Administrator (see the Run as Administrator section above). 7. Update your computer's .NET installation FlexSim relies on Microsoft's .NET Framework for some functionality. Windows 10 includes a compatible .NET version, or if a compatible version is missing the FlexSim installer will try to download and install .NET directly from Microsoft. If your computer/network does not allow this you may need to update .NET yourself. Click here to download the .NET framework directly from Microsoft. After installing the .NET Framework, please revisit the Windows Updates section above. Microsoft may provide new security fixes that should be applied to your .NET installation. 8. Reinstall Microsoft Visual C++ Redistributable These are run-time components provided by Microsoft that are required to run FlexSim. Normally these components are installed during FlexSim's installation process. If FlexSim is encountering errors, it could be caused by a broken or out of date C++ redistributable. Click here to download the latest Visual C++ Redistributable directly from Microsoft. After reinstalling the Visual C++ Redistributable, please revisit the Windows Updates section above. There may be new security fixes for the redistributable. 9. Antivirus We have seen instances where FlexSim is blocked by an overzealous Antivirus software. If FlexSim doesn't start up at all, despite a new installation, this could be the case. To test this, temporarily disable your antivirus and try to install or start FlexSim. If the problem clears up then your antivirus may indeed be blocking FlexSim. In this case, work with your IT department to configure the appropriate settings to allow FlexSim to run alongside your antivirus solution. Remember to re-enable your antivirus software after this test. 10. Windows Event Viewer If FlexSim still won't install or start, try checking the Windows Event Viewer to see if there are any errors related to installing or starting FlexSim. If so, please send those our way so that we can troubleshoot further. In case you've never used it before, here is a tutorial covering the Event Viewer. Add your comments below on what did or didn't work for you, other problems or symptoms you encountered, or tips and tricks that helped you solve them. Fixes for older versions The following suggestions apply to outdated versions of FlexSim. Update OpenSSL DLLs Applies to FlexSim versions 7.0.0-20.2.0 (excluding LTS versions 20.0.9+) Some older FlexSim installations may crash shortly after FlexSim opens, when FlexSim's start page contacts our remote servers for dynamic content, due to a new system incompatibility with the openssl library that shipped with these older FlexSim versions. Newer versions of FlexSim include updated files that resolve this problem. Install the latest version of FlexSim to obtain updated versions of the following two files: C:\Program Files\FlexSim <version>\modules\Emulation\openssl\libeay32.dll C:\Program Files\FlexSim <version>\modules\Emulation\openssl\ssleay32.dll Copy those updated DLLs to your affected FlexSim installation, under its program\Webkit folder, overwriting the older version of those files. Alternate workaround: disconnect your computer from the Internet, both wired networks and Wi-Fi. Start FlexSim. Go to File > Global Preferences > Dynamic Content tab. Deactivate all of the options there. You can now reconnect to the Internet and FlexSim may work properly the next time you start the application. Uninstall KB4571756 Applies to FlexSim versions 7.7.0-16.2.2 A Windows 10 patch released in September 2020 may prevent FlexSim versions 7.7.0-16.2.2 from starting. If you are using one of these older versions of FlexSim and the program will not start, try removing this Windows update: https://support.microsoft.com/en-us/help/4571756/windows-10-update-kb4571756
View full article
FlexSim requires modern graphics support to run well. Most modern computers from the last few years have no problem running most FlexSim models, but sometimes there are graphics configuration issues that keep FlexSim from working properly. Common symptoms The model 3D view is black or blank. You should see the model view default to a 3D grid. The 3D grid appears, but does not respond to user interaction. You should be able to click and drag the grid to pan (left-click-drag) and rotate (right-click-drag) the view. Click the grid to select it then scroll your mouse wheel - this should zoom the 3D view in and out. Unable to drag an object onto the grid. You should be able to click and drag an object from the Library and drop it onto the 3D grid. It should appear at the location of your mouse. Unable to interact with objects in the 3D view. You should be able to double-click an object to bring up its properties window, or single click to highlight, or click and drag to move it about the 3D grid. Conveyors or other objects are not drawing to the view. Unable to create connections between objects. User interface elements and other GUIs are not displaying correctly. Solutions If you are experiencing any of these issues, it is most likely a graphics compatibility issue. Here are common steps you can take to solve the problem: Open FlexSim's default workspace to reset any potentially corrupted view windows. To do so, from FlexSim's main menu, go to View > Open Default Workspace. Any open windows will be closed and the default 3D view and tool panels will be opened. This could clear up potential issues with 3D or Process Flow views, tools panels, or properties windows. Check that your computer meets FlexSim's minimum system requirements. Review FlexSim's minimum and recommended system requirements. Check this article for an in-depth explanation of hardware considerations. Update your graphics driver to the latest version. This almost always solves graphics issues and is the preferred solution whenever possible. It enables the maximum performance from your graphics hardware and eliminates bugs and glitches in previous drivers. Check out HowToGeek.com's article for a primer on updating graphics drivers. Always go directly to your graphics manufacturers website ( Intel, AMD, or Nvidia) to get the latest drivers for your graphics hardware. Do not trust that Windows Update always gives the latest graphics drivers - in fact it rarely does. Not every user has the proper administrator privileges on their computer necessary to update drivers, so you may need to contact someone in your IT department for help. Try a different graphics driver. If the graphics aren't working correctly and you downloaded the latest driver for your hardware directly from Intel, AMD, or Nvidia, try instead using the latest driver from the computer manufacturer such as HP/Dell/Lenovo/Asus/Acer, etc. If you are already using the latest driver from your computer manufacturer, try using the latest driver from the graphics card manufacturer: Intel, AMD, or Nvidia. Try starting FlexSim with higher permissions by right-clicking the program icon and choosing Run As Administrator. If you don't have admin rights, you will be prompted to enter credentials with admin rights. Enter the proper credentials and the software should start with elevated permissions. Does this solve the problem? Some users have reported certain linked libraries used by FlexSim are blocked by default, but can run properly when FlexSim is started with elevated privileges. If you find this is the case for you, work with your IT group to determine how to unblock the DLLs required by FlexSim. Try turning off Shadows by going to File > Global Preferences > Graphics tab, and uncheck the option Use Shadows. Click the Apply button, then close. Restart FlexSim to see how it responds with this changed setting. Try switching to a different OpenGL Context by going to File > Global Preferences > Graphics tab, and make a new selection for OpenGL Context. Hit Apply, then close. Restart FlexSim and see how it responds. Start with Recommended, then try Core Profile (3.3). If Core Profile (3.3) still doesn't work, try Generic. The Generic context is the last resort option, and is equivalent to the Compatibility mode option in versions of FlexSim previous to 2017. Compatibility mode/Generic Context is not intended for long term use. Revert to this mode only if you must use a computer that doesn't meet FlexSim's minimum system requirements. Test with other 3D applications. Your computer hardware or operating system may have an underlying problem that is causing your graphics issue. You may be able to test this by starting different 3D-accelerated applications or games on your computer. Do other applications besides FlexSim have graphics issues? If so, and you have already tried upgrading your graphics drivers as described above, you may need to contact your IT department or your computer's manufacturer for support. You may have hardware or other issues that prevent your 3D graphics from working properly. Contact FlexSim to let us know that your computer meets FlexSim's minimum system requirements you have installed the latest drivers for your graphics card other 3D-accelerated applications on your computer work just fine but your FlexSim installation still has graphics issues. If this is the case, there may be a software problem in FlexSim that should be addressed. When contacting us about your graphics problem, please include the following: Describe your symptoms in detail. Screenshots are very helpful. For each of the troubleshooting suggestions above, what did you try? What was the result? Please include a screenshot of your FlexSim installation's About FlexSim popup (from FlexSim's main menu > Help > About FlexSim...). This gives us info about your FlexSim version, your graphics hardware, and your graphics driver: A screenshot of your Windows Device Manager, with Display Adapters expanded, is also helpful for our troubleshooting. This gives us additional information about your graphics hardware: Special Cases Nvidia Quadro cards have many different driver versions. We have had good success using the ODE driver (‘Optimal Drivers for Enterprise’). Another option that sometimes improves Quadro compatibility with FlexSim is to open your Nvidia Control Panel and change 3D settings to "3D App - Game Development": Your laptop may have both Intel Integrated graphics and Nvidia/AMD accelerated graphics, and the ability to automatically switch between them depending on the application's 3D requirements. This is a great feature and helps to maximize your battery life. FlexSim should be automatically recognized as a program that should use discrete graphics acceleration, but in case it is not, you may need to set it manually within the Nvidia or AMD Control Panel. Here is the Nvidia Control panel. You can specify an acceleration profile for FlexSim under 3D Settings, Manage 3D settings, Program Settings tab: Click 'Add' and browse to the flexsim.exe executable (default install path is C:\Program Files\FlexSim <version>\program\flexsim.exe). You then have the ability to tweak any and all settings for your FlexSim graphics. The defaults are usually fine, but feel free to play around to tweak things to your liking.
View full article
Recommended System Requirements This article complements FlexSim's System Requirements. We'll go over each of the major components, discuss their importance to a FlexSim model, and make recommendations to help you decide on the right hardware for your situation. CPU Single Model Run A single run of a FlexSim model (ie not an experiment or optimization run) is single threaded, which means it runs on only 1 CPU core. Buying a processor with more cores won't speed up a single simulation run. To complete single model runs more quickly, use instead a processor with a faster single core clock speed (gigahertz, or cycles per second) or better efficiency (instructions per cycle). In short, for the fastest individual model runs, you want the fastest processor possible, regardless of the number of cores. Experimenter or Optimizer - Multiple Simultaneous Replications When you're doing multiple simultaneous model runs using the Experimenter or Optimizer, FlexSim takes advantage of multiple CPU cores to run simulation replications in parallel. By default, FlexSim spawns as many replications as you have cores; for example, a Quad core processor enables four single-threaded simulation runs to process simultaneously, one on each core, getting you results four times faster than by using a single core processor at the same speed/efficiency. If necessary, you can manually limit the number of concurrent replications by setting the Max Cores value from FlexSim's Main Menu under Statistics > Experimenter > Advanced tab > Max Cores input field. Each replication consumes some amount of system RAM, so if you run out of RAM before you run out of cores, it may be necessary to limit the number of cores used to run replications. Conclusion If you’re primarily doing single simulation runs, choose a faster processor speed regardless of the number of cores. If you’re primarily doing experiments, choose a processor with a high number of processing cores (and make sure your system has enough RAM to support them - see Memory below). If you’ll be doing both, choose a processor that strikes a good balance between core speed and core count. Memory Considerations Random Access Memory, or RAM, is a PC's fast "working" memory, where it stores the data and programs it is currently running (don't confuse this with your much slower hard drive, where data is stored "at rest"). Most consumer Windows computers top out at 32 or 64 GB of RAM, though Windows is capable of supporting much more when coupled with high-end hardware (see limits per OS here). Your computer is always doing many other things besides just running FlexSim. Your operating system itself has memory needs for all the processes it is constantly running. You probably have an antivirus solution, maybe a backup software, and often other utilities running invisibly in the background. Then there are all the applications you currently have open - your email, a web browser, music streaming, etc. All of these are consuming RAM. As you plan your FlexSim hardware, be aware that you should have enough RAM to run all these other applications, plus your FlexSim model, plus have a good amount of extra RAM as a buffer. FlexSim's Requirements Many FlexSim models will use less than 4 GB of RAM in a single model run, but it all depends on your simulation and data. Some large and complex models can and do go above 4 GB of RAM utilization (sometimes well above). If FlexSim's RAM utilization starts approaching a high percentage of your total available system RAM, your computer will turn sluggish or totally unresponsive as it runs out of memory and begins paging out to disk for its memory needs (which is orders of magnitude slower than RAM). A FlexSim system should have 8 GB of RAM as a minimum. For the best experience we recommend 32 GB of RAM or more. Many modern high-end consumer PCs meet this recommendation. See FlexSim's latest minimum and recommended system requirements here. Experiments and Optimizations Experiments and optimizations run several replications of your model simultaneously, so make sure you have enough total memory in your system so that each replication can hit its peak memory needs, while still leaving enough memory for the system and other running applications (OS, antivirus, other background processes, etc.). In addition, the experimenter saves statistics data for each replication by default. Each completed replication will send its statistics collectors' data to the main FlexSim thread, where it will ultimately be stored in the results database file on the hard drive. However, several stages of the transfer process require two copies of the data. In addition, all child processes can transfer data simultaneously. So, if you have a model that generates 100MB of statistics data, and you run an experiment with 8 CPUs, and all 8 CPUs finish a replication at roughly the same time, you'll need at least 1600MB (100 MB x 2 x 8) to transfer the data successfully, on top of all the other RAM utilization. Example Scenario I've developed a simulation model and now I'd like to run multiple replications using the Experimenter. Watching my simulation run normally, while monitoring FlexSim's memory usage with Windows Task Manager, I see that over the entire course of its run my simulation peaks at about 2.1 GB of RAM at its highest utilization. My computer system has 16 GB of RAM. When FlexSim is not running at all, the system uses about 20% of its resources for the operating system and other background processes. This leaves about 12.8 GB of RAM free. How many concurrent replications of FlexSim can my PC support? 12.8 GB / 2.1 GB per replication = 6.1 concurrent replications So, I might get by with allowing 6 concurrent replications of FlexSim, but I feel like 5 is a safer bet to give the system a bit of headroom, and because running the experimenter and collecting results data also requires some additional memory overhead. Since my computer has a quad-core processor and uses simultaneous multithreading (SMT) (which allows each core to run two FlexSim replications at once), FlexSim's default would be to run 8 concurrent replications. My calculations showed that 8 concurrent replications would be too many, and will probably bog down my PC, slowing or halting the entire process. I will limit the number of concurrent replications the experimenter will use by setting the Max Cores value to 5. This option is set from FlexSim's Main Menu under Statistics > Experimenter > Advanced tab > Max Cores input field. Your settings will differ from this example. Check your computer's amount of RAM, the peak memory needs of your simulation models, and your baseline RAM utilization when you're not running any simulations. Factor in a reasonable % as a buffer. Use these values to determine how many concurrent FlexSim replications your computer may support. When allowing FlexSim to use its default of running the max number of replications your CPU supports, please keep in mind that many multi-core CPUs actually run multiple threads simultaneously per core (simultaneous multithreading - SMT). To fully take advantage of all the simultaneous replications that your PC could run at once, be sure to get enough RAM for all the replications your CPU is capable of. For example, a 4-core CPU with support for SMT could run 8 simulation replications at once. Make sure you have the memory to do so! If not, be sure to use the Max Cores option to limit the number of concurrent replications. Conclusion A system meeting FlexSim's minimum RAM requirement will have enough memory for a single model run of most simulation models. If your simulations are large or complex, or if you intend on running experiments or using the optimizer, you should meet the higher recommended spec of 32 GB of RAM or more. Disk Space Requirements The FlexSim installer may be up to 1.2GB in size, depending on the FlexSim version. After installation, FlexSim's program files use up to 1.2GB of disk space. Your model files, CAD layouts, images, custom 3D shapes, import data, exported reports, and other simulation related assets that you provide will take disk space in addition to the software's installation footprint. Disk Speed Most FlexSim models will run from memory, so hard drive speed isn't really an issue. However, if you're reading/writing with files/databases while the model is running, disk speed could make a huge difference; a Solid-State Drive (SSD) is a must in that case. Alternatively, try to do data reading and writing before and after the simulation run, if possible. FlexSim recommends SSDs in general because they make every interaction with your computer feel faster and more responsive. You won't regret an upgrade from a regular, spinning hard drive to an SSD. Conclusion Consider upgrading your hard drive to an SSD if you will be reading or writing to files or databases during a model run, or to generally improve system responsiveness. Graphics Recommended Graphics The better/newer/bigger/faster the graphics processor, the better the performance. Integrated graphics, where a smaller GPU is packaged into the CPU, have gotten much better in recent years, but a discrete GPU remains the most powerful graphics solution. FlexSim works best on Nvidia GeForce RTX or GTX GPUs, but Nvidia Quadro and AMD Radeon are also good solutions. Most recent integrated graphics solutions meet FlexSim's minimum graphics requirements, but in general will not perform as well as discrete graphics. Graphics Driver Updates It is also important to note that you should keep your graphics drivers updated to the latest version. If your graphics hardware meets FlexSim's minimum requirements but you are experiencing graphical issues in FlexSim, a graphics driver update may solve the problem. Please check out this article for some common symptoms and solutions to graphics issues within FlexSim. Virtual Reality FlexSim supports Oculus Rift/Meta Quest 2, HTC Vive, and Windows mixed reality virtual reality platforms (see demo models). Be sure to meet FlexSim's higher recommended specifications if you plan to use VR. Conclusion While recent integrated graphics solutions meet FlexSim's minimum requirements, a discrete graphics solution is a better choice. For maximum performance, FlexSim recommends a recent NVIDIA GeForce RTX GPU.
View full article
Node-locked Node-locked can only be activated once. Be sure that you install the license where you would like it to be installed for the next year. FlexSim can assist with one migration for extenuating circumstances, such as a crashed computer, but there will be fees for any additional migrations. Please contact your distributor to receive assistance with moving your license. The node-locked license feature of terminal server usage (remote desktop) is disabled and cannot be enabled. Transferable There is no limit to the number of times a license seat can be activated and returned. If the transferable license is not a network license, then by default the license feature of terminal server usage (remote desktop) is disabled.    Please reference other articles or our documentation for further information about licensing.
View full article
Top Contributors