Bug ou mauvaise utilisation de l'atelier Part ?

Forum destiné aux questions et discussions en français
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Post Reply
kedoc
Posts: 2
Joined: Sat Oct 04, 2014 10:05 pm

Bug ou mauvaise utilisation de l'atelier Part ?

Post by kedoc »

Bonjour à tous,

Je suis nouveau sous FreeCAD et j'ai démarré un petit projet de support de tringle à rideau de douche.

La pièce que je souhaite construire est relativement simple et je compte la faire uniquement dans l'atelier Part, par opérations booléennes sur des formes simples (et éventuellement des arrondis sur certaines arrêtes… mais c'est pour le bonus). Ça doit ressembler à peu près à ça. :)
Image

J'ai donc réussi à dessiner la pièce ci-dessus. Mais j'ai ensuite repris mon projet pour faire évoluer quelques unes des dimensions et je n'arrive plus du tout à parvenir à un résultat correct.

Sur le projet attaché à mon billet un soustraction de la pièce Fusion à Fusion002 ne semble pas fonctionner. J'ai aussi noté que l'outil « Analyse de la géométrie » trouve sur la pièce Fusion une forme invalide. J'imagine que celà est lié, mais je ne parviens pas à comprendre la cause du problème et ce que je peux faire.

J'ai revérifier les dimensions de mes « formes simples », tout me semble correct…
Je suis donc preneur de vos analyses, conseils, méthodes… Merci !

Code: Select all

OS: Ubuntu 14.04.1 LTS
Word size: 64-bit
Version: 0.14.3702 (Git)
Branch: releases/FreeCAD-0-14
Hash: b3368125c63289ec8ce9faec2b2ae4c78d436406
Python version: 2.7.6
Qt version: 4.8.6
Coin version: 4.0.0a
SoQt version: 1.6.0a
OCC version: 6.7.0
Attachments
dessin_support_tringle_rideau_droite.fcstd
(34.43 KiB) Downloaded 24 times
Kevin
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Bug ou mauvaise utilisation de l'atelier Part ?

Post by NormandC »

Bonjour Kevin,

Bienvenue sur le forum.
kedoc wrote:J'ai aussi noté que l'outil « Analyse de la géométrie » trouve sur la pièce Fusion une forme invalide.
L'outil indique aussi que Fusion002 est également invalide. Il se pourrait que tu doives activer la variable RunBOPCheck pour obtenir cette erreur. On peut la régler dans l'éditeur de paramètres, via le menu Outils. (À noter toutefois que cette option peut ralentir considérablement l'analyse sur les formes complexes, et selon un des développeurs, les erreurs supplémentaires qu'elle rapporte ne veulent pas toujours dire que la forme est invalide)
FC_Editeur_de_parametres_RunBOPCheck.png
FC_Editeur_de_parametres_RunBOPCheck.png (73.55 KiB) Viewed 1404 times
Les opérations booléennes sont capricieuses sous FreeCAD. C'est une faiblesse du noyau géométrique utilisé, une bibliothèque logicielle tierce nommée Open Cascade. En général il vaut mieux éviter les faces coïncidentes ou coplanaires entre les solides qui sont fusionnés ou soustraits. Cela fonctionne mieux quand les solides s'insèrent partiellement l'un dans l'autre dans le cas d'unions, ou si l'objet soustrait d'un autre le dépasse.

L'ordre choisi pour les opérations booléennes peut aussi influer. Par exemple, il vaudrait mieux d'abord fusionner Cube avec Cylinder001. Et cela fonctionnera mieux si le cylindre fait 360 degrés plutôt que 180, je ne sais pas si tu as remarqué l'arête de démarcation au centre du cylindre - celle-ci pourrait causer problème.

Par contre je n'arrive pas à fusionner avec succès le cube et le cylindre de ton fichier, idem pour ceux sous "Fusion". Alors que si je créé des solides semblables dans un nouveau fichier, ça fonctionne à tout coup.

La seule différence que je vois avec ceux créés sous mon système, c'est que la propriété "Deviation" de tes objets est de 0,2, alors que celle de mes objets est de 0,01. J'ai toujours cru que ça n'était qu'un réglage de l'apparence des objets : bien que FreeCAD créé des objets mathématiquement parfaits, comme tout logiciel de CAO, ceux-ci doivent être convertis sous forme de maillages polygonaux pour fins de visualisation. Cette valeur de déviation définit la tessellation des objets, ou le nombre de polygones dont ils seront constitués. Plus cette valeur est petite, plus les maillages seront fins et les objets seront mieux lissés à l'écran.

Je te suggère de changer la valeur globale de tessellation des objets pour 0,01 dans tes Préférences (menu Édition), Conception de pièces, onglet Vue de la forme.

J'ai refait les cubes et cylindres et j'ai pu les fusionner sans problème. Par ailleurs, j'ai allongés ceux de la "Fusion" afin qu'ils dépassent la forme à "couper":
FC_operation_booleenne_01.png
FC_operation_booleenne_01.png (29.52 KiB) Viewed 1404 times
La soustraction booléenne s'effectue sans erreur.
Attachments
dessin_support_tringle_rideau_droite_normandc1.fcstd
(41.04 KiB) Downloaded 24 times
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Bug ou mauvaise utilisation de l'atelier Part ?

Post by NormandC »

Tu auras certainement remarqué que les opérations booléennes laissent des « traces » ; les arêtes originales des solides ne disparaissent pas. C'est ici encore un bogue du noyau géométrique. Il se pourrait que cela te cause problème lors de l'application des congés ; si ça arrive, je te suggère de nettoyer d'abord ta pièce finale en appliquant une fonction d'affinage de forme de l'atelier OpenSCAD (elle est identifiée "refine shape feature").
FC_Affinage_de_forme.png
FC_Affinage_de_forme.png (31.11 KiB) Viewed 1402 times
Je vais terminer en te suggérant d'explorer la modélisation à l'aide de l'atelier Part Design. Le principe est la construction de solides à partir d'esquisses 2D. La méthode est beaucoup plus flexible et puissante que la géométrie de constructions de solides. Elle ne requiert pas de manipuler les coordonnées en XYZ des solides (chose qui m'énerve :D ). Cette méthode est aussi moins affectée par les ennuis rencontrés ici.
kedoc
Posts: 2
Joined: Sat Oct 04, 2014 10:05 pm

Re: Bug ou mauvaise utilisation de l'atelier Part ?

Post by kedoc »

Bonjour normandc,

Merci pour ces réponses rapides et détaillées… quand je pense que certains trouvent que ce qui manque au logiciel libre, c'est le support… ;)
Cela fonctionne mieux quand les solides s'insèrent partiellement l'un dans l'autre dans le cas d'unions, ou si l'objet soustrait d'un autre le dépasse.
Pas de pot, j'avais précisément fait le contraire en pensant que ça simplifierait les calculs…
L'ordre choisi pour les opérations booléennes peut aussi influer.
Là-dessus, je suspectais que ça pouvait jouer mais je n'avais pas réussi à obtenir de combinaison satisfaisante malgré de nombreux essais…

Quoiqu'il en soit, je n'ai pas encore eu le temps de prendre en compte tous tes conseils, donc je vais prendre le temps de revoir tout ça, et je ne manquerai pas de te faire un retour !

Une autre question, tant que j'y suis : j'avais également eu particulièrement de mal à orienter les cylindres dans le sens qui m'arrangeait (en modifiant son axe, dans le panneau Données). La modif était souvent ignorée (à la souris c'était bien pris en compte, sauf que j'étais incapable de le placer exactement comme attendu)… et j'ai dû m'y reprendre plusieurs fois pour obtenir le résultat voulu, sans trop comprendre pourquoi ça a fonctionné au bout d'un moment.
Sais-tu s'il y a ici une astuce qui m'a échappée ?

Bonne journée,
Kevin
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Bug ou mauvaise utilisation de l'atelier Part ?

Post by NormandC »

Salut Kevin,
kedoc wrote:Une autre question, tant que j'y suis : j'avais également eu particulièrement de mal à orienter les cylindres dans le sens qui m'arrangeait (en modifiant son axe, dans le panneau Données). La modif était souvent ignorée (à la souris c'était bien pris en compte, sauf que j'étais incapable de le placer exactement comme attendu)… et j'ai dû m'y reprendre plusieurs fois pour obtenir le résultat voulu, sans trop comprendre pourquoi ça a fonctionné au bout d'un moment.
Je vais t'avouer que je trouve les données de placement axe et angle peu intuitives. Il ne s'agit pas de l'axe du cylindre, mais de l'axe sur lequel tu veux effectuer un changement de position.

Perso je préfère largement utiliser l'outil Positionnement qui se trouve sous le menu Édition. Il permet d'effectuer des rotations sur des objets plus facilement. Je te conseille de cocher « Appliquer les modifications incrémentielles au placement ». L'idée est d'y aller par étape : tu choisis un axe de rotation, et tu peux aussi définir les coordonnées du centre de la rotation. Ensuite, tu saisis la valeur d'angle, puis tu cliques sur le bouton Appliquer ; les champs sont alors remis à zéro et tu peux saisir une nouvelle transformation.

On peut aussi se servir des outils Déplacer et Pivoter de l'atelier Draft.

Enfin, le plus simple est peut-être de créer le cylindre avec les bonnes dimensions et la bonne orientation. Pour ce faire, il s'agit de lancer l'outil « Création de primitives » de l'atelier Part.
Post Reply