Aller au contenu

Foliotage de GéoCarte


DenisHen

Messages recommandés

Bonjour à tous.

 

Suite à un sujet de La Lozère, j'ai fais ce petit bout de code qui fait un foliotage de géocartes.

 

Il reste un petit soucis de chevauchement, mais on gagne un temps fou ! !

 

J'ai aussi prévu un petit décalage pour cacher la ligne "Bing"...

 

;;; *******************************************
;;;      Créé des géocarte en mode "Folio"     
;;; Spéciale dédicace à La Lozère (CadXP.com)  
;;; *******************************************
(defun c:MultiCarte ()
 (princ "\nDéveloppé par Denis H. (vers.1.4)")
 (command "Geocarte" "h")
 (setq ;; Nombre de carte horizontales
       NbCarteHori     (getreal "\nNombre de carte horizontales : ")
       ;;Nombe de carte verticale
       NbCarteVerti    (getreal "\nNombre de carte verticales : ")
       ;; j'enregistre le nombre de carte horizontal pour remettre à zéro quand on est au bout de l'horizontale
       NbCarteHoriOrig NbCarteHori
       ;; j'ajoute 1 au nombre verticale à cause du décalage (ValDecal) pour supprimer le logo Bing
       NbCarteVerti    (+ NbCarteVerti 1)
       ;; je suppose des trucs
       screen          (getvar "screensize")
       ratio           (/ (car screen) (cadr screen))
       cen             (getvar "viewctr")
       cen             (trans cen 1 0)
       angle_rad       (getvar "viewtwist")
       angle_rad       (- (* 2 pi) angle_rad)
       h               (getvar "viewsize")
       w               (* h ratio)
       ;; Je ne suppose plus, voici les quatres points de la vue courante (ou presque comme me l'a expliqué Maître (gile)
       BasGauche       (polar (polar cen (+ angle_rad pi) (/ w 2)) (- angle_rad (/ pi 2)) (/ h 2))
       BasDroite       (polar (polar cen angle_rad (/ w 2)) (- angle_rad (/ pi 2)) (/ h 2))
       HautDroite      (polar (polar cen angle_rad (/ w 2)) (+ angle_rad (/ pi 2)) (/ h 2))
       HautGauche      (polar (polar cen (+ angle_rad pi) (/ w 2)) (+ angle_rad (/ pi 2)) (/ h 2))
       ;; Là, pas besoin d'être explicite
       Xmin            (car BasGauche)
       Ymin            (cadr BasGauche)
       Xmax            (car HautDroite)
       Ymax            (cadr HautDroite)
       ;; Différence entre le maxi et le mini : Les delta
       DeltaX          (- Xmax Xmin)
       DeltaY          (- Ymax Ymin)
       ;; Du coup, on a la hauteur et la largeur de la vue
       Haut            (/ DeltaY NbCarteVerti)
       Larg            (/ DeltaX NbCarteHori)
       ;; Un petit décallage négatif en Y pour cacher le logo BING
       ValDecal        (* Haut 0.028)
 ) ;_ Fin de setq
   ;;Tant qu'on est dans le sens vertical
 (while (> NbCarteVerti 0)
    ;; On commence la boucle horizontale
   (while (> NbCarteHori 0)
     ;; le point en Bas à gauche
     (setq PtGauche (list Xmin Ymin))
     ;; le point en haut à droite
     (setq PtDroite (list (+ Xmin Larg) (+ Ymin Haut)))
     ;; Un zoom qui prépare le cliché
     (command "zoom" "f" PtGauche PtDroite)
     ;; Prise du cliché
     (command "imagegeo" "")
     ;;J'enlève 1 au nombre de cliché horizontal
     (setq NbCarteHori (- NbCarteHori 1))
     ;;L'X minimum augmanté du delta largeur (qui est la plage des géocartes d'une rangée)
     (setq Xmin (+ Xmin Larg))
   ) ;_ Fin de while
   ;; Là, on repart pour une nouvelle boucle, les géocartes horizontales sont finies,
   ;; On recommence la même chose avec une constante verticale ajouté, bref, on passe à la ligne supérieur
   (setq NbCarteVerti (- NbCarteVerti 1))
   ;; Je redéfini l'origine du nombre de cliché horizontal
   (setq NbCarteHori NbCarteHoriOrig)
   ;; définition de l'X minimum
   (setq Xmin (car BasGauche))
   ;; Définition de l'Y minimum moins le décalage en Y pour supprimer le logo BING
   (setq Ymin (+;;; *******************************************
;;;      Créé des géocarte en mode "Folio"     
;;; Spéciale dédicace à La Lozère (CadXP.com)  
;;; *******************************************
(defun c:MultiCarte ()
 (princ "\nDéveloppé par Denis H. (vers.1.4)")
 (command "Geocarte" "h")
 (setq ;; Nombre de carte horizontales
       NbCarteHori     (getreal "\nNombre de carte horizontales : ")
       ;;Nombe de carte verticale
       NbCarteVerti    (getreal "\nNombre de carte verticales : ")
       ;; j'enregistre le nombre de carte horizontal pour remettre à zéro quand on est au bout de l'horizontale
       NbCarteHoriOrig NbCarteHori
       ;; j'ajoute 1 au nombre verticale à cause du décalage (ValDecal) pour supprimer le logo Bing
       NbCarteVerti    (+ NbCarteVerti 1)
       ;; je suppose des trucs
       screen          (getvar "screensize")
       ratio           (/ (car screen) (cadr screen))
       cen             (getvar "viewctr")
       cen             (trans cen 1 0)
       angle_rad       (getvar "viewtwist")
       angle_rad       (- (* 2 pi) angle_rad)
       h               (getvar "viewsize")
       w               (* h ratio)
       ;; Je ne suppose plus, voici les quatres points de la vue courante (ou presque comme me l'a expliqué Maître (gile)
       BasGauche       (polar (polar cen (+ angle_rad pi) (/ w 2)) (- angle_rad (/ pi 2)) (/ h 2))
       BasDroite       (polar (polar cen angle_rad (/ w 2)) (- angle_rad (/ pi 2)) (/ h 2))
       HautDroite      (polar (polar cen angle_rad (/ w 2)) (+ angle_rad (/ pi 2)) (/ h 2))
       HautGauche      (polar (polar cen (+ angle_rad pi) (/ w 2)) (+ angle_rad (/ pi 2)) (/ h 2))
       ;; Là, pas besoin d'être explicite
       Xmin            (car BasGauche)
       Ymin            (cadr BasGauche)
       Xmax            (car HautDroite)
       Ymax            (cadr HautDroite)
       ;; Différence entre le maxi et le mini : Les delta
       DeltaX          (- Xmax Xmin)
       DeltaY          (- Ymax Ymin)
       ;; Du coup, on a la hauteur et la largeur de la vue
       Haut            (/ DeltaY NbCarteVerti)
       Larg            (/ DeltaX NbCarteHori)
       ;; Un petit décallage négatif en Y pour cacher le logo BING
       ValDecal        (* Haut 0.028)
 ) ;_ Fin de setq
 ;;Tant qu'on est dans le sens vertical
 (while (> NbCarteVerti 0)
   ;; Tant qu'on est dans le sens horizontal, on enlève 1 au sens horizontal
   (while (> NbCarteHori 0)
     ;; le point en Bas à gauche
     (setq PtGauche (list Xmin Ymin))
     ;; le oint en haut à droite
     (setq PtDroite (list (+ Xmin Larg) (+ Ymin Haut)))
     ;; Un zoom qui prépare le cliché
     (command "zoom" "f" PtGauche PtDroite)
     ;; Prise du cliché
     (command "imagegeo" "")
     ;;J'enlève 1 au nombre de cliché horizontal
     (setq NbCarteHori (- NbCarteHori 1))
     ;;L'X minimum augmante du delta largeur (qui est la plage des géocartes d'une rangée)
     (setq Xmin (+ Xmin Larg))
   ) ;_ Fin de while
   ;; Là, on repart pour une nouvelle boucle, les géocartes horizontales sont finies,
   ;; On recommence la même chose avec une constante verticale ajouté? Bref, on passe à la ligne suppérieur
   (setq NbCarteVerti (- NbCarteVerti 1))
   ;; Je redéfini l'origine du nombre de cliché horizontal
   (setq NbCarteHori NbCarteHoriOrig)
   ;; définition de l'X minimum
   (setq Xmin (car BasGauche))
   ;; Définition de l'Y minimum moins le décalage en Y pour supprimer le logo BING
   (setq Ymin (+ Ymin (- Haut ValDecal)))
 ) ;_ Fin de while
 (command "Geocarte" "d")
 (princ)
) ;_ Fin de defun
;;; ********************
;;; Prog pour Golum69   
;;; ********************
(defun c:ZoneStockage (/ p)
 (setq p (getpoint))
 (command "_pline"
          p
          (while p (command (setq p (getpoint "\nPoint suivant (Return pour FIN) : " p))))
 ) ;_ Fin de command
 (command "pedit" (entlast) "c" "")
 (princ)
) ;_ Fin de defun

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Merci Denis pour ce code.

Peux-tu décrire un peu ce qu'il fait? Car je l'ai lancé, et il a folioté, mais je n'ai pas su dire comment il a définit la zone de référence. Un rapport avec ce post http://cadxp.com/topic/45470-resolu-coordonnees-de-lecran-objet/page__pid__263574?do=findComment&comment=263574?

 

Une option avec le choix d'une zone définit soit par une polyligne soit par deux point serait un plus.

 

Merci encore

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Lien vers le commentaire
Partager sur d’autres sites

En fait, il prend comme référence la vue active.

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

;;; *******************************************

;;; Créé des géocarte en mode "Folio"

;;; Spéciale dédicace à La Lozère (CadXP.com)

;;; *******************************************

 

J'avais pas tout vu..... MERCI :rolleyes:

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Lien vers le commentaire
Partager sur d’autres sites

Hello

 

1) MERCI

 

2) Ton Foliotage de la commande GEOCARTE / GEOMAP m'interesse beaucoup !

 

3) SVP pourrais tu calculer et indiquer au depart combien de IMAGEGEO

tu vas faire par rapport a la vue active ?

On tape si on desire continuer et sinon ESC/ECHAP (pour annuler) !?

 

4) Sur mon Test il n'a traite que une partie de la vue active avec 99 IMAGEGEO generees !!

Peut etre est ce une limite ??

J'etais sur une zone d'environ 1.5 x 1.5 km a l'ecran ...

Avec un affichage graphique de 2560 x 1440 pixels (un peu moins en fait pou la zone graphique AutoCAD)

 

Merci, Bye, lecrabe

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

La première fois ça à marché, sauf que la zone couverte était trèèèès grande... Bien plus grande que ma vue.

 

Et la deuxième fois:

Ma vue active c'est ça:

x0zz.jpg

 

Et le résultat c'est ça:

d647.jpg

 

Alors, qu'est que tu appels la vue active? Et n'y aurait-il pas une variable qui ne serait pas réinitialisée?

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Lien vers le commentaire
Partager sur d’autres sites

Il y a effectivement un petit problème.

 

Je regarde ça...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Merci lecrabe, je teste ça sur ton DWG...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Bon. J'ai corrigé le code du premier post.

 

Attention à ne pas trop abuser des géocarted, dans le DWG de lecrabe (141Ko), j'ai mis 10 en largeur et 6 en hauteur... Le fichier fait maintenant 266Mo ! ! !

 

Et toujours ce problème de chevauchement... Comprend pas trop, peut-être la différence entre hauteur et largeur...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Au sujet des géocartes, j'en ai dans un DWG pour un client. Il n'a pas MAP et il se retrouve avec des cadres vides...

 

Quelqu'un aurait une explication ?

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Hello Mr DenisHen

 

1) Merci pour la Correction / Amelioration !

 

2) Pour une zone d'environ 3000m x 2000m, j'ai demande 30 Geocarte

et effectivement mon DWG fait maintenant 266 Mo ...

 

DONC il faut rester raisonnable en zone de capture (= la zone ecran)

et ne pas demander TROP de GEOCARTE ...

 

3) Je vais voir pour un AutoCAD ou AutoCAD LT ou AutoCAD Archi ou AutoCAD NON MAP/CIVIL ...

 

AVANT je faisais "a la main" plusieurs GEOCARTE !!!

 

NOTE: dans la routine de Denis, il y a la ligne :

(command "Geocarte" "_h") ;; Carte Hybride

 

Si vous voulez seulement la Carte Aerienne (Orthophoto)

(command "Geocarte" "_a") ;; Carte Aerienne

 

Si vous voulez seulement la Carte Routiere

(command "Geocarte" "_r") ;; Carte Routiere

 

Micro-Micro-Critique: Denis aura du utiliser

(command "_geomap" "_a") / (command "_geomap" "_off") / (command "_geomapimage" "")

Ainsi la routine tournerait sur TOUS les ACADs quelque soit la langue !

 

Bye, lecrabe

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Content d'avoir rendu service... ;)

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Vraiment pas mal ton truc. Merci.

Il faut faire attention à sa vue et son scu. J'ai fais un test sur un vue orientée, et c'est partie un peu dans les choux...

Et j'ai repris le code pour n'avoir que la vue aérienne, et pas l'hybride.

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Lien vers le commentaire
Partager sur d’autres sites

J'ai préféré une vue dans le SCU général car je ne me sers des géocartes que pour mes plans de site, qui sont toujours orientés avec le nord en haut...

 

Content que ça plaise... :)

 

Je pense changer le code pour ne pas à avoir rentrer le nombre de géocartes en vertical, puisque ça doit être un rapport entre la hauteur et la largeur de l'écran... Ça évitera les chevauchement...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Merci Denis pour ce code.

Peux-tu décrire un peu ce qu'il fait?

C'est un code que j'ai récupéré, je ne comprend pas tout, c'est ma "méthode de travail" (ce qui va mettre Didier en colère) j'arrange des bouts de codes d'autrui pour en faire un qui me convient...

 

Je sais que ce n'est pas une méthode AutoCADémique, mais j'ai tout de même beaucoup appris avec...

 

Grace à des (gile), Didier, Tramber, Patrick_35... et j'en oublie tellement...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Just for La Lozère, J'ai corrigé mon premier post avec des commentaires...

 

Mais ce sont juste MES commentaires...

 

Denis...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

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é