Aller au contenu

Rotation de texte dans xref


kalis03

Messages recommandés

Bonjour,

 

Je voudrais savoir quelles solutions sont possibles pour pouvoir faire une rotation des textes dans un xref.

Pour expliquer simplement je dois effectuer les plans de sécurité de mon établissement, pour chaque bâtiment existant plusieurs orientations en fonction de l'endroit où se trouve le plan de sécurité.

Je voudrais conserver mes plans en xref pour qu'ils soient tout le temps à jour car nous avons régulièrement des modifications d'affectation de locaux.

Je n’utilise peut-être pas la bonne méthode alors je suis à l'écoute de toutes les remarques.

 

Merci d'avance pour vos réponses

Lien vers le commentaire
Partager sur d’autres sites

Salut.

 

Alors dit comme ça la seule solution que je vois ce serait de créer quatre fois les textes, de les mettre dans des calques différent (orientation Nord, orientation Est ex...) et de créer quatre états de calque chacun n'affichant que les textes d'une seul orientation. C'est faisable, mais lourd à mettre en place et a modifier.

 

Il est peut-être possible d'utiliser des options d'annotation ou des contraintes horizontales, mais je n'ai jamais testé ça dans des x-ref.

Je suis dysorthographique alors lâchez-moi les basques avec ça, je fait déjà de mon mieux.
Membre d'Extinction Rebellion, car pour sauver le monde il n'est jamais trop tard, amour et rage !
Pour écrire un vraie point médian (e·x·e·m·p·l·e) [Alt + 0183] ou ajout d'un raccourci clavier personnalisé (ex. [AltGr + ;])

Utilisateur d'AutoCAD 2021 sous Windows 10

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

Le Mode Annotatif peut eventuellement etre la solution !?

 

Ne pas oublier que dans le Mode Annotatif (si je me souviens bien !?) la rotation automatique (si on a coche cette option dans le style de texte)

se fait toujours par rapport a la justification qui est en fait la justification GAUCHE !

 

---- Aide / Help Autodesk ----

https://knowledge.autodesk.com/fr/support/autocad/learn-explore/caas/CloudHelp/cloudhelp/2021/FRA/AutoCAD-Core/files/GUID-4F448A62-A99E-4AB5-AE50-9EAAC0485283-htm.html

 

---- Un Tuto sur le Mode Annotatif ----

https://docplayer.fr/11432296-Les-objets-annotatifs.html

 

---- Video/Tuto sur le Mode Annotatif ----

 

Mais au fait tu auras besoin de combien d'orientation de tes TEXTs / MTEXTs sur tes plans de Batiments

Car si "pas beaucoup" la solution de Aleck serait "A Etudier" !?

Surtout avec une routine Lisp qui copieraient les TEXTs / MTEXTs selectionnes sur N calques suivant les N rotations necessaires !

 

 

LA SANTE, Bye, lecrabe

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

J'avais pensé à ta solution Aleck mais j'avoue que j’espérai trouver quelque-chose de moins contraignant et ne pas alourdir nos plans qui possèdent déjà de nombreux calques.

 

Pour répondre à lecrabe j'ai au minimum 2 rotations par bâtiment, ça c'est quand ça va bien et que j arrive à négocier avec les agents de sécu sur l'emplacement du plan, mais en règle général je suis plus sur 3 ou 4 rotations.

 

Peux tu m'en dire plus sur le mode annotatif lecrabe et comment procéder car j'avoue ne jamais utiliser ce mode . j ai oublié de préciser que tous mes textes sont des blocs avec attributs.

Lien vers le commentaire
Partager sur d’autres sites

hello

l'annotativité ne te sera d'aucune utilité

la suele solution que je vois c'est lorsque tu es dans ta fenètre de taire une sélection de tous tes élements à tourner (avec un peu de chance ils auront tous le même angle initial), changer l'angle de ces éléements en fontion de ta vue et imprimer

2 problèmes :

- si tous tes textes/blocs n'ont aps initalement le même angle ça va être plus compliqué à mettre en oeuvre (il faudrait faire ça part type do'bjet, voir par nom deblocs!!)

- si t'as a certains éléments qui sont visibles sur plusieurs présentations à la fois... dans ce cas tu serais obligé de tourner les éléments dans chaque fenètre avant impression.... c'est un peu galère....

Phil

EDIT : j'avais pas vu que le ficheir était en Xref... du coup je botte en touche!! :)

Projeteur Revit Indépendant - traitement des eaux/CVC

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

YES je suis OK avec avec le Vil Lyonnais Mr philsogood !

 

Tu trouveras ci-joint 2 routines que j'utilise souvent sur les Blocs et TEXTs / MTEXTs

 

BROT__BECH et TXROT__TXECH

 

Rotation des Blocs (BROT) et TEXTs/MTEXTs (TXROT) relativement a leur Rotation d Origine ...

 

Echelle des Blocs (BECH) et TEXTs/MTEXTs (TXECH) relativement a leur Echelle d Origine ...

 

LA SANTE, Bye, lecrabe "stephanois"

 

;;
;; Routines :  BROT  &  BECH  (BSCALE) 
;;
;; Echelle de N Bloc(s) d'une valeur donnee (xx.xx)
;; par rapport a leur point d'insertion par GC pour Patrice B.
;; Commande au clavier :  BECH 
;;
;; Rotation de N Bloc(s) d'un angle donne (+/- xx.xx)
;; par rapport a leur point d'insertion par GC pour Patrice B.
;; Commande au clavier :  BROT 
;;


;; (defun c:bscale	(/ *error* doc scl ss)
(defun c:bech   	(/ *error* doc scl ss)

(vl-load-com)

 (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
 (defun *error* (msg)
   (or	(= msg "Fonction annulée")
(princ (strcat "Erreur: " msg))
   )
   (vla-EndUndoMark doc)
   (princ)
 )
 (if
   (and
     (setq scl (getreal "\nFacteur d'échelle: "))
     (ssget '((0 . "INSERT")))
   )
    (progn
      (vla-StartUndoMark doc)
      (vlax-for o (setq ss (vla-get-ActiveSelectionSet doc))
 (foreach p '(XScaleFactor YScaleFactor ZScaleFactor)
   (vl-catch-all-apply
     '(lambda ()
	(vlax-put-property o p (* scl (vlax-get-property o p)))
      )
   )
 )
      )
      (vla-delete ss)
      (vla-EndUndoMark doc)
    )
 )
 (princ)
)


(defun c:brot	(/ *error* doc rot ss) 

(vl-load-com)

 (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
 (defun *error* (msg)
   (or	(= msg "Fonction annulée")
(princ (strcat "Erreur: " msg))
   )
   (vla-EndUndoMark doc)
   (princ)
 )
 (if
   (and
     (setq rot (getorient "\nRotation: "))
     (ssget '((0 . "INSERT")))
   )
    (progn
      (vla-StartUndoMark doc)
      (vlax-for o (setq ss (vla-get-ActiveSelectionSet doc))
 (vl-catch-all-apply
     '(lambda ()
	(vla-put-Rotation o (+ rot (vla-get-Rotation o)))
      )
   )
      )
      (vla-delete ss)
      (vla-EndUndoMark doc)
    )
 )
 (princ)
)

 


;; 
;; Il te faut sans doute une routine Lisp/VLisp qui a ete diffusee ici (si je me souviens bien !?) 
;; et qui permet de faire une Rotation relative des Textes/MTextes par rapport a leur point d'Insertion 
;; 
;; Routine: ROTEXT vs 1.00 par Bryce pour Patrice B. ---> TXROT
;; 
;; Rotation RELATIVE des Textes / MTextes par rapport au point d'origine 
;; Echelle  RELATIVE des Textes / MTextes par rapport au point d'origine 
;; 

(vl-load-com) 

(defun C:TXROT ( / ss ass rot ) 
 (if (setq ss (ssget "_:L" '((0 . "TEXT,MTEXT")))) 
   (progn 
     (setq ass (vla-get-ActiveSelectionSet (vla-get-ActiveDocument (vlax-get-acad-object))) 
           ss nil 
           rot (getangle "\nAngle de Rotation: ") 
     ) 
     (vlax-for text ass 
       (vla-put-Rotation text (+ rot (vla-get-Rotation text))) 
     ) 
     (vla-delete ass) 
   ) ; progn 
 ) ; if ss 
 (princ) 
) 




;; 
;; Il te faut sans doute une routine Lisp/VLisp qui a ete diffusee ici (si je me souviens bien !?) 
;; et qui permet de faire une Rotation/Echelle relative des Textes/MTextes par rapport a leur point d'Insertion 
;; 
;; Routine: ROTEXT vs 1.00 par Bryce pour Patrice B. ---> TXECH (Micro Modif par PB) 
;; 
;; Rotation RELATIVE des Textes / MTextes par rapport au point d'origine 
;; Echelle  RELATIVE des Textes / MTextes par rapport au point d'origine 
;; 

(vl-load-com) 

(defun C:TXECH ( / ss ass rot ) 
 (if (setq ss (ssget "_:L" '((0 . "TEXT,MTEXT"))))
   (progn
     (setq ass (vla-get-ActiveSelectionSet (vla-get-ActiveDocument (vlax-get-acad-object)))
           ss nil 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
              rot (getreal  "\nFacteur d'Echelle (Positif SVP): ") 
;;;            rot (getangle "\nAngle de rotation: ") 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 

     )
     (vlax-for text ass 

;;;;;;;;;;;;;;;;;;;  Rotation --> Height  ;;;;;;;;;;;;;;;;;;;;;;;;;; 
          (vla-put-Height   text (* rot (vla-get-Height    text)))
;;;        (vla-put-Rotation text (+ rot (vla-get-Rotation text))) 

     )
     (vla-delete ass)
   ) ; progn
 ) ; if ss
 (princ)
) 

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

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é