Connexion
Menu Principal
Recherche
Menu secondaire
Image Aléatoire
salle R6.jpg
Publicité
Formation Blender ElephormBlender 3d Elephorm


     






Problème d'opération boolean avec géométrie complexe
Touriste
Inscrit:
12/01 21:47:10
Post(s): 1
Bonjour,

Je débute sur blender et après quelques jours d'échecs je me suis décidée à demander un peu d'aide. J'espère que vous pourrez me donner de bons conseils.

Le but de mon projet est de modéliser une éprouvette à géométrie gyroide pour des essais de mécanique. Une gyroide a cette géométrie: https://img2.cgtrader.com/items/703712/0704772603/large/gyroid-cube-3d-model-stl.jpg

(1) La première étape : Python

J'ai généré cette géométrie gyroide sous python. Les surfaces type gyroide suivent la fonction cos(x)sin(y)+con(y)sin(z)+cos(z)sin(x)=0.
Ne pouvant pas épaissir une surface sous python, j'ai créé deux surfaces gyroides en ajoutant une constante pour les décaler et créer un intervalle (e) entre les deux surfaces. Equation utilisée : cos(x)sin(y)+con(y)sin(z)+cos(z)sin(x) (+/-) e/2=0.
Pour des raisons mécanique, j'ai ajouté un gradient d'épaisseur pour que l'épaisseur des parois augmente lorsque l'on se rapproche des extrémités basses et haute de l'éprouvette. Equation utilisée : cos(x)sin(y)+con(y)sin(z)+cos(z)sin(x) (+/-) e/2 (+/-) gradient*z=0. L'ajout d'un seul gradient sur une géométrie du même type donne ce résultat : https://www.researchgate.net/figure/PDLLA-scaffold-built-by-stereolithography-with-gyroid-architecture-showing-a-gradient-in_fig7_235609239

J'ai vu que créer ces gyroides sous blender est possible mais mon code python me permet de générer bien d'autres géométries (6) et je n'ai pas le temps de toutes les créer en y ajouter un gradient.

Sous python, je n'ai pas réussi à "fermer" ces surfaces sous python en créant une face bouchant cet intervalle e (construire un solide) alors je me suis redirigée vers l'outil blender.
J'exporte ces 6 surfaces sous format .obj : [img]http://pasteall.org/pic/show.php?id=06eccaca15f4d355ead34af1ce1b7b89[/img]

(2) Sous blender j'ai essayé une multitude de possibilités:

La première étape a été de vérifier que cela fonctionne sur un petit volume.
Je redéfinis les normales pour qu'elles pointes à l'extérieur de l'épaisseur (e) que je souhaite fermer : shading flip direction
puis : modifier -> Boolean -> gyroid intersect cube
Je conserve donc le volume "plein" de la gyroide

[img]http://pasteall.org/pic/show.php?id=9729496515a48afd854e57bcc2d5980a[/img]

(2.2)
J'ai donc fait le même essai sur l'ensemble de la géométrie
Je redéfinis les normales à l'inverse de l'exemple précédent (explication en dessous)
Je joins ces 6 surfaces
Je créer un volume représentant l'éprouvette.
J'utilise l'opération booléenne, différente cette fois ci:
boolean -> cube différence gyroid.
Je retire au cube le volume de la gyroide que je considère comme "vide".

Voici mon problème : avec une vue "solide" on voit bien que l'opération ne fonctionne pas

[img]http://pasteall.org/pic/show.php?id=2668510b77459e2f286e57b9476ba78c[/img]

Avec la vue "wireframe" on se rend compte que le volume est bien évidé mais certaines faces du cube persistent et donc cachent les partie vides. Je n'arrive pas à les supprimer pour avoir ma géométrie finale : est ce qu'il vaut mieux les corriger (suppression) ou changer de méthode ?

[img]http://pasteall.org/pic/show.php?id=abc40fe00f1d274c5144f43ea8ccc984[/img]

(2.3)
J'ai donc essayé de trouver une solution:
- en supprimant les les surfaces parasites (mesh->delete->faces, sans résultats parce que le maillage est mal réalisé
- j'ai sélectionné les edge loops puis essayé un clean up -> fill holes ou un Grid Fill, sans résultats...

Je n'ai donc pas de question très précise mais plutôt une question générale : est-ce que vous pensez que ce problème a une solution ? Si oui est ce qu'une opération booléenne est possible ?
Je me demande si j'oriente correctement les normales, ou si l'opération booléenne n'est possible qu'avec un volume fermé. Dans ce cas j'aimerais fermer les faces l'épaisseur de mes gyroides...

Merci à tous ceux qui consacreront un peu de leur temps à mon problème!

Contribution le : 13/01 00:04:03
Créer un fichier PDF de la contribution Imprimer


Re: Problème d'opération boolean avec géométrie complexe
Fou Furieux du Clan
Inscrit:
05/04/2015 06:54
De troyes(Aube)
Post(s): 261
salut,
je réédite,pas adapté au vu du sujet



bienvenue sur le

Contribution le : 13/01 09:01:24
Créer un fichier PDF de la contribution Imprimer


Re: Problème d'opération boolean avec géométrie complexe
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 1254
Salut mPirs & tykrane,

Débuter sur Blender ne signifie pas forcément ne pas connaître les bases. Ici, on voit bien qu'il sait utiliser les modifier et sa question n'est pas pour les débutants, loin de là.

Sa question sur le sujet est complexe. Le modifier Booléen n'est pas adapté.

mPirs, si je comprends bien, ta géométrie, tu l'a généré avec python via blender ou via un autre logiciel ?

Sur Blender, pour épaissir, tu peux utiliser le modifier "solidify".

Tu dis que tu as 6 surfaces séparées. Je vois apparemment que celles-ci sont identiques. As-tu pensé au modifier "array" ? ça te permet non seulement de dupliquer ton mesh pour créer un maillage plus long, mais également de fusionner les chevauchements entre les copies automatiquement.

Contribution le : 13/01 09:53:15
_________________
Mon projet jeu vidéo
Mes tutos
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
Compte*
Nom   Mot de passe   Authentification
Message:*



[Recherche avancée]



Sujets récemment répondus
Forums Sujets Réponses Lus Dernières contributions
Questions & Réponses [non résolu] Impossible de bouger les os de mon armature 3 30 Hier 20:36:59
ebrain 
Questions & Réponses lier deux cube 1 22 Hier 18:44:42
stev 
The Blender Clan 'tchat Le topic des trucs à voir    [1][2][3]...[303] 3023 712296 Hier 12:31:10
stev 
Hors Sujet !! Coup de pouce pour un futur graphiste ! 1 46 Hier 11:01:15
lulu 
Questions & Réponses detourage rose 1 51 Hier 07:49:45
moonboots 
[WIP] et travaux terminés [WIP] Jeu vidéo de plateforme sur la Corse 2 78 19/06 16:13:59
Hook 
[WIP] et travaux terminés [WIP] Projet d'animation Les ducats du ciel 3 96 19/06 06:39:34
moonboots 
Le coin des geeks salutations et configuration uc 6 171 18/06 21:48:18
Demos 
Questions & Réponses L'animation 2D (Grease Pencil) 3 101 18/06 19:20:50
Rimpotche 
[WIP] et travaux terminés [WIP] Modélisation personnage cartoon    [1][2][3]...[7] 65 7572 18/06 13:51:30
moonboots 
Concours Defi 8 556 18/06 13:44:27
Docbrown 
Questions & Réponses Animations sans armature 5 99 18/06 13:29:22
etiles 
Moteur de jeu GameBlender et alternatives [non résolu] Un remake de Zillion? (master system SEGA) 3 137 16/06 21:19:38
Redstar 
Questions & Réponses circuit electronique 1 87 16/06 19:35:02
samID67 
Le coin des geeks Vaut-il la peine d'investir dans un moniteur 4K pour le jeu vidéo? 2 209 16/06 18:14:03
ebrain 
Questions & Réponses [Help] Sculpter provoque des trous 2 91 16/06 14:03:58
Auguaste 
[WIP] et travaux terminés [WIP] Cabochon avec diastérisme 6 480 16/06 07:41:42
qlemouland 
Questions & Réponses télécharger Addon ImportOpenStreetMap 0 77 15/06 09:33:05
JFX 
Questions & Réponses [non résolu] Affichage de mon fluid domain pendant la simulation, que faire ? 4 284 14/06 10:16:22
Rimpotche 
Questions & Réponses [non résolu] Différences gênantes entre preview d'un bake en mode Cycles et de son rendu 0 138 13/06 12:45:27
Gizmil 

Qui est en ligne
50 utilisateur(s) en ligne (dont 20 sur Forums)

Membre(s): 0
Invité(s): 50


plus...
Nouveaux membres
ThomasMelo 21/6/2019
BrandonTha 21/6/2019
creepclem 20/6/2019
etiles 17/6/2019
samID67 16/6/2019
Auguaste 16/6/2019
Demos 14/6/2019
Macronaute 13/6/2019
Aelendys 11/6/2019
karimkarim 10/6/2019
Dernier Ajout
origalde-integration.jpg

Evènements à venir
Jui 30
Anniv des Jedi :-D
Jui 13
BUG de Lyon
Jui 23
Anniv du BlenderClan !
plus 285 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2019 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445