Aller au contenu

blocs à transformer en 3D suivant attribut


vindaro

Messages recommandés

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.

Lien vers le commentaire
Partager sur d’autres sites

 

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

Lien vers le commentaire
Partager sur d’autres sites

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 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

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....

 

 

Lien vers le commentaire
Partager sur d’autres sites

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 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

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...

Lien vers le commentaire
Partager sur d’autres sites

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 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

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...

 

Lien vers le commentaire
Partager sur d’autres sites

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)...

 

 

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

un truc vite fait, à l'arrache sans contrôles

mais 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 nombres

maintenant il ne transforme plus les valeurs attributaires en "entiers"

mais en "réels"

 

amicalement

 

[Edité le 28/10/2010 par didier]

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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!"

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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é