vinz34 Posté(e) le 18 décembre 2007 Posté(e) le 18 décembre 2007 Bonjour, Fervent utilisateur des échelles d'annotations,pour chaque nouveau dessin je me crée systématiquement mes échelles personnalisées et je supprime les standards (sauf le 1:1).Quand j'insère une Xref, je retrouve dans ma liste les "annoscales" de l'Xref... , je les supprime.Je réouvre mon dessin et je retrouve à nouveau ces échelles d'annotations.Quand on a plusieurs Xrefs ces listes sont sans fin !.... (ajd'hui près de 200 dans la liste ! ) Quelqu'un connaît il un moyen de purger les échelles d'annotations inutilisées ?
archidaniel Posté(e) le 18 décembre 2007 Posté(e) le 18 décembre 2007 BonjourDans le fichier ACADDOC.LSP ajouter les lignes suivantes : (acad-push-dbmod);;;;met à jour la liste des échelles(command "-scalelistedit" "R" "O" "Q")(acad-pop-dbmod) Ca fonctionne à merveille Bon courage. Daniel Gillard
vinz34 Posté(e) le 18 décembre 2007 Auteur Posté(e) le 18 décembre 2007 Bonsoir Daniel. Je pense que (gile) t'as déja fait part de ses remarques sur "ACADDOC.LSP".Précisons quand même qu'il faut se le créer et ne pas utiliser celui d'autocad au cas où certains ne le sauraient pas. En fait ce n'est pas ce que je cherche, là tu restaure la liste par défaut que je supprime systématiquement.Ce que je cherche c'est purger ces échelles car je me crée les miennes et j'aimerais les conserver, ce qui n'est pas possible avec le scalelistedit. Merci quand même. [Edité le 18/12/2007 par vinz34]
bonuscad Posté(e) le 19 décembre 2007 Posté(e) le 19 décembre 2007 Trouvé ici ou ailleurs, je ne sais plus... Cela fonctionne bien, mais ne supprime pas ceux des xrefs...Ce qui suit doit être lancé au démarrage (. lsp, .mnl, startup ....) Personnaliser la liste comme bon vous semble. (defun echel_perso ( / ) (lst-ech (list (list "1:1" 1 1) (list " 50 ème" 100 5) (list " 100 ème" 10 1) (list " 200 ème" 10 2) (list " 250 ème" 100 25) (list " 500 ème" 10 5) (list " 1 000 ème" 1 1) (list " 2 000 ème" 1 2) (list " 2 500 ème" 10 25) (list " 5 000 ème" 1 5) (list " 10 000 ème" 1 10) (list " 20 000 ème" 1 20) (list " 25 000 ème" 1 25) (list " 50 000 ème" 1 50) (list "100 000 ème" 1 100) (list "200 000 ème" 1 200) (list "250 000 ème" 1 250) ) ) (princ) ) ; routine modif liste echelle (defun lst-ech (lst / DICT ENT1 I N X) (vl-load-com) (while (assoc 350 (dictsearch (namedobjdict) "ACAD_SCALELIST")) (progn (vla-delete (vlax-ename->vla-object (cdr (assoc 350 (dictsearch (namedobjdict) "ACAD_SCALELIST"))))) ) ) (setq i 1 x (strcat "Z" (rtos i))) (repeat (length lst) (setq n (nth (1- i) lst) dict (cdr (assoc -1 (dictsearch (namedobjdict) "ACAD_SCALELIST"))) ent1 (entmakex (list '(0 . "SCALE") '(100 . "AcDbScale") '(70 . 0) (cons 300 (car n)) (cons 140 (cadr n)) (cons 141 (caddr n))))) (dictadd dict x ent1) (setq i (1+ i) x (strcat "Z" (rtos i))) ) ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
vinz34 Posté(e) le 19 décembre 2007 Auteur Posté(e) le 19 décembre 2007 Salut, Merci à toi bonuscad, tu m'as ouvert la voie sur le sentier que je vais explorer. Mes échelles personnalmisées comporrtent un préfixe qui me permet de les différencier, je vais donc me contenter de supprimer toutes celles qui n'ont pas ce préfixe.
vinz34 Posté(e) le 19 décembre 2007 Auteur Posté(e) le 19 décembre 2007 Merci encore à bonuscad, Voilà le code adapté à mes besoins qui ne conservent que les échelles commencant le préfixe VD et non issues d'une Xref : (defun c:nettoie_échelles (/ lst) (while (setq ename (cdr (assoc 350 (dictsearch (namedobjdict) "ACAD_SCALELIST")) ) ) (progn (if (and (= "VD" (substr (setq scname (cdr (assoc 300 (setq elist (entget ename))))) 1 2 ) ) (/= "XREF" (substr scname (- (strlen scname) 3))) ) (setq lst (cons elist lst)) ) (vla-delete (vlax-ename->vla-object ename)) ) ) (setq i 1 x (strcat "Z" (rtos i)) ) (repeat (length lst) (setq n (nth (1- i) lst) dict (cdr (assoc -1 (dictsearch (namedobjdict) "ACAD_SCALELIST")) ) ent1 (entmakex (list '(0 . "SCALE") '(100 . "AcDbScale") '(70 . 0) (cons 300 (cdr (assoc 300 n))) (cons 140 (cdr (assoc 140 n))) (cons 141 (cdr (assoc 141 n))) ) ) ) (dictadd dict x ent1) (setq i (1+ i) x (strcat "Z" (rtos i)) ) ) )
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