Pages: 1
- Sujet précédent - Transformer des "blocs avec attributs" en polygones avec object data - Sujet suivant
#1 Tue 12 September 2006 16:32
Transformer des "blocs avec attributs" en polygones avec object data
j'ai récupéré un plan de zonage au format dxf contenant des blocs avec des attributs de blocs (une définition de bloc pour chaque zone dessinée).
Je souhaite transformer ce fichier afin d'avoir des polygones avec des données d'objets.
Avez vous une solution sans avoir à resaisir les données attributaires ?
Hors ligne
#2 Tue 12 September 2006 21:32
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4779
Re: Transformer des "blocs avec attributs" en polygones avec object data
Bonjour Cher GeoRezien
2 petites questions avant de faire une réponse "fleuve à la Patoche" ...
- Quelle version de MAP avez vous exactement ?
- Les blocs avec attributs sont donc à l'intérieur d'une polyligne close (ou rectangle)
avec bien entendu UN Seul bloc par zone ?
Car si j'ai bien tout compris et que je ne me plante pas (C toujours possible, soyons prudent), on doit pouvoir faire cette manipulation en qq clics de souris !
So waiting for you ...
GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#3 Wed 13 September 2006 09:41
Re: Transformer des "blocs avec attributs" en polygones avec object data
Juste une question supplémentaire : on reste dans Autocad ? Ou alors c'est pour un export vers un autre logiciel type SIG ?
Si c'est le cas, je vais fusionner ce sujet avec celui ci : Récupérer les attributs textuels des blocs pour export SIG
Hors ligne
#4 Wed 13 September 2006 09:49
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4779
Re: Transformer des "blocs avec attributs" en polygones avec object data
Hello Robin
Patience Maître Robin SVP, car je pense que c'est un sujet "très MAP" !
Sur les données d'objets MAP et autres manipulations subtils de MAP
avec les gabarits de liens et création de liens ...
GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#5 Wed 13 September 2006 18:00
Re: Transformer des "blocs avec attributs" en polygones avec object data
Bonjour,
merci de votre attention pour mon petit problème de blocs.
J'utilise autodesk map 2004 et je souhaite par la suite exporter mes polygones avec données d'objets (si j'arrive à les créer !) au format shp (mais je n'ai pas arcview).
Petite précision mes blocs ont l'apparence de polylignes fermées (plan de zonage). C'est-à-dire que lorsque j'explose mes blocs je me retrouve avec des polylignes fermées (bien sur les attributs de bloc disparaissent car une fois explosés ce ne sont plus des blocs !).
Ce qui pose problème c'est que le dxf que j'ai récupéré contient des définitions de blocs pour des objets de type "polygones" alors qu'au contraire une définition de Bloc autocad pour des objets de type "ponctuels" est plus facilement réutilisable dans un SIG.
c'est plus clair ?
Hors ligne
#6 Wed 13 September 2006 19:27
Re: Transformer des "blocs avec attributs" en polygones avec object data
Hello...
Pat il va falloir que tu m'explique en quoi ce qui suit ne répond pas à la question. La réponse d'après moi est en suivant le lien ci après dans le sujet que j'ai précité : http://georezo.net/forum/viewtopic.php?id=44100
Conversion de bloc en donnees etendues
Il est tout a fait possible sous Autocad de transformer des donnees attributaires definies sous forme de blocs en donnees attributaires definies sous forme de Xdata.
Le programme AutoLisp suivant est un exemple de programme permettant la conversion d’attributs de blocs en Xdatas.
Pour son Execution, le code doit etre place dans un fichier au format texte enregistre avec le nom : « B2XD.LSP »
Hors ligne
#7 Wed 13 September 2006 19:45
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4779
Re: Transformer des "blocs avec attributs" en polygones avec object data
Hello Mr CLIC Patrice
SVP pouvez vous m'envoyer votre DWG/DXF
(ou un extrait significatif si les données sont "confidentielles" par une commande WBLOC)
sur mon adresse Email : braud point pat at free.fr
Because j'aimerais bien voir "de visu" ce fameux dessin !
So wait and see ...
Je pense en effet qu'obtenir des données d'objets c'est un petit challenge intéressant !
Merci d'avance, GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#8 Fri 15 September 2006 10:52
Re: Transformer des "blocs avec attributs" en polygones avec object data
Salut CLIC,
Une question, ca ne résoudrai pas le problème d'exporter tes blocs en cochant cette case lors de l'export (cf image)
[img]http://img146.imageshack.us/img146/5861/exportblocfu6.jpg[/img]
Au passage, le script trouvé sur la doc mapinfo pour l'export semble avoir un bug.. a suivre.
Robin.
Hors ligne
#9 Sat 16 September 2006 09:46
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4779
Re: Transformer des "blocs avec attributs" en polygones avec object data
Bonjour Patrice & Robin
Voici la bonne version de la routine B2XD.LSP
Encore merci à un Pro du Lisp & V-Lisp, en l'occurence Mr Bonuscad
du forum www.cadxp.com qui a corrigé le manque de guillemets
de la routine proposée à l'origine.
;;; Routine B2XD.lsp pour transferer le contenu des attributs vers XDATAs
;;; Les blocs et attributs DOIVENT etre sur des calques NON VERROUILLES
;;; Dans son etat actuel, la routine traite TOUS les blocs
;;; ( Donc eventuellement la faire tourner sur un extrait du DWG par un WBLOC )
;;; La commande XDLIST (Voir aussi XDATA) vous permettra de verifier de resultat
;;; ( Les Routines Bonus / Express doivent etre installees pour XDATA / XDLIST )
(regapp "B2XD")
(setq jeu (ssget "_X" '((0 . "INSERT"))))
(if jeu
(progn
(setq n 0)
(while (setq blk (ssname jeu n))
(setq e (entnext blk))
(setq ent (entget e))
(setq data nil)
(while (/= "SEQEND" (cdr (assoc 0 ent)))
(setq ETIQ (cdr (assoc 2 ent)))
(setq contenu (cdr (assoc 1 ent)))
(setq data (cons (cons 1000 (strcat etiq " " contenu)) data))
(setq e (entnext e))
(setq ent (entget e))
) ; while
(setq data (cons (cons 1002 "}") data))
(setq data (reverse data))
(setq data (cons (cons 1002 "{") data))
(setq exdata (list (list -3 (cons "B2XD" data))))
(setq entblk (entget blk))
(setq newent (append entblk exdata))
(entmod newent)
(setq n (1+ n))
) ; while
) ; progn
(alert "Pas de blocs")
) ; if jeu
(princ)
Je joins par sécurité en plus la routine si jamais le copier / coller
a mal fonctionné ou que le forum "bouffe" des caractères.
GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
Pages: 1
- Sujet précédent - Transformer des "blocs avec attributs" en polygones avec object data - Sujet suivant