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 !
Assembly3 contraintes pour restreindre les mouvements
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Be nice to others! Read the FreeCAD code of conduct!
-
- Posts: 14
- Joined: Sun Jan 29, 2023 1:23 pm
Re: Assembly3 contraintes pour restreindre les mouvements
Ca donne ça avec assembly3. Pas besoin de sketch au final.
- Attachments
-
- Angle_Ass3.FCStd
- (24.93 KiB) Downloaded 29 times
-
- Posts: 14
- Joined: Sun Jan 29, 2023 1:23 pm
Re: Assembly3 contraintes pour restreindre les mouvements
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 !
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 !
Re: Assembly3 contraintes pour restreindre les mouvements
les expressions conditionnelles, c'est ici:
https://wiki.freecad.org/Expressions/fr
https://wiki.freecad.org/Expressions/fr
-
- Posts: 14
- Joined: Sun Jan 29, 2023 1:23 pm
Re: Assembly3 contraintes pour restreindre les mouvements
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 ?
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 ?
Re: Assembly3 contraintes pour restreindre les mouvements
Pour l'instant, c'est le fonctionnement d'une animation, entre 2 bornes définies.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°.
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
-
- Posts: 14
- Joined: Sun Jan 29, 2023 1:23 pm
Re: Assembly3 contraintes pour restreindre les mouvements
Merci jpg87, c'est justement une des rare parties de ton site que je n'ai pas encore étudié !
-
- Posts: 14
- Joined: Sun Jan 29, 2023 1:23 pm
Re: Assembly3 contraintes pour restreindre les mouvements
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
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