Déplacer l'origine d'une copie simple ?

Forum destiné aux questions et discussions en français
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
User avatar
Forthman
Veteran
Posts: 2650
Joined: Fri Apr 27, 2018 11:23 am
Location: Tarn-et-Garonne (82)

Déplacer l'origine d'une copie simple ?

Post by Forthman »

Bonjour à tou.te.s,

J'ai pas mal utilisé l'atelier A2plus ces derniers temps, pour pouvoir gérer plus simplement un projet assez gros.

Lors de l'importation de nouveaux éléments (fichiers), ces derniers sont transformés en sortes de "copies simples", à la différence
que ces imports peuvent contenir plusieurs objets distincts.

Dans les fichiers source, je peux être amené à utiliser des copies simples également (des roulements, des moteurs...etc..)
Et parfois l'origine de ces pièces n'est pas au bon endroit pour pouvoir faire simplement des rotations par exemple

ci-joint un fichier type d'une crémaillère ronde, faite à la base avec la fonction XOR de l'atelier part sur une crémaillère classique
Module 6 60x60 et un rectangle de 60x60 de 1200mm de long.

son centre se trouve tangent au cylindre obtenu, et du coup, lors de l'intégration dans mon dessin final, si je veux faire pivoter cette
crémaillère, je suis obligé de faire une rotation + une translation, alors que si son origine était à l'axe, je n'aurais pas ce problème.

Alors bon... J'ai trouvé une solution en utilisant l'outil "affiner la forme" de l'atelier "part", en modifiant les coordonnées de la pièce
avant, le nouvel objet créé reste à sa place, mais ses coordonnées sont remises à zéro.
(j'ai découvert ça par hasard en essayant de réparer une géométrie).

Mais cet outil ne sert pas à ça, alors si vous avez une autre solution, je suis preneur ;)
cremaillere ronde.fcstd
(95.84 KiB) Downloaded 92 times
User avatar
meme2704
Veteran
Posts: 2926
Joined: Sat Apr 01, 2017 2:47 pm
Location: Vosges

Re: Déplacer l'origine d'une copie simple ?

Post by meme2704 »

Salut
tu peux aussi utiliser "Placement
Attachments
cremaillère.PNG
cremaillère.PNG (26.44 KiB) Viewed 3075 times
User avatar
Forthman
Veteran
Posts: 2650
Joined: Fri Apr 27, 2018 11:23 am
Location: Tarn-et-Garonne (82)

Re: Déplacer l'origine d'une copie simple ?

Post by Forthman »

Salut Meme2704,

Justement, j'utilise le placement pour positionner mes objets dans mon dessin global.
J'ai un fichier DATAS.fcstd, contenant un tableau spreadsheet et par exemple une case avec l'alias "cremaillere_entraxe_X"

dans le placement X de mon objet j'insère la formule "=DATA#Spreadsheet.cremaillere_entraxe_X+30"

mais si dans mon dessin global ma crémaillère doit pivoter de 30°, elle ne tourne pas depuis son centre :?

Mais j'ai peut-être (sûrement) loupé un truc, parce que moi, même après avoir modifié les coordonnées dans "placement)
si je fais une transformation de ma crémaillère son centre revient à sa place d'origine
Capture d’écran_2018-10-23_14-54-00.png
Capture d’écran_2018-10-23_14-54-00.png (30.38 KiB) Viewed 3056 times
Sauf si après avoir déplacé ma crémaillère j'utilise la fonction "affiner la forme" de l'atelier Part, qui me créé une copie de l'objet
superposé à la position du premier mais avec l'origine au recentrée (les valeurs dans placement reviennent à 0)
User avatar
Vincent B
Veteran
Posts: 4713
Joined: Sun Apr 05, 2015 9:02 am
Location: La Rochelle, France

Re: Déplacer l'origine d'une copie simple ?

Post by Vincent B »

Le plus simple est l'outil Move de l'atelier Draft. Avec le bon "Snap" par exemple un point de l'objet, un centre... ensuite le recoller sur un nouveau point (utiliser proximité). A noter qu'au passage, on peut désormais sortir les datumplane, datumline et datumpoint des Body, c'est super pratique ;) (J'ai l'impression que ca ne fait pas longtemps que c'est possible, je l'ai remarqué récemment).
Sinon il y a aussi l’outil Mover de l'atelier Manipulator, pas mal aussi.
User avatar
Forthman
Veteran
Posts: 2650
Joined: Fri Apr 27, 2018 11:23 am
Location: Tarn-et-Garonne (82)

Re: Déplacer l'origine d'une copie simple ?

Post by Forthman »

que ce soit déplacer de l'atelier draft ou directement modifier les coordonnées dans "placement" des données de l'objet,
si on fait une rotation suivant un axe, ça prend en compte uniquement l'axe d'origine de la pièce :(
dans l'exemple ci-joint le cube est déplacé pour que le repère soit au centre
mais si on applique une rotation dessus, c'est son point d'origine (dans un angle) qui est utilisé.
Du coup je ne peux pas le faire tourner sur lui-même.

sauf si j'utilise l'outil "affiner la forme" de l'atelier part. Là, la copie créée a bien son point d'origine au centre du cube

Je suis le seul à me poser ce genre de question visiblement :mrgreen:
cube test.fcstd
(7.48 KiB) Downloaded 56 times
User avatar
Vincent B
Veteran
Posts: 4713
Joined: Sun Apr 05, 2015 9:02 am
Location: La Rochelle, France

Re: Déplacer l'origine d'une copie simple ?

Post by Vincent B »

Si c'est possible, il faut cliquer sur les 3 petits points pour entrer dans le menu. Puis "incrémental". Et là, on est en "relatif" par rapport à l'objet (l'origine de l'objet devient le le centre de rotation et de déplacement) et "center" est ses "offsets"
Attachments
Capture.PNG
Capture.PNG (45.76 KiB) Viewed 3037 times
User avatar
Forthman
Veteran
Posts: 2650
Joined: Fri Apr 27, 2018 11:23 am
Location: Tarn-et-Garonne (82)

Re: Déplacer l'origine d'une copie simple ?

Post by Forthman »

Merci glouglou, mais c'est pas ça non plus :oops:

Je veux vraiment déplacer l'origine de la pièce mais pas déplacer la pièce par rapport à l'origine.

On peut effectivement déplacer simplement un objet, et même l'aligner parfaitement grâce à l'atelier
"manipulator WB", mais mon problème se pose quand je veux "automatiser" le placement d'un élément.

Pour être plus clair, je vous ai fait un petit dessin qui représente ce qui m'embête avec le fait de ne pas
avoir l'origine de la pièce en son centre.

Alors là c'est moi qui ai volontairement décalé l'origine, mais souvent quand je charge des pièces en STEP
pour les intégrer dans mes dessins, les origines des pièces ne sont pas forcément au bon endroit
(un motoréducteur dont l'origine n'est pas sur l'axe en sortie par exemple)

Donc ci-joint un petit fichier avec un anneau comportant 8 crémaillères
j'utilise un tableau pour contrôler l'orientation de ces crémaillères
En ouvrant le tableau vous pourrez changer la valeur de l'angle des crémaillère. (étiquette : angle_rotation)
j'utilise cette valeur sur les copies simples de crémaillères rouges et vertes dans les propriétés de placement d'angle par
l'utilisation de l'expression : '=Spreadsheet.angle_rotation"

Les crémaillères rouges ont leur origine décalée par rapport à leur centre, les vertes ont leur origine centrée.

En entrant une valeur différente de 0 dans le tableau Spreadsheet, vous allez pouvoir constater ce qui me pose problème.

Enfin, comme je l'ai déjà écrit plusieurs fois, j'ai trouvé une solution avec la fonction "affiner la forme" de l'atelier "part",
mais comme il n'est pas censé faire ça, il se peut que j'altère des infos de mes pièces sans le savoir (ou que j'en colle un
paquet de nouvelles inutiles)

Si vous me trouvez une solution simple pour que les crémaillères rouges tournent bien en leurs centres, je suis preneur
(par simple, j'entends de ne pas utiliser de sinus/cosinus dans les expressions :mrgreen: )

Merci ;)
rotation crémaillères.fcstd
(696.09 KiB) Downloaded 62 times
User avatar
Forthman
Veteran
Posts: 2650
Joined: Fri Apr 27, 2018 11:23 am
Location: Tarn-et-Garonne (82)

Re: Déplacer l'origine d'une copie simple ?

Post by Forthman »

remoi,

Je viens de voir que j'avais un problème dans mon fichier, l'alias du tableau ne fonctionnait pas (test.fcstd en est-il la cause ???)
du coup je l'ai rechargé avec un nom différent
User avatar
blonblon
Posts: 253
Joined: Sat Sep 24, 2016 6:06 pm
Location: Uzes (Gard), France

Re: Déplacer l'origine d'une copie simple ?

Post by blonblon »

Bonjour Forthman

Quand tu fait click sur cremaillaire avec axe NON centre, dans placement quand tu met X = 0 tes cremaillaires se positionnent autour du centre et non sur le centre, si tu le fait avec cremaillaire avec axe centre tes cremaillaires se positionnent sur le centre.
stephbabat
Posts: 46
Joined: Sat Feb 22, 2020 2:21 am
Location: Basse-Normandie

Re: Déplacer l'origine d'une copie simple ?

Post by stephbabat »

Bonjour ,

Excusez moi s’il fallait ouvrir un nouveau sujet mais ayant le même problème que Fortman je relance cette discussion à la suite comme le problème est très bien décrit au dessus.

Je cherche à déplacer l’origine de mon objet dans (DANS) mon objet pour pouvoir l’animé simplement et libérer de la ressource (ça me chauffe les tempes, je n’en peux plus...).

Je me sers de l’atelier Animation, j’ai redessiné et ré-assembler plusieurs fois mon objet et je n’ai trouvé aucun moyen d’avoir l’origine de mon objet fixer au centre de ma charnière tubulaire. j’ai réussi à fixer X au centre par des protrusions symétriques mais Y et Z n’en font qu’a leur tête. Le décalage est de :
x = 0mm
y = -416mm
z = 1141,5mm

J’ai découvert que quand on fait un clone d’un objet déplacé, puis qu’on déplace ce clone par transformer ou Placement, il prend en référence la coordonnée d’origine de l’objet copié mais l’opération inverse n’est pas possible, ou je ne l’ai pas trouvé.

Je suis sur FreeCad0.19 et Ubuntu 18.04.4 LTS

Aidez moi j’ai mal au crâne

merciImage
Placement.FCStd
Voilà le fichier
(327.87 KiB) Downloaded 39 times
Post Reply