Aller au contenu

Messages recommandés

Posté(e)

Bonjour à tous,

 

pour les besoins d'un lisp de séléction, je récupère la liste des calques de mon dessin grace à ce petit bout de code récupérer dans d'autre lisp.

 

(while (setq lay (tblnext "layer" (not lay)))

(setq layers (cons (cdr (assoc 2 lay)) layers)))

(setq layers (acad_strlsort layers))

 

et ensuite j'aimerais supprimer de la liste obtenue tous les calques dont le nom commence par Xref, le but étant d'avoir un liste qui contient tous les calques sauf ceux des xref.

 

Comment faire ?

 

Posté(e)
et ensuite j'aimerais supprimer de la liste obtenue tous les calques dont le nom commence par Xref,

 

Le mieux alors est de ne pas les mettre !

 

(setq lay nil layers nil)
(while (setq lay (tblnext "layer" (not lay)))
 (if(not(=(substr (cdr (assoc 2 lay)) 1 4)"Xref"))
   (setq layers (cons (cdr (assoc 2 lay)) layers))))
(setq layers (acad_strlsort layers))

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

(vl-remove-if '(LAMBDA (x)(=(substr x 1 4)"Xref"))layers)

 

Pour ta demande précise.

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Merci à toi

 

après traduction de la première solution, on lance la boucle pour récupérer les calques et on lui dit :

ne pas inclure si les 4 première lettres du nom sont égale à Xref.

j'ai tout compris :)

 

pour la deuxième solution, j'avais tester avec vl-remove, mais j'ai du mal à cerner les fonctions et lambda.

Posté(e)

C'est bien ça.

 

Pour la 2ème.... :cool:

Faut apprendre ;)

C'est plus simple qu'il n'y parait.

"remove if" en français donne "enlève si"

Donc enlève de layers si à tout membre on constate que (=(substr x 1 4)"Xref").

 

Le fait de mettre un x, un ô ou un toto n'a pas d'importance. la fonction provisoire lambda a cependant besoin de connaitre x dans sa déclaration d'où Lambda(x).

On peut trouver des Lambda(a b) quand il s'agit par exemple de comparer des éléments contigus de listes (aide sur VL-SORT à regarder).

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)

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é