Invité ingoenius Posté(e) le 8 octobre 2008 Posté(e) le 8 octobre 2008 Est possible de mettre une variable dans un dessin et la recuperer a l'interieur d'un champ? et la retrouver a l'ouverture successive de celui-ci? ex dans mon dessin j'écris une variable du tipe LIEUX = "EXT_Opera_1"ensuite dans toute mes présentations (espace papier) j'insère un champ avec comme valeur le contenu de cette variable car je essayé, en plusieurs façons, mais un champ text qui récupère une string sur une présentation papier , quand je le colle dans un'autre présentation il perd ces valeurs [Edité le 8/10/2008 par ingoenius]
Invité ingoenius Posté(e) le 8 octobre 2008 Posté(e) le 8 octobre 2008 je essayé directement en ligne de commande avec (setq V1 "EXt_opera"), ensuite je inséré un champ avec la variable autolisp qui apparait bien avec les variables lisp dans le dessin ;-) tous cela fonctionne jusq'a la feremeture du dessin,;-( il y a une façon pour enregistrer la variable dans le dessin et la retrouver ensuite?
bseb67 Posté(e) le 8 octobre 2008 Posté(e) le 8 octobre 2008 Salut, Ton V1 c'est une chaine de caractère, alors pourquoi pas utiliser USERSx (où x va de 1 à 5)?Sinon, tu peux toujours mettre un texte et le rendre invisible grâce aux vl.Il y a aussi setenv et getenv, mais là, si tu changes de pc tu n'as plus la variable.Et en dernier les ldata, mais là j'ai pas encore touché à ca, mais au xdata oui. Tous pour lisp, Lisp pour tous!Avec Revit, cela ne vas trop vite...
Invité ingoenius Posté(e) le 8 octobre 2008 Posté(e) le 8 octobre 2008 Je connais pas usersx c'est quoi ? ni xdata
bseb67 Posté(e) le 8 octobre 2008 Posté(e) le 8 octobre 2008 usersx => ce sont des variables utilisateur dans le dessin.Il y en a 15 en tout: 5 variables pour les entiers useriX5 variables pour les réels userrX5 variables pour les string (cahine de caractères) usersX Exemple:Commande: users1Entrez une nouvelle valeur pour USERS1, ou . pour aucune <"">: totoCommande: users1Entrez une nouvelle valeur pour USERS1, ou . pour aucune <"toto">: Le problème de ces variables, c'est qu'elles peuvent être modifiées par un autre lisp. Les xdata, ca n'a rien de porno ;) , ceux sont des données que tu peux ajouter à des entités.Il faut d'abord déclarer un nom d'association pour les xdata. En fait c'est un nom d'application.Je ne pense pas avoir la faculté de te faire comprendre rapidement comment en faire :( ,cela te permet de faire pas mal de chose, au-lieu d'utiliser des attributs sur un bloc, tu peuxstocker des infos avec les xdata, comme ca un utilisateur normal ne les voit pas, mais en plus ilne saura pas te les modifier. pour avoir les xdata d'une entité, il faut faire un entget un peu différent:(setq ent (car (entsel)))(setq lent (entget ent '("*")))exemple rapide => résultat de lent:((-1 . ) (0 . "LINE") (5 . "8B0A2") (102 . "{ACAD_REACTORS") (330 . ) (330 . ) (102 . "}") (330 . ) (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "TK-CVC") (100 . "AcDbLine") (10 -120.504 60.7194 0.0) (11 -120.504 62.5532 0.0) (210 0.0 0.0 1.0) (-3 ("Mon_APPLI" (1000 . "DEBIT") (1040 . 45.0))) ) la partie en gras, c'est des xdata. Mon_APPLI c'est le nom pour l'association.Pour les xdata, comme elles peuvent être mélangées, j'ai mis en place une règle simple:d'abord le nom de la valeur stockée puis sa valeur d'où le (1000 . "DEBIT")puis le (1040 . 45.0). Je ne veux pas en donner en plus, mieux vaudrai faire un topic pour ca. Tous pour lisp, Lisp pour tous!Avec Revit, cela ne vas trop vite...
Invité ingoenius Posté(e) le 8 octobre 2008 Posté(e) le 8 octobre 2008 ok pour les xdata, a lie, mais comment il faut les creer?
(gile) Posté(e) le 8 octobre 2008 Posté(e) le 8 octobre 2008 Salut, Pour les XDatas Didier_AD avait fournit un petite librairie de codes en AutolISP (liste DXF) et Bred une autre en Visual LISP dans ce sujet, tu peux voir aussi un exemple d'utilisation ici. Sinon, plus facile d'utilisation, il y a aussi les ldatas (données LISP) qui peuvent être attachées à un dictionnaire ou à une entité. Regarde l'aide pour les fonctions vlax-ldata-XXX Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Bruno_T Posté(e) le 21 octobre 2008 Posté(e) le 21 octobre 2008 bonjour ingoenius, LIEUX = "EXT_Opera_1" ce que tu décris ressemble à ce qu'on trouve par exemple de manière classique dans un cartouche présent dans plusieurs présentations de plusieurs fichiers. donc je ne comprends pas pourquoi tu utilises un champ pour afficher ta variable, un bloc classique avec un attribut ne convient-il pas ? ou un text ou etc... Bruno Toniutti
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant