FlexSim Knowledge Base
Announcements, articles, and guides to help you take your simulations to the next level.
Sort by:
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
Note: the demo models were created specifically for the FlexSim user community who speak spanish, and all the explanations, statistics, and documentation available in the dashboard, GUIs, and Model Documentation are in Spanish. Nonetheless, given that 3D animation is a universal language, you are welcome to download these models regardless of the language you speak. Manipulación de material / Material handling Demo_Crossdocking.fsm En este modelo, llegan tres tipos de productos a dos zona de recepción. Un primer grupo de operarios se encarga de transportarlos a una zona de almacenamiento intermedio. Desde allí, otro grupo de operarios los clasifica según la ciudad a la que serán despachados. In this model, three types of products arrive at two reception areas. A first group of operators transports them to an intermediate storage area, where another group of workers sorts them according to the city they will be delivered to. Preparación de pedidos / Picking Demo_Picking.fsm En este modelo, los pedidos llegan de manera aleatoria a lo largo del día y son revisados y preparados por un operario. En este modelo, se puede modificar si los operarios realizan la preparación a pie o utilizando un vehículo, así como la ubicación del almacén de estibas y el número de operarios asignados. In this model, orders arrive randomly throughout the day, which are reviewed and prepared by an operator. In this model, you can change whether the operator does the picking on foot or using a vehicle, the location of the pallet zone, and the number of assigned operators. AGV - Vehículos de guiado automático Demo_AGV.fsm Este modelo demuestra la aplicación del módulo de AGVs de FlexSim, que permite simular sistemas que utilizan AGVs para el transporte automatizado de material. En este modelo, un AGV con capacidad para cinco productos se encarga de transportarlos entre dos zonas dentro de un proceso. This model demonstrates the application of the AGV module in FlexSim, which allows simulating systems that use AGVs for auomated material handling. In this model, an AGV with a capacity of five productos is responsible for transporting them between two zones within a process. Preparación de kits / Kitting Demo_Kitting.fsm Este modelo representa un proceso productivo que utiliza la técnica de preparación de pedidos. Mediante parámetros, es posible activar o desactivar estaciones de trabajo para evaluar el impacto en la productividad del proceso. This model represents a kitting process. Through parameters, it is possible to activate or deactivate workstations to evaluate the change in throughput statistics. Centro de vacunación / Vaccination center Demo_HC.fsm En este modelo se representan un sistema de atención de pacientes en un centro de vacunación. Los pacientes llegan de forma aleatoria, se registran y esperan hasta que una enfermera los vacune. This model represents a patient care system in a vaccination center. Patients arrive randomly, complete a registration process, and wait until they are vaccinated by a nurse. Cajero automático / ATM Demo_ATM.fsm En este modelo, se representan un sistema de retiro de dinero en cajeros automáticos (ATMs). Los usuarios llegan de forma aleatoria y realizan un retiro si hay un cajero disponible; de lo contrario ,esperan en la fila. This model represents a cash withdrawal system at ATMs. Users arrive randomly and proceed with a withdrawal if a cash machine is available; otherwise, they wait in line. Fluidos / Fluid Library Demo_Fluidos.fsm Este modelo representa un sistema de embotellado. Se generan, mezclan, procesan y finalmente embotellan dos tipos de fluidos. Después de embotellados, un operario los transporta a la zona de empaque. This model represents a bottling system. Two types of fluids are generated, mixed, processed, and finally bottled. After bottling, they are transported to the packaging area by an operator. Navegador GIS / GIS Navigator Demo_GIS.fsm Este modelo muestra cómo se utiliza el módulo GIS de FlexSim para determinar la ubicación óptima de un nuevo almacén, teniendo en cuenta una red de distribución específica. This model demonstrates how the GIS module of FlexSim is used to determined the optimal location for a new warehouse, considering a specific distribution network.
View full article
Interacting with your licenses isn't something you do every day, but it doesn't need to be intimidating. We've documented all the main procedures you'll use to manage your FlexSim licenses like a pro.   When you purchased your FlexSim licenses you chose one of two methods for licensing your software. Click below to jump to the licensing procedures for your style of licenses:   Network Licensing Standalone Licensing Need a refresher on the differences between network and standalone licensing? Our Standalone vs Network Licensing.pdf is a basic intro or check out our in-depth article on License Models. Network Licensing With an in-house license server you don't activate your licenses directly in the software (as in standalone licensing). Instead, your FlexSim software is configured to obtain a seat from a license server in your organization's network. Your organization will need to provision, install, and maintain a license server.   Here are instructions for all the primary server licensing tasks.   Install, Configure, Activate Here are our instructions for installing, configuring, and licensing your server, and for configuring FlexSim to get a seat from your license server. This document covers both online and secure/offline scenarios.   PDF installation guide Online Answers articles index We have some shorter guides focused specifically on just the license activation step. If you already have an installed and configured license server, these guides are provided as a convenience for use in subsequent licensing procedures, like upgrading your licenses.   License Server - Activation - Online License Server - Activation - XML / Offline   Return You may occasionally need to migrate your licenses to a new license server or return your license as part of a license version upgrade.   License Server - Return - Online License Server - Return - XML / Offline   Repair In rare circumstances your activated license can become "broken". This means that even though the license is still activated on your server it is no longer able to serve seats to client PCs. This can happen if your server hardware or operating system changes significantly.   License Server - Repair - Online License Server - Repair - XML / Offline   Upgrade FlexSim releases new feature-versions several times per year. If the licenses activated on your license server are lower than the version of FlexSim software you're trying to run, FlexSim software won't be able to be licensed by your license server. You can learn more about how licensing works for a given version number in our Answers article FlexSim Version Numbering.   In this case you'll need to upgrade the activated licenses on your license server. If your maintenance is current, follow the procedure linked below to upgrade your license server for use with the latest versions of FlexSim. If your maintenance is expired contact your local FlexSim distributor to renew.   This article covers both online and secure/offline scenarios.   License Server - Upgrading your hosted licenses   Miscellaneous These items don't pertain to any particular licensing procedure but may be useful in some situations.   License Server - View licenses License Server - Delete fulfillment License Server - Troubleshooting tips License Server - Client/Server connectivity   Standalone Licensing With standalone licensing you'll activate a license code (also called an Activation ID) directly in FlexSim.   Below are detailed instructions for all the primary licensing tasks used in managing your standalone licenses:   Activation To apply a license to your computer, follow the linked instructions depending on whether your computer or network allows FlexSim to communicate online.   Standalone - Activation - Online Standalone - Activation - XML / Offline   Return Returning your license removes it from your computer and makes your seat available for a new activation. This is useful if you need to free up a seat for a colleague or move your license to a different computer. You may also return your license as part of the upgrade process for a new version of FlexSim - returning the old version so that you can activate an upgraded Activation ID.   Standalone - Return - Online Standalone - Return - XML / Offline   Repair In rare circumstances, your activated license can become "broken". This means that even though the license is still activated on your computer it no longer enables additional features allowed by your license type. This can happen if your computer hardware or operating system changes significantly.   There is no online method available. Please use the XML / Offline method. Standalone - Repair - XML / Offline   Upgrade FlexSim releases several new feature-versions per year. An upgraded version of the software requires an updated license key to enable its licensed features. Licenses with a current maintenance subscription are eligible to be upgraded to the new version. You can learn more about how licensing works for a given version number in our Answers article FlexSim Version Numbering.   If your maintenance is current, follow the procedure linked below to upgrade your license for use with the latest versions of FlexSim. If your maintenance is expired contact your local FlexSim distributor to renew.   This article covers both online and secure/offline scenarios:   Standalone - Upgrading your license   Miscellaneous These items don't pertain to any particular licensing procedure but may be useful in some situations.   Standalone - View licenses Standalone - Delete fulfillment
View full article
Verify Connectivity   Issues with client-server licensing can often be traced to communication issues that prevent the client PC and server from communicating. The first step is to verify whether the client PC can connect to the license server over the licensing ports.   Even if you successfully establish connectivity, remember that server configuration or license issues can also keep a client PC from becoming licensed. See our Troubleshooting Tips article for guidance.   Basic connectivity (ping test)   On the client PC, click the Start button or press the Windows key, then type “cmd” into the search box in the Start menu, and press Enter. Windows will search for and open the Command Prompt.   From the command prompt, enter ping [server name or IP address]. For example, if your license server has a local IP address of 10.0.0.135, then type on the command line ping 10.0.0.135.   If you are referencing your license server by name in FlexSim software’s License Activation interface, use the same fully qualified domain name here instead of the IP address:     If your client PC receives a response from your license server, then the server is visible across the network, by name or IP address, from the client PC.   Advanced connectivity - ports test   If you can pass the ping test the next step is to see if the required ports are open for communication. There are a couple of methods you can use to test if your client PC can connect to your license server over the ports specified in the .lic file.   PowerShell Test-NetConnection   From Windows PowerShell, enter Test-NetConnection [server name or IP address] -Port [port number]. For example, if your license server has a local IP address of 10.0.0.135, and is hosting FlexSim licensing over our default ports 26914 and 56914, you should run the following two commands:   Test-NetConnection 10.0.0.135 -Port 26914 Test-NetConnection 10.0.0.135 -Port 56914   If both of these commands include in their response TcpTestSucceeded : True, then the required connectivity is available. Test-NetConnection documentation   Telnet   Check out our tutorial video at https://flexs.im/telnet that guides you through the basic steps of enabling telnet on your client PC, then using it to test port connections from a client PC to your license server.   Double check your configurations   If you can't establish a ping connection or a port connection, use the suggestions below to double-check your settings. Or perhaps you passed the connection verification checks but FlexSim Software is still not getting licensed? These connectivity tips may reveal the solution:   CLIENT PC SETTINGS - You may have a typo or otherwise have misconfigured the settings that point your client PC to the license server. Double check that your settings are entered using the correct format (single-user client PC, multi-user client PC).   PORT & ADDRESS - Double check the port number and server address/name used in activating licenses on your client PC. Make the port number specified is the number in use for your license service. Our default port number is 26914 but enter your custom port number if you set your own.   SERVER FIREWALL - Did you add the required exceptions to your license server’s firewall (lmtools, lmadmin)? To any other network appliances and firewalls (lmtools, lmadmin)?   Connectivity suggestions   You've triple-checked your client PC settings. You've set firewall exceptions. The port test still shows that you can't connect from the client PC to the server. What can you do?   These aren't fixes, but they can help you narrow the source of the problem so that you can find a solution.   CHECK THE LICENSE SERVER - Maybe your license server isn't actually serving your licenses. You can install the FlexSim simulation software locally on your license server, then using the port you specified (default is 26914) and the local IP address 127.0.0.1, you can point your local FlexSim installation to the local license server to see if your license server can license itself. If it can't, check out these license-server troubleshooting tips (where you'll also read about this local test troubleshooting method).   DISABLE FIREWALLS (temporarily as a test) - A connection issue could be caused by a firewall configuration problem on the client PC, on the license server, or on some network appliance in between. One at a time, disable intervening firewalls on the client PC, the license server, and appliances in-between, as applicable. With each disabled firewall, retest connectivity. If connectivity is established after disabling a firewall, work on that firewall's configuration, then reenable it. Test again. Repeat for each firewall until a connection between client and server can be established.   DISABLE ANTI-VIRUS (temporarily as a test) - Some anti-virus solutions will block application communications. Disable anti-virus software on the client PC. If nothing changes, also disable anti-virus on the server. If this fixes the issue, work with your IT administrator to modify your anti-virus settings. Remember to reactivate your anti-virus software after this experiment.   ASK YOUR FRIENDLY NEIGHBORHOOD ADMIN - Your network may have settings, topology, filtering, etc. that affect the client PC’s ability to communicate with the license server. Work with your network administrator to make sure the client PC can communicate with the license server across your network using both port numbers - for the licensing service and the vendor daemon. See default and custom port numbers.
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
Introduction   A new feature-version of FlexSim Simulation Software is released several times per year. In order for client PCs to be able to run a licensed version of the upgraded software, you may need to upgrade the activated license(s) on your license server. Licenses with a current maintenance subscription are eligible to be upgraded to the latest version.   If you don't understand how licensing works for different FlexSim versions, please review our Answers article FlexSim Version Numbering.   Overview   There are 6 main steps to upgrading the licenses hosted on your lmadmin or lmtools license server:   Check if you need to upgrade your license server files Return the licenses you intend to upgrade Upgrade your licenses Activate the upgraded license Reread the license Upgrade client PCs   Several of these steps have their own fully documented procedures. We'll link you to those resources below.   1. Check if you need to upgrade your license server files   If your organization's license server was installed previously and hosting licenses for FlexSim 25.1 or lower, it may need to be upgraded for compatibility with FlexSim 25.2 and higher. Click here to learn more or go directly to the latest license server files.   After you have upgraded your license server files, move on with the rest of the upgrade process, as outlined below.   2. Return the licenses you intend to upgrade   The steps to return a license-server-based license are fully documented. Choose the link below that best matches your needs, depending on whether your license server can connect to the Internet:   License Server - Return - Online License Server - Return - XML / Offline   Be sure to return ALL licenses you wish to upgrade.   3. Upgrade your licenses   NOTE: Licenses with expired maintenance will not upgrade. Timed licenses do not upgrade. Only permanent (not timed) licenses under current maintenance can be upgraded. Contact your salesperson for extending a subscription or other circumstances.   Log in to your FlexSim Account.   If you were already logged in to your FlexSim Account, in the top navigation menu hover over your initials icon and choose Reload Account.     Now in the top navigation menu, choose Licenses > List.     Check that the available seat count is equal to the total. All of a license’s seats should be returned for it to upgrade.   Click on the Upgrade Licenses button.     If you have several licenses to upgrade and all are owned by or shared with your FlexSim Account, they will all be upgraded at once. Please be patient while the upgrade process works in the background.   When the page refreshes, eligible licenses will have a new activation ID for the latest version of the software. Your license code indicates its version at the end of the code to help you know what versions your license will properly activate. Review license code format.   4. Activate the upgraded licenses   The steps to activate a license-server-based license are fully documented. Choose the link below that best matches your needs, depending on whether your license server can connect to the Internet:   License Server - Activation - Online License Server - Activation - XML / Offline   5. Reread the license   Your license server needs to start serving up your newly activated licenses. You can either restart your license manager service, or use your license manager's option to reread your licenses.   The steps to reread your licenses differ depending on which license manager you are using to host your licenses. Use these links to jump to instructions for the license manager you're using:   lmadmin lmtools+lmgrd   6. Upgrade client PCs   Finally, upgrade your PC with a version of FlexSim appropriate for your new license (learn how licenses work across versions).   After installing a new version of FlexSim, you will need to configure it to get a license from your license server. There are two ways a client PC can be configured. Choose the method below that most closely matches the main use case for your client PC:   Single-user client PCs - this method configures settings that are saved on a per-user basis. Multi-user client PCs - usually appropriate for a university computer lab or other shared-PC situation, where the configuration should be computer-based.   Having trouble licensing your client PC?   Verify client PC licensing to find out if your client PC is successfully getting a license from your new license server. Diagnose Client/Server connectivity issues that may be preventing your FlexSim software from obtaining a license. Discover other issues that may be preventing your client PC from obtaining a license by working through our License Server Troubleshooting tips.  
View full article
This Kiva system demo model showcases some of the new AGV/AMR features that were added in FlexSim 2023, including new events and parameters to help with deadlock and allocation failure, and dynamic barrier management. You can update the layout through five parameters, and then click the “Build” button to re-build the system. FlexSim-2023-Kiva-System-Demo.fsm
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 the Memory heading, 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 16 GB of RAM as a minimum. For the best experience we recommend 32 GB of RAM or more. Many modern 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 installed 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 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
This model is a proof-of-concept example for combining FlexSim's GIS features with the power of mixed integer programming in python. The model simulates a distribution network of 'factories' (red icons) and 'warehouses' (blue icons). The factories produce the product you are selling, and then distribute the product to various warehouses in the network. Every day, each warehouse generates a random demand for the product. Once demand from each warehouse is known, the 'demand dispatcher' must determine which factory should produce and ship how much of the product to each warehouse, fulfilling all warehouses' demands at minimum total cost. Each factory has a maximum daily capacity of production and a per-unit cost of production. In addition, shipping costs must be taken into account from each factory to each warehouse. Given these factors and constraints, the problem of optimal dispatching boils down to the well-known min cost flow problem in optimization. I've created a simple python script that uses cvxpy to solve this min cost flow problem as a mixed integer program. The MIP is not exactly the same as the standard min cost flow problem, since total factory capacity may be more than total warehouse demand, and I'm using integer instead of continuous variables. Nevertheless, it is sufficient to demonstrate the capability. The Warehouse process flow generates daily demand for each warehouse and pushes it to a shared Demand list. The DemandDispatcher then pulls demand from the list, and marshals capacity, demand, and cost data into parameters that can be passed to python. Then it evaluates getMinCostFlow label on the process flow, passing those parameters in. The label is configured to connect to the getMinCostFlow function defined in the MinCostFlow.py module. This function formulates the MIP with cvxpy, solves the program, and then returns the optimal shipping quantities for each factory-warehouse pair, returning control back to FlexSim. Once the shipping quantities have been resolved, the DemandDispatcher process flow creates and labels 'Trucks' that are sent to each warehouse. Note that this travel mechanism is purely for animation purposes, letting you visualize how much product is being sent from factories to warehouses each day. Potential additions to this model could use inventory management strategies, simulating randomized lead times, etc. I've added several dashboards that show the cumulative average breakout for each warehouse of which factories supply that warehouse, as well as the cumulative average breakout for each factory of which warehouses that factory supplies. I've also added costing measures for the warehouses and factories. Some interesting insights that can be gleaned from this model are how shipping vs. production costs affect the balance of which factories will ship to which warehouses. For example, if your shipping costs are low relative to your production costs, then the min cost flow algorithm will push production to factories that are the lowest cost to produce, even if they are far away from the destination warehouse. High production cost factories are consequently relegated to little if any production. However, if shipping costs are high, the algorithm will localize production to the factories nearest their respective warehouses. In order to run this model, you need python properly configured, including: Install one of these python versions: 3.7, 3.8, 3.9, 3.10 Install the cvxpy and cvxopt packages: python -m pip install cvxpy cvxopt Make sure the python directory is part of your PATH environment variable Configure your Global Preferences (the Code tab) to use the associated python version. This model was built in FlexSim 22.1. MinCostFlow.zip
View full article
FlexSim 2018 Beta is available. (updated 8 Dec 2017) To get the beta, 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 [email protected] or create a new idea in the Development space. Release Notes Added a new People module. (Try out the Sample Models) Added new dashboard chart templates to quickly collect and display statistics. Legacy charts are hidden by default in the Library and can be enabled through Global Preferences. Removed the basic Person flowitem and renamed the TaskExecuterFlowItem to Person. Added functionality to the List's pull method to allow you to pull an object/node directly (without writing SQL). Updated ODA to be compatible with DWG 2018 shapes. Updated Assimp to be compatible with the latest FBX file format. Added a RegExResult class for iterating over the matches in a regular expression. Lists can now use arrays as partition ids. Added a mechanism for automatically setting the reset position of objects after moving them by setting their resetposition variable to 1. Added a By Lazy Interval update mode to the calculated table. Improved calculated table performance by reducing the amount of table updates. Improved statistics collector performance by reducing the number of updates to Always columns. Table views can now be set as read-only using the grayed attribute. Added an Ignore Warmup option to statistics collectors. Updated OptQuest so that it can run more than 10,000 solutions. Added a pick option for restoring default values in the Global Table's On Reset trigger. The Query test field is now a multi-line text box. The Source now adds labels to items before calling the OnCreation trigger. Updated the table selection for the Excel Import/Export. Improved color options in various dashboard charts. Changed the model update dialog to be able to autosave the model with an incremented number. Added many new animations for the operator and the person flowitem. Updated many stochastic pick options to use getstream() as the default stream parameter. Updated the TaskExecuter to connect to the DefaultNavigator when created. Improved the Group UI. Updated the Library view to not change when clicking on the User Manual view. Changed the Tree view's Explore > As Code so that it closes the tree's edit view. Fixed a bug with list initial contents having old values in label fields. Fixed a bug with the statistics collector chart interface checkboxes. Fixed an OnDropWindow exception. Fixed some exceptions in the Table View when viewing an Array that no longer exists. Process Flow Added a Date Time Source activity. Added a Wait for Simultaneous Arrivals Before Entry option to the Zone. Added autocomplete for instanced flow labels (current). Added a zoneistokeninsubset() command. Conveyor Added a Round Robin destination option to the Send Item pick option. AStar Added a visual option to show the travel threshold for objects. Improved the draw performance and fixed the timing of some graphical updates. Fixed a bug caused by using the distancetotravel() command in conjunction with collision avoidance. AGV Fixed a bug with redirecting AGVs at times other than On Pre-Arrival of way points.
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
Download the files Download FlexSim’s latest lmtools-related files here: https://flexs.im/lmtools-download You can browse archived versions of both lmtools and lmadmin here: https://flexs.im/licenseserver-archive Extract the download Once the download is complete, right-click the .zip archive and choose to Extract All… Save to a folder directly on your root drive. Your lmtools download folder Your extracted folder should end up looking something like this: In later instruction steps, any time we refer to the downloaded files, these are the files we're talking about. Note on location Technically you could save your download files in any folder, but we recommend right at the root drive level for convenience. If you choose to save your download folder in an alternate location, please make sure that the directory path doesn't include any folder named "FlexSim". Since Windows files are not case sensitive, this prohibition also applies to variations like "Flexsim" or "flexsim". We have seen instances where some versions of FlexNet licensing encounter errors when the name of the vendor daemon ("flexsim" in our case) is the same as a folder in the path. A folder that includes "FlexSim" as part of a larger name is fine. For example "FlexSim_Licensing" is a fine folder name. Examples of good paths: C:\FlexSim_LMTOOLS C:\licensing\vendors\FlexSim_LMTOOLS\ C:\Program Data\FlexSim_License\ Examples of bad paths (incompatible folder names bolded): C:\flexsim\ C:\licensing\vendors\Flexsim\ C:\Program Data\licensing\FlexSim\files\
View full article
This sample model shows the flexibility and power of the mass flow conveyor object. It contains many examples of stations found in this production process, from depalletizing glass bottles all the way through final packaging. The model makes use of many custom shapes that add realism and visual appeal to the simulation. Mass-Flow-Bottling-Line-Custom-Shapes.fsm
View full article
Preparation   You may want to brush up on how a license version is related to a product version.   When you understand what version of FlexSim will work with your license, download and install an appropriate software version for your license.   If your computer is not connected to the Internet, you will need to transfer FlexSim's installer to your computer on a USB drive or some other method.   You will also need to be able to transfer XML license files to and from your offline computer.   NOTE: If this is the first time a license has been activated on this computer, an initial XML request/response communication will be needed to configure your local Trusted Storage.   This means that for a first ever license activation on a given computer, complete the steps below for just a single Activation ID - that will configure your computer's Trusted Storage.   Once that is complete, repeat again the entire Manual XML activation process for that initial Activation ID and any other Activation IDs that will be installed to this computer.   Find your licenses   Log in to your FlexSim Account, click the Licenses link in the top menu. In the Licenses submenu, choose List. Expand the various product and version folders to find the Activation ID you wish to activate. An Activation ID looks similar to this example: yourcompany.com01-ABCDE-FGHIJ-KLMNO-FSENT16.2   Create manual activation requests   Open FlexSim Software. In FlexSim's main menu, Go to Help > License Activation. Click the Advanced tab. Go to the Manual Activation sub-tab. Enter a valid Activation ID into the field (see the Find your licenses heading, above). Click the Generate Request button. You will be prompted to save an XML file. Choose a location and filename to save your XML activation request. If this is your first time ever activating any FlexSim licenses on this PC, only generate an XML request for one activation ID (see red-highlighted note above). Otherwise, repeat steps 4-6 for all licenses you wish to activate on this PC, so that all your XML activation request files can be transferred at one time.   Submit your manual activation requests   Transfer your XML activation requests to a computer with Internet access. From your Internet-connected computer, open a web browser and login to your FlexSim Account. Click the Licenses link in the header, then choose Manual XML in the Licenses submenu. Upload your XML files by dragging them onto the drop zone. Your uploaded XML requests will be processed. Upon completion, you will be prompted to download each XML response.   Process your manual activation responses   Transfer your downloaded XML activation responses to the offline computer you are licensing. In FlexSim, using the same licensing interface where you generated your request, click the Process Response button. Browse to an XML activation response file. FlexSim should give you an indication of successful processing of your activation, and your activation will be complete. Repeat to process the XML activation responses for any other licenses you are manually activating.   IMPORTANT NOTE   If this is the first time a license has been activated on this computer, an initial request/response communication will only serve to configure your local Trusted Storage.   This means that for a first ever license activation on a given computer, after this first request/response has been successfully processed on the offline computer, a 2nd request using the same license code will need to be generated/uploaded/processed/downloaded/processed to fully activate your license.   This is a one-time event per-computer. Subsequent license activations to the same system require only one request/response XML pair. If you have any questions or problems, please search our Community for possible solutions. There is a good chance someone else has already asked your question.   Still not finding what you're looking for? Licensed users can submit a support request and we'll check it out.
View full article
FlexSim 2021 Beta is available. (Updated 19 November 2020) To get the beta, 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 [email protected] or create a new idea in the Development space. Release Notes Added a Model Parameter Table tool. Added a Performance Measure Table tool. Added an Empirical Distribution tool. Added a Web Page tool. Upgraded html views from WebKit to Chromium Embedded Framework. Added a Map FlexScript API. Added a JSON FlexScript API. Added Object.getProperty() and Object.setProperty() methods to the Object FlexScript API. Moved dashboard properties windows into the context sensitive Properties window. Backwards Compatibility Note: the following changes may slightly change the way updated models behave. The Experimenter and Optimizer now use Model Parameter and Performance Measure Tables. Existing experiments and optimizations are no longer compatible and are discarded by the model upgrade process. Fixed the PowerPoint.Presentation.create() and PowerPoint.Presentation.open() method syntax. Due to Chromium's multi-process architecture, the FlexScript command callwebscriptmethod() and JavaScript function fireFlexsimEvent() are now asynchronous and do not return values directly. To get the return value of fireFlexsimEvent(), you can now pass a callback function as the last parameter: fireFlexsimEvent("myEvent", param1, param2, function(result) { alert("result: " + result); }); AStar Added a Strict Diagonals setting to make travelers travel better around corners. Conveyor Added a Mass Flow Conveyor. Backwards Compatibility Note: the following changes may slightly change the way updated models behave. Removed Conveyor Types. People Added a Remove Statistically Only checkbox to the Remove Person activity. Updated the Statistics Properties panel to display HC states.
View full article
Attached are three models that can be used to see the VR capabilities of FlexSim. oculus-warehouse-demo4.fsm (built with FlexSim 7.7) oculustouchdemo-6.fsm (built with FlexSim 17.1) The zombie production game was also updated for VR. These models were primarily designed and tested with the Oculus Rift, but they work with the HTC Vive as well. The HTC Vive requires a more powerful graphics card than the Oculus Rift does to achieve similar performance. You need to maintain 90+ frames per second (File > Global Preferences > Graphics > Show FPS Counter) in order to avoid judder with the HTC Vive. The Oculus Rift will remain smooth at 45 FPS or higher due to asynchronous spacewarp in their driver. In any model in 17.1, you can teleport around by pointing and pressing the Vive touch pads or Oculus Touch thumb sticks as buttons. The position where the thumb presses the button on the Vive or the direction that the thumb stick is rotated on the Oculus Touch will affect the direction you are looking when you teleport. This control scheme is similar to the Oculus Home controls. Moving via teleporting minimizes the motion sickness felt by users who are unaccustomed to VR. In the touch demo model, you can push buttons to release conveyor merge lanes, move operator figurines to change the operator assignments, and control the crane. The code that handles the touch inputs is in the ModelOnPreDraw user command. See VR model custom code for a version of the model with more comments in the code. The warehouse demo model was built in 2015 and doesn’t have any interactive elements that work with the Oculus Touch or HTC Vive controllers. For optimal tracking, after you press the VR Mode button in FlexSim and put on the headset, make sure you recenter the headset in the VR settings while standing or sitting in the middle of your play area and looking straight forward. On the Vive, push the system button to open the Steam VR overlay, then press the Settings button near the bottom-right corner, then look straight forward and press the Reset Seated Position button. On the Oculus, press the Oculus home button and then press the Reset View in App button in the upper-right corner.
View full article
FlexSim 25.2.0 includes upgraded third-party licensing libraries which require an updated set of license server files based on Flexnet Publisher version 11.19.8.0 or higher. For background, see Version Compatibility Between Components. In terms of that article, the client library linked to the FlexEnabled application (FlexSim) was upgraded, so all the licensing components further up the list also require an upgrade. Thus, FlexSim has a new set of license server files available. Download the new license server files here:   https://flexs.im/lmtools-download   Suggested instructions:   1. Download the new license server files (.zip archive) and extract to a location right next to your previous license server tools, like in this screenshot:     2. Install the latest anchor service: Browse the newly extracted files to find flexsimserveractutil.exe. Right click and choose Run as Administrator. From the main menu of flexsimserveractutil.exe, go to Tools > Licensing Service > Install Anchor Service. This will install the updated version of the licensing anchor service, compatible with FlexSim 25.2 and higher. For more information, see License Server - FlexNet Licensing Service 64.   3. Start the new lmtools.exe from the new folder. Your FlexSim_License service should be listed there.   4. Update the paths for lmgrd.exe, flexsim.lic, and log.log to point to the new files in the newly extracted folder.     5. After editing the three paths, save the service (button in upper right).   6. Check the service using Windows Services. Make sure that the "log on" tab is still set to use a "local system account".   7. Make sure the new lmgrd.exe and new flexsim.exe are allowed through the firewall. See lmtools - Add Windows Firewall exceptions.   8. Restart the service, either from the Start/Stop/Reread tab of lmtools or from Windows Services.   9. After you confirm everything is working properly, you can safely delete your old folder containing the previous version of FlexSim's license server files.   If you run into any troubles, try stopping your existing FlexSim_License service first, then repeat the above steps.  
View full article
Engage with the FlexSim community here on the FlexSim forum boards. Check out our learning resources. Customers with current licensing can request direct technical support from their FlexSim representative, via phone, email, web meeting, or support ticket.  
View full article
This model showcases the latest enhancements to the mass flow conveyor object, found in FlexSim 2023 Update 1. See several new features in action, including the Randomized fill order and Width Rules for conveyors. Mass-Flow-Bottling-Demo_23-1.fsm
View full article
FlexSim 2017 Beta is available. (updated 30 Nov 2016) To get the beta, 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 [email protected] or create a new idea in the Development space. Release Notes 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 some issues with auto-complete not displaying correctly. Fixed a crashing bug with settablesize() on tables with bundle data. 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).
View full article
Top Contributors