This project provides a simulation tool for a projection welding machine operator. It consists of a core simulation engine and a user-friendly desktop GUI to manage and run simulations. The tool is designed for process engineers and manufacturing analysts to model production scenarios without needing to write code.
The GUI provides a complete interface for the simulation engine:
- Graphical Recipe Editor: Create, update, and delete parts in a simulation recipe. Edit part numbers, quantities, sizes, and complex nut configurations.
- Load/Save Recipes: Load and save simulation configurations from/to human-readable
.yamlfiles. - Run Simulation: Execute the simulation with the current recipe directly from the GUI.
- Visualize Results:
- View a detailed event log and a summary of the simulation results.
- Automatically generate and display a Gantt chart visualizing the production timeline for easy analysis.
To run the simulation GUI, you will need Python 3 and some additional packages.
- Python 3: Ensure you have Python 3.6 or newer installed. You can download it from python.org.
- Tkinter: This is Python's standard GUI library.
- On Windows: Tkinter is included by default with most Python installations.
- On Linux (Debian/Ubuntu): You may need to install it separately. You can do this with the following command:
sudo apt-get update && sudo apt-get install python3-tk
The required Python packages are listed in requirements.txt. Install them using pip:
pip install -r requirements.txtThis will install PyYAML (for handling recipe files) and Matplotlib (for creating the Gantt chart).
Once the prerequisites and dependencies are installed, you can launch the GUI application by running the run_gui.py script from the project's root directory:
python3 gui/run_gui.pyThis will open the main application window, and you can start creating, editing, or running your simulations. The application will automatically load the default simulation/projection_config.yaml file on first launch.