kalis03 Posté(e) le 3 février 2021 Partager Posté(e) le 3 février 2021 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 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Aleck_Ultimate Posté(e) le 3 février 2021 Partager Posté(e) le 3 février 2021 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. Citer 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 More sharing options...
lecrabe Posté(e) le 3 février 2021 Partager Posté(e) le 3 février 2021 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 Citer Autodesk Expert Elite Team Lien vers le commentaire Partager sur d’autres sites More sharing options...
kalis03 Posté(e) le 3 février 2021 Auteur Partager Posté(e) le 3 février 2021 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. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
philsogood Posté(e) le 4 février 2021 Partager Posté(e) le 4 février 2021 hellol'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 imprimer2 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.... PhilEDIT : j'avais pas vu que le ficheir était en Xref... du coup je botte en touche!! :) Citer Projeteur Revit Indépendant - traitement des eaux/CVC Lien vers le commentaire Partager sur d’autres sites More sharing options...
lecrabe Posté(e) le 4 février 2021 Partager Posté(e) le 4 février 2021 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) ) Citer Autodesk Expert Elite Team Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés