#1 Mon 27 April 2009 16:33
- Jerome Clissen
- Juste Inscrit !
- Date d'inscription: 12 Sep 2008
- Messages: 8
Polyligne 3d vers polygone
Bonjour à tous,
Je cherche une commande ou une solution pour transformer une polyligne 3d vers un polygone. Je connais la commande MapPolylineToPolygon mais elle ne fonctionne que sur les polylignes 2d.
J'ai autocad map 2007
Merci
Dernière modification par Jerome Clissen (Mon 27 April 2009 16:33)
Hors ligne
#2 Mon 27 April 2009 16:37
Re: Polyligne 3d vers polygone
Bonjour,
Quand vous dites polygone, vous voulez dire polygone *2d*, je suppose ? Si oui :
1. transformation en polyligne 2d
2. transformation polyligne 2D en polygone
Robin.
Hors ligne
#3 Mon 27 April 2009 16:43
- Jerome Clissen
- Juste Inscrit !
- Date d'inscription: 12 Sep 2008
- Messages: 8
Re: Polyligne 3d vers polygone
Merci pour cette réponse rapide.
Je souhaiterais avoir un polygone en 3d (si c'est possible). C'est pour un export en shp par la suite et je sais que l'entité polygone peut avoir des sommets de Z différents en 3d.
Jérôme
Hors ligne
#4 Mon 27 April 2009 16:51
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4792
Re: Polyligne 3d vers polygone
Hello
Je viens mettre mon grain de sel avec le fameux "Déplacer à l'Infini" d'AutoCAD !!
( qui en fait explose la précision mathématique d'AutoCAD )
C'est ce qui permet de remettre "à plat" un dessin contenant de la 3D (sauf 3D Volumique)
ou des objets 2D avec un Z quelconque !
1) Tu sélectionnes les objets voulus ...
2) Commande "Déplacer"
Point de départ = 0,0,0
Point d'Arrivée = 0,0,1e99
( Les objets montent vers l'Infini )
3) Commande "Déplacer"
Point de départ = 0,0,0
Point d'Arrivée = 0,0,-1e99
( Les objets s'écrasent au sol , Z=0 )
Et voilà, c'est fini ...
GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#5 Mon 27 April 2009 17:39
Re: Polyligne 3d vers polygone
Je souhaiterais avoir un polygone en 3d (si c'est possible). C'est pour un export en shp par la suite et je sais que l'entité polygone peut avoir des sommets de Z différents en 3d
Hum, trop vite Pat, je pense que c'est plus compliqué qu'un aplatissement, là... Pour le moment, je connais le MPolygone (qui a juste une valeur d'élévation), utilisé par Map les régions, les faces 3D... mais les polygones 3D dans Autocad, là je sèche
Hors ligne
#6 Tue 28 April 2009 08:50
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4792
Re: Polyligne 3d vers polygone
Hello
Bon alors si il s'agit de convertir une polyligne 2D (Fermée ou Non) en Polyligne 3D,
cette excellente routine de Gilles devrait faire l'affaire :
Code:
;; Routine Convert3D (par GC) ;; En entree : polyligne 2D ;; En sortie : polyligne 3D ;; Commande au clavier : CONVERT3D ;; GetVertices (par GC) ;; Retourne la liste des sommets des polylignes (coordonnées SCG) ;; Argument : ename de la polyligne (defun GetVertices (ent / elst pt plst) (setq elst (entget ent)) (cond ((= (cdr (assoc 0 elst)) "LWPOLYLINE") (setq elv (cdr (assoc 38 elst))) (apply 'append (mapcar '(lambda (x) (if (= 10 (car x)) (list (trans (list (cadr x) (caddr x) elv) ent 0)) ) ) elst ) ) ) ((= (cdr (assoc 0 elst)) "POLYLINE") (setq pt (entnext ent)) (while (= (cdr (assoc 0 (setq elst (entget pt)))) "VERTEX") (setq plst (cons (if (zerop (logand 120 (cdr (assoc 70 elst)))) (trans (cdr (assoc 10 elst)) ent 0) (cdr (assoc 10 elst)) ) plst ) pt (entnext pt) ) ) (reverse plst) ) ) ) ;; CONVERT3D (par GC) ;; Convertit les polylignes 2d ou lw sélectionnées ent polylignes 3d (defun c:convert3d (/ n fltr ss pl elst) (setq n 0 fltr '((-4 . "<OR") (0 . "LWPOLYLINE") (-4 . "<AND") (0 . "POLYLINE") (-4 . "<NOT") (-4 . "&") (70 . 120) (-4 . "NOT>") (-4 . "AND>") (-4 . "OR>") ) ) (princ "\nSelectionner les polylignes ou <toutes>") (if (or (setq ss (ssget fltr)) (setq ss (ssget "_X" fltr)) ) (while (setq pl (ssname ss n)) (setq elst (entget pl '("*")) n (1+ n) ) (entmake (append (list '(0 . "POLYLINE") (assoc 67 elst) (assoc 410 elst) (assoc 8 elst) (cond ((assoc 6 elst)) ((cons 6 "ByLayer")) ) (cond ((assoc 62 elst)) ((cons 62 256)) ) (cons 70 (+ 8 (logand 129 (cdr (assoc 70 elst))))) ) (assoc -3 elst) ) ) (foreach p (GetVertices pl) (entmake (list '(0 . "VERTEX") (cons 10 p) '(70 . 32) ) ) ) (entmake '((0 . "SEQEND"))) (entdel pl) ) ) (princ) )
Encore merci à Gilles, GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#7 Tue 28 April 2009 09:09
Re: Polyligne 3d vers polygone
Toujours pas, mais je vais te piquer ça quand même Jérôme veut transformer sa polyligne 3d en Polygone3D.
Jérôme, peut tu préciser ce que tu appelles Polygone 3D ?
J'ai bien trouvé cette définition : (les polygones 3D sont des surfaces constituées de plusieurs "faces" planes)
3D Polygon meshes are surfaces that consist of several flat faces. There are some commands that can create such surfaces. One of the rarely used commands is called 3DMESH. This command is difficult to use but very powerful. It is mainly used by programmers. Here you will use the command to create a surface. Later the PEDIT command will be used to close and smooth the 3D mesh.
Robin.
Hors ligne
#8 Tue 28 April 2009 09:14
- Jerome Clissen
- Juste Inscrit !
- Date d'inscription: 12 Sep 2008
- Messages: 8
Re: Polyligne 3d vers polygone
Jerome Clissen a écrit:Je souhaiterais avoir un polygone en 3d (si c'est possible). C'est pour un export en shp par la suite et je sais que l'entité polygone peut avoir des sommets de Z différents en 3d
Hum, trop vite Pat, je pense que c'est plus compliqué qu'un aplatissement, là... Pour le moment, je connais le MPolygone (qui a juste une valeur d'élévation), utilisé par Map les régions, les faces 3D... mais les polygones 3D dans Autocad, là je sèche
Ok, si je comprends bien, c'est pas possible dans Map. Dommage.
Et merci pour la routine, mais les polylignes 3d ne posent pas de problèmes, elles sont déjà générées et en 3D
Merci beaucoup pour ces réponses rapide.
edit : robin a répondu pendant que je répondais...
Je précise donc, je ne sais pas si l'entité ou le type d'objet existe dans map (j'espérais) Mais je sais qu'il est possible d'en avoir dans le format shp. Par exemple, dans openjump, il est possible de convertir des polylignes 3d exportées en shp depuis map en polygone avec un Z spécifique pour chaque sommets.
Jérôme
Dernière modification par Jerome Clissen (Tue 28 April 2009 09:27)
Hors ligne
#9 Tue 28 April 2009 10:12
Re: Polyligne 3d vers polygone
dans openjump, il est possible de convertir des polylignes 3d exportées en shp depuis map en polygone avec un Z spécifique pour chaque sommets
Hello,
Je reste dubitatif sur l'existence d'un "polygone 3D". Pourrait tu mettre une copie d'écran ou une référence de l'un ou l'autre logiciel ?
J'ai bien regardé dans l'aide en ligne d'argis, il existe des TIN et des polygonZ (=un polygone avec un Z) ainsi que dans l'aide d'autocad mais pas de polygon 3D. J'ai d'ailleurs du mal à visualiser ce que ça donnerait. La seule chose que je vois est une surface constituée de différences faces qui auraient été lissées (ou pas d'ailleurs) mais ce n'est pas un polygone 3D
Pour moi un polygone est une surface plane 2D, avec ou pas un Z associé... mais je peux me tromper.
(Wikipédia : En géométrie euclidienne, un polygone (du grec polus, nombreux, et gônia, angle) est une figure géométrique plane, formée d'une suite de segments, chacun d'entre eux partageant une extrémité avec le précédent et le suivant, délimitant ainsi un contour fermé. Le terme polygone recouvre en particulier les figures fermées délimitées par une ligne brisée (une figure en forme d'étoile par exemple).)
Robin.
Dernière modification par Robin (Tue 28 April 2009 10:17)
Hors ligne
#10 Tue 28 April 2009 10:46
- Jerome Clissen
- Juste Inscrit !
- Date d'inscription: 12 Sep 2008
- Messages: 8
Re: Polyligne 3d vers polygone
Salut
Oui effectivement, mathématiquement et géométriquement, un polygone 3d parait bizarre. Mais sur la capture d'écran, on peut voir que les coordonnées de chaque sommet a son propre Z.
[img]http://img410.imageshack.us/img410/1570/openjump.th.png[/img]
Et si de openjump, je réexporte ces polygones en shp puis que je réimporte dans map, ils me reviennent en polylignes 3d.
Le mystère reste entier
Jérôme
Hors ligne
#12 Tue 28 April 2009 11:56
- Jerome Clissen
- Juste Inscrit !
- Date d'inscription: 12 Sep 2008
- Messages: 8
Re: Polyligne 3d vers polygone
Re,
le shp est demandé pour injecter ensuite dans une base de données postgresql. C'est un relevé topographique de cours d'eau et abords...
Jérôme
Hors ligne
#13 Tue 28 April 2009 12:13
Re: Polyligne 3d vers polygone
C'est un relevé topographique de cours d'eau et abords
Et une polyligne 3d ne suffit pas ? Dans les relevés topo que j'ai pu utiliser/consulter/faire, les entités 3D comme les routes, les chemins ou autre étaient en polyligne 3D et ça suffisait. Ceci dit, je n'ai pas encore mis le nez dans Potsgresql
Hors ligne
#14 Tue 28 April 2009 12:49
- Pierre Dolez
- Participant assidu
- Lieu: Proville
- Date d'inscription: 14 Aug 2008
- Messages: 519
- Site web
Re: Polyligne 3d vers polygone
Bonjour,
Moi aussi, j'aimerais apporter mon grain de sel.
J'ai relu la doc sur le shp (juillet 98), d'après ce que j'ai compris, une polyline peut être ouverte, alors qu'un polygone DOIT être fermé. A par cela il n'y a pas de différence de structure. Autrement dit un polygone détermine une partition de l'espace 2D, avec ce que cela implique (sens de parcourt, intersections interdites etc.) Dans tous les cas il s'agit de définition 2D. Mais il n'est naturellement pas interdit de mettre un Z aux points. Cela ne fera pas du 3D, mais du 2D1/2. Esri étant un logiciel qui traite du terrain (et non de mécanique comme Autocad), je ne pense pas qu'il traite des objets 3D.
Ceci dit, je ne peux pas plus éclairer Jérôme.
Cordialement.
Hors ligne
#15 Tue 28 April 2009 13:10
- Jerome Clissen
- Juste Inscrit !
- Date d'inscription: 12 Sep 2008
- Messages: 8
Re: Polyligne 3d vers polygone
Salut,
L'intérêt du polygone, est qu'il peut être évidé (étang avec îlots dans mon cas). Et les données associées le sont avec la géométrie complexe.
Jérôme
Hors ligne
#16 Tue 28 April 2009 13:22
- Pierre Dolez
- Participant assidu
- Lieu: Proville
- Date d'inscription: 14 Aug 2008
- Messages: 519
- Site web
Re: Polyligne 3d vers polygone
Re,
Oui, c'est le but des polygone, ce qui j'appelle une partition de l'espace 2D.
Soit un terrain, il y a un étang, et au milieu de l'étang, une ile. Le périmètre du terrain sera décrit dans le sens positif, le bord de l'étang dans le sens négatif, l'ile dans le sens positif, tout cela dans le MEME polygone.
La possession d'un Z pour les ponts est indépendant.
Hors ligne
#18 Tue 28 April 2009 14:34
- Pierre Dolez
- Participant assidu
- Lieu: Proville
- Date d'inscription: 14 Aug 2008
- Messages: 519
- Site web
Re: Polyligne 3d vers polygone
Si l'hypothèse est de donner
1- des polygones
2- les altitudes des points définissant les sommets
Il serait peut-être plus simple de dissocier les deux opérations, cad fournir des polygones 2D, c'est à dire sans Z, puis des point isolés, ou liés par de polylines3D, tout cela dans le même fichier naturellement.
De toute façon pour l'utilisateur final, les deux notions, Polygone et altitude, sont indépendantes.
Pierre
Hors ligne
#20 Tue 28 April 2009 15:13
- Jerome Clissen
- Juste Inscrit !
- Date d'inscription: 12 Sep 2008
- Messages: 8
Re: Polyligne 3d vers polygone
Merci à tous pour ces pistes,
Mon boulot est de fournir le shp. Après, l'intégration dans la base n'est pas de mon ressort. Le modèle de base de données est figé. Pas moyen donc de modifier en fonction de mes besoins. De plus, je me trompe peut-être, mais faire cohabiter des polygones et des polylignes dans un même fichier shp me parait impossible.
Il est possible de convertir avec ETgeowizard une extension arcmap. Ne l'ayant pas, j'ai demandé à un ami.
Jérôme
Hors ligne
#21 Tue 28 April 2009 15:31
- Pierre Dolez
- Participant assidu
- Lieu: Proville
- Date d'inscription: 14 Aug 2008
- Messages: 519
- Site web
Re: Polyligne 3d vers polygone
Jérôme,
Un fichier shp est très souple. On peut faire cohabiter n'importe quoi avec n'importe quoi, tant que c'est prévu, naturellement.
Faites l'essai, une Polyline3D qui définit le contour de l'étang, la même en Polygone2D et enfin les points définissant les éléments linéaires, en tant que points isolés. Vous créez le fichier, puis avec n'importe que logiciel (même Autocad) vous relisez le shp.
L'organisation du dbf sera peut-être un peu plus complexe, mais le logiciel devrait s'y retrouver.
N'hésitez pas à m'envoyer un fichier DXF, je vous ferai un fichier SHP.
Cordialement.
Hors ligne
#22 Tue 28 April 2009 16:42
Re: Polyligne 3d vers polygone
On peut faire cohabiter n'importe quoi avec n'importe quoi, tant que c'est prévu, naturellement.
Euh..non, sûrement pas ! Les points avec les points, les lignes avec les lignes, les polygones avec les polygones, de même pour les autres entités PolylignM ou autre PolygonZ ou Multipoint, on mélange pas !!
Robin.
Hors ligne
#23 Tue 28 April 2009 18:43
- Pierre Dolez
- Participant assidu
- Lieu: Proville
- Date d'inscription: 14 Aug 2008
- Messages: 519
- Site web
Re: Polyligne 3d vers polygone
Sorry, oui je effectivement doublement désolé.
Pour le problème posé par Jérôme, il ne reste pus qu'à faire une moulinette.
Pierre
Hors ligne
#24 Wed 29 April 2009 10:33
- Gwenael Bachelot
- Participant assidu
- Lieu: Bureau Autodesk : Paris 12ème
- Date d'inscription: 5 Sep 2005
- Messages: 608
- Site web
Re: Polyligne 3d vers polygone
Bonjour,
Je souhaiterais avoir un polygone en 3d (si c'est possible). C'est pour un export en shp par la suite et je sais que l'entité polygone peut avoir des sommets de Z différents en 3d.
Pour information :
- AutoCAD Map 3D peut exporter une polyligne fermée dans un polygone SHP.
- AutocAD Map 3D peut exporter dans un SHP 3D
Ces deux paramètres sont des options de l'export SHP (voir l'image jointe).
Je ne suis pas certain que cela puisse répondre à votre besoin, mais ... il faudrait essayer.
Cordialement,
Gwenael Bachelot
Dernière modification par Gwenael Bachelot (Wed 29 April 2009 10:35)
Hors ligne
#25 Wed 29 April 2009 15:02
Re: Polyligne 3d vers polygone
Hello,
Bien vu cette option du fond du tiroir ! J'ai testé, et ça marche : dans Arcgis, on se retrouve avec des polygones ZM, qui associent bien chaque sommet du polygone à un triplet X,Y,Z.
Je découvre en même temps les polygonZM d'ailleurs...
Copie d'écran ci jointe,
Robin.
Hors ligne