#1 Wed 13 May 2009 16:15
- was
- Juste Inscrit !
- Date d'inscription: 6 Mar 2009
- Messages: 6
Autocad Map 2009 - erreur conversion datum
Bonjour à tous,
nous avons commandé des levés topo que nous avons reçu en Lambert 93 CC43 dernièrement.
je travaille avec Autocad Map, et je souhaite les convertir en Lambert 3 (travail en interne),
néanmoins lors de la conversion (lancement de la requête finale) un message me dit ;
"Impossible de transformer l'objet"
Détail du message "HATCH descripteur 27B, Impossible de convertir datum. HATCH descripteur 279, Impossible de convertir datum. INSERT (RE) descripteur 194. Impossible de convertir datum".
j'ai rencontré cette erreur que pour la conversion de ce plan topo, les autres conversion de projection ont très bien fonctionnées.
est-ce le plan topo reçu qui est incomplet, est-ce le prestataire qui a une version différente de logiciel topo ?
si quelqu'un a déjà rencontré ce problème.
merci
Hors ligne
#2 Wed 13 May 2009 16:51
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4792
Re: Autocad Map 2009 - erreur conversion datum
Hello
Non ! Ce probleme n'est pas specifique aux conversions de/vers RGF93 avec MAP 2009 (ou CIVIL 2009), j'ai deja eu ce genre de probleme avec des MAP anciens pour des conversions Lambert classiques : L1, L2, L3, L4, LET
Dans certains cas, MAP n'arrive pas a re-projeter certaines entites graphiques !
et souvent il te donne le descripteur (ou code de maintien ou Code Handle) qui est un identifiant unique en hexadecimal d'un objet dans la base de donnees du dessin qui commence avec une valeur proche de 00h et qui peut aller jusqu'a 0FFFFFFFFh
Ton message semble indiquer 1 et/ou 2 code(s) de Handle qui posent probleme : 27Bh et/ou 194h
Donc il faut faire un Zoom avec le dessin original sur ce(s) entite(s) graphique(s) avec le(s) code(s) de Handle !
et pour ca, un bon petit programme Lisp est indispensable !! Encore merci a Gilles comme d'habitude !!!
Ce programme Lisp/V-Lisp se charge par : Outils / Charger application (Type de Fichier = LSP)
Commande au clavier : ZH
Code:
;; ;; ZH par GC ;; Sélectionne les objets présents dans l'espace courant d'après leurs "handle" ;; (defun c:zh (/ space ss obj hlst olst kw i l) (vl-load-com) (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument (vlax-get-acad-object))) ) (setq space (vla-get-Block (vla-get-ActiveLayout *acdoc*)) ss (ssadd) ) (sssetfirst nil nil) (initget 1) (setq hlst (getstring "\nEntrez les handles à sélectionner séparés par des virgules: " ) hlst (str2lst hlst ",") ) (foreach h hlst (if (and (not (vl-catch-all-error-p (setq obj (vl-catch-all-apply 'vla-HandleToObject (list *acdoc* h) ) ) ) ) (equal (vla-ObjectIdToObject *acdoc* (vla-get-OwnerId obj)) space ) ) (progn (setq olst (cons obj olst)) (ssadd (vlax-vla-object->ename obj) ss) ) ) ) (if ss (progn (sssetfirst nil nil) (sssetfirst nil ss) (setq i -1 l (length olst) ) (while (and (not (initget "Suivant Précédent Tous")) (or (setq kw (getkword "Zoom sur [Suivant/Précédent/Tous] <S>: ") ) (setq kw "Suivant") ) ) (if (= kw "Suivant") (setq i (rem (1+ i) l)) (setq i (if (minusp (1- i)) (1- l) (1- i) ) ) ) (if (= kw "Tous") (ZoomObject olst) (ZoomObject (list (nth i olst))) ) ) ) ) (princ) ) ;; ZoomObject Effectue un zoom sur les objets contenus dans la liste ;; ;; Argument ;; objlst : une liste de vla-object ;; ;; Variables ;; dir : normale du plan de la vue courante ;; ang : angle de la vue courante ;; 3x3 : matrice de transformation du SCG vers la vue courante (dimension 3) ;; 4x4 : matrice de transformation du SCG vers la vue courante (dimension 4) ;; ptlst : liste des points minimum et maximum des bounding-boxes des objets sélectionnés (SCG) (defun ZoomObject (objlst / dir ang 3x3 4x4 ptlst) (vl-load-com) (setq dir (trans '(0 0 1) 2 0 T) ang (- (getvar "viewtwist")) 3x3 (mxm (mapcar '(lambda (x) (trans x 0 dir)) '((1 0 0) (0 1 0) (0 0 1)) ) (list (list (cos ang) (- (sin ang)) 0) (list (sin ang) (cos ang) 0) '(0 0 1) ) ) 4x4 (append (mapcar '(lambda (v o) (append v (list o)) ) 3x3 '(0 0 0) ) (list '(0 0 0 1)) ) ) (foreach obj objlst (vla-TransformBy obj (vlax-tmatrix (trp 4x4))) (vla-getBoundingBox obj 'minpt 'maxpt) (vla-TransformBy obj (vlax-tmatrix 4x4)) (setq ptlst (cons (vlax-safearray->list minpt) (cons (vlax-safearray->list maxpt) ptlst) ) ) ) (vla-ZoomWindow (vlax-get-acad-object) (vlax-3d-point (mxv 3x3 (apply 'mapcar (cons 'min ptlst)))) (vlax-3d-point (mxv 3x3 (apply 'mapcar (cons 'max ptlst)))) ) ) ;; str2lst ;; Transforme un chaine avec séparateur en liste de chaines ;; ;; Arguments ;; str : la chaine à transformer en liste ;; sep : le séparateur (defun str2lst (str sep / pos) (if (setq pos (vl-string-search sep str)) (cons (substr str 1 pos) (str2lst (substr str (+ (strlen sep) pos 1)) sep) ) (list str) ) ) ;; transpose une matrice Doug Wilson (defun trp (m) (apply 'mapcar (cons 'list m)) ) ;; Apply a transformation matrix to a vector by Vladimir Nesterovsky (defun mxv (m v) (mapcar '(lambda (r) (apply '+ (mapcar '* r v))) m) ) ;; Multiply two matrices by Vladimir Nesterovsky (defun mxm (m q) (mapcar '(lambda (r) (mxv (trp q) r)) m) )
GeoBye, Pat
PS1: Ce programme te permet de passer un ou N code(s) de Handle separe(s) par une virgule.
PS2: C souvent les hachures qui posent probleme et dans ce cas,
la perte de quelques hachures n'a que peu d'importance !?
(Autodesk Expert Elite Team)
Hors ligne
#3 Wed 13 May 2009 17:43
- was
- Juste Inscrit !
- Date d'inscription: 6 Mar 2009
- Messages: 6
Re: Autocad Map 2009 - erreur conversion datum
Merci pour ton message,
c'est ce qui me semblait le problème est lié au fichier et non à la conversion, je te remercie pour ta confirmation,
par contre ça s'oriente plutôt programmation (et c'est pas mon fort..),
comment retrouver ces codes handle qui posent pb ? tu parles d'un programme Lisp/V-Lisp à charger, c'est le code que tu m'as transmis à enregistrer dans un éditeur de texte au format .LSP et ensuite je le charge? Comment le configurer (programmation en vba) ?
si tu as des ressources à ce sujet ça m'intéresse (on sera souvent amener à travailler avec les géomètres qui ont réalisés ces plan topos).
Hors ligne
#4 Wed 13 May 2009 17:48
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4792
Re: Autocad Map 2009 - erreur conversion datum
Hello
Tu as le programme Lisp en telechargement ! (Modification de ma reponse initiale realisee apres coup ! Sorry)
Donc c simple, je me repete :
Ce programme Lisp/V-Lisp se charge par : Outils / Charger application (Type de Fichier = LSP)
Commande au clavier : ZH
GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#5 Wed 13 May 2009 17:58
- was
- Juste Inscrit !
- Date d'inscription: 6 Mar 2009
- Messages: 6
Re: Autocad Map 2009 - erreur conversion datum
Merci,
je vais tester ça sur le champs
Hors ligne