BiB_PutSym

Fonction Catégorie Version
BIB 14 BiB_PutSym Gestion des Objets 1.0 - Janvier 2007

Description

But Permet de modifier avec des variables les valeurs associées de paires pointées.
Prototype (BiB_PutSym ‘Liste_PP Nom_Entité)
Argument Liste_PP - L’élément à ajouter à la liste - liste -
Nom_Entité - Le nom de l'entité - ename -
Retours La liste des données modifiées
Var. globales Néant
Description Permet de modifier avec des variables (ou symboles) les valeurs associées de paires pointées dans la liste de définitions d'une entité à partir de l'ename.
Notes Ce programme remplace les variables par leur valeur pour utiliser BiB_PutLst. Si une des paires pointées n’existe pas, elle est créée et ajoutée à la liste des définitions.
Entmod est intégré dans la fonction et n'est donc pas nécessaire pour la mise à jour.
Exemples

Commande: (setq t1 (car (entsel)))

Choix des objets: <Nom de l'entité: 2590dc0>

Commande: (setq t2 (entget t1)
<Nom de l'entité: 2590dc0>) 

((-1 . <Nom de l'entité: 2590dc0>) (0 . "TEXT") (5 . "138") 	
(100 . "AcDbEntity") (67 . 0) (8 . "MUREXT") (100 . "AcDbText") 
(10 254.187 135.972 0.0) (40 . 5.0) (1 . "neww") (50 . 0.5) 
(41 . 1.0) (51 . 0.0) (7 . "STANDARD") (71 . 0) (72 . 0) (11 0.0 0.0 0.0)

Commande: (setq e1 "newtext" e2 0)

Commande: (BiB_PutSym '((1 . e1)(50 . e2)(10 100 100 0)) t1)

((-1 . <Nom de l'entité: 2590dc0>) (0 . "TEXT") (5 . "138") 
(100 . "AcDbEntity") (67 . 0) (8 . "MUREXT") (100 . "AcDbText")
(10 100 100 0) (40 . 5.0) (1 . "newtext") (50 . 0) (41 . 1.0) (51 . 0.0)
(7 . "STANDARD") (71 . 0) (72 . 0) (11 0.0 0.0 0.0)(210 0.0 0.0 1.0) 
(100 . "AcDbText") 	(73 . 0))

    Le texte est automatiquement mis à jour à l'écran.

La fonction


   1-  (defun PutSym (*ListPP *Ent_Name)
  
   2-     (entmod	
   3-        (BiB_PutLst 	
   4-            (mapcar '(lambda (PP) 	
   5-                             (cons (car PP) (BiN_Eval (cdr PP)))
   6-                     ) 	
   7-                     *ListPP
   8-            )
   9-            (entget *Ent_Name)	
  10-	     )
  11-     )
  12-  ) 
Ligne 2 :  Met à jour les données de l'entité après avoir
Ligne 3 :  modifié les valeurs associées de *ListPP
Ligne 4 :    Pour chaque élément de *ListPP, construit une liste associative avec le 1er 
Ligne 5 :	      élément et la valeur  des autres éléments de la liste
Ligne 7 :	 	      	sinon, retourne la liste des données de l'entité
Ligne 9 :		retourne la liste des données de l'entité
	
  Remplace chaque élément de *ListPP, par une liste associative comprenant le 1er élémént 
  (le code) de l'ancienne liste et la valeur de la suite de la liste (un symbole ou une
  liste) ; ensuite remplace les nouvelles valeurs avec la fonction BiB_PutLst  puis met 
  à jour l'entité à l'écran par Entmod.

Entmod : Modifie les données se définition d'un objet.(entité)
BiB_PutLst: Fonction BiRARR qui modifie les valeurs associées des paires pointées.
Mapcar : Ici, renvoie une liste en résultat de l'exécution de la commande (lambda (PP)) appliquée à la liste de paires pointées à modifier (*ListPP)
Lambda: Ici, crée la fonction PP qui construit une paire pointée avec le 1er élément de chaque sous-liste de *ListPP et le reste de la sous-liste.
Cons : Construit une paire pointée (ou paire associative)
Car : Retourne le premier élément d'une liste.
Cdr : Retourne tous les éléments d'une liste, sauf le premier.
BiN_Eval : Fonction BiRARR qui évalue tout type de variable.
Entget : Retourne les données de définition de l'entité à traiter