cad-studio
by jbrandonp
README.md
# CAD Studio (Radiant-Darwin) — Next-Gen Parametric 3D CAD/CAE/CAM Suite & AI Copilot
[](https://python.org)
[](LICENSE)
[](https://doc.qt.io/qtforpython/)
[](https://github.com/elalish/manifold)
[](docs/audit_report.html)
[](docs/audit_report.html)
[](docs/audit_report.html)
[](docs/audit_report.html)
[](https://modelcontextprotocol.io)
**CAD Studio (Radiant-Darwin)** est une suite logicielle paramétrique industrielle 3D unifiée de nouvelle génération combinant la puissance d'**Autodesk Fusion 360**, l'extensibilité open-source de **FreeCAD**, et l'intégration native d'un **Copilote IA autonome (protocole MCP / Model Context Protocol)**.
Elle regroupe au sein d'une architecture modulaire et fortement typée (zéro `Any`, zéro `object`) l'ensemble des disciplines de l'ingénierie mécanique, de la conception géométrique avancée jusqu'à la fabrication numérique et l'analyse multi-physique.
---
## 🌟 Architecture & Pôles Technologiques
```mermaid
graph TD
subgraph Core ["Noyau Géométrique & Paramétrique"]
M3D["Manifold3D (Noyau CSG C++)"]
NEXUS["Nexus Kernel (NURBS, Predicates, Dual Quat)"]
DAG["Arbre DAG & Timeline Rollback"]
SOLV["Solveur Esquisse 2D (SciPy TRF)"]
FX["Moteur Formules fx (AST Sécurisé)"]
end
subgraph Engineering ["Ateliers d'Ingénierie & Multi-Physique"]
SM["Tôlerie Industrielle (Facteur K, DXF)"]
ASS["Assemblage & Cinématique"]
FEA["Simulation FEA & Ponts Gmsh/CalculiX"]
CAM["CAM 2.5D & 5-Axes RTCP Anti-Gouge"]
DRW["Mise en Plan ISO 128 (SVG)"]
PBR["Rendu Photoréaliste Raytracing PBR"]
SPEC["Spécialisé (Aéro, BIM, ECAD, Robotique)"]
end
subgraph AI ["Intelligence Artificielle & Automatisation"]
MCP["Serveur MCP STDIO (Claude, Cursor, Copilot)"]
SYNTH["Synthétiseur de Formes & Scripting"]
VIS["Inspection Visuelle & Auto-Guérison"]
UI_AI["Palette de Commandes & Copilot Dock"]
end
Core --> Engineering
AI <--> Core
AI <--> Engineering
```
---
## 🚀 Fonctionnalités Majeures
### 1. 🛠️ Modélisation Solide & Noyau Géométrique Hybride
- **Noyau double Manifold3D + Nexus B-Rep** : Garantit des solides 3D "watertight" (variétés étanches 2-manifold) et prévient les dégénérescences de volume nul.
- **Opérations d'ingénierie complètes** :
- Primitives paramétriques (Boîte, Cylindre, Sphère, Cône, Tore).
- Extrusion linéaire, Révolution 360°, Perçage calibré (Hole Tool), Coque (Shell), Matrices linéaires et circulaires, Symétrie miroir.
- Arbre de construction chronologique (**Timeline Fusion 360**) avec curseur de retour dans le temps (**Rollback Slider**).
- Congés de raccordement par sphère roulante (**Rolling Ball Blend**), modélisation directe (**Push-Pull**), et structures allégées (**Generative Lattices**).
### 2. 📐 Esquisse 2D & Solveur Non-Linéaire
- Solveur géométrique basé sur l'algorithme des Moindres Carrés TRF (*Trust Region Reflective*) de SciPy.
- Contraintes : Coïncidence, Horizontalité, Verticalité, Distance cotée, Points d'ancrage fixes, Tangence.
- Contrôle strict du nombre maximal d'itérations et prévention des blocages sur croquis sur-contraints.
### 3. 📑 Tôlerie Industrielle (Sheet Metal)
- Calcul de la fibre neutre par **Facteur K** ($K = 0.44$ acier standard).
- Calcul analytique du développement d'arc (*Bend Allowance*) et de la déduction au pli (*Bend Deduction*).
- Dépliage automatique en flan plat (**Flat Pattern**).
- Export AutoCAD DXF R12 avec calques normalisés `CUT` (découpe laser CNC) et `BEND` (lignes de pliage).
### 4. 🔗 Assemblages Cinématiques & Détection de Collisions
- Liaisons normalisées : Rigide, Pivot (1 DDL), Glissière (1 DDL).
- Détection volumique des interférences physiques par intersection CSG booléenne exacte.
### 5. 📊 Simulation Multi-Physique & Éléments Finis (FEA)
- Calcul statique de la **contrainte équivalente de von Mises** $\sigma_{vm}$, de la flèche maximale et du facteur de sécurité mécanique.
- Rendu direct de la cartographie de contrainte (gradient couleur arc-en-ciel) sur le maillage dans le Viewport 3D.
- Passerelles d'intégration pour solveurs externes : **Gmsh**, **CalculiX**, et **OpenFOAM**.
### 6. ✂️ Fabrication Assistée par Ordinateur (CAM / FAO)
- Génération de parcours d'outils 2.5D (Surfaçage, Contournage ébauche/finition).
- CAM 5-axes simultané avec gestion cinématique RTCP (*Rotational Tool Center Point*) et évitement automatique des gouges.
- Placement automatique de fibres composites (**AFP / Automated Fiber Placement**).
- Contrôle qualité métrologique CMM avec recalage géométrique ICP (*Iterative Closest Point*).
- Post-processeur G-Code universel compatible ISO/Fanuc, GRBL, LinuxCNC, et Mach3.
### 7. 📋 Dessin Technique Normalisé ISO 128
- Génération automatique des 4 vues orthogonales (Face, Dessus, Droite, Isométrique 3D).
- Lignes d'arêtes visibles, axes de symétrie, cotations dimensionnelles automatiques.
- Cartouche d'ingénierie normalisé et export vectoriel SVG haute résolution.
### 8. 📸 Studio de Rendu Photoréaliste PBR
- Matériaux optiques réalistes (*Physically Based Rendering*) avec formule de **Fresnel-Schlick**.
- Bibliothèque de matériaux : Aluminium brossé, Chrome, Or, Titane, Cuivre, Fibre de carbone, Plastiques ABS.
- Studio d'illumination 3-points (Key, Fill, Rim lights) et export d'images PNG.
### 9. 🤖 Copilote IA Autonome & Serveur MCP (Model Context Protocol)
- **Standard MCP STDIO** : Branchez directement votre client IA préféré (Claude Desktop, Cursor IDE, Copilot, ChatGPT Desktop) en pointant sur la commande `cad-mcp` ou `python -m src.ai.mcp_stdio`.
- **Synthèse de formes en langage naturel** : Génération de modèles paramétriques et de scripts CSG à partir d'une simple description textuelle.
- **Auto-guérison et validation visuelle** : Analyse des erreurs de modélisation, vérification de l'étanchéité des solides et correction autonome.
- **Palette de commandes IA & Dock Copilote** intégrés à l'interface graphique Qt.
---
## 💻 Installation & Démarrage Rapide
### Prérequis
- **Python 3.10, 3.11 ou 3.12**
- Windows 10/11, Ubuntu/Debian Linux, ou macOS
### 1. Cloner le Dépôt
```bash
git clone https://github.com/jbrandonp/radiant-darwin.git
cd radiant-darwin
```
### 2. Environnement Virtuel
```bash
# Création de l'environnement virtuel
python -m venv .venv
# Activation :
# Sur Windows :
.\.venv\Scripts\activate
# Sur Linux / macOS :
source .venv/bin/activate
```
### 3. Installation du Package
```bash
# Installation en mode éditable avec dépendances de développement
pip install -e ".[dev]"
```
*Sur Linux Ubuntu/Debian, si vous exécutez dans un conteneur ou serveur sans écran :*
```bash
sudo apt-get update && sudo apt-get install -y libgl1-mesa-glx xvfb
```
---
## 🖥️ Utilisation
### Mode Interface Graphique (GUI)
Lancez l'atelier complet CAD Studio :
```bash
# Via commande console
cad-studio
# Ou via Python
python src/main.py
# Ou via les lanceurs multi-plateformes fournis :
# Windows :
launch_cad_studio.bat
# Linux / macOS :
./launch_cad_studio.sh
```
### Mode Ligne de Commande Industrielle (CLI Headless)
Idéal pour les scripts d'automatisation et les pipelines d'intégration continue :
```bash
# Afficher l'aide et la version
cad-cli --help
cad-cli --version
# Créer une pièce géométrique et l'exporter en STL
cad-cli create-box --width 50 --height 30 --depth 20 --output boitier.stl
# Générer un programme G-Code 5-axes sans gouges
cad-cli cam-5axis --output usinage_5axes.gcode
# Simuler l'échauffement Joule d'un circuit imprimé ECAD
cad-cli ecad-thermal --current 3.5
# Exécuter l'audit industriel officiel déterministe
cad-cli audit
```
### Mode Serveur IA MCP (Model Context Protocol)
Pour connecter une IA externe (Claude Desktop, Cursor, agents autonomes) :
```bash
cad-mcp
# Ou :
python -m src.ai.mcp_stdio
```
*Exemple de configuration `claude_desktop_config.json` :*
```json
{
"mcpServers": {
"cad-studio": {
"command": "python",
"args": ["-m", "src.ai.mcp_stdio"],
"cwd": "/chemin/vers/radiant-darwin"
}
}
}
```
### Démonstrateur Intégral (Tous les Ateliers)
Génère automatiquement les 5 fichiers d'ingénierie dans le dossier `demo_output/` :
```bash
python demo_full_suite.py
```
---
## 🧪 Tests & Assurance Qualité Industrielle
Le projet dispose d'une suite exhaustive de tests unitaires, d'intégration et de résistance aux cas limites :
```bash
# Exécution de la suite complète de 412 tests en mode headless
pytest tests/ -v
# Vérification du Quality Gate industriel
python scripts/industrial_audit_engine.py
```
### Métriques d'Audit :
- **Tests unitaires & intégration** : 412/412 passés (100% de succès)
- **Typage statique strict** : 100.00% (Strictement zéro `Any`, zéro `object` dans `src/`)
- **Complexité cognitive** : Aucune fonction n'excède le plafond de 25
- **Vulnérabilités de sécurité SAST** : 0 faille détectée
- **Dépendances cycliques** : 0 cycle d'architecture
- **Quality Gate SonarQube** : **PASSED (GREEN - Conforme Industriel)**
---
## 🏛️ Arborescence du Projet
```
radiant-darwin/
├── .github/
│ └── workflows/
│ └── ci.yml # Pipeline CI/CD GitHub Actions multi-OS
├── scripts/
│ ├── industrial_audit_engine.py # Moteur d'audit déterministe ISO 25010
│ ├── deep_bug_hunter.py # Chasseur de bugs et tolérancement géométrique
│ └── multi_type_simulation_fuzzer.py # Fuzzing et stress-tests multi-physiques
├── src/
│ ├── ai/ # Serveur MCP, pont IA, synthétiseur, auto-guérison
│ ├── assembly/ # Assemblages mécaniques et détection d'interférences
│ ├── cam/ # FAO 2.5D, 5-axes RTCP, AFP fibre, métrologie CMM
│ ├── core/ # Moteur solide, Manifold3D, DAG, Timeline, Nexus Kernel
│ ├── drawing/ # Dessin technique ISO 128 et export SVG
│ ├── fea/ # Éléments finis von Mises, ponts CalculiX et OpenFOAM
│ ├── materials/ # Base de données de matériaux, masses et centres d'inertie
│ ├── render/ # Studio de rendu PBR, Fresnel-Schlick, raytracer
│ ├── sheetmetal/ # Tôlerie, facteur K, développée à plat, export DXF
│ ├── solver/ # Solveur de contraintes d'esquisse 2D (SciPy TRF)
│ ├── specialized/ # Aérodynamique, BIM IFC, ECAD thermique, robotique
│ ├── ui/ # Interface Qt Dark Fusion 360, ruban, palette IA
│ ├── viewport/ # Rendu OpenGL interactif, ViewCube, gizmos, XR LOD
│ ├── cli.py # Interface en ligne de commande industrielle
│ └── main.py # Point d'entrée principal GUI / CLI
├── tests/ # 412 tests unitaires, d'intégration et de robustesse
├── CONTRIBUTING.md # Guide de contribution et règles architecturales
├── LICENSE # Licence open-source MIT
├── pyproject.toml # Packaging moderne PEP 517/621
├── README.md # Documentation complète
├── requirements.txt # Dépendances pip
├── launch_cad_studio.bat # Lanceur Windows
└── launch_cad_studio.sh # Lanceur Linux/macOS
```
---
## 📄 Licence
Ce projet est sous licence **MIT**. Voir le fichier [LICENSE](LICENSE) pour plus de détails.
---
## 🤝 Contribution
Les contributions sont les bienvenues ! Veuillez consulter le fichier [CONTRIBUTING.md](CONTRIBUTING.md) pour découvrir les règles de codage et le processus de soumission de Pull Requests.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues