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 Mon 14 December 2009 10:20

Kyk
Participant actif
Date d'inscription: 20 Jan 2009
Messages: 88

[shp2dwg] affichage des textes dans le dwg

Bonjour,

Cela fait plus d'une heure que je cherche et je ne trouve pas de solution. Je suis sûre que la solution est toute bête mais comme je suis encore loin de maîtriser FME, je  m'en remet à vous... Vivement la formation...

J'ai des fichiers shape en entrée que je voudrai transférer dans un fichier dwg. Parmi ces données shape, j'ai des fichiers points correspondant à des toponymes ou des numéros de parcelle. J'aimerai que ces toponymes et ces numéros de parcelle apparaissent en texte dans mon dwg. Pour l'instant ils n'apparaissent qu'en points dans le dwg et les données textes sont dans les données attributaires de ces points (qui sont des blocks ?).

Merci d'avance pour votre aide.

Hors ligne

 

#2 Mon 14 December 2009 10:40

ogayte
Participant assidu
Lieu: Saint-Estève
Date d'inscription: 6 Mar 2006
Messages: 658
Site web

Re: [shp2dwg] affichage des textes dans le dwg

Le moyen le plus simple est de transformer ces points en annotations avec LabelPointReplacer.
Il vous faudra également envoyer vos points directement vers le type d'entité destination pour avoir à la fois les points et les textes.


Olivier Gayte
http://www.veremes.com
+33 (0)4-68-38-65-27

Hors ligne

 

#3 Mon 14 December 2009 10:41

veroh
Participant actif
Lieu: Moutier
Date d'inscription: 27 Sep 2008
Messages: 97
Site web

Re: [shp2dwg] affichage des textes dans le dwg

Bonjour,

Il te faut dans un premier temps utiliser un transformer qui te transforme ton point en texte (labelPointReplacer dans ma version anglaise). Puis à ta sortie de ce transformer, tu mets un nouveau calque DWG où tu mettras ton texte.
Attention, il te faut activer dans les FormatAttributes (toujours en anglais), autocad_entity et lui mettre comme constante "autocad_multi_text".

Tu peux ensuite définir le type de texte, sa hauteur etc...

J'espère que celà aide

Cordialement

Véronique

Hors ligne

 

#4 Mon 14 December 2009 11:19

Kyk
Participant actif
Date d'inscription: 20 Jan 2009
Messages: 88

Re: [shp2dwg] affichage des textes dans le dwg

rahh, j'ai pas le LabelPointReplacer... il est grisé.

Existe-t-il un autre moyen ou faut-il que je demande un update de ma licence ?

Hors ligne

 

#5 Mon 14 December 2009 13:05

veroh
Participant actif
Lieu: Moutier
Date d'inscription: 27 Sep 2008
Messages: 97
Site web

Re: [shp2dwg] affichage des textes dans le dwg

Bonjour,

Avec geometrycoercer, tu peux forcer que ce soit du texte.

Mais essaye peut-être tout d'abord simplement en faisant un Attributerenamer pour que le champ de ton label s'appelle autocad_mtext_string, active dans ton calque de sortie DWG la case autocad_mtext_string (FormatAttribute) et vois ce que ça donne.

Bonne chance et tiens-moi au courant

Véronique

Hors ligne

 

#6 Mon 14 December 2009 13:45

Kyk
Participant actif
Date d'inscription: 20 Jan 2009
Messages: 88

Re: [shp2dwg] affichage des textes dans le dwg

Le Attributerenamer avec autocad_mtext_string ne fonctionne pas. J'ai toujours un point et non un texte dans mon dwg.

Et avec le geometrycoercer, j'ai l'erreur suivante:
"AutoCAD Writer: An error occurred in file .\acadwrite2004.cpp, function AutoCAD2004Writer::setExtents. Exception thrown: 'Invalid input'
GeometryCoercer_Renamer: GeometryType function could not convert parameter 3 to a float"
J'ai mis "fme_text" dans Geometry Type. Est-ce qu'il faut mettre autre chose ?

Dans les attributs de mes données ponctuelles de départ, j'ai également une ROTATION que j'aimerai prendre en compte pour l'orientation du texte. Est-ce possible ?

Hors ligne

 

#7 Mon 14 December 2009 14:03

Kyk
Participant actif
Date d'inscription: 20 Jan 2009
Messages: 88

Re: [shp2dwg] affichage des textes dans le dwg

en fait, ça n'est pas un point que j'ai dans mon dwg mais un block reference. Je pense que cela vient du paramètre Attribute Output que j'ai mis à "Insert". Mais si je met "Extended Entity Data", je perd tous mes attributs et de toute façon, j'ai quand même un point et non un texte... une idée ?

Excusez de mon ignorance mais je ne maîtrise pas du tout le format Autocad. C'est quoi la différence entre autocad_mtext_string et autocad_text_string ? de plus, l'un n'a pas l'option rotation tandis que l'autre oui...

Hors ligne

 

#8 Mon 14 December 2009 14:33

veroh
Participant actif
Lieu: Moutier
Date d'inscription: 27 Sep 2008
Messages: 97
Site web

Re: [shp2dwg] affichage des textes dans le dwg

Bonjour,

Juste pour clarifier un peu la situation. Dans ton shape de départ, tu as bien des points avec des attributs ?
Comment as-tu défini le dwg d'output ?

Pour le travail, je dois des fois aussi créer des dwg, certains avec et d'autres sans blocs. Pour le moment, je procède en 2 script. Le premier écrit soit vers un fichier dwg avec comme attribute storage method "autocad_entity_data" (les non blocs) et l'autre avec "insert_attribute" (pour les blocs). Le second script ouvre les 2 dwg créé et en fourni un seul en sortie (attribute storage method "extended_entity_data")

Est-ce que cela t'aide ??

Cordialement

Véronique

Hors ligne

 

#9 Mon 14 December 2009 15:09

Kyk
Participant actif
Date d'inscription: 20 Jan 2009
Messages: 88

Re: [shp2dwg] affichage des textes dans le dwg

oui, mon shape de départ contient bien des points avec des attributs (ROTATION, TEXTSTRING, TYPE...)
Dans mon dwg output, j'ai laissé les attributs par défaut dans User Attributes, dans Format Attributes j'ai coché autocad_mtext_string et dans Paramters, j'ai mis une couleur à 254.

Je ne vois pas ce qu'est le "attribute storage method ". Moi, j'ai Attribute Output dans les paramètres avancés de l'output et je n'ai que 3 choix dedans : Extended Entity Data, Inserts ou Ignore.

J'ai vraiment l'impression de patauger...

Hors ligne

 

#10 Mon 14 December 2009 17:15

veroh
Participant actif
Lieu: Moutier
Date d'inscription: 27 Sep 2008
Messages: 97
Site web

Re: [shp2dwg] affichage des textes dans le dwg

Bonjour,

Alors voilà comment je vois les choses.

Essaye de sortir un dwg où les attributes output sont de type extended entity data.

Ensuite, tu prend le "truc" qui représente ton calque autocad de sortie et tu va dans le 3 ème onglet où tu coches autocad_entity et autocad_mtext_string. Tu acceptes puis tu "déploies" le truc qui représente ton calque de sortie autocad. Là tu crées une constante (avec comme texte "autocad_multi_text") liée à la ligne autocad_entity et tu joins le champ où tu as ton texte à la ligne autocad_multi_text_string.

Que vois-tu sortir ???

Véronique

PS : à demain ceci dit

Hors ligne

 

#11 Mon 14 December 2009 18:13

Kyk
Participant actif
Date d'inscription: 20 Jan 2009
Messages: 88

Re: [shp2dwg] affichage des textes dans le dwg

Youpiiiiiiiiiiiiiiiiiiiiiii ! ça fonctionne. Merci beaucoup !

Je n'ai pas trop compris ce que j'ai fait et pourquoi je l'ai fait mais ça fonctionne avec le Attributerenamer. Une petite explication ne serait pas de refus... en attendant la formation...

J'ai un attribut rotation. Est-ce que c'est possible de le prendre en compte pour l'orientation des textes ?

Cordialement

Hors ligne

 

#12 Tue 15 December 2009 06:53

veroh
Participant actif
Lieu: Moutier
Date d'inscription: 27 Sep 2008
Messages: 97
Site web

Re: [shp2dwg] affichage des textes dans le dwg

Bonjour,

Contente pour toi. En ce qui concerne la rotation, il te faut activer (dans le troisième onglet de ton calque DWG) l'attribut "autocad_rotation" et à y connecter ton attribut d'angle provenant du shape mais attention à la manière dont tes angles sont définis dans autocad (grade / décimaux).

Bonne chance

Véronique

Hors ligne

 

#13 Tue 15 December 2009 10:00

Kyk
Participant actif
Date d'inscription: 20 Jan 2009
Messages: 88

Re: [shp2dwg] affichage des textes dans le dwg

super, tout fonctionne.

Maintenant que j'ai mis mes toponymes en texte dans mon dwg, j'aimerai que mes autres infos (bâtiment et parcelle) soient sous forme de block reference afin de conserver mes attributs. Pour le moment, je les ai en polyligne ou polygone dans mon dwg sans les attributs.

Véronique, tu disais arriver à créer un dwg avec et sans blocs en procédant en 2 scripts :

Pour le travail, je dois des fois aussi créer des dwg, certains avec et d'autres sans blocs. Pour le moment, je procède en 2 script. Le premier écrit soit vers un fichier dwg avec comme attribute storage method "autocad_entity_data" (les non blocs) et l'autre avec "insert_attribute" (pour les blocs). Le second script ouvre les 2 dwg créé et en fourni un seul en sortie (attribute storage method "extended_entity_data")


J'ai donc créé un script qui convertit mes shapes toponymes en texte dans un dwg2a. Puis un autre script qui convertit mes shapes bâtiment et parcelle en block reference avec attributs dans un dwg2b. Mais je n'arrive pas à créer le script qui permet de réunir mes 2 dwg en un seul. J'ai bien toutes mes données dans le dwg final mais les bâtiments et parcelles ne sont plus des blocks et n'ont donc plus d'attributs. J'ai oublié quelque chose ?

Hors ligne

 

#14 Tue 15 December 2009 10:13

veroh
Participant actif
Lieu: Moutier
Date d'inscription: 27 Sep 2008
Messages: 97
Site web

Re: [shp2dwg] affichage des textes dans le dwg

Bonjour,

Alors voici comment fonctionne mon second script.

1) Charger les deux dwg de départ. Attention aux options. Celui avec des blocs doit avoir "Explode blocks = No" et celui sans les bloc ben on s'en tape vu qu'il n'a pas de blocs dedans en gros.

2) Tu charges les calques et tu les mets dans un seul fichier dwg de sortie avec attribute_sotrage_method : extended_entity_data

Bon ben ça fonctionne chez moi alors à voir chez toi

Véronique

Hors ligne

 

#15 Tue 15 December 2009 10:25

Kyk
Participant actif
Date d'inscription: 20 Jan 2009
Messages: 88

Re: [shp2dwg] affichage des textes dans le dwg

si je fais cela, j'ai les erreurs suivantes (pcn_test1a étant mon dwg avec les blocks) :

"Specified block 'pcn_test1a_ACAD_1_FMEBLOCK4734' is not defined in AutoCAD file.  Skipping feature"

et je n'ai que les données de mon dwg toponyme dans le dwg final.

Je joins mon script pour la configuration.


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

Hors ligne

 

#16 Tue 15 December 2009 10:32

veroh
Participant actif
Lieu: Moutier
Date d'inscription: 27 Sep 2008
Messages: 97
Site web

Re: [shp2dwg] affichage des textes dans le dwg

Bonjour,

Dans ton dwg final (du second script), tu dois lui spécifier, comme dans le script créant ton dwg avec block, un Template_file où se trouve tes blocs.

Je regarde le fichier zippé quand même

Véronique

Hors ligne

 

#17 Tue 15 December 2009 10:36

veroh
Participant actif
Lieu: Moutier
Date d'inscription: 27 Sep 2008
Messages: 97
Site web

Re: [shp2dwg] affichage des textes dans le dwg

Bonjour,

Je ne suis pas sûre qu'avoir comme template file le fichier que tu lis soit une super bonne idée. Peux-tu essayer avec le template file qui t'a permit de créer le fichier pcn_test1b.

Bon ceci dit, je ne suis pas une experte de chez experte.

Dis-moi quoi

Véronique

Hors ligne

 

#18 Tue 15 December 2009 10:36

Kyk
Participant actif
Date d'inscription: 20 Jan 2009
Messages: 88

Re: [shp2dwg] affichage des textes dans le dwg

ça y est, j'ai trouvé: il faut bien mettre Expand Blocks into Entities à NO. Par contre, il faut mettre Explode Mtext Entities à NO aussi + dans les paramètres avancés Use Block Header Layer for Components = YES + Resolve entity color = NO.

Merci

Hors ligne

 

#19 Tue 15 December 2009 10:41

Kyk
Participant actif
Date d'inscription: 20 Jan 2009
Messages: 88

Re: [shp2dwg] affichage des textes dans le dwg

Tu as raison, il faut prendre comme template file le dwg qui contient les blocks.

Merci beaucoup pour ton aide.

Hors ligne

 

Pied de page des forums

Powered by FluxBB