Comment effectuer une symétrie d'un groupe de corps par rapport à un plan

Forum destiné aux questions et discussions en français
Forum rules
Règles du forum et informations utiles.

VEUILLEZ LIRE CECI AVANT DE DEMANDER DE L'AIDE
Trebly
Posts: 16
Joined: Sat Mar 06, 2021 11:42 pm

Comment effectuer une symétrie d'un groupe de corps par rapport à un plan

Postby Trebly » Sun Mar 28, 2021 2:49 am

Bonjour,

Dans la série "comment faire (howto)" voilà un problème que je n'ai pas résolu.

J'ai défini une série de corps que j'ai regroupé dans un groupe (pour faciliter le travail, ce qui est un des buts du "groupe")

Je veux effectuer une symétrie en copie liée de ce groupe par rapport à un plan de référence que j'ai créé.

J'ai beau avoir bien lu Symétrie : https://wiki.freecadweb.org/PartDesign_ ... fr#Options

Je n'en sors pas.

Ce que j'ai fait :
- sélectionner d'abord un seul corps
- tenté de définir un "plan de symétrie" défini par rapport à un autre corps (peut-être faut-il un plan qui soit obligatoirement une fonction du même corps ?)
- un plan "par défaut" qui devient le plan de symétrie eszt le plan XY du corps, n'apparait pas modifiable dans les propriétés du "referenceDataumPlane" qui est créé (propriété : "support", la valeur est modifiée mais la symétrie ne l'est pas)

Maintenant j'ai eu du mal à naviguer dans les "panneaux" offert par la fonction quand on l'active après avoir sélectionné un par un (config avec case à cocher) tous les éléments du corps (sinon...). La saisie directe des propriétés (une fois les objets créés) est presque plus facile.
S'agit-t-il d'une incomplétude, cette fonction étant nouvelle dans 0.19 ?

Cordialement

Trebly
User avatar
jmarie3D
Posts: 71
Joined: Sat May 02, 2020 12:31 pm

Re: Comment effectuer une symétrie d'un groupe de corps par rapport à un plan

Postby jmarie3D » Sun Mar 28, 2021 7:17 am

Trebly wrote:
Sun Mar 28, 2021 2:49 am

J'ai beau avoir bien lu Symétrie : https://wiki.freecadweb.org/PartDesign_ ... fr#Options
Tu n'as pas lu jusqu'au bout. Tout en bas :
Limitations

La fonction de symétrie ne peut pas symétriser un solide entier. Pour cela, voir Mise en miroir.

La fonction de symétrie doit intersecter le solide (aussi appelé support) sur lequel elle est basée, sinon la commande échouera.
User avatar
papyblaise
Posts: 3324
Joined: Thu Jun 13, 2019 4:28 pm
Location: France

Re: Comment effectuer une symétrie d'un groupe de corps par rapport à un plan

Postby papyblaise » Sun Mar 28, 2021 7:44 am

La fonction de symétrie ne peut pas symétriser un solide entier
Ben ça , ça m'interloque :!: , je comprends maintenant pourquoi , ya 2 /3 jours je n'ai pas réussi à faire une symétrie de pipe d'échappement en Y avec l'atelier PartDesign , alors que Part marche trés bien
User avatar
Forthman
Posts: 1450
Joined: Fri Apr 27, 2018 11:23 am
Location: Tarn-et-Garonne (82)

Re: Comment effectuer une symétrie d'un groupe de corps par rapport à un plan

Postby Forthman » Sun Mar 28, 2021 9:55 am

Attendez attendez je pense que notre ami Trebly n'a pas utilisé des mots au hasard :idea:

@Trebly, si je comprends bien, tu as créé plusieurs objets de type "Body" que tu as placé dans un conteneur.

Tu as les conteneurs de type "Groupe" qui ne servent qu'à organiser les objets dans l'arboressence
Tu as les conteneurs de type "Part" (escalier jaunes) qui ont leurs propres repères dans l'espace

Si tu veux faire une symétrie de tous les objets placés dans un conteneur "Part", tu peux utiliser la fonction de symétrie de l'atelier Draft
les fonctions de l'atelier Part Design ne peuvent servir qu'à définir un objet de type Body et la fonction symétrie de l'atelier Part ne sais pas interpréter
le conteneur comme une seule entité.



Capture d’écran_2021-03-28_11-53-48.png
Capture d’écran_2021-03-28_11-53-48.png (112.82 KiB) Viewed 371 times
User avatar
GlouGlou
Posts: 2963
Joined: Sun Apr 05, 2015 9:02 am
Location: La Rochelle, France

Re: Comment effectuer une symétrie d'un groupe de corps par rapport à un plan

Postby GlouGlou » Sun Mar 28, 2021 9:58 am

Trebly wrote:
Sun Mar 28, 2021 2:49 am
J'ai défini une série de corps que j'ai regroupé dans un groupe (pour faciliter le travail, ce qui est un des buts du "groupe")
Je veux effectuer une symétrie en copie liée de ce groupe par rapport à un plan de référence que j'ai créé.
J'ai beau avoir bien lu Symétrie : https://wiki.freecadweb.org/PartDesign_ ... fr#Options
La fonction symétrie de PartDesign n'est pas prévu pour un groupe d'objet. C'est une fonction qui symétrise une autre fonction dans un body.
Pour faire une symétrie de plusieurs objets, il faut utiliser miroir de l’atelier Draft. (limité aux plans absolus)
Pour faire une symétrie quelconque, il y a un outils dans l'atelier lattice2.
...
edit: grillé par Forthman
User avatar
papyblaise
Posts: 3324
Joined: Thu Jun 13, 2019 4:28 pm
Location: France

Re: Comment effectuer une symétrie d'un groupe de corps par rapport à un plan

Postby papyblaise » Sun Mar 28, 2021 10:15 am

Et vous oublier Miror de l'atelier Part
Trebly
Posts: 16
Joined: Sat Mar 06, 2021 11:42 pm

Re: Comment effectuer une symétrie d'un groupe de corps par rapport à un plan

Postby Trebly » Tue Mar 30, 2021 10:50 pm

Bonsoir,

Merci de ces nombreuses réactions.

J'ai rédigé une réponse complète au fur et à mesure du traitement du(des) problème(s) qui n'a pas trouvé de solution en soi, tel que formulé, mais dont l'objectif global (un dessin de l'objet "sujet") peut être atteint autrement que formulé à l'origine (voir fin du texte).
J'ai rédigé au fur et à mesure du travail que j'ai effectué sur le sujet. Cependant j'ai, bien sur, éliminé tous les essais erreurs qui ont finalement abouti à une solution valide, mais formulé les problèmes rencontrés et les solutions appliquées.

Ce travail me confirme le contexte :
- de multiples manières d'appliquer des symétries <> applicables à des "objets" variés.
nota 1 : "objets" au sens du développeur et apparaissant dans l'arbre pouvant être donc toute fonction, corps, pièces, esquisses, géométries de référence, std_groupe, etc. j'en ai oublié bien sur puisque je n'ai travaillé qu'avec quelques ateliers de base.
nota 2 : "symétries" pouvant être : - par rapport à : point, axe-droite, plan

et je pose la question (reformulation) :
"symétrie par rapport à un plan" pour un "groupe standard" de "corps (body)" ou une sélection multiple (ce qui revient vite au même)
Le plan quant à lui pouvant être externe au corps (unique pour la sélection) ou être un "shapebinder" vers un plan externe.
Le contexte de travail étant implicite l'atelier "Part Design" (ce qui ne limite pas les réponses possibles et ouvertures à cet atelier)

Pour l'instant les réponses de principe et les tests que j'ai effectués conduisent à :
On ne sait pas (pas encore pour certaines) exécuter toute opération valide pour un objet unique pour plusieurs objets sélectionnés. Par exemple on peut copier et coller (voir ma note-01 hors texte) plusieurs objets dont les groupes-std, mais pas de les transformer.
L'atelier PartDesign ne permet pas d'effectuer de symétrie de corps (body) et encore moins de groupe (par sélection multiple ou groupe standard - cas de copier-coller (copy-paste))
Je n'ai pas encore trouvé le moyen le plus efficace (même efficace) pour effectuer une symétrie liée ou non par rapport à un plan d'un groupe (groupe-std ou sélection multiple - ce qui peut revenir au même) par rapport à un "plan"

Comme m'en rend grâce ForthMan, conscient de l'ampleur du problème et essayant d'être économe en mots, je n'ai effectivement pas utilisé mes mots du tout par hasard.

Avant d'aller plus avant, je résume (et donc je simplifie en abandonnant les détails néanmoins utiles par ailleurs) ce que j'ai lu dans les réponses :
- le contexte de ma question :
Utilisation et fonctionnalités de "Symétrie" dans PartDesign
J'ai des "corps (body) au sens de partDesign ainsi que des "Groupe (group)" ce qui correspond à l'image d'arborescence
ImageJe n'ai pas de lien (url) image valide à insérer ici.
Ma question est comment peut-on utiliser une fonction "symétrie" pour effectuer une symétrie par rapport à un plan.

Il semblerait bien que cela soit, au moins pour l'instant, impossible de manière simple.

Les solutions

Mes tentatives

La solution "mirroring" de part, merci Jmarie3Dhttps://forum.freecadweb.org/memberlist ... le&u=31172
La fonction "symétrie" de PartDesign effectuant la symétrie d'une "fonction" et non d'un corps (j'ai expérimenté, mais échoué en tentant d'effectuer une symétrie en appliquant en une seule fois la fonction à la sélection de tous les objets du corps, y compris le corps lui-même, ce qui logiquement ?, aurait pu être une solution provisoire),
J'ai aussi échoué en tentant d'utiliser "mirroring" de "part". Sur un corps même si j'ai su effectuer un miroir par rapport au plan de référence XY (défaut) du corps et non déporté. Dans un cas, je n'ai pas réussi à "effacer" la fonction créée (j'ai dû repartir d'une sauvegarde). J'ai échoué à définir un plan différent du référentiel de l'objet (un corps) y compris en affectant des décalages (déports) <.il me faut probablement répéter pour comprendre le référentiel et le mécanisme des décalages, de plus j'ai obtenu un miroir du corps, il semble, avant sa transformation... test en cours)

Nota : papyblaise : je ne parle pas de "solide = "pièce ?"" mais de corps (body)

En réponse à Forthman :
Si tu veux faire une symétrie de tous les objets placés dans un conteneur "Part", tu peux utiliser la fonction de symétrie de l'atelier Draft
les fonctions de l'atelier Part Design ne peuvent servir qu'à définir un objet de type Body et la fonction symétrie de l'atelier Part ne sais pas interpréter le conteneur comme une seule entité.
Évidemment ce que je veux faire au moins c'est créer dans l'atelier Part_Design le corps symétrique d'un corps par rapport à un plan (plan du corps ou en utilisant "shapebinder"(il me semble devrait permettre de lier au corps un plan défini dans un autre corps ou au niveau général).

Et pour ça je n'ai pas encore su mettre en œuvre une solution fonctionnelle simple.

Enfin j'ai essayé, d'utiliser mes groupes de planches comme une source organisée de corps pour une fonction d'objet assembly4 définie dans un fichier séparé destiné à l'assemblage seul.
Il faudra que je répète les opérations parce que j'ai eu plusieurs incidents, dont :
  • le fait que les liens avec des objets externes (panneau "insert a part") génèrent bien une fonction dans l'objet assemblage, mais après validation les liens créés ne pointent pas : "linked object" est vide (nota : le panneau qui permet de créer les liens à la suite, n'a pas de bouton de fermeture, je ferme en fermant la fenêtre). A noter que les insertions (à la suite) n'ouvrent pas le panneau "placer" contrairement au cas de l'insertion de corps non externes.
  • Quand on tente de remplir via le tableau des propriétés le champ "linked object" le panneau s'ouvre bien, mais quand le bouton d'insertion est cliqué, rien ne se passe. Le champ reste imperturbablement vide et il n'y a pas de message d'erreur.
  • Lorsque l'on crée l'objet assembly les objets source sont re-triés : tous les "corps" sont placés à la fin en ordre alphabétique. Ce processus est incompatible avec l'organisation du travail que j'ai imaginé en utilisant les groupes. Le seul moyen serait de nommer les corps pour que leur tri alphabétique crée de fait l'ordre qui était censé être créé par les groupes. Conclusion sur ce point : ou bien on n'utilise pas les groupes ou assembly en tient compte. Je dois donc renommer tous les corps pour continuer dans cette voie.
-
Ne comprenant pas, j'ai arrêté le test sur cet atelier en cours de développement, il me semble (n'est pas encore en bêta).

Nota : j'ai organisé mes groupes comme on le ferait physiquement sur un chantier. Il y a 120 "pièces(corps)" au total regroupables pour la mise en œuvre par répétition en 15 groupes de 4, 5 groupes de 3 et quelques autres. L'objet final serait obtenu par répétition par translation de 10 et 5 séquences - D'autres éléments (non mentionnés jusqu'à présent) sont aussi disposés par répétition au pas de 10m et 20m.

Je n'en suis pas sorti à cause des incidents et en partie de l'espace de travail dont je dispose provisoirement (un seul écran de 14" au lieu de 3 - 26, 21 et 17 " sur mon poste habituel), mais aussi à cause de l'absence de scroll auto pour les déplacements d'objets dans l'arbre.

In fine

Enfin j'ai essayé "arch" pour traiter le problème. Pour l'instant j'ai cherché un processus simple pour partir d'une esquisse qui je suis en train de bâtir.
Le principe que je suis en train de tester est de remplacer mes 120 "corps" (les planches) placées bout à bout par un assemblage, par une seule polyline et son "offset" intérieure (épaisseur) pour construire, en remplacement des planches, un muret... en pratique utiliser un "mur rideau".
Long à trouver. Il y a encore beaucoup de travail pour tracer de nombreux axes, repères, cotes visibles sur le 3D etc. Mais considérer que l'alignement de planches peut-être traité comme une polyline support d'un mur rideau en bois n'est pas tout à fait immédiat.

J'ai évidemment, avec mes remarques, ouvert implicitement je pense pas mal de sujets. Cependant, pour avancer sur FreeCad j'ai consacré beaucoup de temps et mis en attente ou en retard beaucoup d'autres problème, je vais donc lever le pied. Je pense avoir beaucoup moins de difficultés avec les opérations restantes avant de produire un dessin utile dans cet exemple qui était un exercice nécessaire.

Cordialement

Trebly
__________________________________________________________________________________
Note-02 : Suggestions
  • Avec la fonction "copie" pourrait se voir adjoindre :
    • - visualisation du contenu courant (après copie l'option "copie(y)" devient "copie en cours (voir)" - montre dans l'arbre et dans la représentation (comme sélection multiple)
    • - coller(paste) comprend l'option "transformation". Suppose le mode "voir" avec un repère (choisi)
  • Groupes (std) :
    • Permettre l'interclassement,
    • classement par type (comme dans un corps)
    • Scroll auto de l'arbre pour déplacer vers une autre zone non visible
    • Lors du déplacement, le maintien en position sur un objet provoque son développement
  • Gestion globale de l'arbre /Nouvelle fonctionnalité : Permettre d'ouvrir une deuxième arborescence "le modèle" en panneau flottant mais sans fonction associées autre que le déploiement (pour faciliter et éviter les conflits possibles) et permettant le déplacement d'objets vers un nouveau lieu dans l'arbre de référence (même genre de fonctionnalité que l'ouverture de deux arborescences dans le navigateur Windows ou autre exemple l'arborescence des dossiers du gestionnaire de messagerie Thunderbird, il a beaucoup d'autres exemples destinés à faciliter la gestion d'arbres complexes)
User avatar
Forthman
Posts: 1450
Joined: Fri Apr 27, 2018 11:23 am
Location: Tarn-et-Garonne (82)

Re: Comment effectuer une symétrie d'un groupe de corps par rapport à un plan

Postby Forthman » Wed Mar 31, 2021 8:09 am

Bonjour Trebly,

Sacrée réponse en effet :shock:
Je vais essayer d'apporter quelques lumières, mais je vais sûrement me disperser car il y a tellement de questions qui sont liées.. :roll:
Je me lance !

L'atelier Part Design Permet de créer des objets de type Body et de leur ajouter des fonctions.
Il y a quelques ateliers qui peuvent ajouter des fonctions à un objet Body (là de suite je pense à l'atelier SheetMetal),
mais l'atelier Part Design ne peut interagir qu'avec des objets de type Body (et un seul à la fois,celui qui est actif).
Un Body est obligatoirement monobloc (comme une pièce usinée), donc un miroir qui aboutirait à 2 pièces distinctes provoque une erreur.
La fonction miroir (comme les autres fonctions de répétitions) peut effectuer un miroir de n'importe quelles fonctions d'un body.
Donc on peut créer une symétrie d'un Body entier en sélectionnant toutes ses fonctions (dans l'ordre d'exécution)
J'ai fait un petit couvercle histoire de visualiser la chose :
couvercle.FCStd
(75.39 KiB) Downloaded 6 times
La représentation des fonctions dans un Body est également spécifique (ordre de création des fonctions avec la dernière en bas),
et il n'est possible d'afficher qu'une seule des fonctions d'un Body



pour les groupes d'objets, comme j'avais écrit plus haut, tu en as deux sortes.
Les groupes (icone en forme de répertoire) qui s'affichent dans l'arbre sous le nom "Groupe" et qui ne servent qu'à organiser les objets
les conteneurs Parts (icone en forme d'escalier jaune) qui s'affichent dans l'arbre sous le nom "Part" qui ont leur propre origine.

Si tu veux pouvoir déplacer un groupe d'objets comme si ce n'en était qu'un (cas d'un assemblage) alors il te faut utiliser le conteneur Part.
Ces conteneurs sont arrivés avec la version 0.17 ce qui peut expliquer pourquoi un conteneur Part n'est pas pris en charge par l'atelier Part :idea: :?:

Pour ce qui est de l'assemblage avec l'atelier Assembly4, je pense qu'il faut déjà maîtriser les bases avant de se lancer là dedans.

Dans ta conclusion tu dis que tu veux tout mettre dans un sketch sous forme de polyline, je n'ai pas bien compris ton projet
(une petite image, photo, croquis.?), mais attention aux sketchs trop chargés, au delà de quelques centaines de segments ça devient
pénible à manipuler

Dévoile nous un peu plus ton projet, partage quelques photos/croquis, histoire que l'on puisse te proposer des choses concrètes ;)
User avatar
papyblaise
Posts: 3324
Joined: Thu Jun 13, 2019 4:28 pm
Location: France

Re: Comment effectuer une symétrie d'un groupe de corps par rapport à un plan

Postby papyblaise » Wed Mar 31, 2021 2:10 pm

Ce que je crois lire entre les lignes de ton roman fleuve , tu cherche a faire un mur rideau d'une centaine de planches (me gourge-je)
je ressort l'exemple de mon tabouret , où j'allonge le plateau pour ceusses qui voudraient pas s'assoir entre 2 chaises
tu remarqueras que les pieds et les barreaux qui ne se touchent pas ne peuvent pas être dupliqués dans Partdesign
les planches qui se touchent grâce aux feuillures le peuvent (si je met un poil de crapaud d'écart , ça plante
tu noteras aussi que je n'utilise ni conteneur , ni groupe , et pourtant il tient debout

NB : c'était le seul objet avec un réseau de planches que j'ai sous la main
Attachments
tabouret bourré pour gros cul.FCStd
(329.91 KiB) Downloaded 1 time
tabouret bourré pour gros cul.PNG
tabouret bourré pour gros cul.PNG (25.51 KiB) Viewed 183 times
User avatar
GlouGlou
Posts: 2963
Joined: Sun Apr 05, 2015 9:02 am
Location: La Rochelle, France

Re: Comment effectuer une symétrie d'un groupe de corps par rapport à un plan

Postby GlouGlou » Wed Mar 31, 2021 5:26 pm

Trebly wrote:
Tue Mar 30, 2021 10:50 pm
et je pose la question (reformulation) :
"symétrie par rapport à un plan" pour un "groupe standard" de "corps (body)" ou une sélection multiple (ce qui revient vite au même)
Je crois que tu mélanges plusieurs concepts:
La symétrie et le "groupage" d'objets! Pour le groupage, tout dépends de ton dessin et de ce que tu veux grouper.
Pour le groupage Il existe:
- Compound pour regrouper plusieurs choses en une seule icône, bien pratique.
- Opération booléenne addition (avec ou pas fusion)-> les objets ne font qu'un à la fin, même si ils sont disjoints.
- Le container Part (jaune) , propre aux version 0.17 et + (revient à un compound en plus évolué)
- L'assemblage de pièce mécanique (ateliers spécifiques et plus long à mettre en ouvre)
- Les répétions link ou pas, qui sont des ensemble de shape (linéaire, circulaire...). Avec les link on peut créer des objets-instances.
... j'en oublie?
Pour le miroir il existe:
- Le clonage avec une mise à l'échelle (miroir sur lui même)
- L'outil miroir (atelier part et draft, c'est la même fonction)
- Une fonction miroir évoluée dans l'atelier lattice2
... et et c'est tout je crois?

donc l'opération de mirroir doit se faire sur un objet groupé. ;)

si tu veux paramétrer mirroir, je t'invite à telecharger mon fichier.
Ca revient à définir un vecteur et l'envoyer dans mirroir via les Base.X,Y,Z. et son vecteur.
Attachments
PartMirror.FCStd
(48.05 KiB) Downloaded 5 times