Modifier une protrusion apres une repetition axiale

Forum destiné aux questions et discussions en français
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Post Reply
zetaz
Posts: 6
Joined: Mon Jun 13, 2022 2:35 pm

Modifier une protrusion apres une repetition axiale

Post by zetaz »

Bonjour.
Je debute avec ce logiciel. J’ai vu un nombre important de videos , pas forcement dans le bon ordre et j’ai quelques bloquages.
Si je fais un objet de 100*100*10, que je sais un trou circulaire dedans ( rayon 10) et ensuite une repetition circulaire , je me retrouve avec 6 trous ( par exemple)
Si je souhaite creer un congé sur la peripherie des trous , je croyais qu,en modifiant le premier trou, tous les autres seraient modifiés d’un coup. Or ce n’est pas le cas.
Comment faire sans devoir detruire la fonction de repetition et eventuellement toutes les etapes quinont eu lieu apres ?
Merci
User avatar
Shalmeneser
Veteran
Posts: 9475
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: Modifier une protrusion apres une repetition axiale

Post by Shalmeneser »

La répétition répète les fonctions que tu lui as sélectionné, dans l'ordre de cette sélection (!).
Si tu modifie une fonction, la répétition en tient compte.
Mais si répètes juste un trou, seul le rayon est modifiable OU sa position OU sa profondeur (le sketch ou la pocket) ; les nouvelles actions seront indépendantes de la répétition (sauf à les y faire rentrer).

Si ta construction est 'parfaite' :
* Modifier l'endroit dans l'arbre de construction où l'on crée les nouvelles fonctions : PartDesign_MoveTip/fr
* Ajouter une fonction de congé
* Remettre le Tip à la fin de l'arbre !!!
* Modifier la répétition circulaire pour ajouter la fonction de congé.

Mais ta construction doit être 'parfaite' : exempte de TNP Topological_naming_problem/fr.
Et la répétition du congé peut ne pas fonctionner correctement/complètement.

Il est peut-être plus simple de simplement faire le congé de ces 6 trous à la fin (dans une seule fonction de congé).
zetaz
Posts: 6
Joined: Mon Jun 13, 2022 2:35 pm

Re: Modifier une protrusion apres une repetition axiale

Post by zetaz »

Merci bien.
j'ai enfin compris la "fonction résultante" et après avoir bien galéré, compris comment on ajoutait ou supprimait la fonction "congé" au niveau de la fonction "répétition circulaire".
C'est vraiment pas évident d'apprendre tout seul malgré les multiples tuto.

Merci encore
myf
Posts: 95
Joined: Thu Mar 19, 2015 4:13 pm

Re: Modifier une protrusion apres une repetition axiale

Post by myf »

Bonjour Zetaz, bienvenue !
Bonjour Shalmeneser, une source d'inspiration sans fond pour les lecteurs du forum !


Je me permets de m'insérer dans cette discussion, parce que par "essais et erreurs", j'ai le même genre de question de "commutativité" des opérations entre une répétition (circulaire) et une fonction (de fabrication) de plus.

Je prends cet exemple : le fichier et l'image montrent une base avec une répétition circulaire des 12 cylindres. Ensuite j'ai percé l'un des douze cylindres, et je l'ai déplacé par "attraper, faire glisser" au dessus, c'est-à-dire "avant" la répétition circulaire.

Je ne peux pas
(A)-ajouter ce trou dans la répétition circulaire, même si je l'ai déplacé au dessus de cette répétition circulaire,
(B)-détruire cette répétition circulaire, car elle déstabilise le trou (un point d'exclamation rouge apparaît sur cette "Pocket").

J'utilise une version toute récente de RealThunder.

Ma première très naïve question consiste à demander si l'arbre de construction correspond effectivement à l'ordre des opérations et si ces modifications (très pratiques) par "déplacer, faire glisser" dans l'arbre (filiforme) de construction change effectivement l'ordre de cette construction.
Le nom savant de ce problème semble être "<App> Document.cpp(3549): The graph must be a DAG." dans la fenêtre des rapports d'erreur en bas. Cependant, je ne sais pas quoi en faire pour "remettre l'arbre d'aplomb".

La deuxième demande comment éviter ou limiter ces "points d'exclamation" qui, de destruction d'une étape en destruction de la précédente, remettent très souvent en cause la majeure partie de la construction.

Ce fonctionnement est-il propre à cette version de développement de RT ou commune à toutes les versions ?

Enfin, malgré les progrès de cette version de RT, je prends l'habitude de poser les "Sketch" sur les plans de bases, que je décale dans son positionnement.

En réponse à Zetaz et aux débutants de freecad, je précise que je dois être à la construction avec freecad d'une quarantaine de "petits objets simples" sur une imprimante 3d depuis 1an1/2, en commençant à partir de zéro. Il me reste encore des questions ! mais maintenant j'enchaîne les étapes élémentaires avec beaucoup moins de difficultés, et mes questions deviennent plus techniques sur le fonctionnement propre de freecad.

Bien cordialement à tous.

F.
Attachments
RepetitionCirculaire.FCStd
(140.49 KiB) Downloaded 16 times
Capture d’écran du 2022-06-19 12-09-13.png
Capture d’écran du 2022-06-19 12-09-13.png (264.7 KiB) Viewed 710 times
User avatar
jmarie3D
Posts: 310
Joined: Sat May 02, 2020 12:31 pm

Re: Modifier une protrusion apres une repetition axiale

Post by jmarie3D »

myf wrote: Sun Jun 19, 2022 10:53 am
Ma première très naïve question consiste à demander si l'arbre de construction correspond effectivement à l'ordre des opérations et si ces modifications (très pratiques) par "déplacer, faire glisser" dans l'arbre (filiforme) de construction change effectivement l'ordre de cette construction.
Le nom savant de ce problème semble être "<App> Document.cpp(3549): The graph must be a DAG." dans la fenêtre des rapports d'erreur en bas. Cependant, je ne sais pas quoi en faire pour "remettre l'arbre d'aplomb".
À mon avis, la meilleure façon de procéder est de déclarer la fonction avant modification comme étant la dernière (tip)
Capture d’écran_2022-06-19_13-41-45.png
Capture d’écran_2022-06-19_13-41-45.png (77.18 KiB) Viewed 691 times
Ensuite, on modifie puis on remet le tip sur la dernière fonction.
RepetitionCirculaireJM.FCStd
(271 KiB) Downloaded 23 times
Capture d’écran_2022-06-19_13-48-22.png
Capture d’écran_2022-06-19_13-48-22.png (47.32 KiB) Viewed 691 times
(Dans cette opération, le nombre de répétitions circulaires a été réinitialisé, je ne sais pas si c'est systématique)
myf
Posts: 95
Joined: Thu Mar 19, 2015 4:13 pm

Re: Modifier une protrusion apres une repetition axiale

Post by myf »

Grand merci Jean-Marie ! Ça marche bien !

Dans le menu contextuel de l'objet, je n'avais jamais prêté attention à cette commande "set body tip" qui termine prématurément l'objet à cette fonction.

C'est donc à faire ici sur la dernière fonction "bien placée dans l"arbre", ici le cylindre ajouté par Pad001.
Les deux fonctions suivantes "Pocket" et "PolarPattern" sont alors plus ou moins inactives.
À ce moment, les déplacements et glissements de ces fonctions inactives dans l'arbre de l'objet se laissent faire.
Il est alors nécessaire de reprendre le menu du "PolarPatter" où le nouveau trou apparaît et l'ajouter dans les fonctions à dupliquer (et remettre les 12 duplications)
Enfin, on remet le "set body tip" sur la (nouvelle) toute dernière fonction, le "PolarPattern".

Maintenant, je vais pouvoir modifier PROPREMENT toute arborescence des "body" de PartDesign. Une bonne chose bien expliquée et apprise.
Question un peu tard maintenant : La page du wiki la plus explicative que j'ai trouvé est https://wiki.freecadweb.org/PartDesign_MoveTip/fr, mais je ne l'ai trouvée qu'une fois tes PRÉCIEUSES explications données. D'autres pages expliquent-elles mieux ces modifications d'arborescences ?

Plus tard, je risque de poser des questions similaires entre des "Body" différents, et pas à l'intérieur du même.
J'utilise un peu au hasard les fonctions "Clone", "ShapeBinder", "SubShapeBinder", "ctrl-C ctrl-V" jusqu'à ne plus avoir d'erreurs sans synthétiser la subtilité de chacune. Par exemple je peux faire une "pocket" dans un clone à partir de PartDesign, mais je dois faire une opérations booléennes comme dans "Part" si j'utilise "ShapeBinder"... Cela me laisse perplexe.

Cordialement à tous.

F.
User avatar
Shalmeneser
Veteran
Posts: 9475
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: Modifier une protrusion apres une repetition axiale

Post by Shalmeneser »

Ton Std_DependencyGraph/fr montre des flèches rouges signe de problème.
Après avoir déplacé des fonctions, un lien de référence pointe vers le bas de l'arbre de construction (= vers le futur), ce qui est interdit.

Si un sketch ou une fonction est suffisamment indépendante de son entourage, on peut la déplacer dans l'arbre (PartDesign_MoveFeature/fr) :
Si ce qui s'y réfère reste derrière, ok.
Si ce vers quoi elle refère reste devant, ok.
Sinon c'est le bazar.

En modifiant l'ordre de ta construction, tu as brisé l'ordre logique donc c'est le bazar.

En se référant à des arêtes de l'objet solide, il y a plus de risque que cela modifie le résultat.
En se référant à des arêtes de sketch, seul l'ordre des actions compte.
C'est pourquoi il faut toujours essayer de s'accrocher à la première action possible de l'arbre (en essayant que les sketchs qu'on réfère soient simple pour limiter le risque de changement).
(Les arrondis ou chanfreins sont toujours susceptible de sauter car ils se réfèrent au solide.)
Attachments
Capture d’écran 2022-06-19 171633.jpg
Capture d’écran 2022-06-19 171633.jpg (50.77 KiB) Viewed 640 times
User avatar
Shalmeneser
Veteran
Posts: 9475
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: Modifier une protrusion apres une repetition axiale

Post by Shalmeneser »

Quand on se rend compte qu'il faut aussi répéter le perçage, on peut ajouter une répétition polaire après juste pour le perçage (et éventuellement supprimer la première répétition pour tout faire dans la dernière).

Le tip est un secret bien gardé car on ne devrait pas faire ce genre de modification :
* y a toujours un risque de casser l'aval en modifiant l'objet (si on s'y réfère. ex : fillet)
* on oublie toujours de le repositionner à la fin.

Quand on se rend compte que son arbre est mal organisé, il peut être préférable de supprimer toutes les fonctions en gardant les sketchs et de reconstruire dans un autre ordre (avec quelques modifications évidemment).
User avatar
-alex-
Veteran
Posts: 1856
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Re: Modifier une protrusion apres une repetition axiale

Post by -alex- »

myf wrote: Sun Jun 19, 2022 12:58 pm Dans le menu contextuel de l'objet, je n'avais jamais prêté attention à cette commande "set body tip" qui termine prématurément l'objet à cette fonction.
Les débutants ne prêtent pas souvent attention à cette fonction un peu implicite, ni au système d'attachement d'objet pourtant bien utile et puissant dans l'utilisation de FC.
C'est donc à faire ici sur la dernière fonction "bien placée dans l"arbre", ici le cylindre ajouté par Pad001.
La fonction "bien placée" c'est la fonction la plus en amont dans l'arbre qui possède les éléments géométriques sur lesquels créer des références.
En modélisation paramétrique avec arbre de fonctions tout est affaire de références entre fonctions ou entre objets (fonction et objet c'est un peu la même chose, je passe les détails).
Les références les plus courament crées sont les plans d'attachement (esquisse appliquée sur la face d'un objet) ou les Xref.dans les esquisses. Dans PartDesign ces références sont créées implicitement et l'utilisateur débutant ne les voit pas. Il faut par exemple regarder la propriété "support" pour voir la référence d'attachement et éventuellement la modifier.
Dans PartDesign les fonctions sont cumulées, lorsque l'on créé des références elles sont liées à l'objet visible sélectionné, par défaut c'est le dernier de l'arbre. Mais c'est l'objet qui potentiellement cumul le plus de dépendances aux objets précédents.
Pour avoir un modèle robuste et facilement modifiable, dans PartDesign comme dans Part et autres, tout l'enjeu et de veiller à créer des références sur l'objet le plus en amont dans l'arborescence, en jouant avec PartDesign_MoveTip/fr ou simplement en cachant/montrant les objets pertinents (les plus en amont possible) à sélectionner. Dans Part design cette recherche va un peu à contre courant du flux d'affichage par défaut, mais c'est comme ça.
Dans d'autres logiciel commerciaux par exemple ce problème de références se pose moins car le modeleur gère différemment la topologie du modèle lui même (je passe les détails, trop long).

Plus tard, je risque de poser des questions similaires entre des "Body" différents, et pas à l'intérieur du même.
J'utilise un peu au hasard les fonctions "Clone", "ShapeBinder", "SubShapeBinder", "ctrl-C ctrl-V" jusqu'à ne plus avoir d'erreurs sans synthétiser la subtilité de chacune. Par exemple je peux faire une "pocket" dans un clone à partir de PartDesign, mais je dois faire une opérations booléennes comme dans "Part" si j'utilise "ShapeBinder"... Cela me laisse perplexe.

Je pense que je vois ce que tu veux dire, mais tu est allé un peu vite dans ta description je crois. Pour faire un Pocket sur un objet Draft_Clone tu as due faire glisser ce clone dans le Corps PartDesign actif, et tu as obtenu une "base feature" et c'est sur celle-ci que tu as créé ton esquisse et fait ton Pocket.
Cette "base feature" est une copie de ton objet "clone", mais avec un système de coordonnées local (celui du Corps actif) différent du système de coordonnées global de FC. Cela est un spécificité de l'atelier PartDesign, qui nécessite certaines "fonctions passerelles" comme Base feature, Shape binder et autres pour faire la liaison avec des objets hors du corps actif.
Chaque atelier a certaines spécificités ou paradigme qui permet de faire des choses et pose parfois des limites.
C'est comme cela, FC n'est par encore unifié et homogène entre ses ateliers, mais globalement beaucoup de choses sont possibles avec FC.
Ce fonctionnement est-il propre à cette version de développement de RT ou commune à toutes les versions ?
La branche de Realthunder améliore pas mal de choses, et surtout elle évite des problèmes de boulversement topologique liés au modeleur géométrique OCC utilisé par FC. Mais globalement les remarques ci dessus restent vraies et l'habitude de faire référence à l'objet le plus en amont possible reste également une bonne pratique.

Plus d'info sur tout cela ici: https://forum.freecadweb.org/viewtopic. ... 30#p331534 (tu peux lire tout le sujet éventuelement)

Un autre lien qui peut t'aider: https://forum.freecadweb.org/viewtopic. ... 10#p308526
Post Reply