N° | Fonction | Catégorie | Version |
---|---|---|---|
BIB 12 | BiB_Put | Gestion des Objets | 1.0 - Janvier 2007 |
But | Permet de modifier directement la valeur associée d'une paire pointée. |
Prototype | (BiB_Put Nom_Entité Code Nouv._Val) |
Arguments | Nom_Entité - Le nom de l'entité - ename - Code - Le code associé à l'attribut à modifier - entier - Nouv_Val - La nouvelle valeur correspondant au code - tout type - |
Retours | L'ename de l'entité (qui est modifiée en conséquence) - ename - |
Var. globales | Néant |
Description | Permet de modifier la valeur associée d'une paire pointée dans la liste de définitions d'une entité à partir de son 'ename'. |
Notes | Si la paire pointée n'existe pas, elle est ajoutée à la liste de définitions. |
Exemples | Commmand: (command "_text" "100,50" "10" "15" "Ceci est le texte") Command: (setq T1 (entlast)) <Entity name: 1801568> Command: (entget T1) (-1 . <Entity name: 1801568>)(0 . "TEXT") (5 . "20D") (100 . "AcDbEntity")(67 . 0) (8 . "ROUGE") (100 . "AcDbText") (10 100.0 50.0 0.0) (40 . 10.0) (1 . "Ceci est le texte") (50 . 0.261799) etc... Command: (BiB_Put T1 8 "new_plan") retourne <Entity name: 1801568> Note : Le calque 'new_plan' qui n'existait pas a été créé automatiquement. Command: (BiB_Put T1 1 "Nouveau texte") retourne <Entity name: 1801568> Command: (entget T1) ((-1 . <Entity name: 1801568>) (0 . "TEXT") (5 . "20D") (100 . "AcDbEntity")(67 . 0)(8 . "NEW_PLAN")(100 . "AcDbText") (10 100.0 50.0 0.0) (40 . 10.0) (1 . "Nouveau texte") (50 . 0.261799) (41 . 1.0) (51 . 0.0) (7 . "STANDARD") (71 . 0)(72 . 0) (210 0.0 0.0 1.0)(100 . "AcDbText")(73 . 0)) Le texte a été remplacé sur le dessin et placé dans le calque 'new_plan' |
1- (defun BiB_Put ( *Ent_Name *Key *New_Val / EntDat Val1) 2- (setq EntDat (entget *Ent_Name)) 3- (entmod 4- (if (setq Val1 (assoc *Key EntDat)) 5- (subst (cons *Key *New_Val) Val1 EntDat) 6- (append EntDat (cons *Key *New_Val)) 7- ) 8- ) 9- (eval *Ent_Name) 10- )
Ligne 2 : récupère dans EntDat les données de l'entité *Ent_Name Ligne 3 : met à jour les données de EntDat après, Ligne 4 : s'il y a une valeur associée à *Key, - après avoir stocké la liste dans Val1 Ligne 5 : et substitué *New_Val à l'ancienne valeur Ligne 6 : sinon ajoute une paire pointée créée avec le code et la nouvelle valeur Ligne 9 : retourne l'ename.