Pages: 1
- Sujet précédent - [MAP/CIVIL] LSP sur ODs: Copier, Couper, Selectionner, Extraire, etc - Sujet suivant
#1 Sun 27 August 2006 10:25
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4779
[MAP/CIVIL] LSP sur ODs: Copier, Couper, Selectionner, Extraire, etc
Bonjour
Si vous êtes un utilisateur de MAP (ou CIVIL), vous devez en principe connaître les données d'objets (Object Data) de MAP (ou CIVIL) ...
En fait, il s'agit de données attributaires (Entier, Réel, Alpha-Numérique) que l'on peut affecter à n'importe quel objet graphique AutoCAD (Point, Ligne, Arc, Cercle, Polyligne, etc)
C tres utilise sur les Polylignes Closes (Surfaces ou Faces) : Zonages POSPLU, Parcelles, Batiments, Surfaces diverses, etc
et sur les Polylignes Non Closes (parfois sur les Lignes, Arcs, etc) : axes filaires (routes, chemins, voies ferrees, etc), Reseaux divers, etc
Car en principe pour les objets ponctuels en XY (Noeuds), on utilise plutot les bons vieux attributs (ATTDEF) sur les blocs (symboles) AutoCAD !
Car un "simple" AutoCAD LT peut les creer / modifier / consulter ...
Principe:
1 - Créer la table de données d'objets (Object Data)
- Menu: MAP ou Map Donnees (2012-202X) ou Carte (MAP 2008) / Données d'Objet / Définir ...)
Rappel : il y a 3 types IMPORTANTs de champs OD : Integer, Real/Flottant, Character/Caractere
Commande au clavier : _adedefdata / adedefdata
https://knowledge.autodesk.com/fr/suppo … F-htm.html
https://knowledge.autodesk.com/fr/suppo … 9-htm.html
Comment interroger les Objets AVEC ou SANS Object Data :
https://knowledge.autodesk.com/support/ … mtc-french
2 - Affecter la table en question aux objets graphiques concernés
- Menu: MAP ou Map Donnees (2012-201X) ou Carte (MAP 2008) / Données d'Objet / Associer/Dissocier ...)
Commande au clavier : _adeattachdata / adeattachdata
https://knowledge.autodesk.com/fr/suppo … ap-3D.html
3 - Modifier / Consulter les données : soit par la "classique" case de dialogue des propriétés,
soit eventuellement par le Menu: MAP ou Map Donnees (2012-201X) ou Carte (MAP 2008) / Données d'Objet / Modifier ...)
Commande au clavier : _adeeditdata / adeeditdata
Mais pour transférer la table et donc aussi son contenu sur N autres objets graphiques,
c'est impossible ou sinon à la main objet par objet et ce sera très long et fastidieux.
C'est pourquoi Autodesk fournit depuis LONGTEMPS une routine AutoLisp nommée "COPY_OD.LSP"
qui vous permet de sélectionner un objet graphique "Source" et N objets graphiques "Destination" ...
Il suffit de charger la routine (APPLOAD) en question depuis le sous-catalogue <sample>
et de l'utiliser ! C'est très pratique et fort utile !!!
Par exemple vous voulez garder les données d'objets d'une "belle" Polyligne mais vous devez AUSSI la décomposer ... en conservant les données d'objets sur les N lignes / arcs qui vont être générés suite à la décomposition !
Donc vous faites une copie de la Polyligne "à coté" puis vous décomposez votre "belle" Polyligne, puis un petit coup de "COPY_OD" en montrant la polyligne de sauvegarde et en sélectionnant pour destination les N lignes / arcs provenant de la décomposition et enfin eventuellement vous effacez la polyligne de sauvegarde.
Comprendo les MAPiens & CIVILiens !?
Rappel : la case de dialogue "traditionnel" des proprietes de MAP (ou CIVIL) permet de consulter
ET aussi de modifier les donnees d'objets du/des objet(s) selectionne(s)
La Sante, GeoBye, Pat
--- PS1: Apres il est facile d'exporter (_MAPEXPORT) la Geometry et les donnees attributaires au format SHP
(Type ArcView 3.x) ou TAB ou MIF-MID ou DGN etc ...
Conseil : SVP veuillez privilegier le format SHP pour vos Import / Export depuis MAP (ou CIVIL).
Car lors d'un Export au format MapInfo (TAB, MIF-MID), cet "Andouille" de ACAD MAP (ou CIVIL)
ne sait mettre dans les fichiers MapInfo les Paramètres CORRECTES concernant le Systeme de Projection !
--- PS2: essayez de n'utilisez que des caracteres SIMPLES (lettres, chiffres, "_") pour les Noms de Table
ET AUSSI pour les Noms de Champs/Colonnes !
SVP ne pas depasser 10 caracteres pour les Noms de Champs/Colonnes a cause de la limitation des SHP ESRI ArcView v3.x !!!
-----------------------------------------------------------------------------------------------------------------------------------------------------------
------ PS3: les champs OD (Object Data) de type Character/String/Caractere sont TOUJOURS limites a 131 caraceteres ------
-----------------------------------------------------------------------------------------------------------------------------------------------------------
--- PS4: Si jamais vous perdez les cases de dialogue sous AutoCAD / MAP / CIVIL / etc ...
Ne pas oublier de remettre à UN, les 2 variables systèmes suivantes: FILEDIA = 1 & CMDDIA = 1
(Autodesk Expert Elite Team)
Hors ligne
#2 Wed 19 August 2009 14:31
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4779
Re: [MAP/CIVIL] LSP sur ODs: Copier, Couper, Selectionner, Extraire, etc
Hello
Pour ceux qui desirent trouver la fameuse routine "COPY_OD.lsp"
Allez chercher dans le sous-catalogue < Sample > de votre MAP ...
La routine Lisp est fournie depuis tres longtemps par Autodesk avec MAP
et elle n'a jamais bouge / evolue !
Je joins a mon message la version provenant d'un MAP 2009
qui fonctionne d'ailleurs sur les autres MAP 201X ...
Chargement au clavier par : COPY_OD < Entree >
Puis toujours au clavier : COPY_OD < Entree >
Merci Autodesk pour cette routine Indispensable !
La Sante, GeoBye, Pat
PS: ces routines LSP sont valables pour ACAD MAP & ACAD CIVIL !
(Autodesk Expert Elite Team)
Hors ligne
#3 Wed 24 February 2010 08:57
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4779
Re: [MAP/CIVIL] LSP sur ODs: Copier, Couper, Selectionner, Extraire, etc
Hello
Les ODs (Object Data) de MAP (ou CIVIL) sont tres interessants pour "stocker" des Infos attributaires
sur n'importe quel objet graphique d'AutoCAD (par exemple les Polylignes 2D ou 3D).
Cependant la commande COUPURE de MAP (ou CIVIL) a un "gros bug", elle ne conserve pas
les ODs eventuellement presentes sur l'objet que l'on coupe !
Vous trouverez donc ci-joint une routine Lisp "MAPCOUP.lsp" qui conserve les ODs.
( En fait cette routine inclus "COPY_OD" d'Autodesk )
---- Cette routine "MAPCOUP" coupe les Lignes, Arcs et Polylignes 2D non courbees, non splinees ----
Chargement au clavier par : MAPCOUP < Entree >
Puis toujours au clavier : MAPCOUP < Entree >
Merci Gilles pour cette routine Indispensable !
La Sante, GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#4 Fri 28 July 2017 15:58
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4779
Re: [MAP/CIVIL] LSP sur ODs: Copier, Couper, Selectionner, Extraire, etc
Hello
ACAD MAP 201X-202X n'ayant aucun moyen "simple" de selectionner les Entites avec ODs (Object Data = Donnees d'Objet) de MAP ou CIVIL
Voici une routine qui fait "le boulot" ...
Chargement au clavier par : APPLOAD < Entree >
Puis toujours au clavier : SEL_BY_OD_V2 < Entree >
Et vous selectionnez UNE Entite avec OD, et la routine va vous proposer toutes les Tables ODs Dispos sur cette Entite
et vous allez choisir un champ OD de la Table OD voulue puis votre test ...
Ainsi TOUTEs les Entites concernees seront selectionnees ...
Merci Bruno pour cette routine Indispensable !
La Sante, GeoBye, Pat
PS1 : la version precedente de "Sel_By_OD_v201" avait ete telechargee 62 fois
PS2 : voici la nouvelle version v2.02 qui corrige le Bug sur le Test "DIFFERENT" pour un Champ OD de type "Caractere / String" !
Encore MERCI Bruno pour ton travail et Partage (MAJ du 03/02/2024)
PS3: ATTENTION la routine est INCOMPATIBLE avec Covadis, il faut donc l executer sur un Profil ACAD MAP SANS Covadis !
(Autodesk Expert Elite Team)
Hors ligne
#5 Wed 03 February 2021 12:05
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4779
Re: [MAP/CIVIL] LSP sur ODs: Copier, Couper, Selectionner, Extraire, etc
Hello
Pour extraire en CSV le contenu de Tables & Champs OD, il y a plusieurs solutions !
Mais une "bonne petite routine" Lisp/VLisp de Bruno sera "encore" une excellente solution !
Cette Super routine "All_OD2CSV" de Bonuscad, demande de choisir Une Table (ou N Tables) OD
puis le dossier d arrivee du fichier CSV puis le separateur (point virgule par defaut, c le mieux a mon avis !?)
La routine va traiter automatiquement TOUS les objets avec CETTE Table OD !
Et on obtiendra en sortie dans le CSV cela : (exemple sur des parcelles EDIGEO)
PARCELLE_ID
HANDLE;COAR_id;CODM_id;IDU_id;INDP_id;SUPF_id;TEX2_id;TEX_id
Character;Character;Character;Character;Character;Real;Character;Character
'7E0;;;284000BV0463;Parcelle figuree au plan;872;;463
'7E3;;;284000BV0464;Parcelle figuree au plan;35;;464
'7E6;;;284000BV0458;Parcelle figuree au plan;235;;458
etc
Avec le notepad .exe, on "eliminera" la ligne No 1 (Nom de la table OD) et la ligne No 3 (Type des champs OD)
Ainsi il restera :
HANDLE;COAR_id;CODM_id;IDU_id;INDP_id;SUPF_id;TEX2_id;TEX_id
'7E0;;;284000BV0463;Parcelle figuree au plan;872;;463
'7E3;;;284000BV0464;Parcelle figuree au plan;35;;464
'7E6;;;284000BV0458;Parcelle figuree au plan;235;;458
etc
ET ce sera "tout bon" pour "monter" dans Excel ... Par l Import de donnees ...
On pourra aussi dans Excel "eliminer" la 1ere colonne HANDLE !?
Dans cet exemple il y a des ;;; successifs car certains champs ODs sont vides ...
Merci Bruno pour cette routine Indispensable !
La Sante, GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#6 Mon 25 April 2022 16:07
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4779
Re: [MAP/CIVIL] LSP sur ODs: Copier, Couper, Selectionner, Extraire, etc
Hello
1) Parfois on a des donnees attributaires sous forme de XDATAs d'AutoCAD
et on desire "transferer" les XDATAs en OD (Object Data) de ACAD MAP / ACAD CIVIL
2) Pour ce faire il vous faut une routine Lisp et la vieille routine "XD2OD" de Peter Heald fera l'affaire ...
Routine : XD2OD < Entree >
La Sante, GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#7 Sun 31 July 2022 16:34
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4779
Re: [MAP/CIVIL] LSP sur ODs: Copier, Couper, Selectionner, Extraire, etc
Hello
J'ajoute une autre routine Lisp/VLisp fort interessante de Bonuscad / CADaSchtroumpf / Bruno !
Routine : "Cut_Poly@Ins" qui coupe les LWPOLYLINEs 2D au niveau des Points ou Blocs
en GARDANT les ODs "de chaque cote" des LWPOLYLINEs 2D ...
Malheureusement MAPCLEAN ne sait pas faire cela !
Cette routine a ete publiee sur cadxp.com : https://cadxp.com/topic/48953-couper-po … nsertions/
et aussi sur les forums Autodesk (si je me souviens ?)
SVP lisez bien les instructions et informations concernant "Cut_Poly@Ins" ... MERCI Bruno !!
La routine fonctionne aussi sur un AutoCAD, AutoCAD Architecture, etc, mais bien sur elle ne saura pas traiter les ODs de MAP / CIVIL
De plus la routine coupe en GARDANT les eventuels XDATAs "de chaque cote" des LWPOLYLINEs 2D ...
La Sante, GeoBye, Pat
PS: ATTENTION la routine est INCOMPATIBLE avec Covadis, il faut donc l executer sur un Profil ACAD MAP SANS Covadis !
(Autodesk Expert Elite Team)
Hors ligne
#8 Sun 31 July 2022 16:54
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4779
Re: [MAP/CIVIL] LSP sur ODs: Copier, Couper, Selectionner, Extraire, etc
Hello
J'ajoute une autre routine Lisp/VLisp fort interessante de Bonuscad / CADaSchtroumpf / Bruno !
Cette routine "MP2LW" concerne principalement MAP ou CIVIL !
Routine : "MP2LW" travaille sur les MPOLYGONs et les analyse afin de detecter si il s'agit en fait une simple Polyligne 2D classique !?
Si OUI, alors le MPOLYGON sera "remplace" par une LWPOLYLINE 2D
-- ET les ODs du MPOLYGON (si MAP ou CIVIL) seront transferes sur la Polyligne 2D !
-- SI ET SEULEMENT SI la routine Lisp "Copy_OD" a ete prealablement chargee dans la session AutoCAD MAP / CIVIL !
-- "COPY_OD" est fourni dans le 2eme message de ce sujet !
"MP2LW" est VITAL quand on fait un MAPIMPORT de Surfaces (MAP ou CIVIL) et que l'on n'a pas coche la fameuse Option
"Importer les Polylignes comme Polylignes fermees" en bas !
POURQUOI : car on sait qu'il y a qq MPOLYGONs dans les Surfaces et donc on desire des MPOLYGONs
MAIS en fait la grand majorite des Surfaces sont des Polygones simples !
Et malheureusement tout est importe automatiquement en MPOLYGONs !!
Exemples : les couches du cadastre EDIGEO de Parcelles, Batiments, etc ... MERCI Bruno !!
La Sante, GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#9 Thu 11 August 2022 19:05
- bruno v.
- Participant actif
- Date d'inscription: 22 Mar 2010
- Messages: 89
Re: [MAP/CIVIL] LSP sur ODs: Copier, Couper, Selectionner, Extraire, etc
Hello Patrice
Je vais en rajouter une autre: break_lw_withOD (corrigée récemment)
Celle ci coupe des LWPOLYLINEs avec l'intersection d'autres objets curvilignes :
LINE, ARC, SPLINE, LWPOLYLINE, POLYLINE, CIRCLE, ELLIPSE, XLINE, RAY, MPOLYGON
en conservant les ODs et XDATAs
Hors ligne
#10 Mon 05 September 2022 11:07
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4779
Re: [MAP/CIVIL] LSP sur ODs: Copier, Couper, Selectionner, Extraire, etc
Hello
Et encore une superbe routine de Bruno sur les ODs pour ACAD MAP et ACAD CIVIL ...
Routine : "OD_Change_String" travaille sur les ODs de type String / Texte et realise un rechercher / remplacer ...
NOTE: seule la 1ere occurence du texte cherche, est remplace ... Ce qui me convient bien ...
L'autre solution serait d'utiliser la fabuleuse DDL de Olivier et faire :
MAPODOUT (extraction des ODs en CSV) , travailler les donnees CSV sous Excel (ou Notepad), MAPODIN (pour mettre a jour le DWG)
Encore MERCI Bruno (Bonuscad / CADaSchtroumpf) !
La Sante, GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#11 Mon 05 September 2022 15:41
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4779
Re: [MAP/CIVIL] LSP sur ODs: Copier, Couper, Selectionner, Extraire, etc
Hello
1) Une nouvelle Routine Lisp / VLisp pour les ODs de ACAD MAP / ACAD CIVIL
2) La Routine "OD_Pref_Suff_Text" ajoute Prefixe et / ou Suffixe sur un Champ OD de Type Text / String / Chaine ...
3) ATTENTION : la Routine n'a AUCUNE Gestion d'Erreur donc :
-- Donnez le Nom EXACT de la Table OD ET du Champ OD
-- SVP ne selectionner que des Entites avec la BONNE Table OD !
La Sante, GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#12 Mon 05 September 2022 15:44
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4779
Re: [MAP/CIVIL] LSP sur ODs: Copier, Couper, Selectionner, Extraire, etc
Hello
10) DEUX nouvelles Routines Lisp / VLisp pour les ODs de ACAD MAP / ACAD CIVIL
21) La Routine "OD_Add_Numeric" ajoute une Valeur numerique (positive ou negative) a un champ OD de Type Numeric
22) La Routine "OD_Mul_Numeric" multiplie par une Valeur numerique (>0.00) a un champ OD de Type Numeric
30) ATTENTION : la Routine n'a AUCUNE Gestion d'Erreur donc :
-- Donnez le Nom EXACT de la Table OD ET du Champ OD
-- SVP ne selectionner que des Entites avec la BONNE Table OD !
La Sante, GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#13 Mon 05 September 2022 15:56
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4779
Re: [MAP/CIVIL] LSP sur ODs: Copier, Couper, Selectionner, Extraire, etc
Hello
1) Une nouvelle Routine Lisp / VLisp (de Bruno) pour les ODs de ACAD MAP / ACAD CIVIL
2) La Routine "Text_Sel2OD" permet de transferer le Contenu d un Text, MText, Attribut, Cotation dans un Champ OD
;;
;; Routine (pour MAP/CIVIL) : Text_Sel2OD par CADaSchtroumpf pour Patrice B.
;;
;; Affecter le contenu d un Texte : TEXT , MTEXT , ATTRIB , DIMENSION , etc
;; dans une OD de Type STRING
;; ou par conversion numerique dans une OD de type INTEGER ou REAL
;;
3) Routine fort UTILE pour integrer des donnees UNE par UNE dans des champs OD ...
Encore MERCI Bruno (Bonuscad / CADaSchtroumpf) !
La Sante, GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#14 Tue 01 November 2022 08:58
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4779
Re: [MAP/CIVIL] LSP sur ODs: Copier, Couper, Selectionner, Extraire, etc
Hello
1) Une nouvelle Routine Lisp / VLisp (de Bruno) pour les ODs de ACAD MAP / ACAD CIVIL
2) La Routine "ODYesNo" permet de selectionner les Entites ayant (Option W de With) ou n'ayant pas (Option T de withouT) de OD !
-- Tres pratique pour "voir" si on a bien travaille au niveau des ODs ...
-- Quelles entites ont ete "oubliees" et/ou quelles entites doivent etre "completees" !
;;
;; https://forums.autodesk.com/t5/autocad- … -p/9336333
;;
;; Routine: ODYesNo par CADaSchtroumpf / Bonuscad
;;
;; Selection des objets Avec / Sans OD de MAP/CIVIL ...
;;
Encore MERCI Bruno (Bonuscad / CADaSchtroumpf) !
La Sante, GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#15 Tue 01 November 2022 09:04
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4779
Re: [MAP/CIVIL] LSP sur ODs: Copier, Couper, Selectionner, Extraire, etc
Hello
1) Une nouvelle Routine Lisp / VLisp (de Bruno) pour les ODs de ACAD MAP / ACAD CIVIL
2) La Routine "OD2Label_Pt" permet de generer un Texte statique depuis un champ OD !
Cette routine "OD2Label_Pt" traite les Points (POINT) et les Blocs (INSERT) ...
-- Tres pratique pour ecrire "vite" un texte depuis N entites ayant le meme champ OD !
-- Autres solutions possibles :
-- Passer par une requete sur le groupe de dessins de MAP pour avoir des textes statiques (un peu penible !)
-- Utiliser les Annotations de MAP (pas simple) mais avantage : les "textes" generes sont dynamiques !!
;;
;; https://forums.autodesk.com/t5/autocad- … -p/9336333
;;
Encore MERCI Bruno (Bonuscad / CADaSchtroumpf) !
La Sante, GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#16 Tue 01 November 2022 09:11
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4779
Re: [MAP/CIVIL] LSP sur ODs: Copier, Couper, Selectionner, Extraire, etc
Hello
1) Une nouvelle Routine Lisp / VLisp (de Bruno) pour les ODs de ACAD MAP / ACAD CIVIL
2) La Routine "OD2Label_Side" permet de generer un Texte statique depuis un champ OD !
En version 4, les Textes sont crees sur un Calque nomme : "OD_Label___TableOD___ChampOD"
Cette routine "OD2Label_Side" traite de nombreux types d entites :
"*POLYLINE,LINE,ARC,CIRCLE,ELLIPSE,SPLINE,*TEXT,INSERT,POINT,MPOLYGON"
-- Tres pratique pour ecrire "vite" un texte depuis N entites ayant le meme champ OD !
-- Autres solutions possibles :
-- Passer par une requete sur le groupe de dessins de MAP pour avoir des textes statiques (un peu penible !)
-- Utiliser les Annotations de MAP (pas simple) mais avantage : les "textes" generes sont dynamiques !!
;;
;; https://forums.autodesk.com/t5/autocad- … -p/9336333
;;
Encore MERCI Bruno (Bonuscad / CADaSchtroumpf) !
La Sante, GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
Pages: 1
- Sujet précédent - [MAP/CIVIL] LSP sur ODs: Copier, Couper, Selectionner, Extraire, etc - Sujet suivant