ARA: AIXD Grasshopper plugin
Grasshopper plugin for data-driven and inverse design methods with generative AI.
ARA is a Grasshopper plugin that augments the design process with data-driven and inverse design approach by combining parametric models built in Grasshopper with generative AI models. It enables designers, architects and engineers to efficiently generate design solutions with the assistance of generative neural networks. The inverse design paradigm accelerates design exploration by providing many different design variants that match project objectives.
With ARA, you can easily generate a project-specific the dataset from an existing parametric model definition in Grasshopper, and then train and deploy a custom autoencoder model to generate designs that satisfy the requested target values, such as performance metrics or design constraints.
ARA also comes with various visualization tools for data analysis and performance evaluation.
ARA is open-source and builds on top of the AIXD: AI-eXtended Design toolkit.
Getting started
To get started, please have a look at the Easy Installation, Tutorial, Documentation and Examples, as well as our paper.
Installation
Requirements:
- Python >= 3.9
- axid == 0.13.0
- compas > 2.0
- flask
Latest stable version
Install aixd_ara using pip
pip install aixd_ara
Install aixd_ara using conda:
conda install -c conda-forge aixd_ara
Install the plugin in Rhino/Grasshopper using the following command:
python -m compas_rhino.install -v 7.0
Note: It is recommended to use virtual environments to manage the dependencies of your projects. If you are using
conda, you can create a new environment with conda create -n myproject python=3.9 and then activate it with
conda activate myproject before installing aixd_ara.
Latest unstable version
Install the latest version using pip from the git repository:
pip install --upgrade git+https://github.com/gramaziokohler/aixd_ara.git
Development
If you are going to develop on this repository, perform an installation from source:
git clone https://github.com/gramaziokohler/aixd_ara.git
cd aixd_ara
Then, use conda to install all the dependencies into a new environment called aixd_ara:
conda env create -f environment.yml
Or using pip:
pip install -e ".[dev]"
Finally, build Grasshopper components and install on Rhino/GH:
invoke build-ghuser-components
python -m compas_rhino.install -v 7.0
For more details on how the process of building components work, refer to this docs.
Check the contribution guidelines for more details.
Folders and structure
The structure we follow on the current repo is as follows:
src: for all source code.src/aixd_ara: source code of the ARA plugin.src/aixd_ara/components: source code of ARA's Grasshopper components.src/aixd_ara/scripts: ARA scripts to run in Rhino's Python Editor.src/compas_aixd: source code of the connector to COMPAS infrastructure.
examples: example files.scripts: additional scipts.docs: documentation's source code.
Release files for aixd-ara 0.10.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aixd_ara-0.10.6.tar.gz | 1.8 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aixd_ara-0.10.6-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 2.0 MB
Release files / aixd_ara-0.10.6.tar.gz
| Download URL | aixd_ara-0.10.6.tar.gz |
|---|---|
| Size | 1.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7eff08b6c6d0157ec0bc0ab98a35c6d09278a409f663171f880b8b5ce5f47920
|
|
BLAKE2b-256 checksum How to use checksums |
a2b9d73cd8901a8b6662cb221195f9888c536be47af84409f7d230e73ae52d54
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.11
|
Release files / aixd_ara-0.10.6-py2.py3-none-any.whl
| Download URL | aixd_ara-0.10.6-py2.py3-none-any.whl |
|---|---|
| Size | 176.6 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
6143a5cc652a37924d9919fbce28f4d64d27181e40a2487882df6009d76ccd0a
|
|
BLAKE2b-256 checksum How to use checksums |
aa3d22f6f1d2dd2eb32f3e47d068746ee6e763b34d60eec45a2bf7517b2aa281
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.11
|