Déplacer l'origine d'une copie simple ?
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Be nice to others! Read the FreeCAD code of conduct!
Déplacer l'origine d'une copie simple ?
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
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
Re: Déplacer l'origine d'une copie simple ?
Salut
tu peux aussi utiliser "Placement
tu peux aussi utiliser "Placement
- Attachments
-
- cremaillère.PNG (26.44 KiB) Viewed 3129 times
Re: Déplacer l'origine d'une copie simple ?
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 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)
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 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)
Re: Déplacer l'origine d'une copie simple ?
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.
Sinon il y a aussi l’outil Mover de l'atelier Manipulator, pas mal aussi.
Re: Déplacer l'origine d'une copie simple ?
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
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
Re: Déplacer l'origine d'une copie simple ?
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 (45.76 KiB) Viewed 3091 times
Re: Déplacer l'origine d'une copie simple ?
Merci glouglou, mais c'est pas ça non plus
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 )
Merci
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 )
Merci
Re: Déplacer l'origine d'une copie simple ?
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
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
Re: Déplacer l'origine d'une copie simple ?
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.
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.
-
- Posts: 46
- Joined: Sat Feb 22, 2020 2:21 am
- Location: Basse-Normandie
Re: Déplacer l'origine d'une copie simple ?
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
merci
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
merci