lecrabe Posté(e) le 10 janvier 2017 Posté(e) le 10 janvier 2017 Hello J'etais persuade d'avoir la bonne routine MAIS a priori je ne l'ai pas ! Donc dans l'onglet Objet ou dans une Fenetre / FMULT des Presentations ... - Selection AutoCAD classique, on ne retient que les TEXTs / MTEXTs - Rotation des TEXTs / MTEXTs (depuis le point d'insertion de chaque TEXT/MTEXT) afin qu'ils soient a l'horizontale par rapport au point de vue 3D courant ... ****** Autre solution possible ******Question: si j'utilise le Mode ANNOTATIF et l'option "Faire correspondre l'orientation du texte a la Presentation / Match orientation to Layout" !! MAIS qu'en fait je ne fais pas d'ANNOTATIF (Hauteur du Style = ZERO et Echelle Annotative = 1:1) , est ce jouable ?? Merci d'avance, Bonne Annee et LA SANTE, Bye, lecrabe Autodesk Expert Elite Team
(gile) Posté(e) le 10 janvier 2017 Posté(e) le 10 janvier 2017 Salut, (defun c:AlignToView (/ vd ss i txt pos) (setq vd (trans '(0 0 1) 2 0 T)) (if (setq ss (ssget '((0 . "*TEXT")))) (repeat (setq i (sslength ss)) (setq txt (ssname ss (setq i (1- i))) pos (getpropertyvalue txt "Position") ) (setpropertyvalue txt "Normal" vd) (setpropertyvalue txt "Rotation" 0) (setpropertyvalue txt "Position" pos) ) ) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
zebulon_ Posté(e) le 10 janvier 2017 Posté(e) le 10 janvier 2017 Bonsoir,j'ai essayé de faire quelque chose qui intègre les cotes, les textes, les mtexts et les mleaders (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) ) Selon le type d'objet, il faut mettre la propriété "rotation" soit à 0, soit à l'angle donné par viewtwist AmicalementVincent 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)
lecrabe Posté(e) le 10 janvier 2017 Auteur Posté(e) le 10 janvier 2017 Hello MERCI les Pros 1) J'ai teste (sous AutoCAD MAP 2017 x64) la routine de Gilles: PARFAIT ! Il me suffit de multiplier (copier) les textes (sur de multiples calques) suivant les Points de vue et d'utiliser "subtilement" la routine de Gilles ... 2) Je n'ai pas encore teste la routine de zebulon_ mais ...DESOLE il ne se passe rien sur mes TEXTs / MTEXTs alors que la routine de Gilles est OK ! Bien entendu je suis dans le SCG et les Tests ont ete realises dans l'OBJET et dans une Presentation ... Aucun msg d'erreur ... Pourtant j'ai des valeurs non nuls sur : (getvar "VIEWTWIST") 3) SVP quel serait l'inconvenient d'utiliser la propriete de rotation automatique du Mode ANNOTATIF comme je l'expliquais dans mon sujet ??? Bye, lecrabe Autodesk Expert Elite Team
lecrabe Posté(e) le 10 janvier 2017 Auteur Posté(e) le 10 janvier 2017 Hello 1) Tous les tests ont ete realises (avec des Textes "simples") sous AutoCAD MAP 2017 x64 et dans le SCG ! 2) Tiens maintenant avec la routine de Gilles , j'ai le probleme suvant : Commande: ALIGNTOVIEWSélectionner des objets: Spécifiez le coin opposé: 8 trouvé(s)Sélectionner des objets: Erreur: Demande ADS erronéeImpossible d'appeler (command) à partir de *error* sans appeler préalablement (*push-error-using-command*).Il est recommandé de convertir les appels (command) en (command-s).Commande: CURIEUX car ZERO utilisation de "command" !? 2) Je sors complet d'AutoCAD MAP 2017, je relance ET CA MARCHE ! Bye, lecrabe *** PS1: Tests refais avec un "simple" AutoCAD 2015 x64 et la routine de Gilles est toujours OK et malheureusement pour celle de zebulon_ , rien ne se passe ! *** PS2: AH AH PROBLEME avec les MTEXTs (avec la routine de Gilles) car la propriete de rotation ne semble pas la meme que pour les Textes SIMPLES !? ... Traitement DIFFERENT pour les entites MTEXT ?? ---> ; erreur: Demande ADS erronée Je sens bien un truc lie a ce sujet :http://cadxp.com/topic/43478-rotation-texte-et-mtext/page__pid__248938#entry248938 Autodesk Expert Elite Team
zebulon_ Posté(e) le 11 janvier 2017 Posté(e) le 11 janvier 2017 Bonjour, sans doute parce que je n'utilise que dans un cas particulierhttps://www.dropbox.com/s/gp2xgnrbzpt8c4s/avant.JPG?dl=0https://www.dropbox.com/s/mnlbdeiiqeehaja/apres.JPG?dl=0 amicalementVincent 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)
(gile) Posté(e) le 11 janvier 2017 Posté(e) le 11 janvier 2017 Salut, je suis allé un peu vite en besogne... Les textes multiligne provoquent en effet une erreur mais c'est à cause de la propriété "Position". Une nouvelle version qui semble fonctionner avec les textes simples et textes multilignes quels que soient la justification, le SCU courant, etc. (defun c:AlignToView (/ vd ss i txt elst pos) (setq vd (trans '(0 0 1) 2 0 T)) (if (setq ss (ssget '((0 . "TEXT,MTEXT")))) (repeat (setq i (sslength ss)) (setq txt (ssname ss (setq i (1- i)))) (setpropertyvalue txt "Normal" vd) (if (= (cdr (assoc 0 (entget txt))) "MTEXT") (setpropertyvalue txt "Rotation" (- (angle '(0 0 0) (getvar 'ucsxdir)))) (if (= 0 (getpropertyValue txt "Justify")) (progn (setq pos (getpropertyvalue txt "Position")) (setpropertyvalue txt "Rotation" 0) (setpropertyvalue txt "Position" pos) ) (progn (setq pos (getpropertyvalue txt "AlignmentPoint")) (setpropertyvalue txt "Rotation" 0) (setpropertyvalue txt "AlignmentPoint" pos) ) ) ) ) ) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure 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