# Exudyn GUI - Model Builder
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/BSD-3-Clause)
[](https://github.com/jgerstmayr/EXUDYN)
A user-friendly graphical interface for the **Exudyn** multibody dynamics simulation framework. ExudynGUI provides an intuitive way to create, visualize, and simulate complex mechanical systems without writing code.
> **⚠️ Alpha Version Notice**
> ExudynGUI is currently in **alpha development** (v0.4). While functional, the API may change and some features are still being developed.

## 📦 Installation
### Prerequisites
ExudynGUI requires **Exudyn** to be installed first. Install Exudyn from:
- **PyPI**: `pip install exudyn`
- **GitHub Repository**: [https://github.com/jgerstmayr/EXUDYN](https://github.com/jgerstmayr/EXUDYN)
### Install ExudynGUI
#### Option 1: Install from PyPI (Recommended)
```bash
pip install exudynGUI
```
#### Option 2: Install from Source
```bash
git clone https://github.com/MichaelUIBK/exudynGUI.git
cd exudynGUI
pip install -e .
```
#### Option 3: Development Installation
```bash
git clone https://github.com/MichaelUIBK/exudynGUI.git
cd exudynGUI
pip install -e ".[dev]"
```
### Dependencies
**Core Dependencies:**
- Python 3.8+
- PyQt5 >= 5.15.0
- NumPy >= 1.20.0
- Exudyn (multibody simulation engine)
**Optional Dependencies:**
- PyMuPDF >= 1.20.0 (PDF documentation support)
- QScintilla >= 2.14.0 (advanced code editor)
- IPython >= 7.0.0 (enhanced console)
## 🎯 Quick Start
### Launch the GUI
```bash
# From command line (after installation)
exudynGUI
# Or from Python
python -m exudynGUI
```
### Finding Installation Directory
When installed via pip, ExudynGUI files are located in your Python environment:
```python
# Find the installation path
import exudynGUI
import os
print(f"ExudynGUI installed at: {os.path.dirname(exudynGUI.__file__)}")
```
**Common locations:**
- **Conda environment**: `~/anaconda3/envs/your_env/lib/python3.x/site-packages/exudynGUI/`
- **System Python**: `~/python3.x/site-packages/exudynGUI/`
- **Virtual environment**: `your_venv/lib/python3.x/site-packages/exudynGUI/`
This directory contains examples, exudyn documentation, STL files, and other resources.
### Create Your First Model
1. **Start ExudynGUI** - Launch the application
2. **Add Components** - Use the "Create" button to add bodies, joints, and forces
3. **Set Properties** - Configure mass, stiffness, and other parameters
4. **Run Simulation** - Click the simulation controls to start
5. **Analyze Results** - View the 3D animation and export data
## 📖 Documentation
### Built-in Help
- **F1** - Open online documentation
- **Help Menu** - Access online PDF documentation and examples
- **Tooltips** - Hover over controls for quick information
### External Resources
- **Exudyn Documentation**: [https://exudyn.readthedocs.io/](https://exudyn.readthedocs.io/)
### Key Components
- **Model Manager**: Handles Exudyn model lifecycle
- **Object Registry**: Tracks and manages simulation objects
- **Renderer Interface**: 3D visualization and interaction
- **Property Editor**: Dynamic form generation for object properties
- **Script Generator**: Exports GUI models to Python code
### Get Help
- **GitHub Issues**: [Report bugs or request features](https://github.com/MichaelUIBK/exudynGUI/issues)
- **Discussions**: [Community discussions](https://github.com/MichaelUIBK/exudynGUI/discussions)
- **Email**: michael.pieber@uibk.ac.at
## 📄 License
ExudynGUI is released under the **BSD 3-Clause License**. See [LICENSE](LICENSE) for details.
## 🙏 Acknowledgments
- **Johannes Gerstmayr** and the Exudyn team for the excellent simulation framework
- Modern AI development tools for accelerating the development process
## 📈 Project Status
**Current Version**: 0.4.3 (Glockturm)
**Status**: Alpha - Active Development
**Stability**: Experimental - API may change
### Roadmap
- [ ] Menu bar
- [ ] Add drag-and-drop or reorder support in the model tree
- [ ] Allow commenting or grouping of tree items
- [ ] Implement a global search bar for components or fields
- [ ] Improve real-time preview/update in Exudyn viewer during parameter edits
- [ ] Plugin marketplace
- [ ] Add predefined examples to load and try out different models
- [ ] exuPilot, a future AI-assisted features (placeholder)
- [ ] Fem module integration
- [ ] Robotics module integration
- [ ] And much more...
---
## *If ExudynGUI helps your work, please consider giving it a ⭐ star!*
Raw data
{
"_id": null,
"home_page": null,
"name": "exudynGUI",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "Michael Pieber <michael.pieber@uibk.ac.at>",
"keywords": "exudyn, multibody, simulation, gui, physics, engineering",
"author": null,
"author_email": "Michael Pieber <michael.pieber@uibk.ac.at>",
"download_url": "https://files.pythonhosted.org/packages/8b/a7/bb1285d48b50e0558015ce54b26429f9b2c714a16c2605c0c2375651d5c9/exudyngui-0.4.3.tar.gz",
"platform": null,
"description": "# Exudyn GUI - Model Builder\r\n\r\n[](https://www.python.org/downloads/)\r\n[](https://opensource.org/licenses/BSD-3-Clause)\r\n[](https://github.com/jgerstmayr/EXUDYN)\r\n\r\nA user-friendly graphical interface for the **Exudyn** multibody dynamics simulation framework. ExudynGUI provides an intuitive way to create, visualize, and simulate complex mechanical systems without writing code.\r\n\r\n> **\u26a0\ufe0f Alpha Version Notice** \r\n> ExudynGUI is currently in **alpha development** (v0.4). While functional, the API may change and some features are still being developed.\r\n\r\n\r\n\r\n\r\n## \ud83d\udce6 Installation\r\n\r\n### Prerequisites\r\n\r\nExudynGUI requires **Exudyn** to be installed first. Install Exudyn from:\r\n- **PyPI**: `pip install exudyn`\r\n- **GitHub Repository**: [https://github.com/jgerstmayr/EXUDYN](https://github.com/jgerstmayr/EXUDYN)\r\n\r\n### Install ExudynGUI\r\n\r\n#### Option 1: Install from PyPI (Recommended)\r\n```bash\r\npip install exudynGUI\r\n```\r\n\r\n#### Option 2: Install from Source\r\n```bash\r\ngit clone https://github.com/MichaelUIBK/exudynGUI.git\r\ncd exudynGUI\r\npip install -e .\r\n```\r\n\r\n#### Option 3: Development Installation\r\n```bash\r\ngit clone https://github.com/MichaelUIBK/exudynGUI.git\r\ncd exudynGUI\r\npip install -e \".[dev]\"\r\n```\r\n\r\n### Dependencies\r\n\r\n**Core Dependencies:**\r\n- Python 3.8+\r\n- PyQt5 >= 5.15.0\r\n- NumPy >= 1.20.0\r\n- Exudyn (multibody simulation engine)\r\n\r\n**Optional Dependencies:**\r\n- PyMuPDF >= 1.20.0 (PDF documentation support)\r\n- QScintilla >= 2.14.0 (advanced code editor)\r\n- IPython >= 7.0.0 (enhanced console)\r\n\r\n## \ud83c\udfaf Quick Start\r\n\r\n### Launch the GUI\r\n```bash\r\n# From command line (after installation)\r\nexudynGUI\r\n\r\n# Or from Python\r\npython -m exudynGUI\r\n```\r\n\r\n### Finding Installation Directory\r\nWhen installed via pip, ExudynGUI files are located in your Python environment:\r\n\r\n```python\r\n# Find the installation path\r\nimport exudynGUI\r\nimport os\r\nprint(f\"ExudynGUI installed at: {os.path.dirname(exudynGUI.__file__)}\")\r\n```\r\n\r\n**Common locations:**\r\n- **Conda environment**: `~/anaconda3/envs/your_env/lib/python3.x/site-packages/exudynGUI/`\r\n- **System Python**: `~/python3.x/site-packages/exudynGUI/`\r\n- **Virtual environment**: `your_venv/lib/python3.x/site-packages/exudynGUI/`\r\n\r\nThis directory contains examples, exudyn documentation, STL files, and other resources.\r\n\r\n### Create Your First Model\r\n1. **Start ExudynGUI** - Launch the application\r\n2. **Add Components** - Use the \"Create\" button to add bodies, joints, and forces\r\n3. **Set Properties** - Configure mass, stiffness, and other parameters\r\n4. **Run Simulation** - Click the simulation controls to start\r\n5. **Analyze Results** - View the 3D animation and export data\r\n\r\n## \ud83d\udcd6 Documentation\r\n\r\n### Built-in Help\r\n- **F1** - Open online documentation\r\n- **Help Menu** - Access online PDF documentation and examples\r\n- **Tooltips** - Hover over controls for quick information\r\n\r\n### External Resources\r\n- **Exudyn Documentation**: [https://exudyn.readthedocs.io/](https://exudyn.readthedocs.io/)\r\n\r\n\r\n### Key Components\r\n- **Model Manager**: Handles Exudyn model lifecycle\r\n- **Object Registry**: Tracks and manages simulation objects\r\n- **Renderer Interface**: 3D visualization and interaction\r\n- **Property Editor**: Dynamic form generation for object properties\r\n- **Script Generator**: Exports GUI models to Python code\r\n\r\n\r\n### Get Help\r\n- **GitHub Issues**: [Report bugs or request features](https://github.com/MichaelUIBK/exudynGUI/issues)\r\n- **Discussions**: [Community discussions](https://github.com/MichaelUIBK/exudynGUI/discussions)\r\n- **Email**: michael.pieber@uibk.ac.at\r\n\r\n## \ud83d\udcc4 License\r\n\r\nExudynGUI is released under the **BSD 3-Clause License**. See [LICENSE](LICENSE) for details.\r\n\r\n## \ud83d\ude4f Acknowledgments\r\n\r\n- **Johannes Gerstmayr** and the Exudyn team for the excellent simulation framework\r\n- Modern AI development tools for accelerating the development process\r\n\r\n## \ud83d\udcc8 Project Status\r\n\r\n**Current Version**: 0.4.3 (Glockturm)\r\n**Status**: Alpha - Active Development\r\n**Stability**: Experimental - API may change\r\n\r\n### Roadmap\r\n- [ ] Menu bar\r\n- [ ] Add drag-and-drop or reorder support in the model tree\r\n- [ ] Allow commenting or grouping of tree items\r\n- [ ] Implement a global search bar for components or fields\r\n- [ ] Improve real-time preview/update in Exudyn viewer during parameter edits\r\n- [ ] Plugin marketplace\r\n- [ ] Add predefined examples to load and try out different models\r\n- [ ] exuPilot, a future AI-assisted features (placeholder)\r\n- [ ] Fem module integration\r\n- [ ] Robotics module integration\r\n- [ ] And much more...\r\n\r\n---\r\n\r\n## *If ExudynGUI helps your work, please consider giving it a \u2b50 star!*\r\n",
"bugtrack_url": null,
"license": null,
"summary": "A graphical user interface for Exudyn multibody simulation",
"version": "0.4.3",
"project_urls": {
"Bug Tracker": "https://github.com/MichaelUIBK/exudynGUI/issues",
"Documentation": "https://exudyn.readthedocs.io/",
"Download": "https://github.com/MichaelUIBK/exudynGUI/releases",
"Homepage": "https://github.com/MichaelUIBK/exudynGUI",
"Repository": "https://github.com/MichaelUIBK/exudynGUI"
},
"split_keywords": [
"exudyn",
" multibody",
" simulation",
" gui",
" physics",
" engineering"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "daf03e5a16dc8480543ec5ac311fd73867f26d60c98bc4531dd3c8d18fb73c4a",
"md5": "a0fa01c223ac7a18427bfb9de96c4364",
"sha256": "b209e8d7d3382331cc076c23982b6bb73dabe9fc00173c7975e78382ca868e54"
},
"downloads": -1,
"filename": "exudyngui-0.4.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a0fa01c223ac7a18427bfb9de96c4364",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 40122284,
"upload_time": "2025-07-10T22:16:55",
"upload_time_iso_8601": "2025-07-10T22:16:55.658654Z",
"url": "https://files.pythonhosted.org/packages/da/f0/3e5a16dc8480543ec5ac311fd73867f26d60c98bc4531dd3c8d18fb73c4a/exudyngui-0.4.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8ba7bb1285d48b50e0558015ce54b26429f9b2c714a16c2605c0c2375651d5c9",
"md5": "48f8f2127a451ac4bf80ed816db383b7",
"sha256": "daa222f72d437dfda3c7d7ebe7e8342354619ffad8ab525bc59f359c4b657bad"
},
"downloads": -1,
"filename": "exudyngui-0.4.3.tar.gz",
"has_sig": false,
"md5_digest": "48f8f2127a451ac4bf80ed816db383b7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 40019108,
"upload_time": "2025-07-10T22:17:30",
"upload_time_iso_8601": "2025-07-10T22:17:30.506752Z",
"url": "https://files.pythonhosted.org/packages/8b/a7/bb1285d48b50e0558015ce54b26429f9b2c714a16c2605c0c2375651d5c9/exudyngui-0.4.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-10 22:17:30",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "MichaelUIBK",
"github_project": "exudynGUI",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "PyQt5",
"specs": [
[
">=",
"5.15.0"
]
]
},
{
"name": "numpy",
"specs": [
[
">=",
"1.20.0"
]
]
},
{
"name": "networkx",
"specs": [
[
">=",
"2.6.0"
]
]
},
{
"name": "PyMuPDF",
"specs": [
[
">=",
"1.20.0"
]
]
},
{
"name": "PyPDF2",
"specs": [
[
">=",
"3.0.0"
]
]
},
{
"name": "QScintilla",
"specs": [
[
">=",
"2.14.0"
]
]
},
{
"name": "jupyter-client",
"specs": [
[
">=",
"7.0.0"
]
]
},
{
"name": "qtconsole",
"specs": [
[
">=",
"5.3.0"
]
]
},
{
"name": "ipython",
"specs": [
[
">=",
"7.0.0"
]
]
}
],
"lcname": "exudyngui"
}