CadXP: partie de texte attribut bloqué - CadXP

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

partie de texte attribut bloqué

#1 L'utilisateur est hors-ligne   Fishtonn 

  • ceinture blanche
  • Groupe : Membres
  • Messages : 4
  • Inscrit(e) : 18-mars 20

Posté 18 mars 2020 - 13:31

Bonjour,

J'espère que je poste au bon endroit, et que le sujet ne fait pas doublon.

Pour mes conceptions, j'ai un cartouche qui est inséré en tant que bloc.
Ce bloc contient des attributs (matiere, epaisseur,....)

Pour les besoins d'un traitement ultérieur en automatique (radan, logiciel cfao), j'ai besoin dans ce cartouche de lignes de texte contenant un texte de référence + la valeur de l'attribut (le tout dans un seul champ)
Pour ne pas que les dessinateurs modifient le texte de référence, j'ai besoin qu'il soit bloqué, mais pas la valeur de l'attribut.

Pour résumer, le dessinateur selectionne le bloc, change la valeur de l'attribut, et le champ de texte doit refléter ce changement en gardant le texte de référence. (ce que je n'arrive pas à faire)

Est-ce que vous auriez des idées ?
Merci
0

#2 L'utilisateur est hors-ligne   Aleck Ultimate 

  • ceinture noire 2em dan
  • Groupe : Membres
  • Messages : 1 081
  • Inscrit(e) : 18-novembre 16
  • LocationAlpes de Hautes Provences (04)

Posté 19 mars 2020 - 08:23

Salut.

Je suis pas bien certain de comprendre ta question, mais est-ce qu'un simple texte pour la partie "brute" qui restera fixe suivi d'un attribut pour la partie "modulaire" pourrait faire l'affaire ? C'est ce que je fais pour mes cartouches. Dans "Dessinateur : Aleck_Ultimate" j'aie "Dessinateur :" en texte et "Aleck_Ultimate" en attribut pour pouvoir le modifier.

Si ce n'est pas ça un exemple de ta problématique serait la bienvenue.

Cordialy.
Membre d'Extinction Rebellion, car pour sauver le monde il n'est jamais trop tard, amoure et rage !

Utilisateur d'AutoCAD 2018 sous Windows 10
0

#3 L'utilisateur est hors-ligne   Steven 

  • ceinture rouge et blanche 7em dan
  • Groupe : Membres
  • Messages : 3 696
  • Inscrit(e) : 03-mars 03
  • LocationDans le TARDIS

Posté 19 mars 2020 - 10:12

Salut,

J'avoue ne pas bien avoir compris, aussi, la demande.

Qu'est-ce que le texte de référence ?

Un exemple serait le bien venu avec des copies d'écran, par exemple.
Steven________________________________________
Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.
Pour la maison; Linux Mint et pas de problèmes. Mais pas d'AutoCAD.
En rêve; AutoCAD sous Linux.
0

#4 L'utilisateur est hors-ligne   Fishtonn 

  • ceinture blanche
  • Groupe : Membres
  • Messages : 4
  • Inscrit(e) : 18-mars 20

Posté 19 mars 2020 - 11:46

Bonjour,

Merci pour votre intérêt :)

Je vais essayer d'être plus précis:

J'ai un dwg d'ensemble avec plusieurs pieces, chacune leur cartouche.
Les cartouches sont une insertion d'un "bloc cartouche" avec des attributs, non explosé, de cette manière en selectionnant un bloc on peut changer directement les valeurs de matiere, epaisseur, quantité, etc...

Ensuite je passe ce dwg dans un logiciel qui va exploser les blocs et scanner les champs de texte pour attribuer automatiquement ces valeurs aux pièces (pour la découpe)
Le paramétrage de la reconnaissance est simple, il scanne les textes à la recherche d'un "texte de référence" , par exemple "matiere=" , et récupère ce qui suit dans ce meme texte comme valeur.

Dans cet exemple, s'il y a un champ de texte "matiere= INOX" la valeur récupérée sera " INOX".

Mon problème, c'est que si c'est sous la forme "matiere=" "INOX" soit un champ texte de reference "matiere=" et un champ "INOX" (attribut) posé à coté, le logiciel ne sait pas les associer.
Et si on oublie le champ texte de reference et que je demande aux dessinateurs de mettre en attribut "matiere= INOX" je prends le risque qu'ils modifient le texte, et un caractere en plus ou en moins suffit à planter la reconnaissance automatique

Est-ce que c'est suffisamment clair ?
Je peux essayer de faire un fichier exemple

Je suis ouvert à toutes propositions, quitte à changer de méthode de fonctionnement, du moment que ça reste pratique pour tous.

Merci !
0

#5 L'utilisateur est hors-ligne   Aleck Ultimate 

  • ceinture noire 2em dan
  • Groupe : Membres
  • Messages : 1 081
  • Inscrit(e) : 18-novembre 16
  • LocationAlpes de Hautes Provences (04)

Posté 19 mars 2020 - 12:11

J'aie pas les compétences pour le coder, mais je pense avoir le concept d'un LISP pas trop compliqué qui conviendrait.

L'idée : tu met tes attributs dans un claque dédié pour pouvoir les filtrer, (au début de la commande on sélectionne ou on nomme le calque en question) tu nome ton attribut selon le préfixe que tu veut "matiere=" et tu remplie ton attribut avec le radical "INOX".

Quant tu a fini de modifier tes attributs tu lance un LISP qui ajoute le nom des attributs à au début de leur valeur (la valeur de l'attribut nommé "matiere=" de valeur "INOX" passera à "metiere=INOX. Sauvegarder, quitter, prêt a passer dans ton logiciel.

Si des modifications doivent êtres effectuées plus tard il faudrait utiliser un autre LISP qui efface le nom de l'attribut de sa valeur, et les attributs sont de nouveau modifiables sans risque de modifier le préfixe.

Deux problème : moi ça me semble "simple" parce que je ne prévois que des fonction LISP basiques dans le développement, rien ne dit que c'est aussi "facile" que je le croie, ensuite il faudrait trouver quelqu'un qui accepte de prendre un peut de temps pour le coder (à mon niveau il me faudrait au moins la journée sans garantie de résultât).
Membre d'Extinction Rebellion, car pour sauver le monde il n'est jamais trop tard, amoure et rage !

Utilisateur d'AutoCAD 2018 sous Windows 10
0

#6 L'utilisateur est hors-ligne   Fishtonn 

  • ceinture blanche
  • Groupe : Membres
  • Messages : 4
  • Inscrit(e) : 18-mars 20

Posté 19 mars 2020 - 12:52

Merci pour ton idée

Je n'ai jamais codé en LISP, alors je ne connais pas du tout ses fonctions.
Je suppose qu'on doit pouvoir assez facilement faire une recherche préalable dans le champ pour voir s'il y a un caractère "=" afin d'éviter de re-modifier le champ ?
Ou alors, si LISP le permet, rajouter ce texte à l'instant de la modification d'un attribut ?
Enfin ces questions il vaudrait peut-être mieux que je les poste dans la partie programmation...

Merci, je vais essayer de me pencher sur le LISP pour voir ce qu'il permet.

En attendant, s'il y a d'autres suggestions, je suis preneur :)

PS: je mets en lien un visuel de ce qu'il me faudrait, mais pas sûr que ce soit très parlant...

Mon lien

(hebergement wetransfer)
0

#7 L'utilisateur est hors-ligne   Fishtonn 

  • ceinture blanche
  • Groupe : Membres
  • Messages : 4
  • Inscrit(e) : 18-mars 20

Posté 19 mars 2020 - 14:53

Bon j'ai trouvé une autre solution, moins élégante:

- un "sous-bloc" avec les attributs voulus (matiere, epaisseur,...)

- un "bloc cartouche" comprenant ce sous-bloc et des champs de texte avec "[texte de reference] + [lien vers la valeur des attributs du sous-bloc]"

=> sur les nouveaux dessins, on insere le "bloc cartouche" en l'éclatant.
Pour changer les valeurs, on selectionne le "sous-bloc" et on en change les attributs,
puis un pti REGEN pour mettre à jour les champs de texte.

Ca a l'air de fonctionner, mais il y a surement moyen de faire plus propre...

Question: est-ce que je peux bloquer l'édition des champs de texte, mais qu'ils se mettent quand même à jour avec le REGEN ?

Fichiers de cette version en lien WeTransfer:

fichiers bloc cartouche v2
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)