Jump to content
Ultimaker Community of 3D Printing Experts

Recommended Posts

Posted (edited) · Sketchup STL CURA

Ahlala ! CURA n'arrive pas à "trancher" le magnifique objet que vous avez mis tant de temps à modéliser avec Sketchup : WTF ? CURA c'est de la m%@&e !

Le problème vient plus surement de Sketchup que de CURA, explications :

Retour aux sources.
Avant de parler de Sketchup et de CURA on va parler STL.

Les fichiers STL décrivent des objets par leurs surfaces externes. Cette surface doit nécessairement être fermée et définie par une série de triangles.
cf. https://fr.wikipedia.org/wiki/Fichier_de_stéréolithographie


Prenons pour exemple un des objets les plus simples que vous aurez à modéliser : un cube.

En STL, un cube a 12 facettes car chaque chaque face du cube est défini par 2 triangles (cf. image ci-dessous)
STL_Cube.thumb.png.69781f7c7697c5754ffca8af962c2fe6.png
Ceci un cube transparent au format STL

Une sphère en STL

Pareil, des triangles partout, que des triangles, uniquement des triangles
STL_Sphere.thumb.png.996a65aa8157b34c076ff5b38acc6aca.png

Ok, partons du principe que vous avez compris qu'un STL défini la surface externe d'un objet avec des triangles...

Attention, à partir de maintenant, ça se complique


Un objet défini en STL doit être "étanche"

C'est la deuxième condition pour que l'objet généré soit correctement interprété : il ne doit pas y avoir de "trou" sur sa surface au sens de "il manque un triangle", démonstration :

Ceci est un cube dessiné dans Sketchup, il est beau hein !
Sketchup_cube.thumb.png.58cacf588707fe8d540e7ebc7c2402f6.png

Maintenant, supprimons volontairement la face supérieure pour voir ce qui se passe...
Sketchup_cube_face1.thumb.png.aed8de5fc15553769be0c006b467c1bb.png
... on a un cube avec la face supérieure qui manque donc en gros, une boite avec des murs dont l'épaisseur est de 0 (zéro, rien, nada, que dalle...)

Exportons cette boite en STL maintenant et admirons le résultat dans Meshmixer :

Sketchup_cube_face1_STL.thumb.png.2b5e08ae1a3631f26dae54eff970e4f3.png
On voit qu'il manque bien les 2 facettes du dessus qui permettent de définir la face qui manque.
Le problème c'est que notre cube n'est pas "étanche" du coup... en gros, si on le met dans l'eau, il coule.

(là, j'ai perdu 25% de l'audience....)

Meshmixer est sympa : il dispose d'une fonction "inspector" qui permet de mettre en évidence les erreurs dans un objet (les lignes en bleu dans l'image ci-dessous) mais nous en parlerons en détail plus tard...
Sketchup_cube_face1_STL_Inspector.thumb.png.8694f69e23dcb3e54335fb200993822d.png
C'est bon jusque là ?

Revenons à notre cube dans sketchup avec ça :

Sketchup_cube_face_inversee.thumb.png.6392f54fb388426e901bbae06df9a585.png

C'est quoi le problème ? On a un cube avec 12 arêtes et 6 faces ! Tout est normal !

Ouvrons notre STL dans CURA pour voir...

Sketchup_cube_face_inversee_CURA.thumb.png.4d516fbf4ff4909d0049b90519d59847.png

 

Oups, "Houston, on a un problème !"

Comparons avec notre cube en STL du début et regardons le résultat dans CURA...
Sketchup_cube_face_normales_CURA.thumb.png.50fcc4110ea3b5c0b5c4324285bcc9dd.png

Vous voyez la différence ?

Mais nom d'un petit bonhomme, que c'est il passé entre ces deux cubes ?

Le cube que l'on voit dans CURA avec la face ROUGE, si il a bien 6 faces, l'une d'entre elle, celle du dessus est inversée.

Mais c'est quoi une face "inversée" ?
 

Un face "inversée" est une face dont la "normale" est dirigée vers l'intérieur de l'objet.... et la je perds encore 25% de l'audience...

Normal_normale_vs_normal_pas_normale.thumb.png.eb7c29e8d950d798ac8e683cdc3190fa.png

C'est quoi cette histoire de normale ?

On va faire simple : une "normale" est un vecteur qui indique la "direction" par laquelle une face va recevoir de la lumière.
Su l'image ci-dessus, la face "A" a sa "normale" tournée vers l'intérieur, la face est donc non éclairée.
La face "B" sur l'autre cube est tournée vers l'extérieur et donc elle est éclairée.

Vous me direz que c'est un détail : je réponds non, c'est une anomalie qui a des conséquences dramatiques... voir mortelles.... (je rigole).

Le fait d'avoir la normale d'un face inversée n'a pas beaucoup de conséquences dans un objet simple comme un cube... c'est plus embêtant avec des objets complexes.

Faisons un trou dans une face inversée, juste pour voir le résultat...

trou_dans_face_inversee.thumb.png.f109dd848125f232c3996804f3b278e2.png
Et paf ! Non seulement la face d'origine est inversée mais toutes les faces du trou le sont également et là, il y en a un paquet...

Exportons notre cube troué en STL et admirons le résultat dans CURA :
 

trou_dans_face_inversee_CURA.thumb.png.e624676552f62234849198608d3d7595.png

 

ok, ça ressemble beaucoup à notre cube précédent (face en rouge) mais le trou est pas mal, non ?

Passons en mode "preview" dans CURA... oups, le trou a disparu !

trou_dans_face_inversee_CURA_Preview.thumb.png.04b0575830bb0095f656d23e6d954dd8.png

...et si on regarde à l'intérieur.... "a pu trou".

trou_dans_face_inversee_CURA_Preview_sliced.thumb.png.aec62ec3b00ad6603d20b445062d7b9c.png

 

Ouais, je sais, c'est chiant.

Mais ça aussi c'est chiant, la face interne :
vue dans Sketchup... il y a une face dans le cube dans la diagonale... vous voyez ?

Sketchup_cube_face_interne.thumb.png.fd3eeaac7cb4b5bb0fb88593435592fa.png

vue dans CURA...

Sketchup_cube_face_inversee_CURA_Face_interne.thumb.png.1bdb85dfed28fd782d73fbe46e9d4ef9.png

no comment

C'est chiant, hein !

C'est surtout Sketchup qui est chiant car pour TOUS les objets dessinés il faut vérifier :
1. que toutes les faces sont présentes.
2. qu'il n'y a pas de faces a l'intérieur de l'objet.
3. que les normales sont bien dirigées vers l'extérieur.
4. que les sommets se touchent. (celui là, j'en parle même pas...)


Conclusion

Si vous modélisez avec sketchup, avant de demander pourquoi votre magnifique machin ne peut pas être slicé correctement, vérifiez le avec "Solide Inspector" qui affichera un magnifique cercle a l'endroit ou il y a un problème... et vérifiez l'alignement des normales AVANT de faire des trous sur une face !
Sketchup_cube_face_interne_solidinspector.thumb.png.1dfa278510df596e94973095c2fa4aec.png


Merci à ceux qui utilisent Sketchup et qui auront lu cet article jusqu'au bout et qui du coup ne vont pas demander pourquoi leur objet n'est pas correctement "affiché" dans CURA...

Edited by darkdvd
  • Like 2
Link to post
Share on other sites
Posted · Sketchup STL CURA

Question con d'un utilisateur SolidWorks et non SketchUp qui a lu l'explication jusqu'au bout 

SketchUp ne fait pas de volumique ? que du surfacique ?

c'est le genre de connerie qui ne risque pas d'arriver en faisant des pièces volumiques.

(Ne se prête pas pour tout, je suis ok.)

  • Link to post
    Share on other sites
    Posted · Sketchup STL CURA

    C'est ça, Sketchup ne fait que du surfacique... d'ou les problèmes....

    Mais avoir un modeleur surfacique présente parfois des avantages mais rarement pour faire des STL.

  • Link to post
    Share on other sites
    Posted (edited) · Sketchup STL CURA

    "orienter les faces" de Sketchup, c'est pas pour les chiens...

    Sérieux je n'ai pas de problème particulier avec sketchup.. sauf quand j'ouvre des merdasses du web modélisées avec des logiciels qui oublient de gérer les croisements de volumes...

    Disons que Sketchup donne moins le droit  à l'erreur. la solution est de modéliser autrement que comme des gougnafiers...


     

    Edited by Nano-nc
  • Link to post
    Share on other sites
    Posted · Sketchup STL CURA

    Le fait est que si tu ne connais pas les bases de la modélisation, tu fais forcément du travail de m@€&e, d'autant plus avec un logiciel comme SketchUp qui est très laxiste sur pas mal de choses pour le commun des mortels... 

  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    ×
    ×
    • Create New...