Aller au contenu

Messages recommandés

Posté(e)

Bonjour Gile Le crabe

 

Lecrabe, tout le monde veut du Helmert ? Pourquoi ?

La transformation d'Helmert permet de conserver les angles et les distances dans le système de départ comme dans le système d'arrivée. Du coup, 10m mesuré sur Autocad dans ton système A sera strictement égal à 10m mesuré entre les mêmes points dans ton système B et non pas 9.9995 ou 9.999999995 mais 10m.

 

Gile, pour le jeu de sélection, quand je fais un ssget de toutes les polylignes 3D par exemple ca ne marche pas , il faut les sélectionner les unes après les autres, du coup comme la commande vla-TransformBy est en vlisp, je pense qu'il faut faire un ssget en vlisp et ca par manque de connaissance en vlisp je ne sais pas faire.

 

En ce qui concerne le programme proprement dit, en voici les étapes

 

1- Choix du système de départ et d'arrivée (RGF93, Lambert2, Lambert III, ....)

2-Sélection des objets à traiter dans le dessin avec un ssget

3-Création d'un fichier appelée SEMIS_INI à l'écriture des données de chaque objet à traiter

4-Extraction des données XYZ de chaque objet (liste des sommets pour les lignes, polylignes 2D et 3D, point d'insertion pour les blocs, les mtexts, les textes, les points)

En gros, création d'un fichier du type NXYZ avec comme séparateur des tabulations

5-Transformation à l'aide de CirceBatch (module de Circe fournit par l'IGN et très utiliés par les géomètres) des coordonnées des points du fichier SEMIS_INI du système A et création d'un fichier SEMIS_FIN avec les coordonnées des points dans le système B (dans le même ordre).

Cette commande est lancé à l'aide d'un fichier annexe .bat qui se trouve dans un dossier spécifier dans le programme du type C:/TEMP/ avec une ligne de code du type

 

 "C:\CirceBatchDosNC\CirceBatch.exe" -init "CirceNC.ini" -mode 1 -type 2 -sys1 535 -sys2 992 -alt 2 021 -typcoor1 3 258 -typcoor2 3 303 -f1 1 "C:\TEMP\SEMIS_COR.txt" -f2 1 "C:\TEMP\SEMIS_FIN.txt"

 

6-Lecture du fichier SEMIS_FIN pour création de la liste des coordonnées dans le système B.

7-Lecture du fichier SEMIS_INI pour création de la liste des coordonnées dans le système A.

 

En ce qui concerne la publication du programme, je peux le faire mais attention il va me falloir de l'aide car j'utilise en Nouvelle Calédonie des systèmes de coordonnées bien particulier et je ne connais pas du tout (ca doit être le même principe normalement ) le fonctionnement de Circe en métropole, on peut essayé de faire quelque chose

il me faudrait utilisé en France, y jeter un oeil et voir.

 

A l'heure actuelle il reste qu'a calculer les écarts entre les coordonnées des points du système B et les coordonnées transformés pour vérifier les écarts en X Y, calculer les emq de chaque facteur de transformation par un calcul matriciel et finaliser la sélection d'objet en vlisp ou autre.

 

J'espère avoir été clair et concis, Pardon pour la longeur du message mais c'est long tout çà à expliquer.

 

Pour la comparaison des écarts, je suis dessus en ce moment mais pour la sélection d'objet je bloque.

 

Autre chose importante à préciser, le but au final est d'avoir un outil gratuit et fiable de transformation de coordonnées pas comme Covadis ou autre Mensura trop cher à mon goût.

 

Amicalement.

John

 

[Edité le 4/3/2010 par chris_mtp]

  • Réponses 56
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Meilleurs contributeurs dans ce sujet

Posté(e)

Salut,

 

Appliquer une matrice de transformation à toutes les entités d'un jeu de sélection est facile :

 

;; SelSetTransformB
;; Applique une matrice de transformation à toutes les entités d'un jeu de sélection
;;
;; Arguments
;; ss : jeu se sélection AutoLISP (tel que retourné par ssget)
;; mat : matrice de transformation 4x4 (liste de 4 sous-listes de 4 réels)
(defun SelSetTransformBy (ss mat / m n e)
 (vl-load-com)
 (setq	m (vlax-tmatrix mat)
n -1
 )
 (while (setq e (ssname ss (setq n (1+ n))))
   (vla-TransformBy (vlax-ename->vla-object e) m)
 )
)

 

le but au final est d'avoir un outil gratuit et fiable de transformation de coordonnées pas comme Covadis ou autre Mensura trop cher à mon goût.

 

Si des logiciel comme Covadis ou Mensura sont chers, c'est parce que des développeurs sont payés pour développer ces logiciels.

Développer un tel outil soulève pour moi quelques questions.

Pourquoi devrais-je concurrencer bénévolement Géomédia ou Géeomensura ?

Si je le fait parce que j'ai du temps vu que je suis au chômage et que je cherche du boulot comme développeur, est-ce que je ne suis pas en train de me tirer un balle dans le pied ?

 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Merci Gile.

 

Je ne vais pas polémiquer mais pour un jeune entrepreneur, ce n'est plus mon cas et ca l'a étais, acheter une licence Covadis revient à du luxe quand même surtout si tu connais faire toi-même les calculs et les contrôles qu'il faut.

Maintenant, c'est sur que le but n'est pas de concurencer Covadis mais de proposer une solution alternative. Par contre, si moi je travaille chez Geomedia ou même Mensura, vu les qualités que tu démontre en programmation dans tes messages, je dirai à mon responsable c'est lui qu'il me faut.

Je veux dire ca va tu gére voir même plus que gère la programmation.

Si un autre exemple, j'aurai à dévellopper une application bien particulière et complexe, je viendrai te voir. Je pense que tu vois Cadxp comme un moyen de te vendre non ??

Voila, j'espère que tu m'as compris et surtout sans mauvaise intention ni mépris...

Je vais me pencher sur le lisp et je reviens te et vous voir.

Merci encore.

John

 

Posté(e)

Bonjour Gile

 

Ta matrice de transformation marche nickel.

Les résidus sur les points calculés sont satisfaisants. J'ai fais plusieurs tests dans plusieurs sysèmes sur plusieurs de mes chantiers,

Maintenant, il ne reste plus qu'à Lecrabe de me donner le lien de téléchargement de Circe en France, de l'adapter à mon programme et puis on publie.

Lecrabe, essaye aussi de me fournir un dwg dans les deux systèmes, système de départ et système d'arrivée pour comparer les résultats obtenues avec le prgm.

Je pense par exemple à une transformation entre le RGF93 et la NTF non ???

 

John et merci encore à Gile pour ces développements.

 

Posté(e)

Gilles si tu cherche du boulot dans ce domaine, j'ai peut etre une piste ,

 

 

envoie moi un message Privé.

 

 

 

 

Par contre pour info pour faire un changement de Projection(Lambert vers RGF ) Covadis (Mensura ne le traite pas a ma conaissance) ce n'est pas une transformation d'Helmert qui est utilisée , mais une transformation à partir d'une Grille.

 

Je ne pense pas que cela soit similaire..........

 

 

Cordialement

Thierry Garré

 

Géorail-Covadis-Autopiste-Autocad-Autocad Map-Infraworks 360- Navisworks -Recap

Posté(e)

Bonjour Thierry,

 

Covadis propose deux modules de transformation, un classique par système de projection et un autre dit recalage par transformation d'Helmert, et appliqué localement, sur une petite zone inférieure à 2km, les résultats sont sensiblement voire très sensiblement similaires inférieur au dmm suffisant bien sur selon la précision demandée, maintenant Covadis reste Covadis c'est sur.....

 

John

 

 

Posté(e)

nous sommes bien d'accord....

 

 

juste je me méfie toujours de l'assimilation d'un changement de projection avec l'application de facteur d'échelle,rotation,déplacement.

 

 

 

donc uniquement sur des petites surfaces...

 

Cordialement

 

Thierry Garré

 

Géorail-Covadis-Autopiste-Autocad-Autocad Map-Infraworks 360- Navisworks -Recap

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é