REGAPP-XDATA

 REGAPP


Enregistre un nom d'application

Syntaxe : (regapp application)
Valeur renvoyées : le nom de l'application ou nil si échec

L'argument application est une chaîne de caractères (string) pouvant contenir jusqu'à 31 caractères conformes aux conventions utilisées pour les symboles.
Le nom de l'application peut contenir des lettres, des chiffres, des caractères spéciaux (- tiret, _ underscore, $ dollar) mais il n'est pas possible d'y insérer des espaces.

Si une application de même nom est déjà enregistrée la syntaxe renvoie nil.

Quand l'enregistrement est réussi, le nom de l'application est enregistré dans la table des symboles APPID.
Cette table met à jour la liste des applications utilisant des données étendues.

Exemple :

(regapp "da-code-appli")

Renvoie : "da-code-appli"

Si on relance la même ligne, il sera renvoyé nil


logo-bonne-idee Le nom de l'application devant être unique, il conviendra d'adopter une structure typographique unique ne pouvant entrer en contradiction avec d'autres auteurs, par exemple insérer vos initiales, voire votre nom.
Le numéro de version, le cas échéant, peut être enregistré dans un champ distinct contenant un nombre réel par exemple (1040 2.9)

Comment insérer des données étendues
(XDATA)
sur une entité existante

Dans l'exemple qui va suivre je vais utiliser la fonction (entlast) donc il faut dessiner quelque chose, une ligne, un cercle, un point ... libre à vous

1
2
3
4
5
6
7
8
9
(setq ent-last (entget (entlast)))
(regapp "da-code-appli");
(setq Data-da-code
 '((-3 ("da-code-appli"
 (1000 . "Ma première XDATA")
 )))
)
(setq ent-last-new (append ent-last Data-da-code))
(entmod ent-last-new)

Ligne 1 : mise en mémoire dans une variable du nom (ename) de la dernière entité
Ligne 2 : enregistre un nom d'application
Lignes 3-4-5-6-7 : définition d'une nouvelle variable de données étendues
Ligne 8 : ajoute la nouvelle dans la liste de définition de la dernière entité
Ligne 9 : met à jour la dernière entité

Et voilà !
la dernière entité contient un renseignement supplémentaire
qu'on pourra lire avec les fonctions de filtres et de codes DXF.

logo-bonne-ideeRappel de (entget) :
Pour interroger des données étendues (XDATA) il faut rajouter le nom de l'application dans l'appel par (entget) :
dans la suite de l'exemple expliqué plus haut dans cette page :

(setq valeurXDATA 
(entget (car (entsel"\choix de l'objet ")) '("da-code-appli"))
)

Là il faut sélectionner la dernière entité (sur laquelle on a greffé un XDATA)
et on constate (avec ravissement) que la variable valeurXDATA  contient :
(j'ai colorié en bleu les données concernées pour les repérer)
((-1 . <Nom d'entité: 7f76d91ee50>) (0 . "LINE") (330 . <Nom d'entité: 7f76d92d9f0>) (5 . "41D") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbLine") (10 21.623 -4.05552 0.0) (11 29.4556 1.18485 0.0) (210 0.0 0.0 1.0) (-3 ("da-code-appli" (1000 . "Ma première XDATA"))))

 


Haut de page

Retour vers "DONNÉES ÉTENDUES"


22 décembre 2017