Communauté
AutoCAD – tous produits - Français
Bienvenue sur les forums AutoCAD d’Autodesk. Partagez vos connaissances, posez des questions, et explorez les sujets AutoCAD populaires.
annuler
Affichage des résultats de 
Afficher  uniquement  | Rechercher plutôt 
Vouliez-vous dire : 

[AutoCAD MAP 3D / CIVIL 3D] Lisp : Accès à google earth (navigateur)

8 RÉPONSES 8
RÉSOLU
Répondre
Message 1 sur 9
Y.AUBRY
799 Visites, 8 Réponses

[AutoCAD MAP 3D / CIVIL 3D] Lisp : Accès à google earth (navigateur)

Bonjour,

 

Ci-joint un lisp pour l'accès à la vue Google-earth (un nouvel onglet pour chaque point sélectionné) au niveau :

- Aérien : Commande GEV

- Street-View : Commande STRV

 

Attention le fichier doit être géoréférencé pour le bon fonctionnement du code, s'il ne l'est pas les systèmes de géoréférencements Lambert 1,2,3,93, 2 Etendu vous seront proposés (Lambert93 par défaut)

 

Ci-joint le code (le fichier lisp est disponible en PJ)

 

;;  GOOGLE_EARTH_ACCES.lsp [Nom des commandes: GEV & STRV]
;;  Accéder dans votre navigateur au point sélectionné
;;  GEV = Google-Earth View: Accès à la vue aérienne dans Google-earth (version internet)
;;  STRV = Street-View : Accès à la vue de la rue dans Google-map (version internet)
;;  Il est conseillé d'utiliser Google-Chrome comme navigateur par défaut pour l'utilisation de ces commandes
;;  Yoan AUBRY, 27 Octobre 2022

;; Ouvrir Google-earth en vue aérienne dans un nouvel onglet internet
(defun c:GEV ()
	(setq old-luprec (getvar "LUPREC"))
	(setvar "LUPREC" 6)
	(command "_UCS" "_W")
	( if
		(or ( = nil (ade_projgetwscode)) ( = "" (ade_projgetwscode)))
		(progn
			(setq code-proj (getstring "Inserez un code de projection: ntf.lambert-E/ntf.Lambert-1/2/3/lambert(9)3<9>?"))

			(cond

				( ( or ( = "E"  code-proj) ( = "" code-proj)) (setq cscode "NTF.Lambert-E"))
				( ( = "1"  code-proj) (setq cscode "NTF.Lambert-1"))
				( ( = "2"  code-proj) (setq cscode "NTF.Lambert-2"))
				( ( = "3"  code-proj) (setq cscode "NTF.Lambert-3"))
				( ( = "9"  code-proj) (setq cscode "Lambert93"))
			)
			(ade_projsetwscode cscode)
		);pr
    
    );if
	
	(ade_projsetsrc (ade_projgetwscode))
	(ade_projsetdest "ll84")
	(setq result1 (ade_projptforward (getpoint "point a transformer...")))
	(setq coor-cible (strcat (rtos (nth 1 result1) ) "," (rtos (nth 0 result1))))
	(command "_UCS" "P")
	(if
		(null result1)
		(progn
			(prompt "\nErreur dans la transformation ")
			(quit)
		);pr
	);if
	(setvar "LUPREC" old-luprec)
	(princ)
	(terpri)
	(prompt coor-cible)
	
	(dos_clipboard coor-cible)
	
	(setq url (strcat "https://earth.google.com/web/search/" coor-cible) )
	(browser url)
  
);

;; Ouvrir le street view (si disponible) dans un nouvel onglet internet
(defun c:STRV ()
	(setq old-luprec (getvar "LUPREC"))
	(setvar "LUPREC" 6)
	(command "_UCS" "_W")
	( if
		(or ( = nil (ade_projgetwscode)) ( = "" (ade_projgetwscode)))
		(progn
			(setq code-proj (getstring "Inserez un code de projection: ntf.lambert-E/ntf.Lambert-1/2/3/lambert(9)3<9>?"))

			(cond

				( ( or ( = "E"  code-proj) ( = "" code-proj)) (setq cscode "NTF.Lambert-E"))
				( ( = "1"  code-proj) (setq cscode "NTF.Lambert-1"))
				( ( = "2"  code-proj) (setq cscode "NTF.Lambert-2"))
				( ( = "3"  code-proj) (setq cscode "NTF.Lambert-3"))
				( ( = "9"  code-proj) (setq cscode "Lambert93"))
			)
			(ade_projsetwscode cscode)
		);pr
    
    );if
	
	(ade_projsetsrc (ade_projgetwscode))
	(ade_projsetdest "ll84")
	(setq result1 (ade_projptforward (getpoint "point a transformer...")))
	(setq coor-cible (strcat (rtos (nth 1 result1) ) "," (rtos (nth 0 result1))))
	(command "_UCS" "P")
	(if
		(null result1)
		(progn
			(prompt "\nErreur dans la transformation ")
			(quit)
		);pr
	);if
	(setvar "LUPREC" old-luprec)
	(princ)
	(terpri)
	(prompt coor-cible)
		
	(setq url (strcat "http://maps.google.com/maps?q=&layer=c&cbll=" coor-cible) )
	(browser url)
  
);

;; Ouverture d'un navigateur
;; Recherche dans l'ordre suivant : 
;; Google Chrome, Opera, Mozilla Firefox, Microsoft Edge, Internet Explorer
(defun browser ( url )
    (setq url (strcat "\"" (vl-string-translate "/" "\\" url) "\""))
    (vl-some '(lambda ( exe ) (and (findfile exe) (startapp exe url)))
        (list
			(strcat (getenv "programfiles") "\\Google\\Chrome\\Application\\chrome.exe")
			(strcat "C:\\Program Files (x86)" "\\Google\\Chrome\\Application\\chrome.exe")
			(strcat "C:\\Users\\" (getenv "UserName") "\\AppData\\Local\\Programs\\Opera\\opera.exe")
			(strcat "C:\\Program Files (x86)" "\\Mozilla Firefox\\firefox.exe")
			(strcat "C:\Program Files (x86)" "\Microsoft\Edge\Application\msedge.exe")
			(strcat (getenv "programfiles") "\\Internet Explorer\\iexplore.exe")
        )
    )
)

 

 

En espérant que cela vous fera gagner du temps.

 

A+ Yoan

Yoan AUBRY

EESignature

Étiquettes (2)
8 RÉPONSES 8
Message 2 sur 9
braudpat
en réponse à: Y.AUBRY

Hello @Y.AUBRY 

 

1) Je te propose une bonne vieille routine Lisp pour ACAD MAP et ACAD CIVIL 2012 et +

qui fait la meme chose (sous entendu un MAPCSASSIGN correct a ete fait AVANT !)

et qui "envoie" : Google Earth & DMC & Mappy ...

 

2) J ADORE les 3 fenetres DMC qui sont en fait les 3 modes de GE !

 

3) Si necessaire on peut commenter les 2 lignes relatives a Mappy que je n'aime pas trop !?

 

4) C Tip-Top et je l'utilise depuis longtemps !

 

La Sante, Bye, Patrice

 

PS: SVP avec FireFox ou Chrome !

Patrice ( Supporting Troops ) - Autodesk Expert Elite
If you are happy with my answer please mark "Accept as Solution" and if very happy please give me a Kudos (Felicitations) - Thanks

Patrice BRAUD

EESignature


Message 3 sur 9
La_Lozère
en réponse à: Y.AUBRY

Bonjour @Y.AUBRY ,

Merci pour ce code qui peut-être bien pratique.

Cependant, chez moi voici ce que GEV me renvoi : "45.235683,5.662538; erreur: no function definition: DOS_CLIPBOARD"

Mon système est RGF93.CC45.

 

Et STRV m'ouvre la carte de la France en grand.
Merci.

 

Message 4 sur 9
braudpat
en réponse à: La_Lozère

Hello @La_Lozère 

 

Et la bonne vieille Routine "NM..." ?

 

La Sante, Bye, Patrice

 

Patrice ( Supporting Troops ) - Autodesk Expert Elite
If you are happy with my answer please mark "Accept as Solution" and if very happy please give me a Kudos (Felicitations) - Thanks

Patrice BRAUD

EESignature


Message 5 sur 9
Y.AUBRY
en réponse à: La_Lozère

Bonjour @La_Lozère,

 

Désolé, j'ai oublié que je faisais appelle aux commandes DOS dans un premier temps pour vérifier.

 

Pour pouvoir utiliser ce programme, il faut du coup :

- Soit simplement supprimer la ligne 48 de mon premier post (elle ne sert plus à rien)

 

(dos_clipboard coor-cible)

 

- Soit dézipper le fichier "DOSLib 9.0.zip" ci-joint et charger le fichier arx en fonction de ta version d'AutoCAD (même méthode que pour un lisp) et de l'ajouter dans la liste des lisps chargés au démarrage.

 

DOSLib VERSiON	 	AutoCAD VERSiON
DOSLib17.arx	 - 	AutoCAD 2007 / 2008 / 2009 (x86)
DOSLib17x64.arx	 - 	AutoCAD 2008 / 2009 (x64)
DOSLib18.arx	 - 	AutoCAD 2010 / 2011 / 2012 (x86)
DOSLib18x64.arx	 - 	AutoCAD 2010 / 2011 / 2012 (x64)
DOSLib19.arx	 - 	AutoCAD 2013 / 2014 (x86)
DOSLib19x64.arx	 - 	AutoCAD 2013 / 2014 (x64)
DOSLib20.arx	 - 	AutoCAD 2015 / 2016 (x86)
DOSLib20x64.arx	 - 	AutoCAD 2015 / 2016 (x64)
DOSLib21.arx	 - 	AutoCAD 2017 (x86)
DOSLib21x64.arx	 - 	AutoCAD 2017 (x64)
DOSLib22.arx	 - 	AutoCAD 2018 (x86)
DOSLib22x64.arx	 - 	AutoCAD 2018 (x64)
DOSLib23.arx	 	AutoCAD 2019 / 2020 (x86)
DOSLib23x64.arx	 	AutoCAD 2019 / 2020 (x64)
DOSLib24x64.arx	 	AutoCAD 2021 / 2023 (x64)

 

 

A+ Yoan

Yoan AUBRY

EESignature

Message 6 sur 9
La_Lozère
en réponse à: Y.AUBRY

J'aime bien regarder toutes ces routines pour voir ce quelles proposent.

@Y.AUBRYj'ai corrigé :

Tout marche. Si on veut que ça s'ouvre dans Firefox, il y a moyen de faire quelque chose ?

 

@braudpat:

J'ai testé, StreetView s'ouvre bien. Mais mappy au mauvais endroit, et un autre onglet Dual Maps un peu bizarre. J'ai l'impression que ça ne marche pas bien car j'ai le même résultat avec Covadis sur MapChannels

 

Sinon, pour info, il existe des commandes Covadis un peu pareil.

Message 7 sur 9
Y.AUBRY
en réponse à: La_Lozère

Bonjour, si tu veux que ça s'ouvre dans Mozilla Firefox, il faut passer la ligne associée à Firefox en premier dans le sous-programme "browser" (si ca ne marche pas vérifie le chemin associé au fichier firefox.exe et modifie le lien.

 

Par défaut dès qu'il trouve un chemin de la liste, il l'utilise pour ouvrir le navigateur.

 

;; Ouverture d'un navigateur
;; Recherche dans l'ordre suivant : 
;; Google Chrome, Opera, Mozilla Firefox, Microsoft Edge, Internet Explorer
(defun browser ( url )
    (setq url (strcat "\"" (vl-string-translate "/" "\\" url) "\""))
    (vl-some '(lambda ( exe ) (and (findfile exe) (startapp exe url)))
        (list
			(strcat "C:\\Program Files (x86)" "\\Mozilla Firefox\\firefox.exe")
			(strcat (getenv "programfiles") "\\Google\\Chrome\\Application\\chrome.exe")
			(strcat "C:\\Program Files (x86)" "\\Google\\Chrome\\Application\\chrome.exe")
			(strcat "C:\\Users\\" (getenv "UserName") "\\AppData\\Local\\Programs\\Opera\\opera.exe")
			(strcat "C:\Program Files (x86)" "\Microsoft\Edge\Application\msedge.exe")
			(strcat (getenv "programfiles") "\\Internet Explorer\\iexplore.exe")
        )
    )
)

 

A+ Yoan 

Yoan AUBRY

EESignature

Message 8 sur 9
La_Lozère
en réponse à: Y.AUBRY

@Y.AUBRY. Nickel. J'avais testé l'inversion de cette liste, mais ça ne marchait pas car Firefox chez moi n'est pas dans "Programme (x86).

Et comme je préfère Google Maps, j'ai changé la ligne 48 en

" (setq url (strcat "https://www.google.fr/maps/search/" coor-cible) )"

Message 9 sur 9
Y.AUBRY
en réponse à: Y.AUBRY

Bonjour,

 

Suite aux remarques de @La_Lozère, j'ai corrigé une erreur (oublie de transformation des / en // pour Microsoft Edge), ajouter une commande MAPV (pour la vision aérienne dans Google-Map) et gérer les versions 32 et 64 bits de tous les navigateurs.

 

Ci-joint la version modifiée

 

;;  GOOGLE_EARTH_ACCES.lsp [Nom des commandes: GEV, MAPV & STRV]
;;  Accéder dans votre navigateur au point sélectionné
;;  GEV = Google-Earth View: Accès à la vue aérienne dans Google-earth (version internet)
;;  MAPV = Google-Map View: Accès à la vue aérienne dans Google-earth (version internet)
;;  STRV = Street-View : Accès à la vue de la rue dans Google-map (version internet)
;;  Yoan AUBRY, 27 Octobre 2022

;; Ouvrir Google-earth en vue aérienne dans un nouvel onglet internet
(defun c:GEV ()
	(setq old-luprec (getvar "LUPREC"))
	(setvar "LUPREC" 6)
	(command "_UCS" "_W")
	( if
		(or ( = nil (ade_projgetwscode)) ( = "" (ade_projgetwscode)))
		(progn
			(setq code-proj (getstring "Inserez un code de projection: ntf.lambert-E/ntf.Lambert-1/2/3/lambert(9)3<9>?"))

			(cond

				( ( or ( = "E"  code-proj) ( = "" code-proj)) (setq cscode "NTF.Lambert-E"))
				( ( = "1"  code-proj) (setq cscode "NTF.Lambert-1"))
				( ( = "2"  code-proj) (setq cscode "NTF.Lambert-2"))
				( ( = "3"  code-proj) (setq cscode "NTF.Lambert-3"))
				( ( = "9"  code-proj) (setq cscode "Lambert93"))
			)
			(ade_projsetwscode cscode)
		);pr
    
    );if
	
	(ade_projsetsrc (ade_projgetwscode))
	(ade_projsetdest "ll84")
	(setq result1 (ade_projptforward (getpoint "point a transformer...")))
	(setq coor-cible (strcat (rtos (nth 1 result1) ) "," (rtos (nth 0 result1))))
	(command "_UCS" "P")
	(if
		(null result1)
		(progn
			(prompt "\nErreur dans la transformation ")
			(quit)
		);pr
	);if
	(setvar "LUPREC" old-luprec)
	(princ)
	(terpri)
	(prompt coor-cible)
	
	(setq url (strcat "https://earth.google.com/web/search/" coor-cible) )
	(browser url)
  
);

;; Ouvrir Google Map en vue aérienne dans un nouvel onglet internet
(defun c:MAPV ()
	(setq old-luprec (getvar "LUPREC"))
	(setvar "LUPREC" 6)
	(command "_UCS" "_W")
	( if
		(or ( = nil (ade_projgetwscode)) ( = "" (ade_projgetwscode)))
		(progn
			(setq code-proj (getstring "Inserez un code de projection: ntf.lambert-E/ntf.Lambert-1/2/3/lambert(9)3<9>?"))

			(cond

				( ( or ( = "E"  code-proj) ( = "" code-proj)) (setq cscode "NTF.Lambert-E"))
				( ( = "1"  code-proj) (setq cscode "NTF.Lambert-1"))
				( ( = "2"  code-proj) (setq cscode "NTF.Lambert-2"))
				( ( = "3"  code-proj) (setq cscode "NTF.Lambert-3"))
				( ( = "9"  code-proj) (setq cscode "Lambert93"))
			)
			(ade_projsetwscode cscode)
		);pr
    
    );if
	
	(ade_projsetsrc (ade_projgetwscode))
	(ade_projsetdest "ll84")
	(setq result1 (ade_projptforward (getpoint "point a transformer...")))
	(setq coor-cible (strcat (rtos (nth 1 result1) ) "," (rtos (nth 0 result1))))
	(command "_UCS" "P")
	(if
		(null result1)
		(progn
			(prompt "\nErreur dans la transformation ")
			(quit)
		);pr
	);if
	(setvar "LUPREC" old-luprec)
	(princ)
	(terpri)
	(prompt coor-cible)
	
	(setq url (strcat "https://www.google.fr/maps/search/" coor-cible))
	(browser url)
  
);


;; Ouvrir le street view (si disponible) dans un nouvel onglet internet
(defun c:STRV ()
	(setq old-luprec (getvar "LUPREC"))
	(setvar "LUPREC" 6)
	(command "_UCS" "_W")
	( if
		(or ( = nil (ade_projgetwscode)) ( = "" (ade_projgetwscode)))
		(progn
			(setq code-proj (getstring "Inserez un code de projection: ntf.lambert-E/ntf.Lambert-1/2/3/lambert(9)3<9>?"))

			(cond

				( ( or ( = "E"  code-proj) ( = "" code-proj)) (setq cscode "NTF.Lambert-E"))
				( ( = "1"  code-proj) (setq cscode "NTF.Lambert-1"))
				( ( = "2"  code-proj) (setq cscode "NTF.Lambert-2"))
				( ( = "3"  code-proj) (setq cscode "NTF.Lambert-3"))
				( ( = "9"  code-proj) (setq cscode "Lambert93"))
			)
			(ade_projsetwscode cscode)
		);pr
    
    );if
	
	(ade_projsetsrc (ade_projgetwscode))
	(ade_projsetdest "ll84")
	(setq result1 (ade_projptforward (getpoint "point a transformer...")))
	(setq coor-cible (strcat (rtos (nth 1 result1) ) "," (rtos (nth 0 result1))))
	(command "_UCS" "P")
	(if
		(null result1)
		(progn
			(prompt "\nErreur dans la transformation ")
			(quit)
		);pr
	);if
	(setvar "LUPREC" old-luprec)
	(princ)
	(terpri)
	(prompt coor-cible)
		
	(setq url (strcat "http://maps.google.com/maps?q=&layer=c&cbll=" coor-cible) )
	(browser url)
  
);

;; Ouverture d'un navigateur
;; Recherche dans l'ordre suivant : 
;; Google Chrome,  Mozilla Firefox, Microsoft Edge, Internet Explorer, Opera
(defun browser ( url )
    (setq url (strcat "\"" (vl-string-translate "/" "\\" url) "\""))
    (vl-some '(lambda ( exe ) (and (findfile exe) (startapp exe url)))
        (list
			(strcat (getenv "programfiles") "\\Google\\Chrome\\Application\\chrome.exe")
			(strcat "C:\\Program Files (x86)" "\\Google\\Chrome\\Application\\chrome.exe")
			(strcat (getenv "programfiles") "\\Mozilla Firefox\\firefox.exe")
			(strcat "C:\\Program Files (x86)" "\\Mozilla Firefox\\firefox.exe")
			(strcat (getenv "programfiles") "\\Microsoft\\Edge\\Application\\msedge.exe")
			(strcat "C:\Program Files (x86)" "\\Microsoft\\Edge\\Application\\msedge.exe")
			(strcat (getenv "programfiles") "\\Internet Explorer\\iexplore.exe")
			(strcat "C:\Program Files (x86)" "\\Internet Explorer\\iexplore.exe")
			(strcat "C:\\Users\\" (getenv "UserName") "\\AppData\\Local\\Programs\\Opera\\opera.exe")
        )
    )
)

 

 

A+ Yoan

Yoan AUBRY

EESignature

Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.

Publier dans les forums  

Autodesk Design & Make Report