coyotte Posté(e) le 21 août 2012 Posté(e) le 21 août 2012 Bonjour, ma question va semblée évidente pour beaucoup :) Comment connaitre la direction de l'axe des Y par rapport à l'axe des X. Va t'il vers des valeurs positives ou bien négatives ? Merci d'avance de vos réponses. http://www.carpetdiem.netPlugins pour AutoCAD
Maxence DELANNOY Posté(e) le 21 août 2012 Posté(e) le 21 août 2012 Ouch, tu peux reformuler stp ? 1er point à savoir, c'est qu'AutoCAD utilise un repère direct (règle de la main droite) : http://fr.wikipedia.org/wiki/R%C3%A8gle_de_la_main_droite L'axe X correspond au pouce de ta main droite, l'index à l'axe Y et le Z correspond à ton majeur. Maxence DELANNOYDéveloppement de compléments aux logiciels Autodesk : AutoCAD, Revit, Inventor, Vault, Navisworks... et autres logiciels de CAOWIIP - http://wiip.fr
coyotte Posté(e) le 21 août 2012 Auteur Posté(e) le 21 août 2012 Bonjour Maxence, je me doutais bien que cela n'allait pas être clair :(rires forts): Donc je m'explique : En SCU général, l'axe des X va de la gauche vers la droite. L'axe des Y va du bas vers le haut. Si je modifie mon SCU je peux parfaitement faire en sorte que L'axe des X aille toujours de la gauche vers la droite, mais que mon axe des Y aille du haut vers le bas. Commet savoir que la direction des Y a changée ? Merci. http://www.carpetdiem.netPlugins pour AutoCAD
(gile) Posté(e) le 21 août 2012 Posté(e) le 21 août 2012 Salut Un SCU correspond à un repère orthonormé soit une origine et 3 axes déterminés par 3 vecteurs de norme 1.0 et perpendiculaires entre eux. Comme le dit dit Maxence le repère est direct, ce qui définit le sens des vecteurs entre eux. L'axe Y est donc toujours perpendiculaire à l'axe X et le sens de rotation entre les axes X et Y est le sens trigonométrique (antihoraire), mais, en 3 dimensions, on ne peut parler de sens de rotation que s'il existe un vecteur de référence. Pour le sens de rotation entre X et Y, ce vecteur est le vecteur directeur de l'axe Z qui est toujours. En bref, on ne peut déterminer un axe Y en fonction d'un axe Z qu'en faisant intervenir l'axe Z, plus généralement, dans un repère orthonormé, on ne peut définir un axe qu'à partir des deux autres*. Le produit vectoriel (cross product) de deux vecteurs retourne le vecteur perpendiculaire à ces deux vecteurs. Ce n'est pas une opération commutative le sens du vecteur retourné dépend donc de l'ordre des arguments : Vector3d.XAxis.CrossProduct(Vector3d.YAxis) retourne Vector3d.ZAxisVector3d.YAxis.CrossProduct(Vector3d.ZAxis) retourne Vector3d.XAxisVector3d.ZAxis.CrossProduct(Vector3d.XAxis) retourne Vector3d.YAxis Si tu ne travailles qu'en 3d l'axe Z sera toujours Vector3d.ZAxis. PS : un sujet sur l'utilisation des vecteurs en LISP. La théorie reste vraie quelque soit le langage et la classe Geometry.Vector3d fournit des méthodes prédéfinies qu'il faut implémenter en LISP. * Dans certains cas, le Système de Coordonnées Object (OCS ou ECS) de certaines entités 2d (bloc, texte, polyligne, etc.) est déterminé uniquement à partir du vecteur normal (direction d'extrusion) de l'entité. Pour ce faire AutoCAD utilise un "Algorithme d'axe arbitraire". Le vecteur normal de l'entité definit le vecteur Z du SCO, son origine est toujours Point3d.Origin (0.0, 0.0, 0.0). Rest à définir les vecteurs X et Y. Si le vecteur normal est très proche de l'axe Z du SCC (précisément si ses coordonnées X et Y sont toutes les deux inférieures à 1/64), l'axe X est définit par le produit vectoriel de Vector3d.YAxis et du vecteur normal de l'entité, sinon l'axe X est le résultat du produit vectoriel de Vector3d.ZAxis et du vecteur normal de l'entité. Le vecteur Y est ensuite calculé avec le produit vectoriel du vecteur normal de l'entité par le vecteur X précédemment calculé. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Maxence DELANNOY Posté(e) le 21 août 2012 Posté(e) le 21 août 2012 Si tu fais le produit vectoriel de ton vecteur X par ton vecteur Y, la composante en Z du vecteur résultat est positive si Y est vers le "haut", et négatif si le Y est vers le "bas". Maxence DELANNOYDéveloppement de compléments aux logiciels Autodesk : AutoCAD, Revit, Inventor, Vault, Navisworks... et autres logiciels de CAOWIIP - http://wiip.fr
coyotte Posté(e) le 21 août 2012 Auteur Posté(e) le 21 août 2012 Merci de vos réponses. J'ai fait ceci. ed.CurrentUserCoordinateSystem.CoordinateSystem3d.Xaxis.CrossProduct(ed.CurrentUserCoordinateSystem.CoordinateSystem3d.Yaxis).Z Est que cela vous parait correct. J'ai bien une valeur posite dans un cas et négative dans l'autre. http://www.carpetdiem.netPlugins pour AutoCAD
Invité Patrick Posté(e) le 21 août 2012 Posté(e) le 21 août 2012 Ouch, tu peux reformuler stp ? 1er point à savoir, c'est qu'AutoCAD utilise un repère direct (règle de la main droite) : http://fr.wikipedia...._la_main_droite L'axe X correspond au pouce de ta main droite, l'index à l'axe Y et le Z correspond à ton majeur. Tout à fait et pour tester cela il suffit de ramener sa main droite le plus possible derrière son dos (sans toutefois se démonter l'épaule), on s'aperçoit que l'axe X reste comme il est (il va vers votre droite), et que l'axe Y qui pointait vers "le haut" pointe maintenant vers "le bas".J'adore ces manipulations du type "la géométrie pour les nuls"; la géométrie est une belle chose et qui plus est qui permet de maintenir son corps souple.
(gile) Posté(e) le 21 août 2012 Posté(e) le 21 août 2012 Merci de vos réponses. J'ai fait ceci. ed.CurrentUserCoordinateSystem.CoordinateSystem3d.Xaxis.CrossProduct(ed.CurrentUserCoordinateSystem.CoordinateSystem3d.Yaxis).Z Est que cela vous parait correct. J'ai bien une valeur posite dans un cas et négative dans l'autre. Je ne sais pas très bien à quoi tu veux utiliser cette expression, mais elle retourne la coordonnée Z du vecteur résultat du produit vectoriel des vecteurs X et Y du SCU, plus simplement dit la coordonnée Z du Vecteur Z du SCU. Tu auras le même résultat plus directement avec :ed.CurrentUserCoordinateSystem.CoordinateSystem3d.Zaxis.Z Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
coyotte Posté(e) le 21 août 2012 Auteur Posté(e) le 21 août 2012 Merci bien Gile, je me demande parfois comment on peux aller chercher quelque chose d'archi compliqué alors que la solution est on ne peux plus simple :(rires forts): http://www.carpetdiem.netPlugins pour AutoCAD
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant