Qqs trucs sur Autocad et d'autres logiciels DAO...
Accueil Initiation Méthodologie Variables Comment faire pour Lisps Soft & liens
Sommaire Revit 2020 CVC sur autocad Linux CloudCompare Initiation à Autolisp Blog

Continuions les MNT à partir de données récupérées sur les sites de cartographie. Cette fois, on va passer par Qgis bien sur, mais on va rentrer dans Autocad. Pour renter ces points dans Autocad, on va créer un script à partir du listing de points XYZ que Qgis va générer

En pré requis, on va charger un fichier de points avec un pas de 75m sur Géoportail, Si vous n'avez pas covadis, pour trianguler les pts en mnt, il faut également charger le programme écrit en .NET par (gile) les détails sont dans ce post de CadXp le Zip est archivé ici

On va travailler sur Colmars, le fichier qui nous intéresse est le BDALTIr_2-0_MNT_EXT_0975_6375_LAMB93_IGN69_20110929.asc
Mais on ne va pas l'importer dans sa totalité car se relativement petit fichier référence quasiment 1 million de points et Autocad même avec plein de mémoire et un ordi boosté à mort il digère pas autant de pts.

Avec ce pas de 75m on arrive à environ à 17 000 pts pour un carré de 10 000m ce qui est déjà pas mal...

Pou lala, grosse mise à jour depuis le temps ou je m'y était mis...
09-21 je pass Qgis enla version 3.6.2-Noosa et pas mal de chose changent...

je note vite fait qqs z uns

Les Extentions
QuickMapServices
OpenLayer

On commence par se mettre une map Open layer pour se repérer, je conseille de sauver dans un rép tout ce boxon car on va créer pas mal de fichiers
on fait glisser depuis l'explorateur le fichier dalles.shp. ça rajoute une couche avec tous les carré des dalles et leur nom
En général on a be soint que d'une ou deux, on repère donc bien les nom et à nouveau, on le jette depuis l'explorateur des Qgis qui se démerde.ça crée une image en dégradé noir/blanc en ft de l'alti

Bien utile aussi, une couche WMS pour le cadastre. Il va vous falloir le numéro insée de la commune (pas le code postal), pour pierrevert (rien a voir avec cet exemple mais je l'ais sous la main 04152
changez ce N° de commune dans le lien ci dessous

https://inspire.cadastre.gouv.fr/scpc/04152.wms?service=WMS&request=GetCapabilities

On fait donc une nouvelle couche WMS avec cette requète


Il faut dans l'autre aonglet charger les couches de la couche ... pas toutes sont renseignées et pas toutes sont visibles suivant les zoom
Les principales sont les couches Amorces cadastrales et Parcelles, mais ça s'ajoute ou s'enlève à la vollée et il y a parfois des truc interessants donc chargez tout et épurez


 

On créer une couche vecteur qui va servir à se repérer pour le découpe dans la zone
On y repasse le cadastre ou une maison enfin un truc qu'on peut retrouver sur autocad car on va l'exporter en DXF ça va nous servir à nous caller

Découpe de l'image pour N'extraire que la zone proche de la parcelle (c'est détaillé un peu plus bas mais c'est simple)
Menu Raster/Extraction/Découper suivant une emprise
Il faut tailler dans l'image N.B. la zone nont on a besoin
Cette couche créee n'a pas la bonne projection... Si un demande un zomm sur la couche on est en Allemagne... (?)
on y change le SCR pour revenir au EPSG2154 compatible avec l'OPEN MAP et ça la replace sur notre emplacement
Menu Raster/Convertion/convertir On choisi un nom de fichier et une extention .xyz
puis on peu passer au chapitre notepad++

Dans Qgis

Quand on charge le fichier zip BdAlti, on se retrouve avec une multitude de cartes et il est pas forcément facile de savoir la quelle correspond à notre secteur. On va travailler sur Colmars, un petit coup de Géoshearch histoire d'y afficher un point. On place le curseur en haut à gauche de la tuile qui nous intéresse, et voila le mystère de la numérotation étrange des fichiers .asc résolue.
1) vérifier qu'on est bien en Lambert 93
2) on met le cursseur en haut à droite du carré duquel on va extraire un morceau
3) on lit les coordonnées du curseur
4) Colmars est sur la carte BDALTIr_2-0_MNT_EXT_0975_6375_LAMB93....... on peu le vérifier en l'éteignant provisoirement.

 

On peu se servir de l'outil distance pour déterminer la taille de la fenêtre de capture à faire, puis on choisi l'outil de découpe dans le menu: Raster/Extraction/Découper .

1) on vérifie bien le nom du raster dont on veux extraire un morceau
2) on donne un nom de fichier de sortie, en bas de la boite de dialogue accessible via sélectionner on va choisir le type .XYZ parmi plus d'une soixantaine de type disponible. Ici le fichier que j'ai sorti
3) avec le crayon on dessine une emprise qui colle à peut près avec nos 2000m x 6000m pour environ 9000 pts
Quand on clique OK on est invité à renseigner une projection et le fichier se retrouve sur le disque. pour aler sur autocad on va devoir passer par le Notepad++ pour modifier le fichier texte.
On peu aussi sauver en .asc et rentrer ce fichier dans Grass comme on l'a vu dans ce TP en changeant son entête.
Comme quoi ceslogiciels (Qgis Grass et Autocad) demandent quand même quelques manipulations pour etre compatibles.

 

 

Dans notepad++

voila un exemple de la 1er ligne du fichier XYZ sorti de Qgis.

985950 6351375 1751.6700439453125

Et voila la ligne type qu'on cherche à obtenir pour être digeste dans Autocad

_point 987675,6351375,2209.61

dans l'ordre on va simplifier à 2 chiffres après la virgule notre liste; insérer des "," comme séparatif ; et insérer "_point" en début de ligne.

Notepad++ utilise une syntaxe pour les expressions régulières normalisée. Cette syntaxe est vraiment bizarre, mais devrait etre utilisable sur la plus part des éditeurs de texte qui ont cette fonctionnalité (en gros tous les éditeurs pour coder de la programmation) c'est le cas de Geany sous linux et de Notepad++ sous windows les 2éditeurs de texte que je préconise. Plus d' explications ici sur les REGEX

On ouvre donc le fichier XYZ dans le notepad++ ou Geany puis appuyez simultanément sur CTRL et H pour ouvrir la fenetre du Cherchez/remplacer (ou dans le menu edition )

Simplifier à 2 chiffre après la virgule:

   
Cherchez Remplacer  
([0-9]+[.,][0-9][0-9])[0-9]+ \1  

insérer des "," comme séparatif

   
Cherchez Remplacer  
espace (pas taper "espace" hein ? mais le caractère espace) ,  

insérer "_point" en début de ligne pour en faire un script autocad qui pose des pts

   
Cherchez Remplacer  
^(.) _point \1  

Dans un autre test que j'ai fait, des pts sortent en z=-99999
idem un petit rechercher / remplacer par 0 . On virera ces pts sur autocad,
Je touche mes limites de manip en expression réguliaire..je ne sais pas supprimer de ligne en ft d'un critère

Voila!! ça roule enregistrez le fichier avec l'extension .scr

Les pts à -99999, c'est pas à tout les coup.je crois c'est quand on sélectionne sur une zone sans image de fond.
J'ai donc fait une macro pour Notepad++ avec les autres commandes jusqu'au _point.
Rentrer une macro dans notepad++ c'est pas super évident, et vous pouver tout aussi bien faire l'enregistrement une fois et la sauver mais pour les courageux la manip est ici et le Xml est à changer ici. C:\Users\ ** utilisateur ** \AppData\Roaming\Notepad++
Ce fichier shortcuts.xml est le fichier ou sont engrgistrés raccorcis clavier et macro, seulle ma partie macro est à remplacer ou remplacer tout le fichier si vous n'avez pas de raccorcis (pour ma V7.5.1 ça passe crème sur tous mes postes)

 

 

 

 

Dans Autocad

Un script c'est quoi?
en fait un script c'est une suite de commande telle qu'on pourrait les taper à la ligne de commande car dans Autocad tout ou quasiment tout peut etre appeler par ce moyen.

Pour rentrer un script dans Autocad, c'est pas sorcier on tape SCRIPT sur la ligne de commande, un boite de dialogue vous invite à choisir le fichier.

Voila le résultat, j'ai déplié avec F2 la fenêtre qui recense ce qui passe par la ligne de commande pour faire voir la suite des appels de _point.

Pas très fun? passons en pers

ha!!!

Netload

DelaunayTriangulation_19.dll est un programme écrit en .NET par Gilles Chanteau ce membre émérite du site CadXp à pondu cette merveille suite à un post sur le forum. Dans le zip il y a les dll pour différentes version d'Autocad voir le fichier texte pour voir quelle version vous conviens. La 2014 marche avec DelaunayTriangulation_19.dll. Pour le charger, on tape NETLOAD et on va le chercher...

Ce qui est top avec la 2014, c'est que les 1eres lettres tapées à la ligne de commande liste tout ce qui commence par ces lettres. Donc j'entre MNT et che coisi mon option je fait espace pour prendre tous les points voila !!!

 

lien vers cadXP