Pourquoi cela est quasi impossible de tranformer de façons précises des maillages Poly!gonaux en Nurbs!
Libre adaptation de l'article "the challenge of the-polygonal to brep conversion" by Romain Lygin de CADExchanger
Le défi de la conversion du polygone en BRep (Représentation de Surfaces ~ Nurbs)
La diversité des types de données 3D peut souvent être source de confusion, surtout pour les utilisateurs novices. Les formats de fichiers, adaptés à certaines tâches, ne peuvent pas être utilisés dans d'autres cas. Par exemple, la grande majorité des machines CNC ne prennent pas en charge les données de maillage (comme STL, OBJ ou VRML). Pour les faire fonctionner, vous avez besoin d'une entrée B-Rep (STEP, IGES ou autre). Cela n'est pas pratique, car le fichier 3D source n'est généralement disponible qu'en format de fichier polygonal. Cette pratique est extrêmement courante dans le domaine dentaire. Les dentistes utilisent un scanner intra-oral pour produire un modèle 3D en maillage qui sera ensuite utilisé dans un logiciel de FAO, qui ne traite pas les fichiers en maillage. Pour permettre ce flux de travail, une conversion est nécessaire.
Et voici pourquoi il nous semble important de donner une explication détaillée du cas de base. Le problème est la conversion d'un format à base de maillage (comme le STL) à un format basé sur une géométrie précise, ce qui n'est ni significatif ni efficace.
En règle générale, les modèles 3D sont décrits en utilisant deux approches distinctes - précise et approximative. La première utilise une représentation géométrique précise (appelée B-Rep, ou Boundary Representation) et l'autre utilise une représentation polygonale (également souvent appelée facettes, tesselles, triangulation, etc.). Les deux images suivantes montrent la différence sur l'exemple de la sphère solide la plus simple :
La diversité des types de données 3D peut souvent être source de confusion, surtout pour les utilisateurs novices. Les formats de fichiers, adaptés à certaines tâches, ne peuvent pas être utilisés dans d'autres cas. Par exemple, la grande majorité des machines CNC ne prennent pas en charge les données de maillage (comme STL, OBJ ou VRML). Pour les faire fonctionner, vous avez besoin d'une entrée B-Rep (STEP, IGES ou autre). Cela n'est pas pratique, car le fichier 3D source n'est généralement disponible qu'en format de fichier polygonal. Cette pratique est extrêmement courante dans le domaine dentaire. Les dentistes utilisent un scanner intra-oral pour produire un modèle 3D en maillage qui sera ensuite utilisé dans un logiciel de FAO, qui ne traite pas les fichiers en maillage. Pour permettre ce flux de travail, une conversion est nécessaire.
Et voici pourquoi il nous semble important de donner une explication détaillée du cas de base. Le problème est la conversion d'un format à base de maillage (comme le STL) à un format basé sur une géométrie précise, ce qui n'est ni significatif ni efficace.
En règle générale, les modèles 3D sont décrits en utilisant deux approches distinctes - précise et approximative. La première utilise une représentation géométrique précise (appelée B-Rep, ou Boundary Representation) et l'autre utilise une représentation polygonale (également souvent appelée facettes, tesselles, triangulation, etc.). Les deux images suivantes montrent la différence sur l'exemple de la sphère solide la plus simple :
La représentation B-Rep d'une sphère utilise le placement de la sphère (orientation du centre et des axes locaux) et son rayon. Il s'agit d'une définition précise et compacte à partir de laquelle une sphère peut être construite et utilisée avec précision (par exemple pour l'évaluation de points, de normales, etc.) La représentation polygonale est constituée de triangles reliant des nœuds. Dans le cas d'une sphère, les nœuds se trouveraient sur une surface sphérique. Le nombre de triangles dans la représentation polygonale dépend de la précision utilisée lors de l'approximation de la représentation B-Rep précise d'origine. Ce processus est appelé maillage, tessellation, triangulation ou similaire. Les images ci-dessous montrent la même sphère B-Rep originale tesselée avec des précisions différentes :
Les formats IGES, STEP, ACIS, Parasolid et similaires utilisent la représentation B-Rep, tandis que STL, VRML, X3D et d'autres utilisent une représentation polygonale. Le format JT peut contenir les deux.
Ainsi, la conversion d'un modèle de n'importe quel format basé sur B-Rep (tel que IGES ou STEP) en un format basé sur un maillage (tel que VRML) est relativement simple. Cependant, l'inverse (par exemple, de STL à IGES) est pratiquement impossible - la reconnaissance de surfaces géométriques de forme libre (qui peuvent être des milliers) à partir d'un ensemble arbitraire de triangles est non déterministe, difficilement réalisable, peu fiable et nécessiterait beaucoup de temps de calcul.
C'est pourquoi CAD Exchanger met en garde l'utilisateur sur ce point jusqu'à ce qu'il comprenne clairement le problème et applique l'application pour continuer. Dans ce dernier cas, CAD Exchanger créera simplement des surfaces planes B-Rep pour chaque triangle d'origine. Il en résultera une augmentation considérable de la taille du fichier du modèle et le modèle de sortie (par exemple au format IGES) ne sera d'aucune utilité pratique dans un système de CAO, sauf pour la visualisation. Cependant, pour la visualisation, tout autre format de maillage fonctionnerait encore plus efficacement.
Étant donné que le fichier JT peut contenir à la fois une représentation B-Rep et une représentation polygonale, l'avertissement n'est émis que lorsqu'un fichier JT original ne contenait qu'une représentation polygonale sans B-Rep. Dans le cas d'un JT avec B-Rep, la demande se déroule simplement avec succès et aucun avertissement n'est émis.
Recommandations
Pour un flux de travail pertinent (lorsque le format cible est basé sur B-Rep), le modèle original doit provenir d'un format basé sur B-Rep - un exemple de ce type est la conversion STEP en JT. Si cela est impossible et si vous comprenez bien le problème et ses implications, il vous suffit de faire fonctionner l'application CAD Exchanger GUI pour procéder et exporter vers le format cible de votre choix.
Ainsi, la conversion d'un modèle de n'importe quel format basé sur B-Rep (tel que IGES ou STEP) en un format basé sur un maillage (tel que VRML) est relativement simple. Cependant, l'inverse (par exemple, de STL à IGES) est pratiquement impossible - la reconnaissance de surfaces géométriques de forme libre (qui peuvent être des milliers) à partir d'un ensemble arbitraire de triangles est non déterministe, difficilement réalisable, peu fiable et nécessiterait beaucoup de temps de calcul.
C'est pourquoi CAD Exchanger met en garde l'utilisateur sur ce point jusqu'à ce qu'il comprenne clairement le problème et applique l'application pour continuer. Dans ce dernier cas, CAD Exchanger créera simplement des surfaces planes B-Rep pour chaque triangle d'origine. Il en résultera une augmentation considérable de la taille du fichier du modèle et le modèle de sortie (par exemple au format IGES) ne sera d'aucune utilité pratique dans un système de CAO, sauf pour la visualisation. Cependant, pour la visualisation, tout autre format de maillage fonctionnerait encore plus efficacement.
Étant donné que le fichier JT peut contenir à la fois une représentation B-Rep et une représentation polygonale, l'avertissement n'est émis que lorsqu'un fichier JT original ne contenait qu'une représentation polygonale sans B-Rep. Dans le cas d'un JT avec B-Rep, la demande se déroule simplement avec succès et aucun avertissement n'est émis.
Recommandations
Pour un flux de travail pertinent (lorsque le format cible est basé sur B-Rep), le modèle original doit provenir d'un format basé sur B-Rep - un exemple de ce type est la conversion STEP en JT. Si cela est impossible et si vous comprenez bien le problème et ses implications, il vous suffit de faire fonctionner l'application CAD Exchanger GUI pour procéder et exporter vers le format cible de votre choix.
D'après Michael Gibson à propos du "retro engeniering"
Il ne s'agit pas simplement de déplacer un sommet comme dans un modeleur poly où les faces poly sont totalement définies par une simple liste de sommets. Dans la géométrie CAO, la structure de l'objet a le concept d'une "surface sous-jacente" qui a ensuite des limites de coupe sur elle, ce qui fait que certaines zones de la face doivent être coupées. Ensuite, ce sont les bords des limites de coupe qui se relient entre eux pour coller les faces les unes aux autres. Ce type de structure ne se prête pas à la création de points d'attraction, mais elle est efficace car, lorsque vous faites un calcul booléen, les "surfaces sous-jacentes" restent les mêmes et seules de nouvelles limites de coupe sont créées afin que les surfaces ne se fragmentent pas en de plus en plus de petits triangles à chaque opération booléenne. C'est pourquoi la CAO est bien meilleure pour faire des booléens que les poly-modèles.
Il ne s'agit pas simplement de déplacer un sommet comme dans un modeleur poly où les faces poly sont totalement définies par une simple liste de sommets. Dans la géométrie CAO, la structure de l'objet a le concept d'une "surface sous-jacente" qui a ensuite des limites de coupe sur elle, ce qui fait que certaines zones de la face doivent être coupées. Ensuite, ce sont les bords des limites de coupe qui se relient entre eux pour coller les faces les unes aux autres. Ce type de structure ne se prête pas à la création de points d'attraction, mais elle est efficace car, lorsque vous faites un calcul booléen, les "surfaces sous-jacentes" restent les mêmes et seules de nouvelles limites de coupe sont créées afin que les surfaces ne se fragmentent pas en de plus en plus de petits triangles à chaque opération booléenne. C'est pourquoi la CAO est bien meilleure pour faire des booléens que les poly-modèles.