Aller au contenu

Rotation cotation


Messages recommandés

Posté(e)

Bonjour,

 

je suis dans un scu quelconque et je fais une cotation linéaire ou alignée. J'applique une rotation avec copie de 180° à mon dessin, pour faire la façade opposée par exemple, et je tourne mon scu de 180°. Les nouvelles cotes auront la tête vers le bas.

 

Quand on agit sur la propriété "rotation du texte" on peut arriver à rétablir les choses mais c'est pas génial. En regardant de plus près, on voit qu'il y a aussi une propriété "rotation", mais que je n'arrive pas à trouver dans la fenêtre des propriétés.

 

; OwnerID32 (RO) = 44

; PlotStyleName = "ByLayer"

; PrimaryUnitsPrecision = 0

; Rotation = 2.71988

; RoundDistance = 0.0

; ScaleFactor = 50.0

 

on récupère la valeur "rotation" avec (setq rot (vla-get-rotation e)), on lui rajoute la valeur pi et on réinjecte cette valeur avec (vla-put-rotation e (+ rot pi))

 

et là c'est beaucoup mieux. On peut pas faire autrement qu'avec lisp pour modifier cette propriété ?

 

Merci

Amicalement

Vincent

C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme)

C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)

Posté(e) (modifié)

Bonjour,

 

(vl-load-com)

(defun c:rotdim (/ s ANG)
 (setq ANG (getvar "VIEWTWIST"))
 (if (ssget '((0 . "DIMENSION,MULTILEADER,TEXT,MTEXT")))
   (progn
     (vlax-for o (setq s (vla-get-activeselectionset (vla-get-activedocument (vlax-get-acad-object))))
       (cond
         ((= (vla-get-objectname o) "AcDbMLeader") (vla-put-textrotation o 0))
         ((= (vla-get-objectname o) "AcDbMText") (vla-put-rotation o 0))
         (T (vla-put-rotation o ANG))
       )
     )
     (vla-delete s)
   )
 )
 (princ)
)

 

ce à quoi j'ai abouti : je récupère le "viewtwist" de mon scu et je colle cet angle dans les objets cotations qui ont la tête vers le bas après une rotation, puis le texte se remet proprement dans la bonne position. Cela me semble plus simple que de récupérer l'angle de chaque cote et de rajouter pi.

 

En lisp pur et dur, je pense que j'aurais pu passer un entmod du code dxf 51 qui doit être l'équivalent de la propriété "rotation".

 

Dans ce sujet, on avait parlé de ce problème et la solution proposée par PHILPHIL semble beaucoup plus complexe.

 

Amicalement

Vincent

Modifié par zebulon_

C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme)

C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)

Posté(e)

hello

pas mal ce lisp, un truc à garder sous le coude

manque plus qu'à faire la même chose pour les lignes de repères multiples!! :P

Phil

 

Bonjour,

 

contrairement aux cotes qui gardent "la tête haute" quand on leur applique une rotation et qui, par conséquent, ont la tête vers la bas quand on tourne le scu, les textes de lignes de repères multiples s'orientent selon l'angle de rotation donné par la commande Rotation. Donc, si on applique une rotation de 180° à une ligne de repère multiple, le texte aura la tête vers le bas et si on tourne le scu de 180°, le texte sera dans le bon sens.

J'en conclue que le problème est beaucoup moins criant avec ces objets. Cependant, si on fait un miroir au lieu d'une rotation, le texte de repère multiple garde la tête haute aussi. On peut intervenir sur ces objets en modifiant la propriété "TEXTROTATION" qu'il faudra mettre à 0. Cette propriété change de valeur si on change de scu. L'angle 0 c'est celui du scu courant et non du scg. En ce sens, les lignes de repères multiples fonctionnent comme les textes multiples.

 

J'ai rajouté les lignes de repères multiples et les textes au lisp ci-dessus.

 

Amicalement

Vincent

C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme)

C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)

Posté(e)

Pfff!

 

il y en a un qui vient de me dire : "si t'as une côte à l'envers, t'as qu'à aller voir un ostéopathe..." :D

 

C'est une autre solution, en effet, et c'est encore mieux que le lisp si on fait abstraction de l'accent circonflexe sur le o ! Mais il est vrai qu'on voit souvent la confusion entre "côte" et "cote". Pfff... voilà qu'il me parle de poules, maintenant... Il a bouffé un clown ce matin !

 

Amicalement

Vincent

C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme)

C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)

  • 2 ans après...
Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité