FlexSim Knowledge Base
Announcements, articles, and guides to help you take your simulations to the next level.
Sort by:
A.Hello everyone, Some people we very impressed by FlexSim in a logistics fair and they asked me why are we using Plant Simulation in stead of FlexSim ? I've never heard about this software before, so I had a look on youtube. And to be honest I was impressed by the 3D view and how easy was constructing an automated storage in few seconds without code. I'd like to ask if anybody have used this software ? And what do you think about it ? Thank you very much.
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 [email protected] 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
Article space for Production Engineer Book including FlexSim Examples from Brasil Este material de apoio faz parte do Livro Administração de produção e operações, manufatura e serviços: uma abordagem estratégica, dos autores Henrique Correa e Carlos Correa, em sua 5º Edição. Para auxiliar o aprendizado, este livro conta com exemplos em vídeo e modelos de simulações de processos disponíveis em diversos capítulos. O acesso ao material é gratuito e pode ser acessado através dos links abaixo nas descrições de cada capítulo. Aqui você encontrará o conteúdo detalhado, referente aos arquivos dos modelos de simulação (*.fsm) e os links dos vídeos no YouTube. Dessa forma, o leitor poderá usufruir dos arquivos de simulação criados para facilitar e enriquecer o seu aprendizado. Capítulo 10 Projeto do Produto e Seleção de Processos (Bens e Serviços) Call Center download modelo clique para assistir o vídeo Restaurante download modelo clique para assistir o vídeo Clínica download modelo clique para assistir o vídeo Loja de conveniência download modelo clique para assistir o vídeo Segurança de um aeroporto download modelo clique para assistir o vídeo Terminal Rodoviário download modelo clique para assistir o vídeo Hospital clique para assistir o vídeo Estacionamento clique para assistir o vídeo Capítulo 13 Localização e Arranjo Físico de Unidades da Rede de Operações Layout Celular clique para assistir o vídeo Layout em Linha clique para assistir o vídeo Layout por Processos (em breve) Layout Posicional (em breve) Capítulo 14 Capacidade Produtiva e Filas em Unidades da Rede de Operações Teoria das Filas download modelo clique aqui para assistir o vídeo Capítulo 15 Teoria das Restrições em Redes de Operações TOC Princípios 1-9 download modelo princípio 1 download modelo princípio 2 download modelo princípio 3 download modelo princípios 4 e 5 download modelo princípio 6 download modelo princípio 7 download modelo princípio 8 download modelo princípio 9 clique para assistir o vídeo Sistema Drum-Buffer-Rope (Tambor-Pulmão-Corda) download modelo clique para assistir o vídeo Capítulo 17 Gestão de Estoques na Rede de Operações Simulação de Reposição Periódica / Contínua (em breve) Capítulo 19 Sequenciamento, Programação e Controle de Operações Sequenciamento de Produtos e Otimização download modelo clique para assistir o vídeo Job-Shop download modelo clique para assistir o vídeo Capítulo 20 Just in Time (JIT) e Operações Enxutas (Lean) Produção Puxada vs. Empurrada download modelo clique aqui para assistir o vídeo Cartão Kanban Assista o vídeo e veja na prática um exemplo de simulação do sistema kanban. download modelo clique aqui para assistir o vídeo Desperdícios do Sistema Toyota de Podução (Lean) download modelo clique aqui para assistir o vídeo Setup Assista o vídeo da simulação de um processo de troca de piso da quadra de uma arena multiuso, utilizada para partidas de hóquei e de basquete. clique aqui para assistir o vídeo Informações Adicionais Os modelos de simulações e os vídeos apresentados foram construídos com o Software FlexSim, plataforma digital, a qual possui uma versão gratuita, FlexSim Express, disponível para download através da URL https://www.flexsim.com/pt/ Vídeo passo a passo download e instalação do FlexSim Express Vídeo requisitos de sistema hardware para utilizar o FlexSim Express Contatos [email protected] / @Rodrigo Lamas / @Michael Machado
View full article
Attached is a simple model that implements functionality for "pallet moles." These are small vehicles that move pallets forward in a racking system. The targeted behavior is a FIFO storage mechanism like what you would see in gravity flow racks. However, for incredibly deep storage, a gravity flow mechanism would result in unacceptable pressures exerted on the pallets at the front of the rack, especially when pallets collide with each other as they roll down the slot. These pallet moles solve these issues. They provide the forward movement that enables FIFO storage, without the unacceptable pressures that come with gravity flow. The functionality is implemented as two object process flows, one for the rack, and one for the pallet mole. As such, it is scalable to higher numbers of racks and moles. Just add the set of racks/moles that your model uses, and then make sure those objects are attached as instances of their respective object process flow. Moles can be moved between different slots in the racking system. If a mole needs to move to a different slot, it will request transport from a team of fork lifts. The fork lift picks the mole up from the slot, and moves it to the destination slot. RackMole.fsm
View full article
Neste Tutorial iremos demonstrar como criar uma apresentação do seu modelo no FlexSim, utilizando a ferramenta Flypath (Presentation Builder). Com esta ferramenta você poderá criar sua apresentação de forma rápida fazendo um filme de seu modelo. Nela você poderá definir vistas e os tempos entre as transições destas vistas no modelo. Apresentação a qual você poderá gravar em um vídeo de alta definição no próprio FlexSim, utilizando outra ferramenta chamada Video Recorder. Vamos lá! Assista o vídeo em nosso canal do YouTube e acompanhe as informações explicativas abaixo. Presentation Builder Após construir seu modelo acesse o Flypath para definir como o seu modelo se movimentará durante a apresentação, clicando em: Tools / Visual / Flypath Na janela Presentation Builder você irá criar um novo Flypath1 clicando em Então é só você selecionar a vista em seu modelo e clicar em , no centro da janela para definir uma vista, dentro do Flypath1 então movimente o cursor de tempo e selecione uma segunda vista, clicando novamente em . Este será o tempo em que a apresentação levará para chegar até a segunda vista definida por você. Você pode criar vários flypaths cada um com seu próprio conjunto de flypoints. Quando executado, a visualização 3D voará sequencialmente ou mover-se-á para cada flypoint no flypath. Por padrão, flypaths não estão associados com velocidade de simulação. Não se preocupe, o Presentation Builder vai definir para você todo o movimento entre as 2 vistas. Após concluir sua apresentação é só clicar em retornar para a primeira vista e rodar o Flypath , então você verá a apresentação levando em conta as vistas e o tempo definido no seu modelo em 3D. O Presentation Builder tem seu próprio conjunto de botões Iniciar e Parar. No entanto, ao usar o gravador de vídeo, você pode especificar um seu flypaths para ser executado durante a gravação de seu arquivo. Você também pode usar os botões e para caminhar entre as vistas, flypoints, definidas. Video Recorder Após construir sua apresentação utilizando o Flypath vamos gravar esta apresentação em vídeo! Para isso acesse: Tools / Visual / Video Recorder Na janela Video Recorder você irá configurar o seu vídeo para poder iniciar a gravação! Primeiro clicando em você cria um novo arquivo File Path de vídeo para ser exportado para seu computador. Lembramos que este procedimento pode ser feito para um conjunto de videos. Na seleção Codec, você pode escolher qual o codec que será usado para a gravação do seu vídeo, o mais comum é gravarmos em MPEG-4, (*.mp4). Selecione na sequencia a quantidade de frames por segundo que o seu vídeo será gravado, selecione por exemplo 30 para a opção FPS. Na etapa seguinte, Size, você poderá definir a resolução e o tamanho do seu vídeo Neste exemplo iremos utilizar a opção "use basic sequence" na qual iremos definir o Flypath1 criado como referencia para a gravação do vídeo. Logo é só definirmos o tempo para o início e fim do vídeo e sua velocidade no modelo 3D. Lembre-se que o tempo do Flypath tem que estar dentro do tamanho do vídeo, caso contrário o Flypath irá se repetir. Exemplo: Para um Flypath de 20 segundos e uma velocidade de Speed 4, teremos que gravar um vídeo de 5 segundos. Lembre-se de utilizar a Amostra "Sample" para selecionar no seu modelo 3D a vista a qual o vídeo iniciará a gravação em View, utilize a primeira vista definida no seu Flypath. Após concluir as configurações clique em Record, no canto esquerdo da janela Video Recorder. Pronto! Seu vídeo será gravado e poderá ser acessado em: Segue o modelo referente ao artigo: modelo-flypath-videorecorder.fsm Inscreva-se e acompanhe nosso canal de videos no YouTube FlexSim Brasil
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 [email protected] 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 2027 is now available for download.   You can view the Release Notes in the online user manual.   FlexSim 27.0.3 Release Notes   If you have bug reports or other feedback on the software, please create a new post in FlexSim Forums.
View full article
FlexSim 2026 LTS is now available for download.   You can view the Release Notes in the online user manual.   FlexSim 26.0.3 Release Notes   If you have bug reports or other feedback on the software, please create a new post in FlexSim Forums.
View full article
A common question is whether the version of FlexSim must match the version of AutoCAD, Inventor, Revit, Factory Design Utilities, or Vault.   The answer depends on whether you are importing a file or using a connected Autodesk product workflow.   Importing CAD drawings as model backgrounds   AutoCAD drawings can be imported into FlexSim as model backgrounds—for example, to provide a floor plan that helps you position simulation objects and accurately represent distances within a facility.   There is no requirement to create or resave a drawing in the same version of AutoCAD as FlexSim. In general, DWG imports are not tied to a matching AutoCAD annual release.   However, successful translation can still depend on the contents and version of the individual file. It is not possible to guarantee that every file produced by every historical version or third-party CAD application will translate identically. For the best results before importing a floor plan:   Remove unnecessary text, hatching, layers, and geometry. Check the drawing’s units and scale. Move relevant geometry reasonably close to the drawing origin. See Importing CAD Drawings and Floor Plans for additional guidance on DWG preparation and troubleshooting.   Importing CAD as the visual shape of a FlexSim object   CAD and 3D graphics files can also be used to change the visual appearance of an object in a FlexSim model. This is a file-import workflow rather than a live connection to the application that originally created the file.   In FlexSim versions 2024.2 to 2026, a separate AdskInterop module is required for Autodesk specific workflows. In Autodesk FlexSim 2027 and beyond, that functionality is baked into the software, no longer requiring a separate module.   Autodesk CAD formats that can be imported into FlexSim include:   .dwg .dxf .ipt .iam .rvt .3ds .fbx FlexSim also supports many non-Autodesk formats including:   .ac .dae .igs .jt .obj .skp .stp .usd For the comprehensive list of formats and additional information on working with 3D objects in FlexSim, refer to Creating and Importing Custom 3D Objects.   As with model backgrounds, these imports do not normally require the originating design application to have the same annual version as FlexSim. Compatibility is determined by the file format, the way the file was written, and the translation technology available in the installed FlexSim release.   Factory Design Utilities interoperability   Using Factory Design Utilities in conjunction with FlexSim is considered a connected product workflow, so its version requirements are different from ordinary file import. When using interoperability workflows such as connecting a layout between FlexSim and FDU, the version years need to match for each product involved. For example, when using FlexSim 2027, use:   Factory Design Utilities 2027 Inventor 2027 AutoCAD 2027 The annual versions should remain aligned. Using FlexSim 2027 with an earlier or later FDU installation is not a supported version combination. FlexSim releases will be updated as necessary to support the latest compatible Factory Design Utilities release.   This constraint does not apply to using the Factory Asset Browser within FlexSim. Using this feature does not require FDU to be installed at all, let alone matching versions. For more information about the FDU integration with FlexSim, please visit: FlexSim 2027 Help | Factory Design Utilities (FDU) | Autodesk   Vault interoperability   The FlexSim Vault integration is also considered a connected product workflow, so versions need to match between the products to access Vault features directly within FlexSim. For example, FlexSim 2027 should be used with Vault 2027. However, FlexSim models can be saved directly through the Vault interface, regardless of what version used.    The version requirement of using the built-in integration applies only to FlexSim and Vault Client. Vault Client and Vault Server compatibility vary slightly, where Vault Server may work with up to 2 earlier versions of Vault Client.   For more information about the Vault integration with FlexSim, please visit: FlexSim 2027 Help | Autodesk Vault | Autodesk   Summary   DWG or DXF model background: No matching AutoCAD annual release is required. Translation depends on the individual file. Imported custom 3D shape: No matching authoring-application release is generally required. Use a supported file format. Factory Design Utilities workflow: Match the annual release—FlexSim 2027 with FDU, Inventor, and AutoCAD 2027. Vault integration: Match the annual release—FlexSim 2027 with Vault 2027.
View full article
FlexSim 2026 Stable is now available for download.   You can view the Release Notes in the online user manual.   FlexSim 26.0.2 Stable Release Notes   If you have bug reports or other feedback on the software, please create a new post in FlexSim Forums.
View full article
One method for creating a 4-station rotating turntable using process flow.
View full article
Demonstrating Map Array Initialization and Population
View full article
FlexSim 2025 LTS is now available for download.   You can view the Release Notes in the online user manual.   FlexSim 25.0.12 Release Notes   If you have bug reports or other feedback on the software, please create a new post in FlexSim Forums.
View full article
Gather the statistics of total travel distance of a task executer that is created via process flow
View full article
When working with complex hierarchical models in FlexSim, referencing objects deep inside a structure can quickly become difficult to manage. When not using multiple centre port connections (which gets messy)  users often rely on manually created labels and pointers, but that in turn can  introduce extra work and inconsistency—especially when deciding whether a label should reference a single object or an array. This post describes a small set of user commands, packaged as an auto-installing user library, that automatically builds and maintains hierarchical object references based on each object’s role. The goal is simple: allow users to reference objects using intuitive chains like: current.printerCell.rewinder.turret without manually creating or maintaining those labels. What this does This system automatically: creates label pointers based on object roles (functionname) builds those references up the hierarchy optionally propagates system-level references downward handles single vs multiple objects automatically rebuilds everything on reset so it stays consistent How it is set up The functionality is delivered as: an auto-installing user library containing the commands a template container that includes: a reset trigger that calls: containerReset(current) predefined labels: functionname systemContainer Users can drop this container into their model and begin assigning functionname labels to objects. The rest is handled automatically at reset. Core concept Each object declares its role using a label such as: functionname = "rewinder" From this, the system builds references dynamically using only the tree hierarchy. A key point is that this is not limited to containers. Any object, including standard FlexSim fixed resources such as processors, sources, queues, and sinks, can and should also be given a functionname when you want it to participate in the reference structure. That means this system maps not just structure, but function. How it works 1. Reset seeds the reference map On reset, each relevant container calls: containerReset(current) This starts the process of rebuilding all references from the current tree structure. 2. Objects register themselves upward If an object has a non-empty functionname, it adds a reference to itself on the next relevant level above it. So if a rewinder contains a turret, the rewinder can gain: rewinder.turret 3. Non-functional levels are skipped If an intermediate object has no functionname, the logic recurses through it rather than making it part of the reference chain. That means purely structural levels can exist in the tree without cluttering the reference path. So a structure like: printerCell   └─ layoutContainer        └─ rewinder             └─ turret can still produce: printerCell.rewinder.turret even though layoutContainer exists physically in the tree. 4. System containers propagate references downward If an object has: systemContainer = true then its own functionname is pushed down to all contained objects. So if printerCell is marked as a system container, nested objects can directly reference: current.printerCell This makes it easy for deeply nested components to find the root system they belong to. 5. Repeated roles become arrays automatically If a label already points to one object and a second different object needs to be stored under the same role name, the value is automatically converted into an array. So if one rewinder contains multiple turrets, then: rewinder.turret becomes an array of turret pointers instead of a single pointer. Users do not need to decide this in advance. Works for both machines and factories A useful feature of this approach is that a “system” does not have to mean a single tightly integrated machine. A system can be: one complex interconnected machine acting as a whole one cell within a larger process a factory made up of linked but physically distinct cells As long as those objects live under a meaningful tree structure, the same logic works. A printer cell can be used as a standalone system, then placed inside a larger factory container and reset again to gain one more level of functional context. That makes the approach scalable from machine-level modeling to line-level or factory-level organization. Example model I’m also including an example printer cell model where the labels are not pre-populated. You can: open the model press Reset inspect the created labels on the objects Then you can place that same printer cell inside a factory container, reset again, and inspect the results after the hierarchy changes. That gives a simple way to see the library working in both a standalone and larger-system context. Implementation details Below are the three user commands that make this work. 1. containerReset(<container>) Purpose This is the reset entry point. It does three things: registers the current object upward on its parent if it has a functionname if the current object is a systemContainer, propagates a reference to itself downward through everything beneath it calls the recursive function that builds the rest of the pointer map below it So this command seeds both the upward and downward context, then delegates the deeper hierarchy building. 2. assertReference(<objectToAddReference>, <referenceName>, <referenceObject>) Purpose This utility adds a reference safely and automatically handles whether the label should be: a single pointer or an array of pointers If the label is empty, it stores a single object pointer. If it already points to a different object, it converts the value into an array. If it is already an array, it adds the new object only if it is not already present. This is what removes the need for users to decide ahead of time whether a role is unique or repeated. 3. assertallobjectpointers(<involved>, <container>) Purpose This is the recursive traversal function. It walks downward through the tree under container and looks for objects with a non-empty functionname. When it finds one, it adds a reference on current using that object’s function name. When it encounters an object with no functionname, it does not stop. Instead, it recurses further downward through that object’s children. This is the key to skipping non-functional levels in the tree. In effect, this command says: Starting from the current functional object, keep searching downward until you find the next lower functional objects, then create references to them. That is what allows the reference chain to reflect logical structure rather than every structural level. Why this is useful This approach gives you: cleaner, more readable code no manual label maintenance automatic support for one-or-many references a functional map of the model rather than just a physical tree better reuse of machines, cells, and factory-level groupings Instead of writing search logic, you can work with meaningful chains such as: current.printerCell.rewinder.turret Best practices Use role-based names Set functionname based on what the object does, not its instance name. Good examples: printerCell rewinder turret infeedQueue Less useful examples: object1 machineA testNode Be consistent across models If you reuse systems or templates, keep the same functionname values so code remains portable. Add functionname only where it adds value Not every object needs one. Use it on objects you want to reference directly in logic. Include fixed resources too Do not treat this as a container-only feature. Fixed resources such as processors, sources, queues, and sinks can also participate and often should as these will be the objects your want to setup, load or listen to. Use systemContainer deliberately Mark the objects that represent meaningful system roots. That may be a machine, a cell, a line, or a factory-level grouping. Expect arrays when a role repeats If multiple objects with the same function appear under the same functional parent, that reference will become an array. Keep the hierarchy meaningful Since this works purely from tree structure, the physical organization of the tree should support the logical organization of the model. Use it to remove search logic If you find yourself repeatedly searching for the same kind of object, that is often a sign that it should have a functionname. Summary This approach turns the model hierarchy into a self-maintaining functional reference map. By assigning functionname labels to meaningful objects and rebuilding relationships during reset with containerReset(current), the model can automatically expose useful object references without manual wiring. That works whether the model represents a single complex machine or a larger factory made up of linked but physically distinct cells. The result is cleaner code, easier maintenance, and a more consistent way to navigate hierarchical models.
View full article
The FlexSim Application Models is a collection of example models, techniques, and reusable solutions from the FlexSim Knowledge Base. 
View full article
This article lists off application models of AGV / AMR & Navigation Logic: AGV Systems, Visualizations and Analysis, Advanced AGV Behavior, GIS.
View full article
This article lists off application models of Material Handling: Material Handling Systems, Logistics & Supply Chain
View full article
This article lists off application models of Warehouse examples: Warehouse Systems, Order Fulfillment and Logistics, Logistics and Supply Chain.
View full article
This article lists off application models of Process & Utility Examples: Visualization, Utility and Specialized Tools, Process Flow Logic.
View full article
Top Contributors