Aller au contenu

Projection : Convertir des lots de fichiers dwg en lambert 93


yann69690

Messages recommandés

Bonjour

J'ai eu à faire à pas mal de fichiers en lambert2 que j'ai du me repaluché en cc46, j'ai suivie un tuto pour autocad MAP, donc je m'en suis sorti mais ce n'est pas trop intuitif et vraiment chronophage:
-ouverture du fichier + association référentiel + fermeture en sauvegardant
-new file et outils explorateur + import fichier (1à1)
-exécution d'une requête : location all + dessiné
-dissocié, rezoomer et sauvegarder
-on recommence pour le suivant (j'ai essayé de creer un dwg avec les bloc de chacun des fichiers mais la projection n'était pas bonne)

J'essaie de trouver un lips, macro ou par exemple cette ancien plugin de l'article mais impossible de mettre la mains dessus 

https://geospatialfrance.typepad.com/geospatialfrance/2009/03/comment-convertir-des-lots-de-fichiers-dwg-en-lambert-93.html

 

Merci par avance et bonne journée
cordialement

Lien vers le commentaire
Partager sur d’autres sites

Salut,

ça peut s'automatiser, même en lisp,

j'avais fait un truc pour générer des extraits de plan qui faisait des requêtes MAP via Lisp sur la partie des XREFs concernées.

c'est pas si compliqué, mais Lecrabe doit avoir ça en stock ..

a+, Gégé

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

Lien vers le commentaire
Partager sur d’autres sites

Hello

Le vieux Plugin AutoCAD MAP 2009 n'existe plus depuis longtemps !

J'ai 2 Lisp "ProjectChange" et " RPV" provenant de cadxp.com qui reprojette des DWGs ...

Je ne sais pas si cela correspond a la demande !? ... ET je n'ai pas teste ces 2 Lisps !!

SVP vous me direz ...

La Sante, Bye, lecrabe

 

ProjectChange___MAP___vincentp010.zip RPV__for_MAP__ReProject_DWG_One_by_One.zip

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

RPV, je l'avais écrit en 2009, mais normalement il doit fonctionner. Le principe :

Attacher en dessin source tous les DWG à transformer.

Le programme récupère la liste de chaque DWG

Détache tous les DWG, puis les rattache 1 par 1 et lance la requête d'extraction "Emplacement = tout" en mode dessiner

Fait un SAUVEGRD du dessin reprojeté

etc ...

 

Par contre, je ne lis pas le contenu des alias, donc il faut que les alias correspondent aux lettres du lecteur:

C=C:

D=D:

E=E:

...

 

Olivier

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à tous et Merci beaucoup.

Je testerai et vous ferai mes retours.

@crabe comment fais y pour avoir autant de lips et savoir a quoi cela correspond, curieux de connaître quelle est ton système d'organisation ?

@Olivier EckmannEckmann j'ai pas tout compris, il faut les ajouter en xref ou autre (désolé de mon ignorance je ne connais pas du tout Map) , Il faut faire quoi avec les alias?

 

bne soirée et merci 👍👍👍

Lien vers le commentaire
Partager sur d’autres sites

Le 02/03/2022 à 19:33, lecrabe a dit :

Hello

Le vieux Plugin AutoCAD MAP 2009 n'existe plus depuis longtemps !

J'ai 2 Lisp "ProjectChange" et " RPV" provenant de cadxp.com qui reprojette des DWGs ...

Je ne sais pas si cela correspond a la demande !? ... ET je n'ai pas teste ces 2 Lisps !!

SVP vous me direz ...

La Sante, Bye, lecrabe

 

ProjectChange___MAP___vincentp010.zip 1 Ko · 0 téléchargement RPV__for_MAP__ReProject_DWG_One_by_One.zip 797 O · 0 téléchargement

En lisant le sujet, je me suis dit, faut que je cherche, je dois avoir écrit un vieux truc il y quelques temps. Et là je vois que je suis pas obligé de chercher 😃

  • Upvote 1

Aide au téléchargement du cadastre dgfip-download-helper
Insertion de photos géolocalisées exif https://www.dropbox.com/s/gkf6o9ac2hxen97/exifscr.zip?dl=0
Script correction BUG SPDC V2, propriétaire département 21 et 22 : https://greasyfork.org/scripts/442400-spdcv2/code/SPDCV2.user.js

Lien vers le commentaire
Partager sur d’autres sites

Bonjour tout le monde,

@vincentp010, je viens de tester ton lips, j'aime bien le coté proposé de choix du fichiers et coordonnée de projection. Par contre, c'est plan par plan je n'ai pas réussi intégré plusieurs plan comme celui d'Olivier. Aurais tu cela en stock?

@Olivier Eckmann(pas foncement compris l'histoire d'alias, mais si on met nos fichiers directement dans c:// tmp/ cela les charge bien) mais par contre, dans le script je n'ai pas vu où il fallait définir le système d'origine et celui où l'on voulait projeté.

J'ai tenté de les fusionner, mais il y a un problème (vu que je ne m'y connais pas en programmation de lips ça pas fonctionné)

;; from script Olivier Eckmann and vincentp010
;; Routine RPVplusieurs pour AutoCAD MAP (ou CIVIL) FRENCH from OE 
;; Attach the N DWGs to Re-Project and THEN RVP ... 
;; RPVplusieurs will reproject (one by one) each DWG from the Group and then Save each as "xxxxxx_BIS.DWG" 
;; Commande: APPLOAD  to load routines ...
;; Commande: RPVplusieurs
;; 

(defun C:RPVplusieurs ()
  ;recupere la liste des chemins et des noms des dessins puis detache
  (vla-purgeall cdoc)
  
   (initget 1 "WGS84 LambertI LambertII LambertIIE LambertIII Lambert93 CC42 CC43 CC44 CC45 CC46 CC47 CC48 CC49 CC50")
   (setq action1 (getkword "Ancien systeme de coordonnees [WGS84/LambertI/LambertII/LambertIIE/LambertIII/Lambert93/CC42/CC43/CC44/CC45/CC46/CC47/CC48/CC49/CC50] :"))
   (initget 1 "WGS84 LambertI LambertII LambertIIE LambertIII Lambert93 CC42 CC43 CC44 CC45 CC46 CC47 CC48 CC49 CC50")
   (setq action2 (getkword "Nouveau systeme de coordonnees [WGS84/LambertI/LambertII/LambertIIE/LambertIII/Lambert93/CC42/CC43/CC44/CC45/CC46/CC47/CC48/CC49/CC50] :"))
  
  
  (foreach dwg_id (ade_dslist)
    (setq ListDwgName (append ListDwgName (list (ade_dwgactualpath dwg_id))))
    (ade_dsdetach dwg_id)
  )
  
  ;definit la requette Emplacement tout en mode dessiner
  ;(ade_qrydefine (list "" "" "" "Location" ("All")  ""))
  (ade_qrydefine '("" "" "" "Location" ("All") "" ) )
  (ade_qrysettype "draw")
  ;boucle d'attachement des dessins 1 par 1
  (foreach dwg_name ListDwgName
    (ade_dsattach dwg_name)
	
	 ; choose system for old file
   (setvar "CMDDIA" 0)
   (cond
     ((= action1 "WGS84") (command "ADESETCRDSYS" "" fichier "LL84" "_ex"))
     ((= action1 "LambertI") (command "ADESETCRDSYS" "" fichier "IGN-I-Grid" "_ex"))
     ((= action1 "LambertII") (command "ADESETCRDSYS" "" fichier "IGN-II-Grid" "_ex"))
     ((= action1 "LambertIIE") (command "ADESETCRDSYS" "" fichier "IGN-IIE-Grid" "_ex"))
     ((= action1 "LambertIII") (command "ADESETCRDSYS" "" fichier "IGN-III-Grid" "_ex"))
     ((= action1 "Lambert93") (command "ADESETCRDSYS" "" fichier "Lambert93" "_ex"))
     ((= action1 "CC42") (command "ADESETCRDSYS" "" fichier "RGF93.CC42" "_ex"))
     ((= action1 "CC43") (command "ADESETCRDSYS" "" fichier "RGF93.CC43" "_ex"))
     ((= action1 "CC44") (command "ADESETCRDSYS" "" fichier "RGF93.CC44" "_ex"))
     ((= action1 "CC45") (command "ADESETCRDSYS" "" fichier "RGF93.CC45" "_ex"))
     ((= action1 "CC46") (command "ADESETCRDSYS" "" fichier "RGF93.CC46" "_ex"))
     ((= action1 "CC47") (command "ADESETCRDSYS" "" fichier "RGF93.CC47" "_ex"))
     ((= action1 "CC48") (command "ADESETCRDSYS" "" fichier "RGF93.CC48" "_ex"))
     ((= action1 "CC49") (command "ADESETCRDSYS" "" fichier "RGF93.CC49" "_ex"))
     ((= action1 "CC50") (command "ADESETCRDSYS" "" fichier "RGF93.CC50" "_ex"))
   )
   (setvar "CMDDIA" 1)
   ; choose system for current file
   (cond
     ((= action2 "WGS84") (ade_projsetwscode "LL84"))
     ((= action2 "LambertI") (ade_projsetwscode "IGN-I-Grid"))
     ((= action2 "LambertII") (ade_projsetwscode "IGN-II-Grid"))
     ((= action2 "LambertIIE") (ade_projsetwscode "IGN-IIE-Grid"))
     ((= action2 "LambertIII") (ade_projsetwscode "IGN-III-Grid"))
     ((= action2 "Lambert93") (ade_projsetwscode "Lambert93"))
     ((= action2 "CC42") (ade_projsetwscode "RGF93.CC42"))
     ((= action2 "CC43") (ade_projsetwscode "RGF93.CC43"))
     ((= action2 "CC44") (ade_projsetwscode "RGF93.CC44"))
     ((= action2 "CC45") (ade_projsetwscode "RGF93.CC45"))
     ((= action2 "CC46") (ade_projsetwscode "RGF93.CC46"))
     ((= action2 "CC47") (ade_projsetwscode "RGF93.CC47"))
     ((= action2 "CC48") (ade_projsetwscode "RGF93.CC48"))
     ((= action2 "CC49") (ade_projsetwscode "RGF93.CC49"))
     ((= action2 "CC50") (ade_projsetwscode "RGF93.CC50"))
   )
	
    ;execute la requete
    (ade_qryexecute)
    ;detache le dessinn
    (foreach dwg_id (ade_dslist) (ade_dsdetach dwg_id))
    ;cree le nom du dessin de sortie
    (setq dwg_name_export (strcat (substr dwg_name 1 (- (strlen dwg_name) 4)) "_BIS.DWG"))
    ;zoom etendu
    (command "zoom" "et")
    ;exporte les objets extraits vers le nouveau dessin
    (command "sauvegrd" dwg_name_export)
    ;supprime tous les objets du dessin
    (command "effacer" "tout" "")
  )
)

bonne journée,

Cordialement

Lien vers le commentaire
Partager sur d’autres sites

Je me suis inspiré du lisp d' @Olivier Eckmann pour faire une version multi.

Tu sélectionnes un dossier où il y a tous tes dessins, le système de départ, celui d'arrivée et ça fait la convertion.

projectchange_multi.lsp

Aide au téléchargement du cadastre dgfip-download-helper
Insertion de photos géolocalisées exif https://www.dropbox.com/s/gkf6o9ac2hxen97/exifscr.zip?dl=0
Script correction BUG SPDC V2, propriétaire département 21 et 22 : https://greasyfork.org/scripts/442400-spdcv2/code/SPDCV2.user.js

Lien vers le commentaire
Partager sur d’autres sites

Hello @vincentp010

 

1) MERCi Vincent cela me semble parfait !

J'ai renomme la routine en "Project_Change_Multi"

 

Alors au debut de la routine, il suffit d'aller selectionner UN SEUL DWG du dossier VOULU
Et alors TOUS les DWGs du dossier seront traites automatiquement !
 
RAPPEL: TOUS les DWGs sont dans UN SEUL System de Proj et on transforme en UN SEUL Systeme de Proj !!
 

2) Mais j'ai fais qq micro-modifs qui me semblent necessaires ...

 

21) Au debut j'ai rajoute un Warning derriere le vla-purgeall :

  ( prompt "\n\nATTENTION: SVP veuillez VERIFIER que le DWG courant est bien en METRE ! "  )
  ( prompt   "\nCommande: _UI pour affecter les Unites au DWG Courant ... \n\n "  )

 

22) Vers la fin :

;       (command "sauvegrd"    fichier_export )
        (command "_saveas"  "" fichier_export )

;;;;;;; PURGE ALL / Purger Tout ;;;;;;;
        (command "_-PURGE" "_all" "" "_N" )  ;; PURGE ALL / Purger Tout

 

23) Et avant la derniere parenthese (Important) :

    (setvar "CMDDIA" 1)  ;; Restore CMDDIA = 1

 

"Ma" version de Ton Lisp est jointe ...

La Sante, Bye, lecrabe

 

 

 

Project_Change_Multi___MAP___Vincentp010.zip

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

  • 7 mois après...

Bonjour,

J'avais recréé un sujet et @Olivier Eckmanna été vigilant.

Il semble qu'il y ait un bug avec le lisp "Project_Change_Multi_MAP".

Quand on fait une reprojection avec une couche gelée (pas quand elle est inactive), elle se duplique dans les 2 systèmes de projection.

Savez-vous s'il existe une mise à jour de ce lisp ?

Bonne journée,

Lien vers le commentaire
Partager sur d’autres sites

il y a 1 minute, Curlygoth a dit :

Merci je vais pouvoir arrêter de reprojeter à la main un par un ^^

 

Ne me fait pas croire que tu n'avais pas un VBA pour ça 😁

AutoCAD Map 3D 2023 (26.0.37.2 base T.53.0.0)
Covadis 18.0 + AutoPiste
Windows 11 Famille v.21H2 - 64 bits

Toujours à l'affût des bonnes astuces

Lien vers le commentaire
Partager sur d’autres sites

Citation

Ne me fait pas croire que tu n'avais pas un VBA pour ça

et bien disons que si... d'aileurs tu trouvera le sujet :

mais comme tu pourra le voir ça passe par un requete, que si tu peux mettre en place QUE si tu es Administrateur de ton PC !

Aujourd'hui, je suis dans une grande entreprise (plus que 6 semaines car en période de rupture conventionnelle) et tu es bloqué de partout...

mais j'ai MAP ! et donc je me débrouille... merci @lecrabe mais soyons honnête :  je connais pas très bien les commande MAP ...

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é