CADxp: Afficher les coordonées de l'espace objet dans la présentation - CADxp

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Afficher les coordonées de l'espace objet dans la présentation

#1 L'utilisateur est hors-ligne   Bapt 

  • ceinture orange
  • Groupe : Membres
  • Messages : 21
  • Inscrit(e) : 12-décembre 16

Posté 19 décembre 2016 - 16:34

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 !
0

#2 L'utilisateur est hors-ligne   didier 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 7473
  • Inscrit(e) : 18-décembre 02
  • LocationPlanète : Terre

Posté 19 décembre 2016 - 18:36

Coucou

première question : la réponse est OUI
deuxième question : la réponse est : repose la question plus clairement

amicalement
Éternel débutant ...
Les bases AutoLisp
0

#3 L'utilisateur est en ligne   lecrabe 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 7340
  • Inscrit(e) : 10-décembre 03
  • LocationLoire (42)

Posté 19 décembre 2016 - 19:48

Hello Didier

J'adore tes réponses !

Bonnes Fetes et surtout LA SANTE, Bye, lecrabe
Autodesk Expert Elite Team
0

#4 L'utilisateur est hors-ligne   Tramber 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8306
  • Inscrit(e) : 29-mars 03
  • LocationStrasbourg

Posté 19 décembre 2016 - 22:06

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.
;)
Image IPB

Bureau d'études dessin.
Spécialiste Escaliers
Développement - Formation

./__\.
(.°=°.)
0

#5 L'utilisateur est hors-ligne   Bapt 

  • ceinture orange
  • Groupe : Membres
  • Messages : 21
  • Inscrit(e) : 12-décembre 16

Posté 20 décembre 2016 - 07:43

Merci pour vos réponses.


Citation

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
0

#6 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 10687
  • Inscrit(e) : 02-septembre 05

Posté 20 décembre 2016 - 07:58

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 -
Développements sur mesure pour AutoCAD
Image IPB
0

#7 L'utilisateur est hors-ligne   Bapt 

  • ceinture orange
  • Groupe : Membres
  • Messages : 21
  • Inscrit(e) : 12-décembre 16

Posté 20 décembre 2016 - 08:20

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 ?
0

#8 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 10687
  • Inscrit(e) : 02-septembre 05

Posté 20 décembre 2016 - 08:49

Voir le messageBapt, le 20 décembre 2016 - 08:20 , dit :

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 -
Développements sur mesure pour AutoCAD
Image IPB
0

#9 L'utilisateur est hors-ligne   Tramber 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8306
  • Inscrit(e) : 29-mars 03
  • LocationStrasbourg

Posté 20 décembre 2016 - 09:20

Voir le message(gile), le 20 décembre 2016 - 07:58 , dit :

(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à
Image IPB

Bureau d'études dessin.
Spécialiste Escaliers
Développement - Formation

./__\.
(.°=°.)
0

#10 L'utilisateur est hors-ligne   Bapt 

  • ceinture orange
  • Groupe : Membres
  • Messages : 21
  • Inscrit(e) : 12-décembre 16

Posté 20 décembre 2016 - 09:32

Je vais essayer de reformuler depuis le début.

Dans les propriétés de l'espace objet, j'ai dans Vue :

Centre X
Centre Y
Centre Z
Hauteur
Largeur

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
0

#11 L'utilisateur est hors-ligne   Tramber 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8306
  • Inscrit(e) : 29-mars 03
  • LocationStrasbourg

Posté 20 décembre 2016 - 14:53

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.
Image IPB

Bureau d'études dessin.
Spécialiste Escaliers
Développement - Formation

./__\.
(.°=°.)
0

#12 L'utilisateur est hors-ligne   Bapt 

  • ceinture orange
  • Groupe : Membres
  • Messages : 21
  • Inscrit(e) : 12-décembre 16

Posté 20 décembre 2016 - 15:10

Je vais alors attendre de voire si (gile) a une solution. Je n'arrives pas non plus à faire fonctionner le lisp.
0

#13 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 10687
  • Inscrit(e) : 02-septembre 05

Posté 20 décembre 2016 - 17:49

Citation

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 -
Développements sur mesure pour AutoCAD
Image IPB
0

#14 L'utilisateur est hors-ligne   Tramber 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8306
  • Inscrit(e) : 29-mars 03
  • LocationStrasbourg

Posté 20 décembre 2016 - 21:42

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 !
Image IPB

Bureau d'études dessin.
Spécialiste Escaliers
Développement - Formation

./__\.
(.°=°.)
0

#15 L'utilisateur est hors-ligne   Bapt 

  • ceinture orange
  • Groupe : Membres
  • Messages : 21
  • Inscrit(e) : 12-décembre 16

Posté 21 décembre 2016 - 09:08

Merci beaucoup (gile) !

Je vais essayer de décortiquer ton code pour l'adapter à mon dessin.

Citation

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
0

#16 L'utilisateur est hors-ligne   Bapt 

  • ceinture orange
  • Groupe : Membres
  • Messages : 21
  • Inscrit(e) : 12-décembre 16

Posté 21 décembre 2016 - 14:06

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:
0

#17 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 10687
  • Inscrit(e) : 02-septembre 05

Posté 22 décembre 2016 - 06:56

Voir le messageBapt, le 21 décembre 2016 - 14:06 , dit :

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 -
Développements sur mesure pour AutoCAD
Image IPB
0

#18 L'utilisateur est hors-ligne   Bapt 

  • ceinture orange
  • Groupe : Membres
  • Messages : 21
  • Inscrit(e) : 12-décembre 16

Posté 22 décembre 2016 - 07:07

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 !
0

#19 L'utilisateur est hors-ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 10687
  • Inscrit(e) : 02-septembre 05

Posté 22 décembre 2016 - 08:09

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 -
Développements sur mesure pour AutoCAD
Image IPB
0

#20 L'utilisateur est hors-ligne   Bapt 

  • ceinture orange
  • Groupe : Membres
  • Messages : 21
  • Inscrit(e) : 12-décembre 16

Posté 22 décembre 2016 - 11:45

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 !
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)