Les bases de la data prep' (GR)#
Pour effectuer une revue de projet ou des évaluations sur des postes de travail en réalité virtuelle, vous allez importer des fichiers issues d'une CAO (Conception Assistée par Ordinateur), optimiser les données (nettoyage, séparation, fusion) puis, si besoin, donner des comportements physiques à des objets que vous souhaitez manipuler.
Notions de base de la 3D#
-
Repère orthonormé
L'espace virtuel est basé sur un repère orthonormé ou les 3 axes X, Y et Z (représentés en rouge, vert et bleu, respectivement) sont perpendiculaires entre-eux. -
Origine du monde
L'intersection des trois axes détermine l'origine du monde noté (0,0,0). -
Origine locale
Chaque objet à son repère local, représenté par son origine locale est ses propres axes X, Y et Z. Lorsque vous sélectionnez un objet dans la scène de l'atelier PREPARATION d'ErgoCapt, c'est le repère local de l'objet qui est représenté avec ses axes rouge, vert et bleu. -
Position globale
La position d'un objet dans la scène est l'écart entre l'origine du monde et l'origine locale de l'objet. Cette valeur est observable et éditable dans la fenêtre Transformations (optionGLOBAL) Vous pouvez aussi déplacer l'objet à la souris en modeTranslation. -
Rotation globale
La rotation d'un objet dans la scène est l'écart entre les axes de la scène et les axes locaux de l'objet. Cette valeur est observable et éditable dans la fenêtre Transformations (optionGLOBAL) Vous pouvez aussi tourner l'objet à la souris en modeRotation. -
Orientation du monde (handed & up)
Tous les logiciels de conception par ordinateur ne fixent pas leurs axes de la même façon : pour certains, l'axe vertical est Y (ex : effets spéciaux du cinéma) ou Z (ex : les logiciels d'architecture). Pour d'autres, les axes s'orientent selon la "main droite" ou la "main gauche". Il n'y a pas de règle, et il vous faudra faire des tests lors de l'import de vos données pour déterminer la bonne combinaison entre les paramètresLeft HandetY upque propose ErgoCapt. -
Dépendances parent - enfant
Les objets peuvent être directement déposés dans la scène, mais le plus souvent ils sont organisés de façon hiérarchique avec des dépendances parent-enfant (ex : un tiroir contient deux boîtes ; le tiroir est le parent cinématique des deux boîtes (lorsque le tiroir est ouvert, les deux boîtes se déplacent aussi)).
Recommandation : Cette organisation est à rechercher pour faciliter les manipulations car lorsqu'on manipule un parent, tous les enfants subissent la même transformation (ex : déplacement du tiroir => les boîtes suivent). -
Arborescence et graphe de scène
L'organisation des objets de la scène est visualisé par un graphe de scène. Il liste tous les objets de man hère hiérarchique en respectant les relations parent-enfant. -
Groupements logiques
L'organisation parent-enfant dépend du concepteur. Souvent on regroupe sous un même parent (ex : le tiroir) toutes les pièces d'un ensemble (ex : les deux boîtes). Mais le concepteur peut choisir d'autres logiques d'assemblage (ex : par type, par zone, par matériau, par couleur), ou ne pas utiliser de hiérarchie du tout. Dans ce cas, tous les objets sont au niveau le plus élevé : c'est ce que l'on appelle une organisation en peigne (ex : le tiroir et les deux boîtes sont tous les 3 directement dans la scène ; dans ce cas, en déplaçant juste le tiroir les deux boîtes ne bougeront pas).Recommandation : Les recommandations dépendent de ce qui est modélisé et ce que vous voulez en faire. Pour un grand entrepôt, vous pouvez grouper par type les parties fixes qui servent de décor : couverture (bardage, portes, fenêtres...), structure (poteaux, poutres, murs...), canalisations (tuyaux, robinets...). Groupez ensuite par zone puis par poste de travail : vous pourrez afficher / cacher les zones une par une ou isoler facilement un poste de travail.
Eviter les dispositions en peigne. -
Chaînes cynématiques
Une chaîne cinématique est une relation parent-enfant lié à un mouvement (ex : le bras est situé entre l'épaule (son parent) et l'avant-bras (son enfant)). Ce type de relations seront crées lors de l'attribution de comportements physiques aux objets. -
Tessellation
La tessellation est l'opération qui consiste a convertir un objet surfacique (ex : un cylindre défini par ses paramètres longueur et diamètre) en objet triangulé, en appliquant des règles pour respecter plus ou moins la surface d'origine. Plus la tessellation est fidèle et plus les triangles doivent être petits et nombreux, ce qui fait grossir la taille du fichier et rendent complexes les opérations d'affichage ou de détection de collisions. Pour réduire le nombre de triangles et accélérer ces opérations, il est possible d'alléger les règles : les triangles sont moins nombreux au détriment de la représentation de la surface.
ErgoCapt ne travaille qu'avec des modèles 3D triangulés. Lors de l'import de formats industriels surfaciques, une tessellation est appliquée avec, au choix, trois niveaux de qualité (High, Médium, Low).
Recommandation : choisissez Low si la précision des surfaces n'est pas une priorité. Eviter High sur des modèles grands et/ou complexes.
Nota : Si vous importez des formats qui sont déjà triangulés (FBX, OBJ...), le paramètreQualityn'a pas d'effet : le modèle est importé tel quel. -
Compromis qualité / performances
Vous devrez trouver un compromis entre la qualité du modèle (la fidélité à sa surface d'origine) et la rapidité de traitement que nécessite une expérience en réalité virtuelle. Si le fichier est trop gros, trop complexe, le temps de calcul de chaque image s'allonge et le nombre d'images par seconde (FPS ou Frames Per Second) va baisser. Passé sous le seuil de 30 FPS, les sensations sous le casque seront dégradées.
Recommandation : Toujours privilégier la performance, sauf si la précision des collisions est votre priorité (ex : introduction d'une canne dans un fourreau). Dans ce cas, limiter le nombre de pièces pour alléger le modèle.
Caractéristiques du fichier CAO#
- Formats de fichier
- Caractéristiques générales
- Logiciels type "objets" pour la fabrication
- Logiciels type triangles pour la visualisation
- Limites / complexité
- Organisation hiérarchique (peigne, groupements)
- Point d'origine des objets
- Orientation des axes du point d'origine
- Gérer les compromis qualité / complexité
Formats de fichier autorisés#
| Format | Extension de fichier | B-REP | Mesh | Commentaires |
|---|---|---|---|---|
| CATIA V5 V5R16 - V5R30 | .CATPart, .CATProduct | Oui | - | Plusieurs .CATPart (partie du modèle) dans un fichier d'assemblage .CATProduct. Logiciel CATIA V5... |
| DWG | .dwg | Oui | Oui | Logiciel AutoCAD 2007-2018. Données 2D, 3D et vectorielles. Binaire. |
| Siemens NX | .prt | Oui | - | Siemens PLM Software édite les logiciels NX et Solid Edge. De nombreuses variantes existent. Format non recommandé. Peut faire partie d'un assemblage .asm. Versions 5 - 1899, 1926, 1953 and 1980 Series |
| Solid Edge | .asm .par, .psm | |||
| Solidworks (2004 and never) | .sldprt .sldasm | Fichier de pièces (.sldprt) pouvant faire partie d'un assemblage (.sldasm). Logiciel Solidworks édité par Dassault Systèmes. Utilse le moteur Parasolid. | ||
| 3D XML (CATIA V6) | .3dxml | - | Oui | 3DXML est un format de fichier universel et léger basé sur XML développé par Dassault Systèmes pour la solution 3DVIA pour l’échange de données 3D. C'est essentiellement une archive ZIP composée de fichiers BOM et au moins d'un fichier objet 3D. Versions : schema version 4.0 - 4.3 |
| Inventor | .ipt, .iam | Oui | - | Logiciels Inventor. Les modèles de pièces ou Inventor ParT (.ipt) peuvent être assemblées dans un modèle d'ensemble ou Inventor AsseMbly (.iam). Versions : 2015-2021 |
| 3DS | .3ds | - | Oui | Binaire. Logiciels 3dsMax, Blender, SketchUp, TurboCAD, ... Versions : Windows only |
| ACIS | .sat, .sab | Oui | - | Ascii (sat) ou binaire (sab). Logiciel Acis, 3D ACIS Modeler (présent dans de nombreux logiciels CAO, ... Versions : R2.0 - R28.0 (2018 1.0.1) |
| Open CASCADE | .brep | Oui | - | Recommandé pour les échanges avec les applications basées sur OCC. Logiciel CrossManager... |
| XML | .xml | Stockage de données balisées. Ascii | ||
| Collada | .dae | - | Oui | Signifie COLLAborative Design Activity, développé par Sony puis Autodesk. Utilisé pour coder des scènes visuelles, telles que la géométrie, les shaders, les effets, la physique, les animations, la cinématique ou de multiples représentations d’un seul actif. Versions : v1.5 and earlier |
| DXF | .dxf | Oui | Oui | Eléments 2D et 3D. Ascii ou binaire. Logiciels AutoCAD, Inventor, Blender, TurboCAD, SolidEdge, Pro/Engineer, SolidWorks... |
| FBX | .fbx | - | Oui | Format propriétaire d'Autodesk. Très populaire pour l'échange de données 3D. Ascii ou binaire. Logiciels 3dsMax, Maya, AutoCAD, ... Versions : 2012 and newer |
| glTF | .gltf | - | Oui | Logiciel tree.js... Version : v2.0 |
| IFC | .ifc | Oui | - | Recommandé pour les échanges avec BIM (Building Information Modeling) liées à la construction et l'architecture. Format normalisé pour faciliter la coopération entre les entités du secteur de la construction. Versions : 2x3 and 4 (up to 4.1) |
| IGES | .igs, .iges | Oui | - | Logiciel TurboCAD, Vectorworks... Versions : up to 5.3 |
| JT (v8.x - v10.x) | .jt | Oui | Oui | Versions : v8.x - v10.x |
| OBJ | .obj | - | Oui | Format Open source populaire. Peut référencer un fichier .mtl décrivant les matériaux. |
| Parasolid | .x_t .x_b .xmt_txt .xmt_bin .xmp_txt .xmp_bin | Oui | - | Parasolid CAD Format (.xmt...) ou Parasolid Document Binary Format (.xmt_bin). Version texte (t ou txt) / binaire (b ou bin). Parasolid est un noyau de modélisation géométrique. Parsolid est principalement utilisé dans les logiciels PLM (NX, SolidEdge ...) mais de nombreux autres systèmes de CAO utilisent Parasolid comme un noyau de géométrie ou un format d'interopérabilité. Parasolid a généralement les extensions de fichier .x_t et .x_b. La plupart des fichiers Parasolid ne contiennent que des solides 3D et / ou des données surfaciques. |
| STEP | .stp .step | Oui | Oui | Norme ISO 10303-11, développé en tant que norme universelle non propriétaire pour faciliter l'échange de données de projet 2D / 3D entre applications (les extensions stp, step (moins utilisé) ou P21 sont similaires). Versions : AP203, AP214, AP242 |
| STL | .stl | - | Oui | Initialement utilisé en stéréolitographie, ce format simple (sans textures, couleurs, UV...) est devenu populaire. Versions : Texte ou binaire. |
| VRML | .wrl | - | Oui | Versions : v1/1995, v2/1997 |
| X3D | .x3d | - | Oui | Norme ISO Xara3D Project. Logiciels Blender, Xara Studio... |
| U3D | .u3d | - | Oui | Logiciel Blender... Versions : 1st ed. |
| Rhino | .3dm | Oui | Oui | Versions : v1 - v7 |
| Creo | .prt., .asm. | Oui | - | Versions : 2.0 - 7.0 |
| 3D pdf | - | Oui | ||
| 3MF | .3mf | - | Oui | |
| PCR | .pcr | - | Oui |
- Filtre qualité (Low - Medium - High)
- Orientation (Left handed et Z Up)
Nettoyage et optimisation#
- Inspection
Passer les groupes d'objets en revue. Vérifier qu'un groupe ne contient pas trop d'objets (ex : pompe très détaillée cachée dans une armoire). Dans le menuHelp, cliquer surScene Statspour afficher un compteur d'objets et de polygones (les triangles qui décrivent les objets) pour tous les objets de la scène et pour l'objet sélectionné. - Suppression objets inutiles
Supprimer les groupes d'objets inutiles (ex : une armoire électrique remplie de composants située dans une zone où aucune simulation ne sera effectuée, une pompe complexe cachée dans une armoire située à l'étage).
Supprimer (ou cacher) les objets qui limitent vos déplacements ou votre visibilité (la sphère qui matérialise la zone d'évolution d'un bras robotique par exemple). - Merge
Réduire le nombre d'objets est un facteur important de performances. Si des objets enfants n'ont pas a être manipulés individuellement, vous pouvez sélectionner leur parent et les fusionner ensemble avec la commandeMerge(il vaut mieux 1 objet de 100.000 triangles que 100 objets de 1000 triangles). - Gérer les compromis qualité / performance
Voir les recommandations ci-dessus. - Créer une scène contenant uniquement le poste à étudier
Une des façons simples d'augmenter les performances est de séparer votre modèle en plusieurs scènes distinctes. Vous pouvez par exemple créer une scène par zone, ou une scène par poste. Vous pouvez procéder de la manière suivante :- Créer une scène
scene_completavec le modèle 3D complet. Nettoyer ce modèle autant que possible. - Enregistrer la même scène plusieurs fois avec un nom différent, par exemple une scène pour chaque zone nommées
scene_zone1,scene_zone2, etc. - Supprimer les objets inutiles de la scène courante en vous limitant a l'essentiel (dans notre exemple, les objets dans la zone concernée). Enregistrer cette scène puis faire New Scene pour vider l'espace de travail.
- Charger la scène d'une autre zone et procéder de la même façon, etc.
- Vous avez alors des scènes légères, pratiques a utiliser, rapides a charger et fluides lors des sessions en réalité virtuelle. Continuez a préparer chaque scène, en physicalisant les objets a manipuler ou en préparant des scènarios.
- Créer une scène
Physicalisation des objets#
Pour la physicalisation des objets, consulter les chapitres consulter le chapitre Kinematics Settings (atelier PREPARATION) du guide de référence ou Physicalisation des objets du guide de l'utilisateur.
Test performances#
Une scène contenant beaucoup d'objets, de triangles et d'objets physicalisés peut vite faire peiner le moteur de rendu temps réel d'ErgoCapt. Les performances vont baisser, notamment le nombre d'images qui peuvent être calculées chaque seconde : c'est le frame rate ou fps (frames per second). Ce nombre est déterminant pour le confort de l'utilisateur lors d'une session de réalité virtuelle. Si le nombre d'images affichées par le casque est insuffisant, les déplacements saccadés des objets et des mains peuvent incommoder ou provoquer des nausées (mal des transports).
Il est recommandé de tester régulièrement sa scène en CAPTURE pour vérifier le frame rate.
- Enregistrer la scène si besoin
- Vérifier que le player = VR_Controller et que le casque et les controllers sont fonctionnels
- Passer dans l'atelier CAPTURE
- Déplacer le casque en visant les différentes zones de votre modèle 3D (inutile de le mettre sur la tête si vous êtes seul, vous pouvez le déplacer à la main). Si vous êtes loin du modèle, revenir en PREPARATION, sélectionner le Player et le rapprocher de votre 3D.
- Lire le frame rate qui est affiché en haut de l'écran, au centre (nn fps)
- Si fps<15 : vous devez optimiser la scène
- Si 15<fps<30 : ça reste supportable mais peut indisposer les personnes sensibles
- Si fps>30 : c'est confortable
Scénarisation#
- Principe
Un scénario permet de plannifier un enchaînement de manipulations étape par étape et de visualiser en temps réel une check-list et des aides visuelles. - Création d'étapes
Dans un premier temps vous devez créer des actions (Key Points). Une action consiste a déplacer un objet d'un point de départ vers un point d'arrivée. - Création de scénarios
Dans un second temps, vous créez un scénario et des étapes successives. Vous placez ensuite vos actions dans chaque étape. - Exemples de manipulations
Avec des scénarios vous pouvez simuler l'assemblage ou le démontage de pièces, les différentes tâches d'un opérateur sur un poste de travail ou tester l'introduction d'une canne dans un fourreau.
https://cadexchanger.com/blog/everything-you-need-to-know-about-cad-file-formats/
https://cadexchanger.com/formats
https://docs.cadexchanger.com/sdk/sdk_supported_formats.html
https://neuronmocap.com/content/perception-neuron-pro-motion-capture-system