Olivier Eckmann Posté(e) le 21 mars 2018 Posté(e) le 21 mars 2018 Bonjour, Je dois contrôler visuellement des kms de réseaux par analyse d'un filaire de canalisation (ou de rue). Le problème, c'est que comme tout est ramifié, au bout d'un moment à force de zoom (+ pan) avec la molette de la souris, je ne sais plus où je suis passé et ce que j'ai contrôlé.J'avais dans l'idée de développer un outil pour "zoner" c'est à dire dessiner une hachure ou autre objet sur chaque zone contrôlée.Le dessin devrait se faire sur la zone centrale visible et cela seulement lorsque mon zoom est en dessous d'une certaine taille (ej dois être assez près pour considérer que c'est contrôlé). Je pensais "coller" un réacteur sur la modification des variables VIEWCTR et VIEWSIZE et dessiner cette zone un peu comme un stabilo qui suivrait le centre de ma vue pendant que je me déplace. Est-ce que c'est jouable? Il faudrait que le zonage se dessine en arrière plan (ou transparent). Je ne sais pas ce que ça pourrait donner en terme de temps de réponse pendant le pan. Je ne suis même pas sûr que l'on puisse dessiner un objet pendant que l'on zoom à la molette a moins de passer par un graphique transient. Si quelqu'un a déjà joué avec ça et me dire si c'est réaliste, je suis preneur de toute info. Merci Olivier
Fraid Posté(e) le 21 mars 2018 Posté(e) le 21 mars 2018 Bonjour, Je me suis retrouvé dans même panade, et je n'avais pas le temps de programmer quoique ce soit.du coup je faisait un rectangle hachuré que j'ajoutais a un calque caché.je le réactivais des que j’étais perdu.donc ta 1ere idée est la bonne, mais pas besoin de le voir tout le temps... suis pas sure de t'avoir beaucoup aidé... https://github.com/Fraiddd
x_all Posté(e) le 22 mars 2018 Posté(e) le 22 mars 2018 Pas mieux, je fait un copier avec point de base d'un cercle et je fait des ''coller'' entre 2 panle cercle est dans un calque à part (non imprimable), si je perd le fil car j'ai du passer sur un autre plan ou zoomer ailleurs etc, j'isole le calque des cercles et fait un zoom tout. quelques trucs sur autocad
GEGEMATIC Posté(e) le 23 mars 2018 Posté(e) le 23 mars 2018 Salut Olivier,Pour ce genre de problème, balayage visuel d'un zone,j'utilise plutôt les outils de zoom de PowerClic Mon lienci dessous le code de création d'une succession de zoom pour parcourir un rectangle.Dans ton cas, si il faut parcourir un linéaire, j'utiliserai la commande "mesure" sur les linéaire, et je créerai des points dans un calque "$zoom" espacés de la taille du zoom vouluune fois ces points créés, j'utilise mon plug-in "parcourir" qui crée la liste des pointsj'ai 2 icones de menu, 1 avec le zoom arrière, l'autre avec le zoom avantje parcours mon dessin en avançant et en reculant, comme ça je n'oublie rien.J'utilise toujours ce sytème quand je dois vérifier des éléments diffus sur un plan(par exemple, contrôler que tous les PI ont une conduite en 100: sélection et parcours de tous les bloc PI) je te donne ci dessous le contenu très simple du menu**TB_ZOOM_PARCOURS_ENTITEES [_Toolbar("Zoom Parcours entitees", _Top, _Show, 2, 0, 1)] ID_zar [_Button("Zar", "zar16", "zar24")]'zoom c !(pw_nthc (setq zt-i (- zt-i 1)) zt-l-pt-zoom) ; ID_zav [_Button("Zav", "zav16", "zav24")]'zoom c !(pw_nthc (setq zt-i (+ zt-i 1)) zt-l-pt-zoom) ; ;;******************************************************************* ;;§/plugg/ prépare une série de zoom sur un zone rectangulaire/none ;;la taille de la fenetre est demandée après (defun c:zoomzone ( / pz lval blsel1 blsel zch l zt-lblsel 4p 4pf pfb pzb pzh xdec ydec nbcol nbrang derent xcadre ycadre selpt) (prompt "\nCadrez la zone à couvrir:") (setq 4p (pw_saisie_rectang)) (setq angltrav (angle (car 4p) (cadr 4p))) (pw_setvar1 "snapang" angltrav) (setq pzb (car 4p)) (setq pzh (caddr 4p)) (prompt "\nCadrez la taille de la fenetre du zoom:") ;;cadre (setq xcadre (distance (cadr 4p) pzb)) (setq ycadre (distance (car 4p) (last 4p))) ;;fenetre zoom (setq 4pf (pw_saisie_rectang)) (setq pfb (car 4pf)) (setq pfh (caddr 4pf)) (setq xdec (* 0.8 (distance (cadr 4pf) pfb))) (setq ydec (* 0.8 (distance (car 4pf) (last 4pf)))); ;tableau (setq nbcol (atoi (rtos (/ xcadre xdec) 2 0))) (setq nbrang (atoi (rtos (/ ycadre ydec) 2 0))) ;;tableau (setq derent (pw_real_entlast)) (command "_point" (pw_prp pzb (/ xdec 2.0) (/ ydec 2.0))) (command "_array" (eval (entlast)) "") (command "_r" nbrang nbcol ydec xdec) (setq selpt (pw_selafter derent)) (pw_sssetfirst selpt selpt) (command "_zoom" "_w" pfb pfh) ;;la suite correspond à cross_entity_zoom ! ;;ecartes les blocs definis dans l'espace papier (if (setq blsel1 (ssget "_p" (list '(-4 . "<NOT")'(67 . 1)'(-4 . "NOT>") ))) (setq zt-lblsel (pw_listsel blsel1)) ) (setq zt-i 0) ;; (setq zt-l-pt-zoom (mapcar '(lambda (x) (PW_scg2scu (cdr (assoc 10 (entget x)))) ) zt-lblsel ) ) (command "_erase" "_p" "") (foreach pz zt-l-pt-zoom (command "_zoom" "_c" pz "") (getstring "\nEntrée pour suivant ou esc pour fin") (setq zt-i (+ zt-i 1)) ) (pw_setvar2 "snapang" ) ) a+gégé ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com
Olivier Eckmann Posté(e) le 26 mars 2018 Auteur Posté(e) le 26 mars 2018 Bonjour, merci pour toutes ces idées, (surtout gégé), je vais explorer ça de plus près. Olivier
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