Générer points 3D depuis croix 2D et textes d'altitude dans AutoCAD/Covadis

Comment générer des points topographiques 3D (type ‹ tcpoint › Covadis) à partir d’un plan AutoCAD contenant des croix 2D (polylignes/lignes à Z=0) et des textes d’altitude associés (MTEXT/TEXT à Z=0), afin d’obtenir des points avec la bonne coordonnée Z ?

La situation où un plan de nivellement est fourni avec des croix 2D (lignes ou polylignes à Z=0) et des textes d’altitude également à Z=0 est malheureusement fréquente et témoigne d’une mauvaise pratique de livraison de données. L’objectif est de reconstituer des points topographiques 3D précis à l’intersection des croix, avec l’altitude correcte.

Voici plusieurs méthodes, de la plus efficace (si vous disposez de Covadis) à des alternatives plus manuelles ou programmatiques :

1. Méthode recommandée (avec Covadis - la plus efficace)

Cette procédure, validée par l’utilisateur, utilise les outils de topologie de Covadis pour identifier précisément les intersections des croix et y associer les altitudes.

  1. Préparation des lignes : Assurez-vous que les croix sont composées de lignes ou polylignes. Si elles sont des blocs, décomposez-les (EXPLODE).
  2. Immatriculation temporaire des sommets :
    • Lancez la commande Covadis Immatriculer les points.
    • Sélectionnez toutes les lignes formant les croix.
    • Créez un nouveau calque temporaire pour ces points (ex: TEMP_POINTS).
    • Cette étape va créer 4 points par croix (aux extrémités des lignes).
  3. Optimisation topologique des lignes :
    • Accédez à Covadis 2D > Topologie-Polygone > Optimisation topologie.
    • Sélectionnez le calque des lignes originales des croix.
    • Cette commande va couper les lignes précisément à leurs intersections, créant ainsi des sommets exacts au centre des croix.
  4. Immatriculation définitive des intersections :
    • Relancez la commande Immatriculer les points.
    • Sélectionnez à nouveau toutes les lignes des croix (maintenant coupées aux intersections).
    • Définissez un calque définitif pour vos points (ex: POINTS_ALTITUDE).
    • Crucial : Dans les options d’immatriculation, cochez l’option pour ne pas immatriculer les sommets déjà immatriculés et définissez une distance de recherche très faible (ex: 0.01m). Cela garantira que seuls les nouveaux sommets (les intersections) sont créés comme points.
  5. Nettoyage : Supprimez le calque TEMP_POINTS.
  6. Préparation des textes d’altitude : Si les altitudes sont des MTEXTs, décomposez-les en TEXT (EXPLODE ou TXTDEMULT si disponible).
  7. Affectation des altitudes :
    • Utilisez la commande Covadis > Edition > Affecte Z selon texte.
    • Sélectionnez les points créés sur le calque POINTS_ALTITUDE et les textes d’altitude correspondants.
    • Covadis attribuera la valeur du texte comme coordonnée Z au point le plus proche.

2. Méthode semi-manuelle (avec Excel et Covadis)

Cette méthode est plus laborieuse mais peut être utile si la méthode topologique ne convient pas ou si vous préférez un contrôle plus granulaire.

  1. Décomposition des entités : Décomposez toutes les polylignes des croix en lignes simples (EXPLODE).
  2. Précision des unités : Dans AutoCAD, ajustez la précision des unités (commande UNITS) à au moins 3 décimales pour une meilleure exactitude.
  3. Extraction des coordonnées :
    • Utilisez la commande DATAEXTRACTION d’AutoCAD pour exporter les coordonnées de départ et de fin (X, Y) de toutes les lignes des croix vers un fichier Excel.
    • Alternativement, vous pouvez utiliser un LISP pour extraire ces données.
  4. Calcul des points d’intersection dans Excel :
    • Dans Excel, pour chaque paire de lignes formant une croix, calculez le point d’intersection. Si les lignes sont parfaitement croisées, la moyenne des coordonnées de départ et de fin de chaque ligne peut donner une approximation du centre. Pour une précision parfaite, il faudrait calculer l’intersection géométrique des deux segments.
    • Copiez les coordonnées (X, Y) des points d’intersection calculés dans une nouvelle colonne.
  5. Importation des points dans AutoCAD : Importez ce nouveau fichier Excel dans AutoCAD comme un semis de points (Covadis > Topographie > Semis de points > Chargement de semis).
  6. Nettoyage des points : Utilisez Covadis > Edition > Supprimer les points doubles pour éliminer les doublons éventuels.
  7. Préparation et affectation des altitudes : Comme pour la méthode 1, décomposez les MTEXTs en TEXT et utilisez Covadis > Edition > Affecte Z selon texte pour attribuer les altitudes.

3. Méthode programmatique (LISP)

Un script LISP peut automatiser une partie du processus, notamment la détection des intersections et l’association des altitudes. L’exemple fourni dans la discussion (bonuscad) est un bon point de départ, mais nécessite une adaptation à votre contexte (noms de calques, tolérances, etc.).

  1. Chargement du LISP : Chargez le fichier LISP (.lsp) via la commande APPLOAD.
  2. Décomposition des MTEXTs : Le LISP nécessite que les textes d’altitude soient des entités TEXT et non MTEXT. Décomposez-les au préalable (EXPLODE).
  3. Exécution : Lancez la commande définie dans le LISP (souvent C:NOM_DE_LA_COMMANDE, ici C:DEMO).
  4. Vérification et adaptation : Assurez-vous que les noms de calques (AS_nivellement dans l’exemple) et les tolérances de recherche de texte dans le code LISP correspondent à votre dessin.

Bonne pratique : Pour l’avenir, exigez toujours des livrables de données topographiques sous forme de points AutoCAD 3D (avec Z correct) ou de blocs avec attributs d’altitude, ou un fichier de points (TXT, CSV) avec coordonnées XYZ. Cela évitera ce type de manipulation complexe et chronophage.