Morgul Posté(e) le 29 octobre 2006 Posté(e) le 29 octobre 2006 Bonjour à tous, Comment peut-on récupérer la liste des présentations dans l'ordre dans lequel elles sont classées ? Layoutlist récupére la liste des présentations, mais elles sont dans l'ordre alphabétique, si on fait un reverslist nous l'avons dans le sens inverse. Comment faire, y-a-t-il une autre commande que je ne connaisse pas ? Merci d'avance de votre aide. Il n'y a pas d'homme cultivé, il n'y a que des hommes qui se cultivent. Maréchal Foch
(gile) Posté(e) le 29 octobre 2006 Posté(e) le 29 octobre 2006 Salut, (vlax-for l (vla-get-layouts (vla-get-ActiveDocument (vlax-get-acad-object)) ) (setq lst (cons (cons (vla-get-TabOrder l) (vla-get-Name l)) lst)) ) (setq lst (cdr (mapcar 'cdr (vl-sort lst '(lambda (x1 x2) ( ) ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 29 octobre 2006 Posté(e) le 29 octobre 2006 Re, Peut-être n'est tu pas familier avec les fonctions vla-... Pour faire la même chose en AutoLISP, ce qui n'est pas vraiment plus simple : ;;; Récupérer la liste DXF du dictionnaire des présentations (setq layout_dict (dictsearch (namedobjdict) "ACAD_LAYOUT")) ;;; Faire une liste des noms d'entités de toutes les présentations (setq layout_ename_lst (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= 350 (car x))) layout_dict ) ) ) ;;; faire une liste de paires pointées du type : ;;; (numéro_d'ordre . nom_de_la_présentation) (setq laypout_assoc_lst (mapcar '(lambda (x) (cons (cdr (assoc 71 (entget x))) (cdr (assoc 1 (reverse (entget x)))) ) ) layout_ename_lst ) ) ;;; faire la liste des nom_de_présentation triée par leur numéro_d'ordre ;;; privée de son premier élément : "model" (setq layout_lst (cdr (mapcar 'cdr (vl-sort laypout_assoc_lst '(lambda (x1 x2) ( ) ) ) ) [Edité le 29/10/2006 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Morgul Posté(e) le 4 novembre 2006 Auteur Posté(e) le 4 novembre 2006 Merci Gile, Les 2 méthodes fonctionnent très bien,Je pense garder la première, même si je ne la comprend pas trop, mais elle a l'avantage d'être plus courte en nombre de ligne. Merci encore. Il n'y a pas d'homme cultivé, il n'y a que des hommes qui se cultivent. Maréchal Foch
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant