Aller au contenu

Variable dans DESSIN


Messages recommandés

Invité ingoenius
Posté(e)

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)

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?

 

 

Posté(e)

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)

Je connais pas usersx c'est quoi ? ni xdata

Posté(e)

usersx
=> ce sont des variables utilisateur dans le dessin.

Il y en a 15 en tout:

5 variables pour les entiers useriX

5 variables pour les réels userrX

5 variables pour les string (cahine de caractères) usersX

 

Exemple:

Commande: users1

Entrez une nouvelle valeur pour USERS1, ou . pour aucune <"">: toto

Commande: users1

Entrez 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 peux

stocker des infos avec les xdata, comme ca un utilisateur normal ne les voit pas, mais en plus il

ne 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)

ok pour les xdata, a lie, mais comment il faut les creer?

 

Posté(e)

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

  • 2 semaines après...
Posté(e)

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

 

 

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é