rebcao Posté(e) le 18 mai 2016 Posté(e) le 18 mai 2016 Bonjour à Toutes et à Tous, La fonction LAYOUTLIST donne la liste des Présentations, très bien ! Mais cette liste est bêtement classée alphabétiquement ! Existe-t-il une fonction qui donne la liste des présentations dans l'ordre réel des onglets ? Je vous remercie. Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
Tramber Posté(e) le 18 mai 2016 Posté(e) le 18 mai 2016 Il faut le coder :(vl-load-com) (or *acad* (setq *acad* (vlax-get-acad-object))) (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument *acad*))) (or *Lays*(setq *Lays*(vla-get-Layouts *acdoc*))) (setq lipres nil) (vlax-for i *Lays* (if(/=(vla-get-Name i)"Model") (setq lipres(cons (vla-get-Name i)lipres )))) (reverse lipres) Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
(gile) Posté(e) le 18 mai 2016 Posté(e) le 18 mai 2016 Salut, Une autre méthode qui utilise la propriété TabOrder (defun OrderedLayoutList (/ layouts) (vl-load-com) (setq layouts (vla-get-Layouts (vla-get-ActiveDocument (vlax-get-acad-object)) ) ) (vl-sort (layoutlist) '(lambda (x y) (< (vla-get-TabOrder (vla-Item layouts x)) (vla-get-TabOrder (vla-Item layouts y)) ) ) ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 18 mai 2016 Posté(e) le 18 mai 2016 Ou encore, sans "Visual LISP" (fonctionnera aussi sur MAC) (defun OrderedLayoutList (/ dict tab) (setq dict (dictsearch (namedobjdict) "ACAD_LAYOUT")) (defun tab (name) (cdr (assoc 71 (entget (cdadr (member (cons 3 name) dict))))) ) (vl-sort (layoutlist) '(lambda (x y) (< (tab x) (tab y)))) ) Ou encore (AutoCAD 2012+): ((defun OrderedLayoutList (/ dict tab) (setq dict (dictsearch (namedobjdict) "ACAD_LAYOUT")) (defun tab (name) (getpropertyvalue (cdadr (member (cons 3 name) dict)) "TabOrder") ) (vl-sort (layoutlist) '(lambda (x y) (< (tab x) (tab y)))) ) PS : il me semble que la solution proposée par Tramber trie les présentations par ordre de création. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
didier Posté(e) le 18 mai 2016 Posté(e) le 18 mai 2016 Coucou Même si je ne suis pas l'auteur du message je te remercie, (Gile), de cette solution, c'est parfait (comme d'habitude)Ayant regardé la solution de Tramber, que je remercie à son tour, je ne sais pas si c'est l'ordre de création mais ce n'est pas l'ordre du dessin à coup sûr. Amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Tramber Posté(e) le 18 mai 2016 Posté(e) le 18 mai 2016 Mes amis, vous savez bien que mon code ne fait que parcourir la collection. Donc que c'est l'ordre de création en effet ;) Je ne connaissais pas TabOrder et ne me suis pas cassé la tête, comme d'habitude :P Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Patrick_35 Posté(e) le 18 mai 2016 Posté(e) le 18 mai 2016 Salut Une autre manière de faire(defun onglets(/ lst) (vlax-for lay (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object))) (or (eq (vla-get-name lay) "Model") (setq lst (cons (cons (vla-get-taborder lay) (vla-get-name lay)) lst)) ) ) (mapcar 'cdr (vl-sort lst '(lambda(a B)(< (car a)(car B))))) ) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
rebcao Posté(e) le 18 mai 2016 Auteur Posté(e) le 18 mai 2016 Bonjour, Super, Merci pour toutes ces nombreuses réponses... Je confirme que le source de TRAMBER ne donne pas l'ordre des présentations... C'est un classement alphabétique comme (LAYOUTLIST). Sinon, les solutions de Gilles et Patrick fonctionnent très bien... Même si je le fuis (le MAC), je vais retenir la fonction compatible MAC (ne sait on jamais) !!! Bien que vl-sort c'est pas du VISUAL ? Merci Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
Tramber Posté(e) le 18 mai 2016 Posté(e) le 18 mai 2016 Je confirme que le source de TRAMBER ne donne pas l'ordre des présentations... C'est un classement alphabétique comme (LAYOUTLIST).Exact !Surprise totale de ma part car je pensais à l'ordre de la collection sans imaginer qu'elle était classée alpha (anti-alpha puisque je mets un reverse).Ma fonction revient à (layoutlist) exactement. Manque de pratique sur les collections ces dernières années, que voulez-vous ?Dsl Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
(gile) Posté(e) le 18 mai 2016 Posté(e) le 18 mai 2016 Bien que vl-sort c'est pas du VISUAL ?Tout dépend de ce qu'on met dans Visual LISP (tout ce qui suis est arrivé en même temps avec "Visual LISP").l'éditeur, je ne sais pas s'il existe dans AutoCAD MAC mais je ne vois pas d'incompatibilité majeure ;les fonctions vl-* a priori juste de nouvelles fonction LISP (la plupart avaient été définies en LISP par les pionniers), pas d'incompatibilité avec MAC excepté les fonction vl-registry* (pas de base de registre sur MAC) ;les fonctions vla-* et vlax-* qui permettent l'accès à l'interface COM/ActiveX spécifique à Windows (donc incompatibles MAC) ;les fonctions vlr-* (reacteurs) qui, je crois, ne sont pas accessibles avec AutoCAD MAC.Si des utilisateurs de AutoCAD MAC peuvent confirmer ou infirmer... Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Tramber Posté(e) le 18 mai 2016 Posté(e) le 18 mai 2016 Pas de réacteurs (lu), pas d'éditeur (vécu).Le reste est probablement vrai aussi. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
(gile) Posté(e) le 18 mai 2016 Posté(e) le 18 mai 2016 Les fonctions vl-* sont bien dans l'aide d'AutoCAD MAC (même les fonctions vl-registry-* pour lesquelles il est pourtant bien question de "Windows registry")... Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
rebcao Posté(e) le 19 mai 2016 Auteur Posté(e) le 19 mai 2016 Bonjour, Merci pour ces infos. J'ai mis le sujet en RESOLU... Merci. Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
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