Aller au contenu

Récupérer la liste des présentation dans l\'ordre


Messages recommandés

Posté(e)

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

Posté(e)

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

Posté(e)

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

Posté(e)

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

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é