Un éditeur 3D dans le navigateur, sans logiciel à installer : dessinez un plan, posez des éléments de bâtiment aux normes, aménagez un jardin, obtenez des métrés chiffrés et un plan coté imprimable — puis exportez vers AutoCAD ou laissez un agent IA dessiner à votre place. Un agent IA peut piloter la CAO pour tout type de projet (construction, rénovation, extension, local technique, décoration, extérieur) via une simple scène JSON — voir la section « Piloter la CAO par une IA » et les exemples par type de projet plus bas. English version.
Le moteur importe et exporte le format DXF R12 (texte, sans dépendance
propriétaire) : murs et solides deviennent des entités 3DFACE, les plans 2D des
LINE/CIRCLE natifs. Les fichiers volumineux sont analysés en
arrière-plan (Web Worker) pour ne jamais geler l'interface.
La même logique est exposée en API REST et en serveur MCP — un agent IA (Claude, un workflow n8n…) compose une scène en JSON et obtient un plan réel, chiffré et vérifié, sans jamais ouvrir l'éditeur. Une seule et même scène alimente tous les rendus ci-dessous :
| Endpoint | Rôle |
|---|---|
GET /api/v1/cao/schema | Schéma faisant foi (tous les champs + exemples) — sans clé API. À lire en premier. |
GET /api/v1/agent-playbook | Playbook versionné de bonnes pratiques (sécurité, documents fenêtre, CAO…) — sans clé. MCP : bonnes_pratiques. |
POST /api/v1/cao/verifier | Audit géométrique gratuit (sans clé) — alertes lucarnes flottantes, allège absolue, étage sans fenêtres… MCP : cao_verifier. À appeler avant pdf/dxf. |
POST /api/v1/cao/dxf | Scène JSON → fichier DXF AutoCAD (murs/volumes en 3DFACE, plans 2D natifs) |
POST /api/v1/cao/ifc | Même scène → fichier IFC4 (BIM — Revit, ArchiCAD, Solibri) : GUID réel par élément, matériaux avec masse volumique/conductivité thermique. Ouvertures classées et positionnées, sans trou booléen dans le mur. MCP : cao_generer_ifc |
POST /api/v1/cao/metres | Même scène → métrés chiffrés (ml, m², comptages, litres de peinture) — pour se vérifier |
POST /api/v1/cao/render | Même scène → aperçu visuel rapide (SVG ou PNG, vue de dessus) — pour se relire |
POST /api/v1/cao/pdf | Même scène → planche présentable : dessus, élévations face/côté, vue axonométrique ombrée (pseudo-3D), plan technique élec/plomberie, cotes et métrés — un seul PDF |
POST /api/v1/cao/integrite | Le bâtiment est-il clos et couvert ? Enveloppe percée, pièce sans accès, niveau sans toiture — avec correctifs[] applicables. Gratuit, sans clé |
POST /api/v1/cao/documents | Complétude documentaire : un plan par niveau, chaque étage desservi. Gratuit, sans clé |
POST /api/v1/cao/visite/plan | Plan de tournage de la visite 4K : objectif (focale mm) + chemin de caméra |
POST /api/v1/cao/visite/camera | Reprendre la main sur une vue : une séquence d'actions (avancer, pivoter_gauche…) ou de raccourcis clavier → un nouveau point de vue, mur détecté. MCP : cao_visite_camera |
GET /api/v1/cao/visite/commandes | Catalogue des actions de pilotage et de leurs touches — gratuit, sans clé |
POST /api/v1/cao/visite/studio | Renvoie DEUX URLs sur le même jeton : studio de rendu (le MP4 4K se télécharge) et Visite Virtuelle (exploration en direct — classique/VR/RA) — sans compte |
GET /api/v1/cao/visite/objectifs | Catalogue des focales (14–85 mm) et champs de vision — gratuit, sans clé |
Serveur MCP (https://synergieloc.fr/mcp) : outils cao_generer_dxf,
cao_metres, cao_rendu, cao_pdf, cao_verifier
(audit gratuit), cao_visite_plan (objectif + chemin de caméra) et
cao_visite_camera (pilotage d'une vue) — connectables nativement depuis
Claude ou tout client MCP. Le rendu vidéo se fait sur le GPU d'un navigateur :
éditeur (bouton « Visite 4K ») ou studio public sans compte.
Clé API gratuite en une requête via obtenir_cle_api (MCP) ou POST /api/v1/signup
(sans e-mail) ; ensuite, en-tête X-API-Key (REST) ou Authorization: Bearer (MCP).
Repère : x = droite, y = profondeur, z = hauteur, tout en millimètres. Une scène est un objet JSON dont chaque champ est une liste (tous optionnels, au moins un non vide) :
murs — segments {x1,y1,x2,y2, hauteur?, epaisseur?}. Fermez la boucle
(le dernier mur revient au premier point) pour délimiter une pièce.ouvertures — portes/fenêtres {mur, position, largeur, hauteur, z?, type:'porte'|'fenetre'}.
mur = index dans murs[] (0 = premier) ; position = distance depuis (x1,y1).toitures — {type, murs?, hauteur_faitage?, …} : plat, deux_pans,
quatre_pans, conique, dome, chien_assis, personnalise. Composables (une par aile / lucarne).decoration — finition par mur {mur, face:'interieur'|'exterieur', type, couleur} (devis peinture).electricite / plomberie — symboles {type, mur, position} ou {type, x, y} ; reseaux = canalisations {type, trace:[{x,y}…]}.boites — volumes {x,y,l,p,h, z?, rotation?} (masses, mobilier, terrasses, poteaux) ; plan/cercles = tracés 2D.bonnes_pratiques
(ou GET /agent-playbook) → ② GET /cao/schema →
③ composer la scène → ④ POST /cao/verifier (corriger les alertes critique) →
⑤ /cao/metres + /cao/render → ⑥ livrer /cao/dxf, /cao/pdf
et, pour la vidéo, /cao/visite/plan (objectif + chemin de caméra) rendu par le
bouton « Visite 4K » de l'éditeur.electricite, plomberie et
reseaux sont rendus partout — calques dédiés ELEC/PLOMB/PLOMB_RESEAUX
du DXF, aperçu SVG/PNG (/cao/render), métrés (comptages + mètres linéaires) et
planche PDF (plan technique). En revanche ouvertures (portes/fenêtres) et toitures
n'agissent que sur la planche /cao/pdf (élévations + vue axonométrique), pas sur le DXF ni les métrés.
Pour un rendu « qui se lit comme un vrai projet », visez /cao/pdf.Points de départ à copier et adapter. Toutes les cotes sont en millimètres.
{
"murs": [
{"x1":0,"y1":0,"x2":9000,"y2":0,"hauteur":2600,"epaisseur":200},
{"x1":9000,"y1":0,"x2":9000,"y2":7000,"hauteur":2600,"epaisseur":200},
{"x1":9000,"y1":7000,"x2":0,"y2":7000,"hauteur":2600,"epaisseur":200},
{"x1":0,"y1":7000,"x2":0,"y2":0,"hauteur":2600,"epaisseur":200}
],
"ouvertures": [
{"mur":0,"position":3800,"largeur":1000,"hauteur":2150,"type":"porte"},
{"mur":0,"position":6000,"largeur":1400,"hauteur":1250,"z":900,"type":"fenetre"},
{"mur":2,"position":3500,"largeur":1400,"hauteur":1250,"z":900,"type":"fenetre"}
],
"toitures": [{"type":"deux_pans","hauteur_faitage":1800,"debord":300}],
"decoration": [{"mur":0,"face":"exterieur","type":"enduit","couleur":"#e9e2d0"}]
}
Pas de toiture : on décrit les cloisons et les portes de communication, puis une couleur par pièce.
{
"murs": [
{"x1":0,"y1":0,"x2":7000,"y2":0},
{"x1":7000,"y1":0,"x2":7000,"y2":5000},
{"x1":7000,"y1":5000,"x2":0,"y2":5000},
{"x1":0,"y1":5000,"x2":0,"y2":0},
{"x1":4000,"y1":0,"x2":4000,"y2":5000,"epaisseur":100}
],
"ouvertures": [{"mur":4,"position":3800,"largeur":900,"hauteur":2100,"type":"porte"}],
"decoration": [
{"mur":0,"face":"interieur","type":"peinture","couleur":"#f2efe8"},
{"mur":4,"face":"interieur","type":"peinture","couleur":"#d8e6ea"}
]
}
{
"murs": [
{"x1":0,"y1":0,"x2":2600,"y2":0},{"x1":2600,"y1":0,"x2":2600,"y2":2200},
{"x1":2600,"y1":2200,"x2":0,"y2":2200},{"x1":0,"y1":2200,"x2":0,"y2":0}
],
"plomberie": [
{"type":"douche","mur":1,"position":600},
{"type":"lavabo","mur":0,"position":1800},
{"type":"wc","mur":2,"position":500}
],
"electricite": [{"type":"vmc","x":1300,"y":1100},{"type":"luminaire","x":1300,"y":700}],
"reseaux": [
{"type":"ef","trace":[{"x":0,"y":300},{"x":600,"y":300},{"x":600,"y":100}]},
{"type":"ev","trace":[{"x":500,"y":2200},{"x":500,"y":1400},{"x":1800,"y":1400}]}
]
}
On accole les murs de l'extension au bâti existant et on couvre par une toiture dédiée
(personnalise avec un apex décalé pour une pente simple, ou plat).
{
"murs": [
{"x1":9000,"y1":0,"x2":13000,"y2":0,"hauteur":2400},
{"x1":13000,"y1":0,"x2":13000,"y2":4000,"hauteur":2400},
{"x1":13000,"y1":4000,"x2":9000,"y2":4000,"hauteur":2400}
],
"toitures": [{"type":"plat","murs":[0,1,2],"debord":250,"epaisseur":160}],
"ouvertures": [{"mur":1,"position":1500,"largeur":2400,"hauteur":2100,"z":0,"type":"fenetre"}]
}
{
"murs": [
{"x1":0,"y1":0,"x2":12000,"y2":0,"hauteur":3000},
{"x1":12000,"y1":0,"x2":12000,"y2":8000,"hauteur":3000},
{"x1":12000,"y1":8000,"x2":0,"y2":8000,"hauteur":3000},
{"x1":0,"y1":8000,"x2":0,"y2":0,"hauteur":3000}
],
"ouvertures": [{"mur":0,"position":5000,"largeur":2000,"hauteur":2400,"type":"porte"}],
"toitures": [{"type":"plat"}],
"electricite": [
{"type":"tableau_electrique","mur":3,"position":500},
{"type":"prise","mur":0,"position":2000},{"type":"prise","mur":2,"position":2000},
{"type":"prise_rj45","mur":2,"position":4000}
]
}
boites (surfaces et volumes), plan (tracés) et
cercles ; des clôtures avec des murs bas. La palette végétale complète
(arbres, haies, conifères) est disponible dans l'éditeur interactif, plus riche pour le paysagisme.Vous pouvez empiler autant d'étages que vous voulez et poser la toiture de votre choix
au-dessus, selon votre créativité. Le principe est simple : chaque mur porte un champ optionnel
z (altitude de sa base, en mm). Un niveau = les mêmes murs répétés avec le bon
z.
z:0 (ou sans z),
hauteur d'étage typique 2600 mm.z =
hauteur cumulée : R+1 → z:2600, R+2 → z:5200, R+3 → z:7800… Autant
de fois que nécessaire. Les niveaux peuvent différer (retrait, mur en moins pour une terrasse…).escaliers par niveau
(dimensionné automatiquement selon la loi de Blondel) et/ou un ascenseurs
(cabine accessible NF EN 81-70 1100×1400 mm par défaut, desservant niveaux
étages) ; un garde_corps à la trémie ou sur la mezzanine (NF P01-012, hauteur ≥ 1000 mm
— un garde-corps plat convient sur une zone plane comme celle-ci ; le long d'une volée
d'escalier ouverte, la règle et la forme sont différentes, voir l'encadré ci-dessous).toitures
avec z = hauteur totale du bâtiment (sommet du dernier étage) et le type de votre
choix : plate pour un toit-terrasse, deux/quatre pans, conique, dôme, ou personnalise pour une
forme libre. Plusieurs toitures se composent (bâtiment en L, tourelle, lucarne…) — liberté totale.Exemple d'une maison R+2 (mêmes 4 murs répétés à 0 / 2600 / 5200, un escalier par niveau, un
garde-corps de mezzanine, une toiture 4 pans au sommet à z:7800) :
{
"murs": [
{"x1":0,"y1":0,"x2":8000,"y2":0,"z":0}, {"x1":8000,"y1":0,"x2":8000,"y2":6000,"z":0},
{"x1":8000,"y1":6000,"x2":0,"y2":6000,"z":0}, {"x1":0,"y1":6000,"x2":0,"y2":0,"z":0},
{"x1":0,"y1":0,"x2":8000,"y2":0,"z":2600}, {"x1":8000,"y1":0,"x2":8000,"y2":6000,"z":2600},
{"x1":8000,"y1":6000,"x2":0,"y2":6000,"z":2600}, {"x1":0,"y1":6000,"x2":0,"y2":0,"z":2600},
{"x1":0,"y1":0,"x2":8000,"y2":0,"z":5200}, {"x1":8000,"y1":0,"x2":8000,"y2":6000,"z":5200},
{"x1":8000,"y1":6000,"x2":0,"y2":6000,"z":5200}, {"x1":0,"y1":6000,"x2":0,"y2":0,"z":5200}
],
"escaliers": [
{"x":600,"y":600,"hauteur":2600,"z":0},
{"x":600,"y":600,"hauteur":2600,"z":2600}
],
"ascenseurs": [{"x":2200,"y":800,"niveaux":3,"hauteur":2600,"z":0}],
"garde_corps": [{"x1":600,"y1":2000,"x2":4000,"y2":2000,"hauteur":1000,"z":2600}],
"toitures": [{"type":"quatre_pans","z":7800,"hauteur_faitage":2200,"debord":400}]
}
hauteur, le nombre de
marches suit. Les deux apparaissent dans le DXF (calques ESCALIER/GARDE_CORPS),
l'aperçu, la planche PDF et les métrés (qui signalent la conformité Blondel). L'ascenseur
(champ ascenseurs) ajoute une gaine + cabine accessible NF EN 81-70
(1100×1400 mm) desservant plusieurs niveaux — calque DXF ASCENSEUR,
symbole normalisé (rectangle + croix + « ASC ») dans l'aperçu, conformité PMR dans les métrés. Placez
la cabine à côté de la cage d'escalier pour une circulation verticale complète.garde_corps[] est par nature plat (un seul z/hauteur pour tout le
segment). C'est correct pour un balcon ou une mezzanine, mais faux le long d'une volée
d'escalier ouverte : NF P01-012 exige ≥900 mm mesurés verticalement au-dessus du nez de
chaque marche — une hauteur qui monte avec l'escalier — puis ≥1000 mm sur le palier. Un
seul segment horizontal ne peut respecter les deux à la fois. La bonne pratique : plusieurs
entrées garde_corps[], une par marche (même x1,y1,x2,y2 que le bord de la
volée à cette marche, z = altitude du nez, hauteur:900), plus une dernière à
hauteur:1000 sur le palier. POST /cao/integrite calcule et propose cette
rampe automatiquement (correctifs[], code escalier_ouvert_sans_garde_corps)
dès qu'une volée reste ouverte sans protection conforme — inutile de la construire à la main./api/v1/cao/pdf ajoute une toiture plate générée automatiquement sur
l'emprise des murs (sans quoi le bâtiment resterait ouvert, vu de dessus) et accepte un champ
optionnel ouvertures pour incruster portes et fenêtres sur un mur porteur
({mur, position, largeur, hauteur, type:'porte'|'fenetre'}) : c'est ce qui fait
qu'un volume se lit comme une maison plutôt qu'une boîte grise. La vue axonométrique élimine les
faces cachées et ombre chaque face selon une lumière fixe — un vrai relief perçu, pas un plan
filaire. Contrairement à une image générée par un modèle IA généraliste (jolie mais sans rapport
garanti avec les dimensions réelles), chaque trait de cette planche est calculé directement à
partir des murs/ouvertures fournis : les cotes affichées sont les cotes réelles du projet.
Le champ optionnel toitures remplace le toit plat par défaut par une vraie
toiture — plat (dalle sur emprise quelconque), deux_pans (faîtage classique),
quatre_pans (croupe), conique, dome (anneaux étagés), chien_assis
(lucarne : façade + toit à poser sur un pan existant) ou personnalise (emprise et sommet
entièrement libres). Plusieurs entrées se composent : chacune peut viser un sous-ensemble
de murs (murs:[indices]) — utile pour un bâtiment en L (un toit par aile) ou pour
ajouter une lucarne par-dessus un toit principal.
Les champs electricite (prises, interrupteurs, va-et-vient, luminaires, tableau,
RJ45, détecteur de fumée, VMC — hauteurs par défaut indicatives NF C 15-100) et
plomberie (évier, lavabo, WC, douche, baignoire, chauffe-eau, radiateur, compteur
d'eau, + reseaux pour les canalisations EF/EC/EU/EV/EP/chauffage) se placent sur un
mur ou librement, et se rendent sur un plan technique dédié (symboles + légende), séparé du
plan architectural pour rester lisible — comme dans la pratique réelle, ces métiers se lisent en
plan 2D. Les métrés (nombre de points par type, mètres linéaires de réseaux) sont calculés
automatiquement. Ce n'est pas un vérificateur de conformité NF C 15-100/DTU 60.11
(pas de contrôle des volumes de sécurité, du nombre minimal de prises par pièce…) : des symboles
et des métrés fiables pour chiffrer, pas un bureau de contrôle.
Le champ decoration attribue une finition (peinture, papier peint, enduit,
carrelage mural, lambris, béton ciré) et une couleur par mur, face intérieure ou extérieure — la
face pertinente (intérieur/extérieur) est détectée automatiquement selon l'orientation du mur par
rapport au bâtiment. La couleur colore réellement les élévations et la vue axonométrique. Les
métrés donnent la surface par (type, couleur) et une estimation de litres de peinture (2 couches,
5 m²/L).
POST /api/v1/cao/visite/plan (MCP cao_visite_plan) rend un plan de
tournage — objectif en millimètres (20 mm intérieur, 35 mm extérieur, 50 mm clôture, comme
en photo d'architecture), vitesses, temps de pose par pièce et chemin complet en mm. Vous le
modifiez, vous le renvoyez, vous le collez dans « Plan de caméra piloté ».
GET /api/v1/cao/visite/objectifs liste les focales, gratuitement.POST /api/v1/cao/visite/studio renvoie une URL de studio
(/cao/visite?t=…) à ouvrir dans n'importe quel navigateur : aucune
connexion, aucun cookie. La page convertit votre scène en géométrie visitable (baies
réellement percées, toiture, escalier), charge le même moteur que l'éditeur, rejoue le
plan de tournage et télécharge le MP4 en 3840×2160. Jeton valable 2 h, aucune donnée
conservée. En automatisation : navigateur fenêtré (en headless la 4K passe en
rendu logiciel) et window.STUDIO_progres pour suivre.url_visite_virtuelle
(/cao/visite-xr?t=…, même jeton) : une exploration en direct de la
maquette, sans jamais enregistrer de vidéo. Mode classique immédiat (souris/tactile,
aucun matériel requis), bouton casque VR (Meta Quest, Pico, HTC Vive…) et bouton
réalité augmentée (pose la maquette dans une pièce réelle par détection de surface,
on marche autour EN VRAI). Choix technique délibéré : une vraie scène 3D — le même
moteur que la Visite 4K — plutôt que des photos panoramiques à 360° figées par pièce
(à la Matterport) : un vrai déplacement, une vraie profondeur en casque, aucun pipeline de
rendu panoramique à part. Les points d'intérêt affichent le nom de la pièce, sa surface et
sa hauteur sous plafond — les seules données que le modèle de scène porte réellement
(pas de DPE ni de type de vitrage par pièce, qui n'existent nulle part dans le schéma CAO).
Limite de plateforme honnête : la RA WebXR n'est aujourd'hui largement supportée que
par Chrome sur Android (ARCore) — le bouton reste grisé, avec une explication, sur Safari
iOS.« Visite 4K » (bouton de la barre d'outils de l'éditeur) : une vraie visite cinématique rendue sur le moteur 3D (GPU du navigateur), capturée en 4K (3840×2160, 30 img/s). La caméra fait le tour extérieur puis parcourt l'intérieur pièce par pièce — à hauteur d'œil, en passant par les portes et les couloirs, en restant dans l'espace ouvert (jamais à travers un mur). Sur un bâtiment à étages, elle monte et descend d'un niveau à l'autre par la circulation verticale (escalier ou ascenseur) : chaque étage est visité, puis la caméra grimpe au suivant. Deux modes au choix : « Extérieur + intérieur nu » (coque en plâtre, sans mobilier) et « Après déco & ameublement » (le bien fini). Durée réglable (45 / 60 / 90 / 120 s, défaut 60 s pour un rythme posé). La vidéo se télécharge à la fin. C'est le rendu le plus vendeur pour présenter un bien à visiter.
La qualité est celle d'une visualisation architecturale temps réel (matières, ombres douces, éclairage) et suit le niveau de détail de la maquette : une coque nue donne une vidéo épurée, un modèle meublé et décoré donne une visite riche.
La visite automatique est une chorégraphie complète — elle est bonne, mais elle est fermée. Quand une vue ne va pas (façade coupée, faîtage hors cadre, envie d'entrer dans la pièce d'à côté), il serait absurde de réécrire tout un chemin de caméra : on reprend la main. Dans le studio de rendu, la caméra obéit au clavier ; le pavé numérique est une rose des vents, donc il n'y a rien à apprendre — la touche est là où va la caméra.
| Touche | Action | Touche | Action |
|---|---|---|---|
Ctrl + 8 | Avancer | Ctrl + 2 | Reculer |
Ctrl + 4 | Aller à gauche | Ctrl + 6 | Aller à droite |
Ctrl + 7 / 9 | Diagonales avant | Ctrl + 1 / 3 | Diagonales arrière |
Ctrl + 5 | Zoomer (focale +) | Ctrl + Maj + 5 | Dézoomer |
Ctrl + ◀ / ▶ | Pivoter sur place | Ctrl + ▲ / ▼ | Incliner (plafond / sol) |
Ctrl + Page ▲ / ▼ | Monter / descendre | Ctrl + Début | Revenir à la vue de départ |
Ctrl + Fin | Vue d'ensemble | Ctrl + Inser / Suppr | Pièce suivante / précédente |
Maj maintenue = pas ×4 (sauf Ctrl+Maj+5, qui est le dézoom). Le pas
par défaut est de 50 cm, 25 cm en altitude, 15° en rotation. Sur un portable sans pavé
numérique, la rangée de chiffres du haut fait la même chose.
POST /api/v1/cao/visite/camera (MCP cao_visite_camera) prend une
séquence d'actions plutôt que des coordonnées :
{"actions": ["avancer x3", "pivoter_gauche", "monter", "zoom_arriere"]}. Les
raccourcis sont acceptés tels quels ("ctrl+8"), si bien qu'une vue préparée par
l'agent se reproduit à l'identique au clavier, et inversement. Deux choses le rendent
sûr : si vous postez la scène, un pas qui finirait dans une cloison est refusé et
expliqué (jamais appliqué en silence), et la réponse contient l'état après chaque
action. Le chemin renvoyé se donne tel quel à
/cao/visite/studio : on pilote, puis on rend en 4K exactement ce qu'on a
cadré. Catalogue gratuit : GET /api/v1/cao/visite/commandes.Longtemps, une scène ne pouvait contenir que des boites[] — des
parallélépipèdes nus. Résultat : une maison « entièrement meublée » demandée à une IA
revenait en cubes gris, et une salle de bain était vide en visite (les appareils
sanitaires n'existaient qu'en 2D, sur la planche et dans le DXF). La liste mobilier[]
corrige cela avec une cinquantaine d'articles réellement modélisés :
| Famille | Articles |
|---|---|
| Extérieur | parasol (mât, toile à pans, socle lesté), salon de jardin (table + 4 chaises), bain de soleil, barbecue, pergola, jardinière, portail, clôtures bois / fer forgé / grillagée, haie, arbre feuillu et conifère (tronc + houppier), abri de jardin, banc, bassin, terrasse |
| Salle de bain | WC, lavabo, douche, baignoire, lave-linge |
| Cuisine | évier, réfrigérateur, four, plaque de cuisson, hotte, cuisine équipée |
| Séjour & chambre | canapé, canapé d'angle, fauteuil, table basse, tapis, bibliothèque garnie, plante d'intérieur, téléviseur, lampadaire, miroir, cadre, rideaux, lit, armoire, commode, table de chevet, bureau, porte-manteau |
Les cotes sont facultatives : sans elles, l'article prend des dimensions courantes du
commerce (canapé 3 places 2100 × 950, lit double 2000 × 1600, parasol Ø 3000). z
est l'altitude du sol sous l'objet — celle de l'étage, pas du centre de l'objet.
GET /api/v1/cao/mobilier (MCP cao_mobilier) — gratuit, sans clé.
À lire avant de meubler. Les objets posés apparaissent dans la Visite 4K, sur la planche
PDF, dans le DXF et dans les métrés. Les appareils déclarés dans plomberie[] sont
désormais aussi posés en 3D : inutile de les redéclarer./cao/verifier signale aussi un meuble (ou un volume boites[], ou un
appareil plomberie[]) posé dans le débattement d'une porte — la caméra ne
traverse plus les meubles en Visite 4K/Virtuelle, donc un bureau planté devant une porte ouverte
s'y voit désormais aussi. Deux meubles franchement imbriqués (un lit à moitié dans une
armoire) sont signalés de la même façon.
Un contrôle qu'on hésite à appeler n'est pas appelé : ces trois-là ne coûtent rien et ne
demandent aucune clé. L'outil MCP cao_verifier les enchaîne en un seul appel.
/cao/verifier) — les fautes qui rendent une planche
fausse : allège prise en altitude absolue, lucarne flottant hors du rampant, étage sans
fenêtres, escalier qui traverse un mur ou qui débouche hors du bâtiment, garde-corps
égaré, ouverture qui déborde de son mur./cao/integrite) — le bâtiment est-il vraiment clos et
couvert ? Enveloppe percée (une extrémité de mur qui ne rejoint rien — les jonctions en T
et les jambages de porte sont reconnus, donc pas de fausse alerte), pièce sans accès, niveau
sans toiture. Renvoie des correctifs[] applicables automatiquement.garde_corps[] plat par marche, pas un seul segment horizontal qui
flotterait au-dessus des premières marches ou serait trop bas en haut). On ne vous dit pas
« c'est faux », on vous dit « mettez-le là », ou à défaut « voilà la rampe qui protège »./cao/documents) — quatre étages exigent quatre
plans, et chaque étage doit être desservi.Non — l'éditeur tourne entièrement dans le navigateur (Three.js), aucune installation, aucune carte graphique dédiée requise.
Oui, via l'export DXF R12 (murs et volumes en 3DFACE, plans 2D en
LINE/CIRCLE) — ouvrable dans AutoCAD, LibreCAD, BricsCAD.
Oui : arbres, haies, bassins, clôtures, terrasses et allées sont disponibles nativement, avec métrés (linéaire de haies, surface de terrasses) intégrés au même panneau d'analyse que les éléments de bâtiment. Le rendu utilise de vraies textures PBR (bois, béton, carrelage, tissu) et un environnement HDRI pour des reflets réalistes — reste du temps réel (navigateur), pas un rendu différé image par image.
Oui — via l'API /api/v1/cao/dxf ou l'outil MCP cao_generer_dxf,
un agent décrit une scène en JSON (murs, volumes, plan 2D) et reçoit un fichier DXF réel,
plus les métrés et un aperçu visuel pour se vérifier avant de livrer.
Oui. Le modèle de scène JSON couvre la construction (maison, appartement, extension, local
commercial), la rénovation intérieure (cloisons, portes de communication, finitions par pièce),
les lots techniques (électricité, plomberie, réseaux) et la décoration/peinture. Un agent lit
d'abord GET /api/v1/cao/schema (sans clé) pour les champs exacts, compose la scène,
se vérifie avec /cao/metres et /cao/render, puis livre le DXF ou la planche
PDF. Voir la section « Exemples de scènes par type de projet » ci-dessus, qui donne un
JSON de départ pour chaque cas. Pour l'aménagement paysager, l'API esquisse les emprises
(terrasses, allées, massifs) tandis que l'éditeur interactif offre la palette végétale complète.
Oui, via /api/v1/cao/pdf (ou l'outil MCP cao_pdf) : une planche PDF
avec vue de dessus, élévations de face et de côté, et une vue axonométrique ombrée (relief
perçu par élimination des faces cachées + éclairage directionnel), toiture auto-générée et
portes/fenêtres si vous les décrivez (champ ouvertures). Toutes les vues sont
calculées à partir de vos cotes exactes — à la différence d'une image générée par un modèle IA
généraliste, qui peut être belle mais ne garantit aucune fidélité dimensionnelle au projet réel.
Oui, via le champ toitures : plat, deux pans, quatre pans (croupe), conique,
dôme, chien-assis (lucarne) ou une forme entièrement personnalisée — plusieurs toitures peuvent
se composer sur un même bâtiment (bâtiment en L, lucarne sur un toit principal…).
Oui : prises, interrupteurs, luminaires, tableau électrique côté electricite ;
évier, WC, douche, baignoire, chauffe-eau et canalisations EF/EC/EU/EV côté plomberie
— rendus sur un plan technique dédié avec métrés (comptages, mètres linéaires de réseaux). Ce
n'est pas un contrôle de conformité NF C 15-100, seulement des symboles et des métrés
pour chiffrer.
Oui, via le champ decoration (mur, face, type de finition, couleur) — la couleur
apparaît réellement dans les élévations et la vue axonométrique, avec une estimation de litres
de peinture dans les métrés.
Oui : dans l'éditeur, le bouton « Visite 4K » génère une visite cinématique GPU
en 3840×2160 (extérieur + intérieur pièce par pièce, multi-étages), au choix « intérieur nu » ou
« après déco & ameublement ». L'objectif et le chemin de la caméra se pilotent par API :
POST /cao/visite/plan (MCP cao_visite_plan). Sans compte, passez par
POST /cao/visite/studio, qui renvoie une URL à ouvrir dans un navigateur.
Non. Ctrl + pavé numérique dans le studio de rendu : la caméra avance, pivote, monte,
zoome, passe à la pièce suivante — et Ctrl + Début ramène à la vue de départ si on
s'est perdu. Un agent IA dispose de la même grammaire par
POST /cao/visite/camera (MCP cao_visite_camera), en actions nommées
("avancer x3") ou en raccourcis ("ctrl+8"). Le chemin obtenu se rend
ensuite en 4K tel quel — on cadre, puis on tourne.