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
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.
Rappel 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"))))
Retour vers "DONNÉES ÉTENDUES"
22 décembre 2017