vindaro Posté(e) le 27 octobre 2010 Posté(e) le 27 octobre 2010 Bonjour tout le monde, voilà je suis devant un problème: j'ai actuellement un fichier composé d'environ 3000 blocs qui représente des courbes de niveaux et qui possèdent un attribut (Zone_genca) correspondant à l'altitude. Mon objectif (si cela est possible) c'est de transformer ces blocs en polylignes 3D ayant l'altitude correspondant à l'attribut Zone_genca... Est ce que quelqu'un a une idée sur la méthode à employer? Merci d'avance pour vos réponses. NB: sinon, longue vie à ce forum il m'apporte régulièrement une aide vraiment précieuse.
lecrabe Posté(e) le 27 octobre 2010 Posté(e) le 27 octobre 2010 Hello Ton bloc represente "graphiquement" une courbe de niveau ? et CE n fois ? ou bien c simplement un bloc "quelconque" avec un attribut qui contient l'altitude Z ? Le bloc lui meme est insere a l'altitude Z voulue ou bien a l'altitude Z = ZERO ? Le Decapode Autodesk Expert Elite Team
lili2006 Posté(e) le 27 octobre 2010 Posté(e) le 27 octobre 2010 Bonjour à toutes et tous, 3000 blocs qui représente des courbes de niveaux et qui possèdent un attribut (Zone_genca) correspondant à l'altitude. Généré avec quel logiciel ? Surement pas covadis,...Car on peut choisir une construction de ces CN avec polyligne qui prend l'élévation correspondante au texte (et non un attribut) après cotation de la CN. Vu la vitesse ou ça se fait, si tu as covadis, je pense qu'il est aussi rapide de le refaire,... Sinon, tu as aussi cov3D => Gestion des polys 3D => Affecter des Z et/ ou déplacer en Z selon le besoin Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
vindaro Posté(e) le 27 octobre 2010 Auteur Posté(e) le 27 octobre 2010 c'est vraiment super sympa de votre part de répondre aussi rapidement... Pour répondre à "lecrabe": Effectivement, les blocs représentent graphiquement des courbes de niveaux. Un bloc possède un attribut contenant l' altitude mais une altitude peut être représenter par plusieurs blocs.Le bloc est situé à une altitude Z=0 et non à l'altitude représenté par l'attribut Zone_genca.. J'espère que je suis assez claire... Pour répondre à "lili2006":on m'a donné ce fichier .dxf qui est issu apparemment d'un export du logiciel "ArcMap" mais je n'en suis pas sûr...Effectivement j'ai Covadis mais je ne me vois pas trop refaire mes 3000 blocs en polyligne 3D à la bonne altitude car l'objectif finale c'est de réaliser un profil en long utilisant ces courbes de niveaux.... Encore merci pour vos réponses....
lili2006 Posté(e) le 27 octobre 2010 Posté(e) le 27 octobre 2010 Re, l'objectif finale c'est de réaliser un profil en long utilisant ces courbes de niveaux.... Alors, préfères faire le MNT,... Si les polys sont des blocs exploses les avant puis => Tu peux aussi essayer cov édition => Polyligne => Polyligne 2D => 3D Avec le moduleCov3D => PL par poly 3D, tu peux t'appuyer directement sur les points topos (si tu en as !!) pour construire un PLou PT Ou encore Cov3D => Construction 3D => PL (et/ou PT) par pts Peux-tu mettre un extrait de ton fichier en ligne pour voir STP ? Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
vindaro Posté(e) le 27 octobre 2010 Auteur Posté(e) le 27 octobre 2010 je te l'envoie dès demain matin... Le pb c'est que si j'explose mes blocs je perds mon attribut m'indiquant l'altitude... effectivement je n'ai pas de point topo mais je pensais faire un profil en long en créant une polyligne 3D représentant mon axe et croisant chacune des courbes de niveaux aux différentes altitudes et ensuite immatriculé cet axe et enfin en dessiner un profil... L'idéal est plutôt le MNT mais peut-on en réaliser un à partir de courbes de niveaux ou de polyligne 3D (encore faut-il que j'arrive à transformer ces blocs en 1 de ces 2 éléments)? Bonne soirée et merci encore...
lili2006 Posté(e) le 27 octobre 2010 Posté(e) le 27 octobre 2010 Re, Le pb c'est que si j'explose mes blocs je perds mon attribut m'indiquant l'altitude... Tu peux ensuite passer par cov.Edition => Points topo => affecte Z selon texte (si ton attribut décomposé se transforme en texte,...) en long en créant une polyligne 3D Une poly 2d peut suffire si tu as un MNT (Module Projet linéaire par exemple,..) mais peut-on en réaliser un à partir de courbes de niveaux ou de polyligne 3D Oui depuis Cov3D => MNT Objet => Polyligne 2D/3D => MNT (Jamais eu l'occasion de tester,..) Il y a peut-être encore d'autres solutions mais ce sont celles qui me viennent comme ça spontanémen ! On y verra plus clair depuis un extrait de ton fichier. Je pense que l'on peut aussi créer des pts topos depuis les courbes de niveaux afin d'avoir un PL plus fidèle encore, mais là aussi, il faut tester sur ton fichier. Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
vindaro Posté(e) le 28 octobre 2010 Auteur Posté(e) le 28 octobre 2010 Bonjour Je vous ai envoyé le fichier (je ne sais pas si ça a fonctionné) et en fait mon attribut n'apparait que dans les propriétés du bloc mais pas comme un format texte.... Pour le MNT j'avais cru voir dans un bouquin de géomédia qu'en ne sélectionnant que des lignes de rupture (et non des pts topo) on pouvait réaliser une MNT (à vérifier) mais avant cela il faut que j'arrive à trasformer ces blocs en polyligne à la bonne altitude... Merci d'avance pour vos recherches...
_christian_ Posté(e) le 28 octobre 2010 Posté(e) le 28 octobre 2010 Bonjour Vindaro Sauf erreur de ma part, je pense que tu ne nous as pas donné le lien de téléchargement. A+ Autocad Map 3D 2018Covadis Autopiste version 17.0eMensura Génius V8
onizuka Posté(e) le 28 octobre 2010 Posté(e) le 28 octobre 2010 Salut, Le pb c'est que si j'explose mes blocs je perds mon attribut m'indiquant l'altitude... Il me semble que la fonction _BURST permet d'exploser un bloc avec attribut tout en conservant la valeur de l'attribut en tant que texte Si ça peut aider...
lecrabe Posté(e) le 28 octobre 2010 Posté(e) le 28 octobre 2010 Hello Il faudrait monter le bloc a l'altitude Z du matricule (Attribut) avant d'exploser ou mieux de faire un BURST ! :) Car si j'ai bien compris, tous les blocs sont au niveau Z = ZERO ! :o Le Decapode Autodesk Expert Elite Team
vindaro Posté(e) le 28 octobre 2010 Auteur Posté(e) le 28 octobre 2010 Désolé pour le lien le voici: http://file.ahst.fr/get.php?id=4cc961b856968 Quand je tape la commande "BURST" elle n'est pas reconnue par autocad-covadis.... et effectivement les blocs sont au niveau 0 et non au niveau de la valeur de l'attribut Zone_genca... Merci pour votre aide NB: le fichier vient du logiciel Mapinfo et ma collègue l'a exporté en .dxf (en validant toutes les options)...
onizuka Posté(e) le 28 octobre 2010 Posté(e) le 28 octobre 2010 essaies avec _BURST (le underscore est indispensable il me semble)
lecrabe Posté(e) le 28 octobre 2010 Posté(e) le 28 octobre 2010 Hello Pour mettre tes blocs a la bonne altitude Z provenant de ton attribut, il te faut une "petite" routine Lisp/VLisp ! :) Et dans ce domaine Gilles (comme qq autres "Developpeurs fous de ce forum) a developpe depuis longtempsce ce qu'il te faut ! :D Et apres un BURST / _BURST et/ou EXPLODE devrait faire l'affaire ... :P Merci Gilles, Le Decapode ;; Par GC le 13/03/2008 ;; Commande : BLOC-ALT ;; Mettre les blocs a l altitude d un attribut (vl-load-com) (defun c:bloc-alt (/ att elst blk tag ss n ins) (if (and (setq att (car (nentsel "\nSelectionnez l attribut \"altitude\": "))) (setq elst (entget att)) (= (cdr (assoc 0 elst)) "ATTRIB") (setq blk (cdr (assoc 330 elst))) (setq name (cdr (assoc 2 (entget blk)))) (setq tag (cdr (assoc 2 elst))) (setq ss (ssget "_X" (list '(0 . "INSERT") (assoc 2 (entget blk))))) (setq n -1) ) (progn (while (setq blk (ssname ss (setq n (1+ n)))) (setq elst (entget blk) ins (cdr (assoc 10 elst)) att (entnext blk) ) (while (and att (= (cdr (assoc 0 (entget att))) "ATTRIB")) (if (= (cdr (assoc 2 (entget att))) tag) (entmod (subst (list 10 (car ins) (cadr ins) (atof (cdr (assoc 1 (entget att)))) ) (assoc 10 elst) elst ) ) ) (setq att (entnext att)) ) ) (vl-cmdf "_.attsync" "_n" name) ) ) (princ) ) Autodesk Expert Elite Team
didier Posté(e) le 28 octobre 2010 Posté(e) le 28 octobre 2010 Coucou un truc vite fait, à l'arrache sans contrôlesmais qui fonctionne dans ton dessin (setq jeusel (ssget)) (setq n 0) (repeat (sslength jeusel) (setq ent (ssname jeusel n)) (command "_move" ent "" '(0 0 0) (list 0 0 (atof (cdr(assoc 1 (entget (entnext(entnext ent)))))))) (setq n (+ 1 n)) ) amicalement ps: message édité pour corriger le type des nombresmaintenant il ne transforme plus les valeurs attributaires en "entiers"mais en "réels" amicalement [Edité le 28/10/2010 par didier] Éternel débutant... Mon site perso : Programmer dans AutoCAD
vindaro Posté(e) le 28 octobre 2010 Auteur Posté(e) le 28 octobre 2010 Merci c'est vraiment super sympa pour vos prg... j'ai trouvé pour la commande "_BURST" il s'agit d'une commande exprestools que je n'avais pas chargé... Je n'arrive pas à faire fonctionner la LISP de Gilles il ne la reconnait pas alors que lorsque je lance celle de Didier elle fonctionne... Le souci avec celle de Didier elle fonctionne super bien sauf qu'il m'arrondi la valeur de l'attribut à l'unité:ex: si j'ai un bloc avec l'attribut Zone_genca=137.5 lorsque je lance la LISP je me retrouve avec une polyligne ayant une élévation de 137.00 comment peut-on modifier ce petit défaut? est ce un paramètre du prg ou d'autocad? encore merci
didier Posté(e) le 28 octobre 2010 Posté(e) le 28 octobre 2010 coucou bien sûr j'ai travaillé avec des "entiers"je corrige le code dans le message précédent amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
SupportCova Posté(e) le 28 octobre 2010 Posté(e) le 28 octobre 2010 Bonsoir, avec un AutoCAD MAP, on peut associer le dessin, puis une petite requête avec modification de la propriété élévation pour la remplir avec le contenu de l'attribut Zone_genca , puis décomposer et le tour est joué Ci-joint fichier obtenu par cette méthode. http://file.ahst.fr/get.php?id=4cc9cf7a3fa9e Olivier Support Technique Covadis
lecrabe Posté(e) le 29 octobre 2010 Posté(e) le 29 octobre 2010 Hello Desole mais la routine "BLOC-ALT.lsp" de Gilles marche Nickel-Chrome sur MAP 2006 et MAP 2011 - Donc mystere ! :exclam: Le Decapode Autodesk Expert Elite Team
vindaro Posté(e) le 29 octobre 2010 Auteur Posté(e) le 29 octobre 2010 je ne sais si cela peut expliquer la raison mais j'utilise juste Autocad 2008... Il faudrait que j'essaie sur une autre version d'autocad j'avais déja eu le souci sur un prg avec une version différente... Toujours en est-il que je voulais remercier tout le monde pour leurs réponses et que la Lisp donné par Didier a fonctionné pour moi... Le pc a un peu souffert pour calculer la MNT vu le nombre: je l'ai réalisé en 2 phases d'abord le calcul des faces et ensuite dessin des triangles.... Donc encore MERCI A VOUS TOUS et comme dirait un certain Lafesse "Pourvu qu'ca dure!"
pbrion Posté(e) le 29 octobre 2010 Posté(e) le 29 octobre 2010 A noter qu'il n'est pas nécessaire d'avoir un MNT pour calculer des profils. La commande "Création par intersection" du menu "Profils en travers par polylignes 3D" (Covadis 3D) permet de calculer des polylignes 3D interpolées par intersection avec les courbes de niveau.Cette commande nécessite d'avoir un axe et une ou des polygnes de tabulation. Il vaut mieux que ces dernière ne débordent pas de la zone des courbes de niveau.
lili2006 Posté(e) le 29 octobre 2010 Posté(e) le 29 octobre 2010 Bonsoir à toutes et tous, Merci pour l'astuce SupportCova . vindaro , je serai curieux de voir l'allure de ton MNT. :o Le pc a un peu souffert pour calculer la MNT Comment as-tu procédé au final ? Depuis les courbes de niveaux ? Parce que moi, sur un extrait, ça me donne ça => 800x600http://img.ahst.fr/data/images/2010103017.jpg[/img] Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
SupportCova Posté(e) le 1 novembre 2010 Posté(e) le 1 novembre 2010 Bonsoir, quand on crée un MNT à partir des CN c'est la pire des solutions, car tous les sommets ont des cotes rondes et les zones planes sont difficielemtn évitables. C'est pourquoi, il est préférable d'utiliser le MNT Objet de Covadis, en utilisant les CN comme lignes caractéristiques. Ensuite, une fois le MNT généré, on dispose d'une fonction de réduction automatique des zones planes par permutation des faces 3D, ce qui améliore grandement le résultat. Olivier Support Technique Covadis
lili2006 Posté(e) le 2 novembre 2010 Posté(e) le 2 novembre 2010 Bonjour à toutes et tous, Merci pour ces conseils SupportCova , De plus le traitement est quasi immédiat (sur l'extrait joint) et le "rendu" bien meilleur. Par contre, le fichier semble plus lourd. En ce qui concerne le MNT objet, lors de la sélection, mon AutoCAD (V2008), ne reconnait pas le type d'entité ldans les propriétés??!! Pour coter les courbes de niveaux, il faut exploser systématiquement cette entité ? dispose d'une fonction de réduction automatique des zones planes par permutation des faces 3D Je n'ai pas bien saisi l'utilité, peux-tu développer STP ? Merci d'avance, Avec les CN => Fichiers 800x600http://img.ahst.fr/data/images/cn2visuali.jpg[/img] Avec le MNT Objet => Fichiers 800x600http://img.ahst.fr/data/images/cn2visigi.jpg[/img] Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
thierry.garré Posté(e) le 2 novembre 2010 Posté(e) le 2 novembre 2010 En ce qui concerne le MNT objet, lors de la sélection, mon AutoCAD (V2008), ne reconnait pas le type d'entité ldans les propriétés??!! Demarre au moins une fois Autocad en administrateur (clis droit sur l'icone du bureau executer en tant qu'administrateur) apres cela devrait aller mieux. le commande pour réduire les faces horizontales et dans le menu covadis 3d/MNT Objet/outils/reduction faces horizontales (ou quelquechose dans ce gout) cordialement Thierry Garré Géorail-Covadis-Autopiste-Autocad-Autocad Map-Infraworks 360- Navisworks -Recap
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