moko Posté(e) le 8 décembre 2014 Posté(e) le 8 décembre 2014 Bonjour, Je cherche à transformer des lignes avec code attributaire (ligne + attribut qui sortent de mon gps)en point avec les mêmes attributs.Certes la commande listing (dans Cov_2D--> listing) pourrait en partie fonctionner mais il faut transformer la ligne en polyligne et puis je n'arrive pas à transférer mes codes attributaires de la ligne sur mes points topo (bloc, X,Y,Z + code).Quelqu'un connait-il une méthode, un lisp ou une technique sous covadis ?Merci.moko.
thierry.garré Posté(e) le 8 décembre 2014 Posté(e) le 8 décembre 2014 Le mieux serait de mettre en ligne un exemple de fichier. Cordialement Thierry Garré Géorail-Covadis-Autopiste-Autocad-Autocad Map-Infraworks 360- Navisworks -Recap
moko Posté(e) le 8 décembre 2014 Auteur Posté(e) le 8 décembre 2014 En effet voici une impression d'écran, Il s'agit d'une ligne avec un code attrubutaire (ici STRUCTURE) plus 4 champs dont un NUMERO et un TYPE (de Structure).Je souhaite "simplement" transformer ou exporter mes points d'extrémité de ligne en point X,Y,Z + (code (TYPE+NUMERO) pour n'avoir au final qu'un fichier de point (sous format txt ou dwg).
thierry.garré Posté(e) le 8 décembre 2014 Posté(e) le 8 décembre 2014 Ta capture d'écran est invisible... Thierry Garré Géorail-Covadis-Autopiste-Autocad-Autocad Map-Infraworks 360- Navisworks -Recap
moko Posté(e) le 8 décembre 2014 Auteur Posté(e) le 8 décembre 2014 Ta capture d'écran est invisible... Pardon c'est corrigéet voici un exemple de fichier LIGNE_EN_POINT.zip
thierry.garré Posté(e) le 8 décembre 2014 Posté(e) le 8 décembre 2014 Oui en fait tu as des données d'objet sur ta ligne. La réponse passe alors plus par les fonctionnalités de Map. Malheureusement mes compétences en la matière s’arrête ici. cordialement Thierry Garré Géorail-Covadis-Autopiste-Autocad-Autocad Map-Infraworks 360- Navisworks -Recap
moko Posté(e) le 8 décembre 2014 Auteur Posté(e) le 8 décembre 2014 Ok je vais voir avec Map alors.Merci.
bonuscad Posté(e) le 8 décembre 2014 Posté(e) le 8 décembre 2014 Bonjour, C'est un truc comme cela que tu désire faire? (defun c:moko ( / js_line ent dxf_ent tbldef lst_data) (princ "\nSélectionner les lignes.") (setq js_line (ssget '((0 . "LINE") (100 . "AcDbEntity") (100 . "AcDbLine")))) (cond (js_line (repeat (setq n (sslength js_line)) (setq ent (ssname js_line (setq n (1- n))) dxf_ent (entget ent) tbldef nil lst_data nil ) (cond ((ade_odgettables ent) (foreach el (ade_odgettables ent) (setq tbldef (ade_odtabledefn el)) (setq lst_data (cons (mapcar '(lambda (fld) (cons el (cons fld (ade_odgetfield ent el fld 0)))) (mapcar 'cdar (cdr (nth 2 tbldef)))) lst_data)) (entmake (list '(0 . "POINT") '(100 . "AcDbEntity") '(67 . 0) '(410 . "Model") (assoc 8 dxf_ent) '(100 . "AcDbPoint") (assoc 10 dxf_ent) '(210 0.0 0.0 1.0) ) ) (setq nwent (entlast)) (foreach el (ade_odgettables ent) (ade_odaddrecord nwent el) (mapcar '(lambda (x) (foreach data x (cond ((/= (cadr data) "FeatId") (ade_odsetfield nwent (car data) (cadr data) 0 (cddr data)))))) lst_data) ) (entmake (list '(0 . "POINT") '(100 . "AcDbEntity") '(67 . 0) '(410 . "Model") (assoc 8 dxf_ent) '(100 . "AcDbPoint") (cons 10 (cdr (assoc 11 dxf_ent))) '(210 0.0 0.0 1.0) ) ) (setq nwent (entlast)) (foreach el (ade_odgettables ent) (ade_odaddrecord nwent el) (mapcar '(lambda (x) (foreach data x (cond ((/= (cadr data) "FeatId") (ade_odsetfield nwent (car data) (cadr data) 0 (cddr data)))))) lst_data) ) ) ) ) ) ) ) (prin1) ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
bonuscad Posté(e) le 10 décembre 2014 Posté(e) le 10 décembre 2014 Bon moko a disparu!... Mais j'en profite pour étendre le sujet. Dans son exemple, il y a des FeatID, je ne les ai pas restitué sur les points, mais ils ont pris la valeur par défaut (c'est à dire zéro). Je me demande si cette démarche n'est pas source d'ennuis, car d'après ce que j'ai compris ce FeatID est un peu comme le Handle d'une entité; c'est à dire unique. Quel est le rique? Y a t-il une procédure pour corriger cela? (par programmation ou autre) On trouve très peu d'exemple de développement en lisp pour Map sur le net. J'ai du mal a progresser dans le domaine et voir toutes les possibilités. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant