exudynGUI


NameexudynGUI JSON
Version 0.4.3 PyPI version JSON
download
home_pageNone
SummaryA graphical user interface for Exudyn multibody simulation
upload_time2025-07-10 22:17:30
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords exudyn multibody simulation gui physics engineering
VCS
bugtrack_url
requirements PyQt5 numpy networkx PyMuPDF PyPDF2 QScintilla jupyter-client qtconsole ipython
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Exudyn GUI - Model Builder

[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
[![License: BSD-3](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
[![Exudyn](https://img.shields.io/badge/Exudyn-Compatible-green.svg)](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.

![Exudyn GUI Screenshot](https://fileshare.uibk.ac.at/f/0a4a1d65b3b7405c8aea/?dl=1)


## 📦 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[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)\r\n[![License: BSD-3](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)\r\n[![Exudyn](https://img.shields.io/badge/Exudyn-Compatible-green.svg)](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![Exudyn GUI Screenshot](https://fileshare.uibk.ac.at/f/0a4a1d65b3b7405c8aea/?dl=1)\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"
}
        
Elapsed time: 1.00451s