Assembly3 contraintes pour restreindre les mouvements

Forum destiné aux questions et discussions en français
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
JankoHrasko
Posts: 14
Joined: Sun Jan 29, 2023 1:23 pm

Re: Assembly3 contraintes pour restreindre les mouvements

Post by JankoHrasko »

Wow, cool !
C'est très bien cela. IL faut que je creuse ça.
Je vasi vous donner des nouvelles dès que je trouve - ou pas...
Merci !
User avatar
Vincent B
Veteran
Posts: 4713
Joined: Sun Apr 05, 2015 9:02 am
Location: La Rochelle, France

Re: Assembly3 contraintes pour restreindre les mouvements

Post by Vincent B »

Ca donne ça avec assembly3. Pas besoin de sketch au final.
Attachments
Angle_Ass3.FCStd
(24.93 KiB) Downloaded 26 times
JankoHrasko
Posts: 14
Joined: Sun Jan 29, 2023 1:23 pm

Re: Assembly3 contraintes pour restreindre les mouvements

Post by JankoHrasko »

AHA !
Il faut que j'étudie cet exemple un peu plus en détail puisqu'il y a un "objet" que je ne connait pas "variable"...
Dedans il y a donc Variable "Angle" qui est une fonction :
AngleConsigne > 0 ? AngleConsigne : 0
et ensuite Angle => 11
Mais je ne vois pas d'où ça sort ni comment cela marche...
Puisqu'il faut récupérer cela dans la contrainte AxialAlignment si je comprends bien ?
J'ai de quoi passer le weekend alors ;-)
En tout cas merci beaucoup cela devrait me mener sur la bonne voie !
User avatar
Vincent B
Veteran
Posts: 4713
Joined: Sun Apr 05, 2015 9:02 am
Location: La Rochelle, France

Re: Assembly3 contraintes pour restreindre les mouvements

Post by Vincent B »

les expressions conditionnelles, c'est ici:
https://wiki.freecad.org/Expressions/fr
JankoHrasko
Posts: 14
Joined: Sun Jan 29, 2023 1:23 pm

Re: Assembly3 contraintes pour restreindre les mouvements

Post by JankoHrasko »

Oui, merci pour le lien.
par contre je me pose la question par rapport à la fonction, son résultat ainsi que son utilisation dans l'Assembly3

la fonction
AngleConsigne > 0 ? AngleConsigne : 0

indique que si la variable "AngleConsigne" est plus grande que 0 alors la variable prend la valeur de "AngleConsigne", sinon le résultat (donc la variable) devient 0.

Dans ce cas il n'y a que deux états = la valeur "AngleConsigne" qui est définie ou 0. Actuellement dans le fichier la valeur de "AngleConsigne" est 11. La valeur de l'angle doit donc être 11, ce qu'indique aussi le résultat.

Par la suite, il me fallut un peu de temps pour la trouver..., cette variable est reprise dans le "Link001(Body)" dans l'assemblage. Elle conditionne "Placement/Angle" de ce Body. Or étant donné que c'est un nombre qui ne change pas le body est donc juste positionné à 11° par rapport au support sur lequel il est appuyé et on ne peut pas parler de mouvement.

Le but était de trouver la solution pour conditionner le mouvement de rotation entre deux angles par example 0° et 90°.

J'ai toujours la question : comment est-ce que la Variable au départ a été créée ? C'est là où la fonction de condition a été introduite mais comment est-ce que l'on la place ?
User avatar
jpg87
Posts: 809
Joined: Thu Mar 16, 2017 7:16 am
Location: Limoges - France
Contact:

Re: Assembly3 contraintes pour restreindre les mouvements

Post by jpg87 »

JankoHrasko wrote: Sat Feb 04, 2023 12:29 pm Le but était de trouver la solution pour conditionner le mouvement de rotation entre deux angles par example 0° et 90°.
Pour l'instant, c'est le fonctionnement d'une animation, entre 2 bornes définies.
Si tu as du temps (et du courage) tu peux consulter
https://help-freecad-jpg87.fr/00fr/0269 ... t_Glob.php#
My website : http://help-freecad-jpg87.fr updated 2023/11/06
JankoHrasko
Posts: 14
Joined: Sun Jan 29, 2023 1:23 pm

Re: Assembly3 contraintes pour restreindre les mouvements

Post by JankoHrasko »

Merci jpg87, c'est justement une des rare parties de ton site que je n'ai pas encore étudié !
JankoHrasko
Posts: 14
Joined: Sun Jan 29, 2023 1:23 pm

Re: Assembly3 contraintes pour restreindre les mouvements

Post by JankoHrasko »

Après qqs tests ce qui me semble possible à faire c'est au lieu de donner une variable avec une valeur fixe, comme le fait VincentB, d'attribuer à cette variable l'ensemble de réels entre deux limites - par ex 0 et 90.
Dans l'exemple de Vincent B la contrainte axiale est fixée sur 11°, mais on donnant un "range" (0-90) la contrainte devrait donc laisser le mouvement passer de 0 à 90, mais ne pas laisser aller au delà.
Par contre je ne sais pas comment on donne à une variable un "range" entre deux nombre réels dans freecadpython ?

Si qqun le sait merci de me le dire ou de m'aiguiller sur la bonne page où je pourrais me renseigner
Post Reply