Aller au contenu

Purger la liste des echelles


Messages recommandés

Posté(e)

Salut,

 

Personnellement, je n'appelle pas ça purger mais réinitialiser la liste d'échelles.

Si quelqun à trouvé une solution pour purger ça m'intéresse, je le faits toujours manuellement.

La liste d'échelles par défaut est recrée par ta méthode didier.

Posté(e)

Salut,

A une époque, j'avais le même problème et du coup Bred avait fait une petite routine fort sympathique. Mise dans AutoCAD. lsp, elle ce lance automatiquement au démarrage.

Pour voir le post concerné, c'est [/b] ICI[/b]

 

Regardez la réponse 12, c'est cette routine que j'utilise. Je l'ai personnalisé avec les échelles qu'on utilise.

 

A plus.

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Posté(e)

J'ai également ce problème déchelle à purger .

Moi j'ai aussi remarqué qu'en utilisant la commande " [surligneur] modiflistechelle[/surligneur]" certaine échelle reste grisée au niveau de "supprimer" donc impossible de les purger, on peut juste renommer c'est tout, pas moyen non de redéfinir les propriétés ce qui gênant

Quelqu'un sait-il pourquoi !

Posté(e)

Salut,

 

Les échelles grisés sont les échelles utilisées sur une ou plusieurs entités.

Elles ne sont effectivement pas modifiables.

Pour les supprimer tu dois libérer tous tes objets de ces échelles.

Posté(e)

Bsr,

 

Existe-t-il un système pour exporter une liste d'échelle type (bonne) d'un fichier par exemple dwt vers une liste (ou l'ensemble )de fichiers enregistrés sur un pc en écrasant les anciennes listes d'échelles(devenues automatiquement mauvaises) de ces fichiers afin de mettre l'ensemble de ces fichiers nickel a la nouvelle liste des échelles définie.

Compliqué je sais mais est-ce possible par un moyen quelconque afin déviter de refaire la mise à jour à chaque fois lors d'ouverture de l'un de ces fichiers.

Si quelqu'un a une idée

Merci d'avance

A+

Phil

Posté(e)

Salut philous2,

Je pense qu'en utilisant le prog lisp indiqué dans le [/b] post n°4[/b], il y moyen de faire quelque chose.

Dans notre cas, on charge cette routine au démarrage d'Autocad, et on a couplé la commande à un(e) icone. Du coup, il ne nous reste plus qu'à cliquer dessus pour initialiser une liste d'échelles propre à nos besoins.

 

Si tu as besoins de plusieurs liste d'échelles différentes, tu peux faire plusieurs prog. que tu charges en fonction de tes besoins.

 

A moins qu'il y est quelque chose que je n'ai pas cerné.

 

[/b]Rappel du post en question.[/b]

 

A plus.

 

[Edité le 21/10/2009 par adat-btp]

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Posté(e)

Salut,

 

Tu peux voir ici.

Le LISP définit 3 commandes :

SAVESCALES utilise la commande native SCALELISTEDIT et sauvegarde la liste dans la base de registre.

RESTORESCALES restaure la liste sauvegardée.

PURGESCALES supprime toutes les échelles exceptées les échelles annotatives utilisées et "1:1"

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Bsr Gile,

Merci de ta réponse qui va dans le sens de ma demande. j'ai aussiessayé celle de Bred

; Modification de la liste des echelles

(defun c:lst-ech-pierroka ()

(lst-ech (list

(list "1/50" 2 1)

(list "1/1" 1 1)

(list "1/2" 1 2)

(list "1/4" 1 4)

)

)

(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)))

)

)

 

Celle de Bred me parait plus simple car automatique, seul truc qui manque c'est la nouvelle liste d'échelle que l'on ne peut établir quand modifiant le fichier lsp. Ne peut-on pas mettre une commande du style

command (lst-ech (list

"exemple" (list "1/50" 2 1)

"exemple" (list "1/1" 1 1)

"exemple" (list "1/2" 1 2)

"exemple" (list "1/4" 1 4)

pour établir la liste personnalisé que l'on veut imposer, simple question.

Autre problème vu le nombre de fichiers dwg existant depuis mon passage à la version Map 2009, serait-il possible de pouvoir imposer cette nouvelle liste établie ds la config d'Autocad à l'ouverture de celui-ci, lorsque l'on chargerait à l'avenir x fichier avec les anciennes échelles qui se mettraient à jour et remplacerait, écraserait l'ancienne liste par la nouvelle automatiquement.

Comme ça

;;;============================================================;;;

;;;====================== INITIALISATION ======================;;;

;;;============================================================;;;

 

;; Placé dans un fichier de chargement automatique,

;; initialise la liste des échelles suivant la liste sauvegardée

 

((lambda (lst)

(and lst SetScaleList (SetScaleList (read lst)))

)

(getenv "SavedScaleList")

)

Comment faire pour introduire cela !

Cela serait beaucoup plus simple il 'y aurait que la nouvelle liste à établir et sauvegarder le reste se faisant automatiquement àl'ouverture de tel ou tel fichier.

J'espère avoir clair ds mon explication.

Merci d'avance de vos lumières

Phil

Posté(e)

Pour le chargement automatique,

soit tu crées un fichier .lsp avec toutes les routines + l'expression lambda d'initialisation et tu le charges à chaque nouveau document (valise de la BD APPLOAD) ;

soit tu crées un fichier acadoc.lsp dans un répertoire du chemein de recherche dans lequel tu colles le code des routines et de l'expression lambda

 

Ainsi, une fois la liste sauvegardée (ou écrasée) avec SAVESCALES, elle remplacera la liste d'échelle à l'ouverture de tout nouveau document.

 

Voir ici.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

ok donc si j'ai bien suivi si je fais ça

 

 acadoc
(defun c:lst-ech-pierroka ()
(lst-ech (list
(list "1/50" 2 1)
(list "1/1" 1 1)
(list "1/2" 1 2)
(list "1/4" 1 4)
)
)
(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)))
)
)
;;;============================================================;;;
;;;====================== INITIALISATION ======================;;;
;;;============================================================;;;

;; Placé dans un fichier de chargement automatique,
;; initialise la liste des échelles suivant la liste sauvegardée

((lambda (lst)
(and lst SetScaleList (SetScaleList (read lst)))
)
(getenv "SavedScaleList")
)

 

Je viens de créer ce fichier tel quel ci-dessus j'ai bien ajouter dans un répertoire du chemin de recherche support.

J'ai chargé ce fichier acadoc et rien ne sait modifié je pense que ce que j'ai fait n'est pas bon.

C'est peut-être seuelement le lamba que que sauvegarde en acadoc !

Posté(e)

Non, tu mélanges des codes écrits par les uns et les autres.

Je ne parlais que des routines de ce sujet. Lis le jusqu'au bout...

 

Avec le bloc-note, tu crées un fichier vide nommé acaddoc.lsp (attention à l'orthographe).

Tu colles dedans les code de ce sujet.

Tu enregistres le fichier dans un répertoire du chemin de recherche.

Tu ouvres un nouveau dessin (le fichier est automatiquement chargé) et tu lances SAVESCALES pour définir ta liste d'échelles.

À chaque nouveau document la liste des échelles sera automatiquement réinitialisée comme la liste sauvegardée.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Ok Gile ça fonctionne je pensais tt simplement qu'en ajoutant ton lambda sur l'autre code cela aurait fonctionné erreur de ma part. Je l'ai essayé sur un nouveau en ayant modifier la liste d'échelles, et ouvet un ancien fichier que j'avait aussi et ca marche c'est bon.

Par contre lorsque que tu as des fichiers en xref est-ce que ces fichiers se convertissent ou pas à mon avis.

Merci encore de tes explications sympa

Je vais tenter de mettre cela en application au boulot demain

 

A+

 

Phil

  • 2 semaines après...
Posté(e)

Bonjour,

 

Quand je veux purger ma liste d'echelle, il me dit que l'index se trouve en dehors des limites du tableau et je ne peux pas la vider....

 

Y'en a 250 dans la liste et je ne peux plus rien faire...

 

Merci d'avance.

 

 

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é