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/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/video | Visite MP4 orbite extérieure (async job_id). Pour voir plus (intérieur pièce par pièce) : éditeur → « Visite 4K » |
Serveur MCP (https://synergieloc.fr/mcp) : outils cao_generer_dxf,
cao_metres, cao_rendu, cao_pdf, cao_verifier
(audit gratuit) — connectables nativement depuis
Claude ou tout client MCP. (Il n'y a pas d'outil vidéo : la visite 4K se fait dans l'éditeur.)
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/ou /cao/video (orbite MP4). Pour voir plus (intérieur pièce par pièce) :
éditeur → bouton « Visite 4K ».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).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./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/video (MCP cao_video) :
orbite extérieure MP4 asynchrone (job_id, poll, ?format=base64).
Idéal pour les agents. Pour voir plus — éditeur CAO → bouton « Visite 4K » :
visite cinématique GPU (extérieur + intérieur pièce par pièce, multi-étages, FOV adaptatif).« 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.
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 reste stylisé et professionnel, pas photoréaliste.
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 — via API (POST /cao/video / MCP cao_video : orbite
extérieure MP4) et, pour voir plus, dans l'éditeur le bouton « Visite 4K »
génère une visite cinématique GPU (extérieur + intérieur pièce par pièce), au
choix « intérieur nu » ou « après déco & ameublement ».