Bapt Posté(e) le 19 décembre 2016 Posté(e) le 19 décembre 2016 Bonjour, Est-il possible d'avoir les coordonnées de l'espace objet dans une présentation. Dans mon espace objet j'ai un plan de zone et j'aimerais que lorsque je déplace la vue sur la présentation, qu'un champs m'affiche les coordonnées de l'espace objet. Le centre de la vue serai le point des coordonnées à afficher. Merci d'avance pour vos réponses !
didier Posté(e) le 19 décembre 2016 Posté(e) le 19 décembre 2016 Coucou première question : la réponse est OUIdeuxième question : la réponse est : repose la question plus clairement amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
lecrabe Posté(e) le 19 décembre 2016 Posté(e) le 19 décembre 2016 Hello Didier J'adore tes réponses ! Bonnes Fetes et surtout LA SANTE, Bye, lecrabe Autodesk Expert Elite Team
Tramber Posté(e) le 19 décembre 2016 Posté(e) le 19 décembre 2016 Pour moi la réponse est plutôt non :P Du moins impossible avec les champs (qui donne le centre de la fenêtre dans l'EP mais sans lien avec l'EO) donc difficile car nécessitant d'utiliser les réacteurs, entre autres. ;) Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Bapt Posté(e) le 20 décembre 2016 Auteur Posté(e) le 20 décembre 2016 Merci pour vos réponses. deuxième question : la réponse est : repose la question plus clairement Je n'arrives pas à joindre de fichier pour rendre l'explication plus facile ... donc en gros il faudrait afficher les coordonnées de l'espace objet dans la présentation. Le centre de ma présentation serai "le viseur" des coordonnées de mon espace objet. Je sais pas si c'est tellement plus claire :D Salutations
(gile) Posté(e) le 20 décembre 2016 Posté(e) le 20 décembre 2016 Salut, Comme un champ dit "dynamique" ne se met à jour qu'après une intervention de l'utilisateur, une solution sans réacteurs devrait être acceptable.Le LISP suivant (améliorable) affiche le centre de la vue de la fenêtre sélectionnée. (defun c:centrevue () (trans (cdr (assoc 12 (entget (car (entsel "\nSélectionnez une fenêtre: "))))) 2 0) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Bapt Posté(e) le 20 décembre 2016 Auteur Posté(e) le 20 décembre 2016 Salut, Merci pour ta réponse. Je ne maitrises pas vraiment le LISP mais pourrais-tu me dire si c'est possible de sélectionner l'espace objet plutôt qu'une fenêtre de présentation ?
(gile) Posté(e) le 20 décembre 2016 Posté(e) le 20 décembre 2016 pourrais-tu me dire si c'est possible de sélectionner l'espace objet plutôt qu'une fenêtre de présentation ? :blink: ???Je ne sais pas "sélectionner l'espace objet" et, dans tous les cas, ces coordonnées sont celles du centre d'une fenêtre flottante, il est donc indispensable de savoir de quelle fenêtre il s'agit. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Tramber Posté(e) le 20 décembre 2016 Posté(e) le 20 décembre 2016 (defun c:centrevue () (trans (cdr (assoc 12 (entget (car (entsel "\nSélectionnez une fenêtre: "))))) 2 0) )Ah bah oui ! TRANS fait le lien, je n'y avais pas pensé !?J'ai quand-même du mal à trouver un résultat cohérent sur mon dessin, là Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Bapt Posté(e) le 20 décembre 2016 Auteur Posté(e) le 20 décembre 2016 Je vais essayer de reformuler depuis le début. Dans les propriétés de l'espace objet, j'ai dans Vue : Centre XCentre YCentre ZHauteurLargeur Lorsque je déplace ma vue ces valeurs changent (normale). Je retrouve ces valeurs dans ma présentation lorsque je clique sur Objet. Si je viens déplacer la vue dans la présentation les coordonnées du centre de ma vue changent. Jusque là tout va bien. Serait-il possible d'extraire la valeurs des coordonnées du centre de ma vue (objet et non papier) pour pouvoir la faire apparaître dans mon cartouche par exemple ? Je sais que cela n'est pas très claire mais je ne vois pas comment mieux le formuler... Merci pour prendre le temps de répondre Salutation
Tramber Posté(e) le 20 décembre 2016 Posté(e) le 20 décembre 2016 Moi j'ai super bien compris depuis le début * ;) Mais je n'ai pas de solution autre qu'en lisp. Je n'aurais pas trouvé aussi court que celui de (gile) mais je ne parviens toutefois pas à le faire fonctionner. B) *Je sais bien faire l'inverse, Zoom Centre en spécifiant les coordonnées avant de quitter la fenêtre. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Bapt Posté(e) le 20 décembre 2016 Auteur Posté(e) le 20 décembre 2016 Je vais alors attendre de voire si (gile) a une solution. Je n'arrives pas non plus à faire fonctionner le lisp.
(gile) Posté(e) le 20 décembre 2016 Posté(e) le 20 décembre 2016 Je n'arrives pas non plus à faire fonctionner le lisp. Le LISP ne fait que retourner le résultat (les coordonnées SCG du centre de la fenêtre) qui s'affiche sur la ligne de commande. Celui-ci ne demande pas de sélectionner de fenêtre mais ne fonctionne que s'il n'y en a qu'une. Il crée un texte avec les coordonnées SCG au centre de la fenêtre. (defun c:toto (/ ss i vp el cv pt) (if (= (getvar 'tilemode) 1) (prompt "\nCommande non autorisée en espace objet.") (if (setq ss (ssget "_X" (list (cons 0 "VIEWPORT") (cons 410 (getvar 'ctab))))) (if (< 2 (sslength ss)) (prompt "\nIl y a plus d'une fenêtre dans la présentation.") (progn (setq i 0) (while (and (setq vp (ssname ss i)) (not cv)) (if (/= (cdr (assoc 69 (setq el (entget vp)))) 1) (setq cv (cdr (assoc 12 el))) (setq i (1+ i)) ) ) (if cv (progn (if (= (getvar 'cvport) 1) (command "_.mspace") ) (setq pt (trans cv 2 0)) (command "_.pspace") (command "_.text" "_non" (trans cv 2 3) "" "" (strcat (rtos (car pt)) ", " (rtos (cadr pt))) ) ) ) ) ) (prompt "\nAucune fenêtre dans la présentation") ) ) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Tramber Posté(e) le 20 décembre 2016 Posté(e) le 20 décembre 2016 Quand je dis que je n'arrive pas à le faire fonctionner c'est juste que chez moi les coordonnées renvoyées ne sont pas les bonnes ! Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Bapt Posté(e) le 21 décembre 2016 Auteur Posté(e) le 21 décembre 2016 Merci beaucoup (gile) ! Je vais essayer de décortiquer ton code pour l'adapter à mon dessin. Quand je dis que je n'arrive pas à le faire fonctionner c'est juste que chez moi les coordonnées renvoyées ne sont pas les bonnes ! Idem pour moi. Salutations
Bapt Posté(e) le 21 décembre 2016 Auteur Posté(e) le 21 décembre 2016 Je suis un peut pénible mais bon ... :unsure: Serait-il possible de donner les coordonnées d'insertion du texte plutôt que le centre de la vue ? J'ai essayé 2-3 trucs mais je suis trop novice en LISP. :blink:
(gile) Posté(e) le 22 décembre 2016 Posté(e) le 22 décembre 2016 Je suis un peut pénible mais bon ... :unsure: Serait-il possible de donner les coordonnées d'insertion du texte plutôt que le centre de la vue ? J'ai essayé 2-3 trucs mais je suis trop novice en LISP. :blink: Là je ne comprends plus... Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Bapt Posté(e) le 22 décembre 2016 Auteur Posté(e) le 22 décembre 2016 C'est bon j'ai trouvé la solution Le texte à afficher est le bon mais c'est juste que je voulais contrôler le point d'insertion (par ex. dans mon cartouche ) au lieux du milieux de la feuille. (setq pt (trans cv 2 0)) (command "_.pspace") (command "_.text" '(50 10) "" "" (strcat (rtos (car pt)) ", " (rtos (cadr pt))) ;;(strcat (rtos (car pt)) ", " (rtos (cadr pt))) Merci beaucoup !
(gile) Posté(e) le 22 décembre 2016 Posté(e) le 22 décembre 2016 OK, C'est bien que tu y soit arrivé tout seul.Tu peux aussi mettre : pause pour passer la main à l'utilisateur pour spécifier le point d'insertion. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Bapt Posté(e) le 22 décembre 2016 Auteur Posté(e) le 22 décembre 2016 J'ai remarqué qu'il faut juste faire attention au style de texte courant. J'avais un soucis avec l'utilisation de ce LISP sur un dessin déjà crée. Le style de texte courant était sur "ANNOTATIONS". Il ne reconnaissait pas le texte à afficher : Entrez le texte:Commande: -1318.199, -312.195 Commande inconnue "199, -312.195". Appuyez sur F1 pour obtenir de l'aide. En passant le style de texte courant sur "STANDARD", le problème à disparu. Si ça peut aider d'autres personnes. Salutations !
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