Please note that this is a WIP,
If you have a login please use the link in the hamburger menu on the top left.
CadEval is an open-source building analysis platform that enables architects and engineers to evaluate and compare building parameters using IFC models.
Built with Django and IFCOpenShell, it provides powerful tools for building performance analysis, spatial optimization, and design validation. It is the product from a TU Master Thesis project.
๐ Planned Features
- IFC Model Analysis
- Automated property extraction
- Geometry validation
- Spatial relationship analysis
- Material quantity takeoffs
- Building Comparison
- Side-by-side model comparison
- Parameter-based evaluation
- Custom metric definition
- Automated reporting
- Web Interface NOT IMPLEMENTED YET
- Interactive 3D visualization
- Real-time parameter updates
- Collaborative analysis tools
- Export capabilities
๐ Requirements
- Python 3.9+
- Django 4.2+
- IFCOpenShell 0.7+
- PostgreSQL 13+
- Redis (for Celery)
โก Quick Start
# Clone the repository
$ git clone https://github.com/cadeval/cadeval
$ cd cadeval
# Set up virtual environment
$ python -m venv venv
$ source venv/bin/activate # Unix
$ .\venv\Scripts\activate # Windows
# Install requirements
$ pip install -r requirements.txt
# Set up environment variables
$ cp .env.example .env
# Edit .env with your settings
# Run migrations
$ python manage.py migrate
# Create superuser
$ python manage.py createsuperuser
# Run development server
$ python manage.py runserver
Visit http://localhost:8000/admin
to access the admin interface.
๐ง Configuration
Key settings in .env
:
DEBUG=True
SECRET_KEY=your-secret-key
DATABASE_URL=postgres://user:password@localhost:5432/cadeval
REDIS_URL=redis://localhost:6379/0
๐๏ธ Project Structure
โโโ src/
โ โโโ manage.py # Django management script
โ โโโ ifc_extractor/ # IFC file processing module
โ โ โโโ energy_modeling.py
โ โ โโโ energy.py
โ โโโ model_manager/ # Main application module
โ โ โโโ models.py # Database models
โ โ โโโ views.py # View controllers
โ โ โโโ urls.py # URL routing
โ โโโ webapp/ # Web application configuration
โ โโโ settings.py
โ โโโ urls.py
๐ API Documentation
Once this part is finished the api end points will be implemented as follows.
API documentation is available at /api/docs/
when running the server. Key endpoints:
/api/models/
- IFC model management/api/analysis/
- Building analysis/api/compare/
- Model comparison/api/reports/
- Report generation
๐งช Testing
# Clone the repository
git clone https://github.com/cadeval/[project-name]
gh repo clone Cadeval/[project-name]
# Create virtual environment
$ python -m venv venv
$ source venv/bin/activate # Unix
$ .\venv\Scripts\activate # Windows
# Install dependencies
$ pip install -r requirements.txt
# Or using uv by [astral](https://docs.astral.sh/uv)
$ uv venv
# Please note that the venv dir in that case is .venv
# Activation follows the same pattern as above
# A Python version can be requested, e.g., to create a virtual environment with Python 3.11:
# Note this requires the requested Python version to be available on the system. However, if unavailable, uv will download Python for you. See the Python version documentation for more details.
$ uv venv --python 3.11
# Install a package in the new virtual environment
$ uv pip install ruff
# Run migrations
$ python manage.py migrate
# Start development server
$ python manage.py runserver
๐ค Contributing
We welcome contributions! Please see our Contributing Guidelines and Code of Conduct.
๐ Security
To report security vulnerabilities, please email security@cadeval.org.
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
- IFCOpenShell for IFC processing
- Django for the web framework
- All our contributors
๐ฎ Contact
- Website: https://cadeval.org
- Email: info@cadeval.org
Made with โค๏ธ by the CadEval team