[AutoCAD] Challenge sur bloc dynamique avec rotation

[AutoCAD] Challenge sur bloc dynamique avec rotation

O_Eckmann
Mentor Mentor
775 Visites
6 Réponses
Message 1 sur 7

[AutoCAD] Challenge sur bloc dynamique avec rotation

O_Eckmann
Mentor
Mentor

Bonjour,

 

Un petit "challenge" pour comprendre les valeurs d'angle du paramètre de rotation dans les blocs dynamiques.

J'ai fait un petit screencast (mettre le son) de mon questionnement.

Ce n'est pas compliqué, mais je suis tombé dessus par hasard en développant un programme pour repositionner/rotationner un morceau d'un bloc dynamique sur un objet existant.

 

Olivier

Olivier Eckmann

EESignature

0 J'aime
776 Visites
6 Réponses
Replies (6)
Message 2 sur 7

_gile
Consultant
Consultant

Salut,

Je pense avoir trouvé mais je vais attende pour donner ma réponse au cas où d'autres voudraient relever le challenge.



Gilles Chanteau
Programmation AutoCAD LISP/.NET
GileCAD
GitHub

Message 3 sur 7

Caderix
Mentor
Mentor

Bonjour, 

 

Je pense aussi avoir trouvé et je pense aussi savoir comment contourner le problème. Remarquez qu'il y a beaucoup de "je pense" et peu de certitudes 😁


Cordialement

Eric GUELEN
Formateur AutoCAD
Site Internet

EESignature

0 J'aime
Message 4 sur 7

-didier-
Advisor
Advisor

Bonjour

 

Je viens de rentrer dans le club de ceux qui pensent avoir trouvé

Entre gens de bonne compagnie on se fait confiance.

 

Amicalement

Éternel débutant.. my site for learning : Programmer dans AutoCAD

DA

EESignature

Message 5 sur 7

O_Eckmann
Mentor
Mentor

Bonjour,

 

Merci à vous 3 pour les réponses et le temps pris pour la réflexion.

Voilà ce que j'ai compris.

Lorsque l'on insère le bloc sans modification, on obtient le point de rotation (grip rond) et dans mon cas le centre de rotation (grip carré cyan).

image.png

L'angle de rotation est ici de 0 puisque le centre de rotation correspond au grip carré cyan qui est le point de base du texte.

Lorsque l'on déplace le texte, il faut garder en mémoire le grip rond d'origine, car le nouvel angle se mesure entre le grip actuel et le grip original, par rapport au nouveau centre de rotation

image.png

Il faut bien sûr combiner cela avec la rotation du bloc si nécessaire. 

A priori, un facteur d'échelle non unitaire ne change pas la valeur de l'angle (par rapport au même bloc original lui aussi à la même échelle non unitaire), donc autant raisonner avec l'échelle à 1.

image.png

Les échelles non identiques en X, Y et Z se traduisent par la suppression du dynamisme du bloc, donc je ne sais pas si ça se gère.

Dans mon cas (dev du plug-in) le bloc était toujours à l'échelle 1 (avec mise à l'échelle uniforme) donc version simplifiée.

 

Si vous avez d'autres remarques ou trouver d'autres explications, elles sont les bienvenues.

 

Olivier

 

Olivier Eckmann

EESignature

Message 6 sur 7

Caderix
Mentor
Mentor

Bonjour, 

 

C'est facile à dire après, mais c'est bien ce que j'avais compris aussi. Je n'étais pas allé aussi loin avec des échelles différentes, mais bon.

 

Pour contourner le problème, il faut remplacer une action d'étirement par une action de déplacement.


Cordialement

Eric GUELEN
Formateur AutoCAD
Site Internet

EESignature

Message 7 sur 7

Kevin_Megel
Mentor
Mentor

Pourquoi avoir utilisé un étirement ici, plutôt qu'un déplacement ? Pour moi le déplacement me paraissais plus naturel !

Kevin Megel
Ce post vous a été utile ? N'hésitez pas à aimer ce post.
Ce post a-t-il répondu à votre question ? Cliquez sur le bouton Accepter la solution.

EESignature

Je suis un simple utilisateur, je ne travaille pas pour Autodesk

0 J'aime