Aller au contenu

Synchroniser l\'affichage dans les fenêtres de l\'espace objet ?


Messages recommandés

Posté(e)

Bonjour Forum !

 

Je trouve qu’il manque un truc dans AutoCad (à moins que, comme souvent, ça exisrte déjà…).

Quand on divise l’écran en 2 fenêtres (viewports en anglais) pour mettre en relation 2 parties du dessin, il faudrait qu’une option permette de répercuter, dans la fenêtre de droite, les modifications d’affichage (zoom ou pan) effectuées dans la fenêtre de gauche (et vice versa, et pareil si l’écran est divisé en fenêtres horizontales).

En bref : de synchroniser l’affichage des fenêtres de l'espace objet.

 

Est-ce que ça existe mais je ne le sais pas, ou est-ce que quelqu’un a entendu parler d’un LISP qui fasse ça ?

 

Merci !

 

Posté(e)

Re bonjour,

 

Personelement je ne vois pas trop l'interet, puisque cela est fait pour avoir des vues differentes !?

 

Ou alors je n'ai pas compris la question

 

Sinon oui, c'est faisable en lisp

 

les pro du lisp vont peut etre te donner la soluce, mais le mieux est d'essayer de le faire soit meme en s'inspirant de lisp existant

 

a bientot

Posté(e)

Merci pour ta réponse.

 

L'intérêt, c'est par exemple d'afficher le plan à gauche et la coupe à droite, pour monter la coupe.

 

Si je fais un pan à gauche, j'aimerais que le pan se répercute à droite, si je zoome à gauche, j'aimerais que la fenêtre de droite subisse le même zoom, etc... Un peu comment les volets dans Excel.

Sinon, on passe son temps à resynchroniser les 2 fenêtres.

 

Pour ce qui est de faire ça en LISP, j'en suis bien incapable (je ne sais que bidouiller à partir de LISP existants, qui font presque ce que je veux faire).

 

Posté(e)

Bonjour,

 

Sinon tu utilises les vues (_view en anglais ^^). Why not ? Même si ce n'est pas de la synchronisation en temps réelle. Mais bon.

 

À +.

--Arthur

Posté(e)

C'est vrai que c'est pas bête comme idée... cela se programme en impliquant des réacteurs. Mais gageons que cela sera un peu lourd à gérer pour AutoCAD car le moindre zoom ou pan déclencherait.

 

Alternative : un bouton qui met à jour la position, pas de réacteur, peut-être même faisable en DIESEL pour qui a encore des cheveux à arracher... (suivez mon regard). :cool:

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Salut

 

Un petit lisp sans visual (pour gloub) et sans réacteurs (pour tramber)

 

(defun c:mem()
 (setq sauver_view_ctr (getvar "viewctr")
sauver_view_siz (getvar "viewsize")
 )
 (princ "\nLes valeurs sont sauvegardées.")
 (princ)
)

(defun c:chg(/ mem_cmd new_ctr new_siz old_cvp vie)
 (setq new_ctr (getvar "viewctr")
new_siz (getvar "viewsize")
old_cvp (getvar "cvport")
mem_cmd (getvar "cmdecho")
 )
 (foreach vie (cdr (vports))
   (setvar "cvport" (car vie))
   (command "_.zoom" "_c" (mapcar '+ (mapcar '- new_ctr sauver_view_ctr) (getvar "viewctr")) (* (getvar "viewsize") (/ new_siz sauver_view_siz)))
 )
 (setvar "cvport" old_cvp)
 (setvar "cmdecho" mem_cmd)
 (and mem (c:mem))
 (princ)
)

 

Il suffit de faire un mem pour mémoriser la fenêtre, de faire les zooms, pans, etc... puis, depuis la fenêtre duquel on a lancé mem, il suffit de faire chg

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

Ah oui et ben d'accord !

C'est comme si t'avais écrit un petit script DIESEL pour LT ! A la lecture du code je dirais que c'est possible à condition de ruser pour les CVPORTS ou de cliquer dans la fenêtre avant de lancer chg.

 

Mais, je n'aurais pas voulu sans réacteur, pour te répondre !

Je divise d'ailleurs rarement mes fenêtres...

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)
C'est comme si t'avais écrit un petit script DIESEL pour LT ! A la lecture du code je dirais que c'est possible à condition de ruser pour les CVPORTS ou de cliquer dans la fenêtre avant de lancer chg.

Donc un petit défi pour notre alsacien, grand manitou de la LT ;)

 

Mais, je n'aurais pas voulu sans réacteur, pour te répondre !

Maintenant que le principal est fait, il ne reste plus grand chose pour y ajouter les réacteurs. Mais je te rejoins en ce qui concerne la rapidité d'Autocad, car il risque vite d'être fortement ralentit.

 

Je divise d'ailleurs rarement mes fenêtres...

Idem

 

@+

 

[Edité le 4/8/2010 par Patrick_35]

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

Merci beaucoup pour ton LISP.

 

Cela dit, il ne répond pas totalement à mon rêve de LISP, pour 2 raisons.

 

 

D’une part, quand je divise l’écran, c’est pour mettre en correspondance 2 parties d’un fichier qui, éventuellement ne sont pas dans le même SCU (cas typique : dessin d’une coupe sur la base d’un plan en XREF tourné dans la bonne position).

Dans ce cas, un PAN dans la fenêtre 1 (dans le SCU 1) doit se répercuter dans la fenêtre 2 par un PAN équivalent, mais adapté au SCU 2, de sorte que, si je ripe la coupe d’1 mètre vers le haut, le plan ripe aussi d’1m vers le haut, mais vers le haut de la coupe, pas vers le haut du plan.

Bon, j’espère avoir réussi à exposer clairement le truc.

 

 

D’autre part, l’idéal serait que cette opération de synchronisation des vues dans les 2 vports s’opère automatiquement, dès qu’une commande qui agit sur l’affichage est lancée (PAN ou ZOOM), quitte à pouvoir désactiver la synchronisation si les temps de réaffichage s’avèrent trop longs…

 

Cela dit, j’imagine bien que tout ça te prend du temps, donc ne te prends pas la tête si tu n’as pas le temps.

 

Merci encore.

 

Posté(e)

Salut

 

Bon, j’espère avoir réussi à exposer clairement le truc.

heu, non car le lisp agit quelque soit le scu

 

D’autre part, l’idéal serait que cette opération de synchronisation des vues dans les 2 vports s’opère automatiquement, dès qu’une commande qui agit sur l’affichage est lancée (PAN ou ZOOM), quitte à pouvoir désactiver la synchronisation si les temps de réaffichage s’avèrent trop longs…

C'est faisable, mais comme dit plus haut, cela ralentirai considérablement totocad et de plus, tu n'as pas accès aux vlax-...

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

Oups et mea culpa : de toutes façons, quand on travaille sur 2 parties d'un fichier (genre plan d'un côté, coupe de l'autre), on a intérêt à les mettre dans le même SCU. Donc : no problemo.

 

Pour la 2ème partie de ma question (et donc de ta réponse) : je ne désespère pas de pouvoir réaccéder un jour aux vlax-... Et sinon, je ne me rends pas compte du problème que ça poserait à AutoCad d'appliquer à gauche tout PAN ou tout ZOOM fait à droite, mais je n'aurais pas cru que ça pourrait le ralentir beaucoup. Alors tant pis !

 

Et merci encore.

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • 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é