https://github.com/ghackenberg/simpanda
This repository contains boilerplate code for combining SimPy discrete event simulation with Panda3D hardware-accelerated 3D visualization
https://github.com/ghackenberg/simpanda
3d 3d-visualisation 3d-visualization discrete-event-simulation panda3d python simpy
Last synced: about 1 year ago
JSON representation
This repository contains boilerplate code for combining SimPy discrete event simulation with Panda3D hardware-accelerated 3D visualization
- Host: GitHub
- URL: https://github.com/ghackenberg/simpanda
- Owner: ghackenberg
- License: mit
- Created: 2024-04-12T10:11:37.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-13T06:40:56.000Z (about 2 years ago)
- Last Synced: 2025-01-29T08:44:45.640Z (over 1 year ago)
- Topics: 3d, 3d-visualisation, 3d-visualization, discrete-event-simulation, panda3d, python, simpy
- Language: Python
- Homepage:
- Size: 1.44 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# simpanda

This project contains **boilerplate code** for combined **discrete event simulation (DES)** and **hardware-accelerated 3D visualization** with ...
- the [Python](https://www.python.org/) programming language,
- the [SimPy](https://simpy.readthedocs.io/en/latest/) discrete event simulation library, and
- the [Panda3D](https://www.panda3d.org/) visulization framework.
We use the boilerplate code at the [School of Engineering](https://fh-ooe.at/campus-wels) of the [University of Applied Sciences Upper Austria](https://fh-ooe.at/) in courses on **computer simulation** and **digital factory**.
## 🧑💻 Examples
The following example shows how to use the `simpanda` package for building discrete event simulations with 3D visualizations:
```python
from simpanda import Container
from simpanda import cube
# Create container including simulation environment and visualization window
container = Container(sim_time_to_real_time_ratio=1)
# Create red cube geometry and attach it to visualization window
cube(1, 0, 0).reparentTo(container.app.render)
# Start simulation and visualization threads
container.run(sim_time_duration=10)
```
## 🖼️ Screenshots
The following screenshot shows a sample output of the `simpanda` discrete event simulation and 3D visualization package:

## ⚙️ Requirements
Before getting startet with `simpanda`, you need to install **SimPy** and **Panda3D** into your local Python environment using `pip`.
### Install SimPy
*SimPy* provides **discrete event simulation capabilities** for Python programs. Here is the bash command for installing SimPy into your local Python environment:
```sh
pip install simpy
```
### Install Panda3D
*Panda3D* provides ***hardware-accelerated* 3D visualization capabilities** for Python programs. Here is the bash command for installing Panda3D into your local Python environment:
```sh
pip install panda3d
```
## 📄 Documents
Here are some more documents to read before starting to use `simpanda` for your discrete event simulation and 3D visualization projects:
* [License](./LICENSE.md)
* [Changelog](./CHANGELOG.md)
* [Contributing](./CONTRIBUTING.md)