Code Monkey home page Code Monkey logo

markus-senger / discrete-event-simulation-salabim-unity Goto Github PK

View Code? Open in Web Editor NEW
2.0 3.0 0.0 5.71 MB

This project simulates a conveyor system with multiple workpiece carriers. Using Unity for 2D layout planning, it aims to answer questions about the required number of carriers. Salabim is employed for discrete event simulation to model and analyze the system's dynamic behavior. Developed as part of a university project.

License: GNU General Public License v3.0

Python 5.81% C# 21.70% ShaderLab 61.75% HLSL 10.74%
salabim simulation unity conveyor-system layout-planning discrete-event-simulation layout-editor material-flow-simulation manufacturing-simulation python

discrete-event-simulation-salabim-unity's Introduction

discrete event simulation with unity and salabim

discrete-event-simulation-salabim-unity

This project focuses on simulating a conveyor system with multiple workpiece carriers. The primary goal is to address questions such as the required number of workpiece carriers. Unity is employed as the editor for 2D layout planning of the conveyor system. Subsequently, a discrete event simulation is generated using Salabim to model and analyze the dynamic behavior of the conveyor system. This project is being developed as part of a university project.

Note this is a first prototype, not all functions are ready for production. Please consider checking the current known issues, and feel free to add a new issue if you find a bug.

Getting started

The current project status can be downloaded at releases. There you can download a zip archive and then you can start directly with UnitySalabimLayoutEditor.exe.

Control

The layout editor can be operated as follows:

  • In the sidebar, select a component with the left mouse button and drag it into the drawing area
  • You can rotate the component with the mouse wheel
  • The editor provides automatic support for exact placement
  • When a component is selected, you can place it with a left click
  • A right click deselect a component
  • With a placed component, the component can be moved with a left click
  • To delete a placed component, left click on the component and then right click
  • To open a component menu, right click on the respective placed component

General

image

2024-01-27.17-23-03.mp4

Unity-Conveyor-System-Editor

image

Simple editing of layouts:

2024-01-27.17-35-03.mp4

Salabim

image

discrete-event-simulation-salabim-unity's People

Contributors

markus-senger avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

discrete-event-simulation-salabim-unity's Issues

Crashes when layout is invalid

If the layout is not drawn correctly, it can result in a crash during the simulation. This can occur, for example:

  • at open ends in the layout
  • when connection points are not properly aligned
  • if the direction of the conveyor is incorrect
  • intersections in the layout
  • etc.

For instance, the editor may display the following when a crash occurs:
image

Enabling Dynamic Expansion of Conveyor Editor Canvas

The Conveyor Editor currently lacks the ability to dynamically expand its canvas, limiting the space available for drawings. This limitation poses challenges when working with drawings of various sizes. Additionally, the backend Salabim should seamlessly handle drawings of different dimensions.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.