Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Thu 20 June 2013 11:57

fabcad
Participant assidu
Lieu: Acigné
Date d'inscription: 3 Apr 2006
Messages: 277

[AutoCAD MAP] Ecriture d'étiquettes sur polylignes

Bonjour à tous,

Préambule :
- AutoCAD MAP permet l'écriture automatique via l'Ajout d'un style Texte sur un calque AutoCAD ou une requête DWG sur le dessin courant, c'est bien mais on ne peut pas concaténer avec des retour chariots entre chaque valeur de champ.

- Même chose mais en plus fastidieux, c'est d'associer le dessin à traiter dans un dessin projet juste pour faire une requête DWG sur le dessin associé, en utilisant l'altération de propriétés avec création de textes mais là aussi, pas de choix sur l'élément textuel (mtextes ou textes) ainsi que les retours chariots.


C'est pourquoi, J'avais créé cette fonction afin d'écrire sous forme d'étiquettes (Mtextes) dont l'index est issu des valeurs de champs de Données d'Objets.

Mais cette dernière n'est pas souple puisque la concaténation des champs est faite au préalable.

j'avais pensé à ce genre d'algorithme :

- Sélection d'un objet modèle.
- Si l'objet modèle possède des Données d'Objets alors création d'une liste Tables - Champs.
- Sélection d'objets suivant l'objet modèle (normalement polylignes) mais la fonction pourra être enrichie des types SIG.
- Sélection des champs dans un dialogue liste.
- Sur l'ensemble des objets (polylignes) créer une concaténation des valeurs des champs avec un retour chariot entre chaque valeur.
- Créer l'étiquette Mtexte sur chaque polyligne en fonction que cette dernière soit fermée (centroïde) ou non point milieu du linéaire.

Merci d'avance et bonne journée,

Fabcad,

Le Rennais Métropolitain,

Dernière modification par fabcad (Mon 24 June 2013 14:23)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#2 Thu 20 June 2013 16:31

bruno v.
Participant actif
Date d'inscription: 22 Mar 2010
Messages: 89

Re: [AutoCAD MAP] Ecriture d'étiquettes sur polylignes

Bonjour,

J'ai essayé ton lisp pour essayer de comprendre ce que tu voulais obtenir, mais cela n'a pas fonctionné (les noms champs sont statiques dans ton lisp)

Pour des objets curvilignes, j'ai écrit un code générique, je ne sais pas si ça correspond vraiment à ton besoin mais tu peux le modifier à ta sauce.


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#3 Thu 20 June 2013 20:53

Patrice
JeSuisCharlie
Date d'inscription: 16 Sep 2005
Messages: 4794

Re: [AutoCAD MAP] Ecriture d'étiquettes sur polylignes

Hello Bruno et Fab

MERCI encore une routine Tip-Top sur les ODs ...

GeoBye, Pat


(Autodesk Expert Elite Team)

Hors ligne

 

#4 Thu 20 June 2013 21:42

fabcad
Participant assidu
Lieu: Acigné
Date d'inscription: 3 Apr 2006
Messages: 277

Re: [AutoCAD MAP] Ecriture d'étiquettes sur polylignes

Bonsoir a tous,

Merci Bruno pour ton aide et j'aimerais tellement comprendre comment tu fait pour faire glisser ton curseur au bout de ton texte généré.

Voilà avec de la recherche à tatillons, j'ai enfin trouvé un début qui fonctionne chez moi, si quelqu'un peut l'améliorer, je suis preneur.

Ce que je n'arrive pas à faire, c'est comment gérer le nombre de tables différentes associées aux objets à traiter.

Je remercie tous les contributeurs dont les fonctions sont incorporées dans cette routine.

Le 21 juin 2013 :
- J'ai mis en ligne la v2 qui met la création de l'index d'étiquette en sub-routine et qui traite le type de données (INT REAL STR).
- J'ai mis en ligne la v3 qui met en cond les types d'objets cad et la création de la routine principale et de la sub-routine de traitement.

Fabcad,

Le Rennais Métropolitain,

Dernière modification par fabcad (Tue 02 July 2013 17:16)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#5 Mon 24 June 2013 10:03

fabcad
Participant assidu
Lieu: Acigné
Date d'inscription: 3 Apr 2006
Messages: 277

Re: [AutoCAD MAP] Ecriture d'étiquettes sur polylignes

Bonjour a tous,

J'ai mis a jour la version de ma routine mais je n'arrive pas à trouver comment faire pour vérifier le nombre de tables de l'objet en cours dans ma sous-fonction : Creation_Etiquette.

Je sèche car je maitrise pas le trio mapcar function lambda et comment traiter l'absence d'une table mais continuer sur la ou les autres tables que possède l'objet en cours mais toujours par rapport à la liste en entrée (choisie).

Exemple de cycle :

Liste Tables|champs de l'objet modèle : ("prop_od|layer" "Parcelle|URBAIN" "Parcelle|PARCELLE" "Parcelle|OBJECTID" "Parcelle|BATIE")
Liste choisie par rapport à l'objet modèle : ("prop_od|layer" "Parcelle|PARCELLE")
Liste Tables|champs de l'objet cible (pas de table prop_od) : ("Parcelle|URBAIN" "Parcelle|PARCELLE" "Parcelle|OBJECTID" "Parcelle|BATIE")


Merci de votre aide.

Fabcad,

Le Rennais Métropolitain,

Dernière modification par fabcad (Tue 25 June 2013 13:10)

Hors ligne

 

#6 Tue 25 June 2013 14:54

fabcad
Participant assidu
Lieu: Acigné
Date d'inscription: 3 Apr 2006
Messages: 277

Re: [AutoCAD MAP] Ecriture d'étiquettes sur polylignes

Bonjour a tous,

J'ai résolu mon ptit souci en inversant les conditions de mon "Or" en plaçant un retour chariot comme réponse à la condition.

J'ai mis à jour le fichier lisp.

Merci de votre aide.

Fabcad,

Le Rennais Métropolitain,

Dernière modification par fabcad (Tue 02 July 2013 17:16)

Hors ligne

 

#7 Tue 02 July 2013 17:14

fabcad
Participant assidu
Lieu: Acigné
Date d'inscription: 3 Apr 2006
Messages: 277

Re: [AutoCAD MAP] Ecriture d'étiquettes sur polylignes

Bonjour a tous,

J'ai mis à jour le fichier lisp car j'ai commenté tout le programme et ajouté un reverse sur la liste choisie dans la boite de dialogue afin de respecter l'ordre de sélection des items.

Fabcad,

Le Rennais Métropolitain,

Dernière modification par fabcad (Tue 02 July 2013 17:15)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

Pied de page des forums

Powered by FluxBB