Dernière mise à jour : 20 août 2026

Traitement CAD basé sur le Web : Guide complet pour analyser, convertir et visualiser les données 3D
Les logiciels d’ingénierie, de construction et de fabrication sont depuis longtemps ancrés aux stations de travail de bureau lourdes. Pendant des décennies, collaborer sur une conception signifiait exporter des fichiers massifs, lancer des logiciels propriétaires de bureau, ou se contenter de captures d’écran PDF 2D statiques qui aplatissent la géométrie riche en pixels morts.
Aujourd’hui, les équipes produit attendent une collaboration de conception en temps réel, des devis de pièces basés sur le cloud, une validation automatisée des conceptions et un partage de modèles sans friction directement dans un navigateur web. Apporter les fichiers de Conception Assistée par Ordinateur (CAO) sur le web est notoirement difficile. Les formats de fichiers propriétaires, les splines B rationnelles non uniformes (NURBS), les charges de fichiers massives et les contraintes GPU des navigateurs créent de sérieux défis architecturaux.
Voici une répartition pratique, de bout en bout, de la façon d’architecturer, de traiter et de rendre les fichiers CAO dans les applications web modernes.
1. Comprendre le paysage CAD : Pourquoi le traitement Web est difficile
Avant d’écrire un script d’ingestion ou de choisir une bibliothèque de canevas 3D, vous devez comprendre la distinction entre les formats que vos utilisateurs téléchargent et les formats que les navigateurs rendent réellement.
Représentation de frontière (B-Rep) vs maillages polygonaux
Les outils CAO de bureau (SolidWorks, CATIA, Autodesk Inventor, Siemens NX) ne pensent pas en triangles. Ils stockent les géométries sous forme de courbes, surfaces et solides mathématiquement exacts, appelés B-Rep (Boundary Representation) ou NURBS (Non-Uniform Rational B-Splines).
- Formats B-Rep (
.step,.stp,.iges,.sldprt): Haute précision mathématique, définitions d’arêtes variables et relations topologiques complexes. - Formats de dessin (
.dwg,.dxf): Données de dessin vectoriel 2D/3D, fortement stratifiées, souvent propriétaires (en particulier le DWG binaire). - Formats de maillage (
.stl,.obj,.ply): Approximations triangulées. Bien que le STL soit courant pour l’impression 3D, il perd toutes les informations sémantiques (filets, vrais rayons, matériaux, assemblages).
Le problème du Web : Les moteurs WebGL et WebGPU ne comprennent que les tableaux de points, les sommets et les maillages triangulaires. Les navigateurs ne peuvent pas évaluer nativement les équations paramétriques NURBS à 60 images par seconde.
Par conséquent, intégrer la CAO dans une application web est fondamentalement un problème de tessellation et de pipeline : transformer des solides CAO mathématiquement précis en maillages polygonaux légers et optimisés sans perdre la fidélité d’ingénierie critique.
2. Architecture principale : le pipeline d’ingestion et de conversion
Essayer d’analyser un assemblage STEP de 200 Mo côté client fera planter l’onglet du navigateur de l’utilisateur. Un pipeline de traitement CAD prêt pour la production repose sur une architecture asynchrone et découplée :
[Browser Client]
│ (Direct Upload via Presigned URL)
▼
[Cloud Storage: S3 / GCS]
│ (Event Trigger)
▼
[Message Queue: SQS / RabbitMQ]
│
▼
[Worker Nodes (Geometry Engine)]
├─ Format Parsing
├─ Tessellation & Meshing
├─ Decimation & Level-of-Detail (LOD)
└─ Optimization
│
▼
[Derived Output: glTF / GLB / Vector JSON]
│
▼
[Client Web Viewer (Three.js / Babylon.js)]
Étape 1 : ingestion sécurisée via des téléversements directs vers le cloud
Ne faites jamais transiter de gros binaires CAD par votre serveur d’application principal. Utilisez des URL de téléchargement pré‑signées S3 ou Google Cloud Storage avec un téléchargement multipart en morceaux strict. Les assemblages CAD regroupent souvent plusieurs fichiers de pièces (.sldprt) dans un assemblage (.sldasm) ou sous forme d’archives .zip ; votre couche de téléchargement doit prendre en charge l’ingestion de plusieurs fichiers et dossiers.
Étape 2 : travailleurs de conversion asynchrones
Une fois le téléchargement terminé, un événement déclenche un pool de travailleurs asynchrones. Comme les conversions CAD sont gourmandes en CPU et en mémoire, maintenez vos travailleurs sur une infrastructure évolutive (par ex., AWS ECS, pods Kubernetes ou instances de calcul dédiées).
Étape 3 : tessellation et extraction de caractéristiques
Le travailleur analyse le fichier, extrait les métadonnées (boîtes englobantes, arbres de pièces, propriétés de masse, calques) et convertit les surfaces mathématiques en triangles.
Étape 4 : normalisation aux normes prêtes pour le web
Le résultat doit être converti en glTF 2.0 (.glb) — souvent appelé le « JPEG du 3D » — ou en formats binaires personnalisés pour des applications spécialisées. Pour les données de dessin 2D (.dwg/.dxf), convertissez-les en formats vectoriels comme SVG ou en géométries plates de type GeoJSON.
3. Choisir le bon moteur de conversion
Vous avez généralement trois options pour gérer l’analyse et la tessellation côté serveur :
| Approche | Outils typiques | Avantages | Inconvénients |
|---|---|---|---|
| Noyaux de géométrie Open‑Source | Open CASCADE (OCCT), FreeCAD CLI, CadQuery | Aucun frais de licence par transaction ; contrôle complet des données. | Courbe d’apprentissage abrupte (C++) ; lenteur sur les assemblages massifs ; réglage manuel requis. |
| SDKs commerciaux sans tête | Tech Soft 3D (HOOPS), Spatial (ACIS), Datakit | Prise en charge native des formats propriétaires (CATIA, Creo, SolidWorks) ; performances exceptionnelles. | Coûts de licence d’entreprise importants. |
| API de traduction cloud | Autodesk Platform Services (Forge), Convertigo | Infrastructure clé en main ; widgets de visualisation web intégrés ; maintenance minimale. | Verrouillage du fournisseur ; frais de traitement par fichier ; les données quittent votre périmètre privé. |
Quand utiliser WebAssembly (Wasm)
Pour les formats légers (comme les fichiers .stl propres ou les plans 2D simples au format .dxf), vous pouvez contourner complètement les files d’attente du backend. Compiler des analyseurs légers en C++ ou Rust vers WebAssembly vous permet de lire les fichiers directement dans le navigateur à l’aide de Web Workers. Limitez cette approche aux pièces uniques de moins de 25 Mo afin de préserver la mémoire du client.
4. Optimisation de la géométrie 3D pour les performances web
Un modèle CAO tessellé brut peut facilement produire des millions de polygones, ralentissant considérablement le taux d’images du navigateur. L’optimisation à l’étape du worker est obligatoire :
1. Déflexion adaptative (contrôle de tessellation)
Évitez la subdivision uniforme. Utilisez les réglages de déviation chordale : les surfaces planes nécessitent très peu de triangles, tandis que les congés serrés et les courbes radiales exigent une densité plus élevée.
2. Décimation de maillage et génération de niveaux de détail (LOD)
Générez plusieurs niveaux de détail (LOD). Lorsque l’utilisateur effectue un zoom arrière pour voir l’ensemble de la machine, rendez un LOD avec 80 % de polygones en moins. Lorsqu’il zoome sur un boulon ou un roulement spécifique, remplacez-le par la géométrie haute fidélité.
3. Compression de maillage via Draco et Meshopt
Appliquez toujours une compression de la géométrie aux sorties web :
- Google Draco : Réduit drastiquement la taille des fichiers téléchargés. Cependant, la décompression des modèles Draco consomme des cycles CPU côté client.
- Meshopt / EXT_meshopt_compression : Offre une compression équilibrée avec une décompression WebAssembly rapide et native, ce qui le rend idéal pour le rendu rapide d’assemblages complexes.
4. Instanciation
Dans les modèles de fabrication, des pièces telles que des vis, des supports et des goujons se répètent des dizaines de fois. Assurez-vous que votre pipeline de traduction détecte les corps dupliqués et génère des maillages instanciés (EXT_mesh_gpu_instancing). Cela réduit le nombre d’appels de dessin de centaines à un seul.
5. Rendu dans le navigateur : architecture front-end
Une fois que le worker génère un fichier .glb optimisé, le navigateur gère l’interaction, l’inspection et la mesure.
Choix d’un moteur de rendu
- Three.js : La norme de l’industrie. Écosystème massif, léger, et facile à personnaliser pour les configurateurs de produits et les interfaces de visualisation personnalisées.
- Babylon.js : Moteur riche en fonctionnalités, de qualité production, avec un support prêt à l’emploi pour les matériaux PBR complexes, la physique et les flux de travail d’entreprise.
- Autodesk Viewer / HOOPS Communicator : Visionneuses pré-emballées avec des fonctionnalités BIM/CAD intégrées (plans de coupe, hiérarchies d’arbre de modèle, vues éclatées), mais étroitement liées à leurs back‑ends cloud propriétaires.
Fonctionnalités essentielles du visualiseur Web CAD
Si vous créez une interface personnalisée, les utilisateurs ingénieurs s’attendront à des interactions de bureau standard :
- Contrôles d’orbite de type CAD : Les outils CAD de bureau utilisent des mappages de souris différents (par ex., SolidWorks utilise l’orbite avec le bouton du milieu ; Revit utilise Maj + bouton du milieu). Permettez aux utilisateurs de basculer entre les schémas de contrôle.
- Boîte englobante interactive & sectionnement : Utilisez des plans de découpe GL pour permettre aux utilisateurs de trancher les composants internes d’un assemblage solide.
- Arbre hiérarchique (graphique de scène) : Rendre la structure d’assemblage parent‑enfant en HTML/React afin que les utilisateurs puissent basculer la visibilité de composants spécifiques ou de sous‑assemblages.
- Outils de mesure précis : Raycast contre les sommets et les boucles d’arêtes pour calculer la distance réelle, la surface et le rayon.
6. Sécurité et protection de la propriété intellectuelle (PI)
Les fichiers CAO contiennent des propriétés intellectuelles sensibles. La diffusion de données d’ingénierie vers des navigateurs publics nécessite des contrôles de sécurité stricts :
- Livraison uniquement de maillage : En envoyant des maillages tessellés plutôt que la géométrie native B-Rep, vous protégez intrinsèquement les calculs paramétriques bruts. La rétro-ingénierie d’un modèle CAO natif à partir d’une surface triangulée est difficile et imparfaite.
- Chiffrement des fragments en streaming : Livrez la géométrie sous forme de segments binaires chiffrés authentifiés avec des jetons de session à courte durée de vie.
- Traitement éphémère : Nettoyez le stockage temporaire et la mémoire des travailleurs immédiatement après que le pipeline de conversion ait écrit dans le stockage permanent.
- Simplification de la géométrie pour les visualiseurs externes : Si vous affichez des fichiers à des fournisseurs tiers ou à un public, exécutez un algorithme d’enveloppe extérieure qui supprime les composants internes (engrenages, déflecteurs, mécanismes internes secrets) avant de générer le maillage web.
Conclusion
L’intégration du traitement CAO dans les applications web n’est plus une fonctionnalité expérimentale réservée aux fournisseurs de CAO d’entreprise. En découplant l’ingestion via des workers cloud asynchrones, en convertissant les courbes paramétriques en maillages polygonaux optimisés et en exploitant les interfaces WebGL/WebGPU, vous pouvez fournir des outils d’ingénierie rapides et collaboratifs dans n’importe quel navigateur moderne.
Commencez par un MVP bien défini : choisissez un format neutre unique comme le STEP, utilisez un analyseur établi pour produire du glTF, et effectuez le rendu avec Three.js. Au fur et à mesure que votre base d’utilisateurs s’agrandit, ajoutez des pipelines de conversion multi-format, des LOD adaptatifs et des outils d’ingénierie spécialisés.
Foire aux questions (FAQ)
Q1. Les navigateurs web modernes peuvent-ils ouvrir des fichiers STEP ou DWG bruts nativement sans conversion côté serveur ? Non, les navigateurs ne disposent pas d’analyseurs natifs pour les formats CAO propriétaires et nécessitent soit une conversion côté serveur, soit un traitement basé sur WebAssembly en formats de maillage triangulaire comme le glTF.
Q2. Quel est le meilleur format web pour rendre efficacement des données CAO 3D ? Le glTF binaire (.glb) avec compression Meshopt ou Draco est la norme industrielle pour fournir des modèles 3D haute performance dans les navigateurs web.
Q3. Comment gérez‑vous les grands assemblages CAD contenant des millions de polygones sur les appareils mobiles ? Implémentez des hiérarchies de niveau de détail (LOD), une décimation de maillage agressive et un rendu instancié afin que le GPU ne rende que la géométrie visible et simplifiée.
Q4. La propriété intellectuelle CAD propriétaire est‑elle sûre lorsqu’elle est affichée sur une page web publique ? Oui, car la tessellation des modèles CAD en maillages de surface supprime l’historique paramétrique natif et les données de construction mathématique, empêchant ainsi une ingénierie inverse facile.
Q5. Dois‑je utiliser des moteurs open source comme Open CASCADE ou des API cloud commerciales de traduction ? Open CASCADE est le meilleur choix si vous avez besoin de confidentialité sur site et de frais de licence nuls, tandis que les API commerciales comme Autodesk Platform Services sont idéales pour un délai de mise sur le marché rapide et un support plus large des formats natifs.
Voir aussi
Formats de fichiers CAO sur FileFormat.com
API open source pour travailler avec les formats de fichiers CAO
Automatisation CAD sans AutoCAD : les meilleurs cadres open source pour les développeurs
Forums de formats de fichiers – Postez vos questions dans les forums de formats de fichiers pour obtenir des informations utiles de la part des experts en formats de fichiers et des utilisateurs de la communauté
Wiki des formats de fichiers – Explorez les catégories de formats de fichiers pour obtenir des informations sur divers formats de fichiers
STEP vs IGES expliqué : comparaison des formats d’échange CAO modernes et hérités