Aller au contenu

Messages recommandés

Posté(e)

bonjour

 

grace a BRED je sais récuperer toutes les clées d'un objet et compter le nombre de clées similaires

....

(setq ent1 (car (nentsel "\nSELECTIONNER L'OBJET DE BASE.")))

 

 

(setq val2 (vl-remove-if '(lambda (x) (not(equal(car x) 1))) (entget ent1)))

(setq val3 (vl-remove-if-not '(lambda (x) (equal(car x) 1)) (entget ent1)))

 

.....

 

mais comment fait on pour réinjecter les clées modifieés dans l'objet

 

exemple. j'ai une liste de 5 clées numero 1 et je modifie la 3 ieme clée numero 1 comment la réinjecte au bon endroit ???

 

quelle est la fonction ? VL.... VLAX.... VLR....

 

merciiiii

 

phil

 

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Posté(e)

j'ai tjrs pas piger a quoi servait la focntion "lamda" par contre

 

elle sert a déclarer une inconnue ou des inconnues dans la fonction ????

 

phil

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Posté(e)

La fonction lambda permet de créer une fonction anonyme, donc d'éviter de faire un defun.

 

Dans l'exemple que tu donnes on pourrait faire :

 

(defun [b]une_fonction[/b] (x)
 (equal (car x) 1)
)

(setq val3 (vl-remove-if-not '[b]une_fonction[/b] (entget ent1))) 

 

Utiliser des fonctions anonymes permet donc d'économiser de la mémoire, et rend le code plus compréhensible en plaçant la définition de la fonction à l'endroit même où elle est exécutée.

 

 

'ai une liste de 5 clées numero 1 et je modifie la 3 ieme clée numero 1 comment la réinjecte au bon endroit ???

Regarde les fonctions subst,cons et nth

 

(subst (cons 1 nouvelle_valeur)
      (nth 2 ma_liste_de_clés_1)
      ma_liste_de_clés_1
) 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Salut didier,

ce que l'on appelle "une clé" c'est le premier élément d'un liste

(ex : (8 . "mon-calque"))

Et donc, en cherchant cette valeur (clé), on récupère la valeur associée ("Mon-calque")

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Posté(e)

Tu as raison.... et tords....

en effet PHILPHIL parle de clé alors que cela devrait un "code de groupe".

Mais dans une liste, la clé est bien l'élément permettant de retrouver la liste.

 

(setq lst (list
(list "vis22" '("50" "22" "cru"))
(list "vis33" '("50" "33" "tol"))
(list "vis11" '("38" "22" "ap"))
))

(assoc "vis22" lst)

 

et va voir dans l'aide l'explication de assoc :

 

assoc

Searches an association list for an element and returns that association list entry

 

(assoc element alist)

Arguments

 

element

Key of an element in an association list.

 

alist

An association list to be searched.

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité