N° |
Fonction |
Catégorie |
Version |
BIO 04 |
BiO_Pick |
Gestion Entrées Utilisateur |
1.0 - Janvier 2007 |
Description
But
|
Vérifie si l'entité sélectionnée est du type désiré
|
Prototype
|
(BiO_Pick Message Type_Entité)
|
Argument
|
Message : - Message demandant la sélection d'une entité - chaîne -
Type_Entité : - Le type d'entité désiré - chaîne -
|
Retours
|
Une liste 'Entsel' (le nom de l'entité et le point de sélection) - liste -
|
Var. globales
|
Néant
|
Description
|
Affiche un message demandant la sélection d'une entité puis vérifie que
l'entité sélectionnée est bien du type désiré.
|
Notes
|
Le type de l'entité doit correspondre au nom défini dans la codification DXF.
|
Exemples
|
Commande: (BiO_Pick "Sélection ligne : " "LINE")
Sélection ligne :
( (162.445 142.959 0.0))
Commande: (BiO_Pick "Cliquez un cercle :" "CIRCLE")
Cliquez un cercle :
Erreur : L'entite selectionnee ne correspond pas !
Piquez un cercle :
( (236.611 84.8906 0.0))
Commande: (BiO_Pick "Piquez un cercle :" "circle")
Piquez un cercle :
Erreur : L'entite selectionnee ne correspond pas !
Piquez un cercle :
Dans ce cas, même si on sélectionne un cercle, la sélection ne sera
pas acceptée, le type d'entité 'circle' devant être en majuscules.
|
La fonction
1- (defun BiO_Pick (*Message *Typ1 / Ent1)
2- (setq Ent1 (entsel *Message))
3- (if (null Ent1)
4- (BiO_Pick *Message *Typ1)
5- (cond
6- ((/= (cdr (assoc 0 (entget (car Ent1)))) *Typ1)
7- (prompt "\nErreur : L'entite selectionnee ne correspond pas ! ")
8- (BiO_Pick *Message *Typ1)
9- )
10- (T
11- (eval 'Ent1)
12- ) ; fin de condition T ligne 10
13- ) ; fin de condition ligne 5
14- ) ; fin de if ligne 3
15- )
Ligne 2 : Affiche le message qui demande de sélectionner une entité
Ligne 3 : S'il n'y a pas d'entité sélectionnée,
Ligne 4 : reprend la routine au début,
Ligne 5 : sinon, condition
Ligne 6 : Si l'entité sélectionnée est d'un type différent au 2ème argument,
Ligne 7 : Donne un message d'erreur
Ligne 8 : et reprend la routine au début
Ligne 10 : Dans les autres cas (donc si l'entité correspond au type désiré)
Ligne 11 : Evalue l'entité sélectionnée
entsel : demande de sélectionner une entité unique.
assoc : recherche dans les données de Ent1, l'élément associé à 0.
entget : retourne la liste des données d'une entité d'après son nom (ename).
car : retourne le 1er élément de Ent1, c'est-à-dire son 'ename'.
cdr : retourne une liste après y avoir enlevé le 1er élément.
eval : dans ce cas, retourne le 'ename' de l'entité et les coordonnées du point de sélection.