Moon_LS Posté(e) le 14 mars 2006 Partager Posté(e) le 14 mars 2006 Bonjour! Voila je viens d'avoir Autocad2006 et je voudrai savoir si il existe un gestionnaire qui permet de placer les calques dans un certain ordre d'affichage (option impossible a faire sous 2004 sous lequel je travaillé précédemment). Merci d'avance!! Lien vers le commentaire Partager sur d’autres sites More sharing options...
autospeed Posté(e) le 15 mars 2006 Partager Posté(e) le 15 mars 2006 essaye la commande DRAWORDER . Il y a aussi une barre d'outils pour ça .Ceci dit je n'ai pas vu e gestionnaire permettant d'avoir un classement des différents calques.Phil http://www.autospeed.biz Auteur du logiciel AutospeedAuteur de la théorie du site www.kheops.bizAuteur de nombreux livres Lien vers le commentaire Partager sur d’autres sites More sharing options...
Tramber Posté(e) le 15 mars 2006 Partager Posté(e) le 15 mars 2006 L'ordre d'affichage des calques faisait partie des voeux de l'AUGI pour AutoCAD 2007.Mais n'est pas d'actualité. L'ordre d'affichage des noms de calques est alphabétique jusqu'à la quantité gérée par MAXSORT dans la liste déroulante. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Moon_LS Posté(e) le 15 mars 2006 Auteur Partager Posté(e) le 15 mars 2006 OK! Merci beaucoup. C'est bien dommage quand même... Lien vers le commentaire Partager sur d’autres sites More sharing options...
bonuscad Posté(e) le 16 mars 2006 Partager Posté(e) le 16 mars 2006 J'ai bien essayé de pondre un lisp couplé à un DCL pour faire ce genre d'action. Je livre le code, à essayer pour voir si cela convient. Mais je reconnais qu'il n'est pas très aisé d'utilisation et que ce n'est qu'une ébauche (qui à l'air de fonctionner, avec réserve) ;) Jamais testé sous 2006, et je ne sais pas si j'irais plus loin dans la réflexion du développement. Fichier ordrecalque.lsp (defun ordclqerr (ch) (cond ((eq ch "Function cancelled") nil) ((eq ch "quit / exit abort") nil) ((eq ch "console break") nil) (T (princ ch)) ) (command "_.undo" "_end") (if (<= sv_und 3) (command "_.undo" "_control" "_one")) (command "_.undo" "1") (setq *error* olderr) (setvar "cmdecho" 1) (princ) ) (defun lst2listbox ( lststr lstbox / ) (start_list lstbox) (mapcar 'add_list lststr) (end_list) ) (defun lay_add ( lstlay lstlf / lstnum) (setq lstnum (read (strcat "(" (get_tile "lst_all_lay") ")"))) (foreach num lstnum (if (not (member (nth num lstlay) lstlf)) (setq lstlf (cons (nth num lstlay) lstlf)) ) ) (lst2listbox lstlf "lst_sel_lay") lstlf ) (defun lay_sub ( lstlf / lstnum lstote) (setq lstnum (read (strcat "(" (get_tile "lst_sel_lay") ")"))) (setq lstote (mapcar '(lambda (num) (nth num lstlf)) lstnum)) (foreach layername lstote (setq lstlf (append (reverse (cdr (member layername (reverse lstlf)))) (cdr (member layername lstlf)) ) ) ) (lst2listbox lstlf "lst_sel_lay") lstlf ) (defun makelaylists (/ layname ss cvpname xdlist vpldata sortlist name templist) (if (= (setq tilemode (getvar "tilemode")) 0) (progn (setq ss (ssget "_x" (list (cons 0 "VIEWPORT") (cons 69 (getvar "CVPORT")) ) ) ) (setq cvpname (ssname ss 0)) (setq xdlist (assoc -3 (entget cvpname '("acad")))) (setq vpldata (cdadr xdlist)) ) ) (setq sortlist nil) (setq templist (tblnext "LAYER" T)) (while templist (setq name (cdr (assoc 2 templist))) (setq sortlist (cons name sortlist)) (setq templist (tblnext "LAYER")) ) (if (>= (getvar "maxsort") (length sortlist)) (setq sortlist (acad_strlsort sortlist)) (setq sortlist (reverse sortlist)) ) ) (defun c:ordrecalque ( / sv_und olderr dcl_id lstlay lstlf t_xwt ok_cmd lst_order file_o) (setvar "CMDECHO" 0) (if (<= (setq sv_und (getvar "undoctl")) 3) (command "_.undo" "_control" "_all") ) (command "_.undo" "_group") (setq olderr *error* *error* ordclqerr) (setq dcl_id (load_dialog "ordrecalque.dcl")) (if (new_dialog "ordrecalque" dcl_id) (progn (setq lstlay (makelaylists) lstlf '()) (lst2listbox lstlay "lst_all_lay") (lst2listbox lstlf "lst_sel_lay") (action_tile "pick_add" "(setq lstlf (lay_add lstlay lstlf))") (action_tile "pick_sub" "(setq lstlf (lay_sub lstlf))") (action_tile "xwt_frt" "(setq t_xwt $value)") (action_tile "accept" "(done_dialog 1)") (setq ok_cmd (start_dialog)) (if (= ok_cmd 1) (setq lst_order lstlf) ) ) ) (cond (lst_order (setq file_o (open (strcat (getvar "TEMPPREFIX") "$ordrecalque.txt") "w")) (if t_xwt (write-line "T" file_o) (write-line "nil" file_o)) (foreach n lst_order (write-line n file_o)) (close file_o) ) (T (princ "\nLa commande a échouée.")) ) (command "_.undo" "_end") (if (<= sv_und 3) (command "_.undo" "_control" "_one")) (command "_.undo" "1") (setq *error* olderr) (if (not go_ordlay) (load "go_ordlay.lsp")) (go_ordlay) (setvar "CMDECHO" 1) (princ) ) fichier go_ordlay.lsp (defun go_ordlay ( / file_o file_ini lay lst_order t_xwt dxf_67 js) (cond ((findfile (setq file_o (strcat (getvar "TEMPPREFIX") "$ordrecalque.txt"))) (setq file_ini (open file_o "r") lst_order (list)) (while (setq lay (read-line file_ini)) (setq lst_order (cons lay lst_order)) ) (if (read (car lst_order)) (setq t_xwt T) (setq t_xwt nil) ) (close file_ini) (if (eq (getvar "CVPORT") 1) (setq dxf_67 '(67 . 1)) (setq dxf_67 '(67 . 0)) ) (while lst_order (setq js (ssget "_X" (list dxf_67 (cons 8 (car lst_order))))) (if (not (null js)) (progn (sssetfirst nil js) (ai_draworder "_front") ) ) (setq lst_order (cdr lst_order)) ) (cond (t_xwt (setq js (ssget "_X" (list dxf_67 '(0 . "WIPEOUT")))) (if (not (null js)) (progn (sssetfirst nil js) (ai_draworder "_front") ) ) (setq js (ssget "_X" (list dxf_67 '(0 . "TEXT")))) (if (not (null js)) (progn (sssetfirst nil js) (ai_draworder "_front") ) ) (setq js (ssget "_X" (list dxf_67 '(0 . "MTEXT")))) (if (not (null js)) (progn (sssetfirst nil js) (ai_draworder "_front") ) ) ) ) ) (T (princ "\nIl n'y a pas de liste de calques.")) ) (prin1) ) fichier ordrecalque.dcl ordrecalque : dialog { label= "Sélection des calques à ordonner pour l'affichage"; : column { : row { : list_box { label = "Liste des Calques"; key = "lst_all_lay"; width = 25; multiple_select = true; } : column { fixed_height = true; : button {key = "pick_add"; label = ">";} : button {key = "pick_sub"; label = "<";} } : list_box { label = "Calques ordonnés à sousmettre"; key = "lst_sel_lay"; width = 25; multiple_select = true; } : column { :text { label = "Priorité +"; } :text { label = "Priorité -"; } } } : toggle { label = "Placer les Textes et Masques au dessus de tout en dernier"; mnemonic = "T"; key = "xwt_frt"; } ok_cancel; } } Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius Lien vers le commentaire Partager sur d’autres sites More sharing options...
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