Aller au contenu

Initier un champs avec un VLAX-LDATA


DenisHen

Messages recommandés

Bonjour à tous,

 

Voilà, j'ai un petit souci avec les "champs" d'AutoCAD.

 

J'au un LiSP qui enregistre des données dans le DWG qui sont remplies avec une fonction VLiSP : "vlax-ldata-put"

 

Pour aller chercher ces information, il y a "vlax-ldata-get". Mais je ne sais pas comment faire pour que mon champs AutoCAD cherche cette valeur dans le DWG.

 

J'ai plusieurs valeurs de ce type, mais la première est dans "(vlax-ldata-get "ERDF" "NumDossierERDF")". Une fois que je saurais le faire avec une, le reste en découlera...

 

Mon client est ErDF et cette variable représente leur numéro d'étude. J'en ai pris une au pif...

 

J'aimerais savoir comment intéroger cette variable pour la mettre dans un des champs de mon cartouche...

 

C'est un peu compliqué mais je pense être assez clair... Enfin je pense...

 

J'ai posté dans ce groupe car il me semble que ça relève plus de la macro que du LiSP pur...

 

Si quelqu'un a une astuce ou une remarque, elle sera la bienvenue...

 

Denis...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

(setq ma_variable (vlax-ldata-get "ERDF" "NumDossierERDF"))

Et ensuite : Champ --> VariableLisp --> ma_variable

Mais cela suppose que le lisp est chargé à chaque dessin pour que "ma_variable" soit valable.

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

Salut Patrick_35.

 

Merci pour ta réponse.

 

Mon LiSP est lancé à la demande, mais je "rempli" toutes mes variables dès le début de l'étude.

 

Ainsi, je serais tranquille ensuite pour mes cartouches...

 

J'essai tout de suite, mais quelle est la bonne variable ? "ERDF" ou "NumDossierERDF" ?

 

AutoCAD me propose de continuer son expression ?

 

Qui est "%<\AcVar.17.0 Lisp.#acet-pljoin-fuzz \f "%lu6">%"

 

Je pensais plus à une "expression diesel" à placer dans le champs, car là, je n'ai pas ma donnée dans la liste de chois...

 

Denis...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Je viens de comprendre...

 

En fait, je me suis mal exprimé dès le début...

 

Je ne cherche pas à récupérer une variable LiSP mais la chaine enregistrée dans mon DWG avec vlax-ldata-put

 

Car mon LiSP ne se lance pas à chaque chargement du DWG.

 

Désolé pour cette erreur de ma part... Je m'étais mal exprimé...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour

un lisp qui remplie tes cartouches.

ça m’intéresse .

mes cartouches ce remplissent par des champs à chaque projet, mais si il y a un lisp qui fait mieux ...

 

 

Nous vivons tous dans le ventre d'un chien géant

Tout le monde le sait mais personne ne dit rien du tout

 

ultra Vomit

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

En fait, j'ai un LiSP qui rempli des valeurs incluses dans mon DWG...

 

Ensuite, je pensais récupérer ces valeur dans différents champs de mon cartouche...

 

Pour mieux comprendre, voicu mon bout de LiSP.

(defun c:DHDossERDF (/ donnee)
 (princ "\nDéveloppé par Denis H.")
;;; Saisie d'objet de l'étude
 (setq donnee (vlax-ldata-get "ERDF" "DesigneEtude")) ; Numéro du dossier
 (if donnee ; si donnee est déjà défini
   (progn (if (setq donnee (getstring T
                                      (strcat "\nNuméro du dossier ERDF (" donnee ") - Nouveau numéro : ") ;_ Fin:strcat
                           ) ;_ Fin:getstring
              ) ;_ Fin:setq
 ; Si donnee est re-défini
            (if (/= donnee "")
              (vlax-ldata-put "ERDF" "DesigneEtude" donnee)
            ) ;_ Fin:if
          ) ;_ Fin:if
   ) ;_ Fin:progn
 ; si donnee n'est pas encore défini
   (progn (setq donnee (getstring T "\nNuméro du dossier ERDF: "))
          (vlax-ldata-put "ERDF" "DesigneEtude" donnee)
   ) ;_ Fin:progn
 ) ;_ Fin:if
 (princ)
) ;_ Fin:defun

 

Denis...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

un lisp qui remplie tes cartouches.

ça m’intéresse .

mes cartouches ce remplissent par des champs à chaque projet, mais si il y a un lisp qui fait mieux ...

 

J'avais fais un lisp tatto.lsp avec le DCL tatoo.dcl qui va avec.

 

Ce cartouche est plutôt générique, mais il utilise les champs dynamiques, ce qui veut dire que si le dessin est lu par une autre bécane qui n'a pas le lisp, il sera encore mis à jour malgré tout.

 

En effet il utilise quelques clés contenues dans "propriété du dessin...", donc sans avoir le lisp et en changeant la valeur de ces clés, le cartouche (ou les cartouches présents dans tous les onglets ou fenêtres) sera/seront mis à jour avec la valeur de ces clés.

 

Ceci pour dire que les champs restent une bonne solution pour des cartouches à maintenir à jour. On ne pense pas assez à utiliser les "propriétés du dessin" pour personnaliser ceux-ci car ils fonctionneront partout et la modification sera aisée sans lisp et par n'importe quel utilisateur (une fois au courant, bien sur :(rires forts): ).

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

Salut

Patrick_35 :

Et pourquoi ne pas remplir le cartouche en même temps, sans utiliser les champs ?

 

Parce que les renseignements du cartouche sont connus dès le début de l'étude, mais les présentations se succèdent à mesure que le dessin évolu... Ce qui m'éviterait de lancer le LiSP avant chaque impression ou chaque eTransmit, ce sont des champs, car ils se mettent tout seul à jour avant ce type d'opération...

 

Mais ce n'est pas une mauvaise idée... Maintenant, reste à savoir s'il faudra le lancer dans chaque présentation...

 

Je vais me pencher là-dessus...

 

BonusCAD : ton LiSP m'interresse beaucoup... Je le testerais dès que j'aurais un peu de temps... Et le modifirais le cas échéant à mes besoin... Si tu n'en vois pas d'inconvénients bien sur...

 

Merci à tous...

 

Denis...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Salut à tous,

 

Bon, j'ai suivi le conseil de Patrick_35... J'ai créé des variables LiSP et inséré des champs dans mon cartouche.

 

C'est vrai que c'est très pratique d'avoir un cartouche qui se rempli "automatiquement" lors de l'enregistrement ou de l'impression...

 

Mais après plusieurs tests, le cartouche ne se met pas bien à jour et je n'ai plus aucune données après le deuxième "_qsave"... Comprend pas.

 

Faut-il déclarer les variables en "général" et non en "local" ? Ou un truc dans ce genre ? ?

 

J'ai joint mon cartouche DWG et mon LiSP, au cas...

 

Denis

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité