Aller au contenu

Liste d\'echelle prédéfini


Ashram_666

Messages recommandés

Bonjour,

J'ai un petit soucis avec la liste d'echelle, lorsque je la redéfinis et que je me fait un fichier de gabarit, ça marche! Je la conserve mais seulement quand je fait un nouveau dessin, mais lorsque j'ouvre un dessin ma liste d'echelle d'echelle que j'ai modifié n'est pas conservé, il me remet sa l'ancienne liste celle par défaut.

Ma question est la suivante y a t'il un moyen pour modifié la liste d'echelle par default(par un lisp, ou une variable)?

Merci d'avance.

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 54
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Salut,

oui ça d'accord pour un fichier, mais moi je cherche plutôt une routine qui me permet de modifier cette liste prédéfin en celle que je veux automatiquement à chaque ouverture d'un dessin.

j'ai déja trouvé comment les remplacer une par une au démarrage mais ça prend un certain temps sur tout si le fichier est imposant.

Donc si quelqu'un à un petit lisp à proposer ou une variable d'environnement à modifier ce serait impécable.

et merci d'avoir répondu.

Lien vers le commentaire
Partager sur d’autres sites

Salut,

j'ai jeté un petit coup d'oeuil, et il s'avert que la liste des echelles est dans la base de registre

(pour 2008 je ne sais pas le chemin, pour 2007 : "HKEY_CURRENT_USER\\Software\\Autodesk\\AutoCAD\\R17.0\\ACAD-5001:40C\\Scale List")

 

Donc je trouve ça bizarre que ça se réinitialise à chaque dessin ....

 

Essaye de modifier directement la liste dans le base de registre (c'est possible en lisp avec les fonctions vl-registry...)

 

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Lien vers le commentaire
Partager sur d’autres sites

Salut bred, merci pour ta réponse,

je suis assez d'accord avec sous la version 2007, on pouvait redéfinir une fois pour toute la liste d'échelle et elle ne bougé pas lors d'ouverture de fichier, mais avec la 2008 ils ont mit en place un système d'annotation ou les texte et autres peuvent être mit à l'échelle indépendamment de l'échelle du tracé (ex: tracé au 1/200 texte au 1/500).

Je peux bien sur redéfinir cette liste dans un dessin et dans le fichier gabarit d'ailleurs il me les conservent lors de sa réouverture mais lorsque j'ouvre un autre dessin il me remet une liste par défaut.

C'est une bonne idée d'allé voir dans le registre mais hélas je n'ai pas trouvé cela ne veut pas dire que la liste ne s'y trouve pas.

Je continu à chercher...

 

Lien vers le commentaire
Partager sur d’autres sites

bonjour ,

vous trouver pas dans la base "registre " cette liste elle est conserver dans chaque dessin

:casstet:

mais la ou c'est penible : si on modifis la liste du dessin puis on insere un bloc cree sur version 2000 == on obtient liste modifier + liste de base :casstet:

et si on continu on insere un autre bloc avec liste modifier(2)

on obtient liste modifier +liste modifier(2)+ liste de base :( navrant sa ressemble aux listes de filtres qui s'accumulai

Lien vers le commentaire
Partager sur d’autres sites

ma commande lisp pour les creer à la creation de chaque nouveaux plans

(command "-MODIFLISTECHELLE" "s" "1:2" "s" "1:4" "s" "1:5" "s" "1:8" "s" "1:10" "s" "1:16" "s" "1:20" "s" "1:30" "s" "1:40" "s" "1:50" "s" "1:100" "s" "2:1" "s" "4:1" "s" "8:1" "s" "10:1" "s" "100:1" "a" "/10cm=1" "1:1" "a" "1/20cm=0.5" "0.5:1" "a" "1/50cm=0.2" "0.2:1" "a" "1/100cm=0.1" "0.1:1" "a" "1/200cm=0.05" "0.05:1" "a" "1/500cm=0.02" "0.02:1" "a" "ANNOTATION" "0.15:1"  "a" "1/10m=100" "100:1"  "a" "1/20m=50" "50:1"  "a" "1/50m=20" "20:1"  "a" "1/100m=10" "10:1"  "a" "1/200m=5" "5:1"  "a" "1/500m=2" "2:1" "q")

par contre moi j'aimerais supprimer ceux qui existent deja et qui me servent a rien

mais j'arrive a supprimer une partie mais pas ceux avec les " ex (1/16" = 1'-0")

qui generent des erreurs dans le lisp lorsque l'on veut les supprimer

 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je suis content de n'être pas le seul à trouver que cette nouvelle version d'échelle n'est pas ce qu'ils ont fait de mieux!!

Enfin j'attendrais la version 2009, plus qu'un an :)

Moi pour enlever les échelles existantes j'utilise ce lisp:

 (apply ' command (append (list "-scalelistedit") (list 
"r" "o"    ;réinitialise la liste par defaut
"s" "1:1" ;supprime l'échelle "1:1"
"s" "1:2"
"s" "1:4"
"s" "1:5"
"s" "1:8"
"s" "1:10"
"s" "1:16"
"s" "1:20"
"s" "1:30"
"s" "1:40"
"s" "1:50"
"s" "1:100"
"s" "2:1"
"s" "4:1"
"s" "8:1"
"s" "10:1"
"s" "100:1"
"s" "1/128\U+0022 = 1'-0\U+0022"
"s" "1/64\U+0022 = 1'-0\U+0022"
"s" "1/32\U+0022 = 1'-0\U+0022"
"s" "1/16\U+0022 = 1'-0\U+0022"
"s" "3/32\U+0022 = 1'-0\U+0022"
"s" "1/8\U+0022 = 1'-0\U+0022"
"s" "3/16\U+0022 = 1'-0\U+0022"
"s" "1/4\U+0022 = 1'-0\U+0022"
"s" "3/8\U+0022 = 1'-0\U+0022"
"s" "1/2\U+0022 = 1'-0\U+0022"
"s" "3/4\U+0022 = 1'-0\U+0022"
"s" "1\U+0022 = 1'-0\U+0022"
"s" "1-1/2\U+0022 = 1'-0\U+0022"
"s" "3\U+0022 = 1'-0\U+0022"
"s" "6\U+0022 = 1'-0\U+0022"
"s" "1'-0\U+0022 = 1'-0\U+0022"
"Q"
)
))

(prin1) 

Pour utilise les guillemets "\U+0022" dans un lisp ^^.

Mais il est long en execution :( sur des fichiers de taille importante.

C'est un code très simple donc si quelqu'un à mieux et surtout plus rapide à executer je suis preneur :)

Lien vers le commentaire
Partager sur d’autres sites

Salut,

j'ai un peu regardé (pas approfondis)

pour enlever la liste des echelles existantes :

 

(vla-delete (vlax-ename->vla-object (cdr (assoc -1 (dictsearch (namedobjdict) "ACAD_SCALELIST")))))

 

(dictsearch (namedobjdict) "ACAD_SCALELIST") te ressort l'entité "ACAD_SCALELIST"

 

Les echelles sonts les dxf 350, on doit pouvoir en rajouter/suprimer à la demande.

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir coxsurf56

 

J'ai testé, ça marche bien aussi chez moi. Dans le menu format, liste d'echelle, tu peux configurer tes propres échelles. Par contre, même dans mon gabarit, dés que j'insère un éléments créé avec une ancienne version (exemple: un bloc), il me remet cette fichue liste d'échelle. Heuresement, je conserve quand même les miennes, mais ça m'énerve un peu quand même. Quelqu'un à t-il une idée ? :casstet: :casstet:

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Salut,

je suis nul en anglais aussi, mais je pense comprendre le lisp qui récupère la liste d'échelle de 2007 (celle dans la base de registre), et qui la met dans la 2008...

Donc, en modifiant un peu ce lisp, on doit pouvoir créer sa propre liste...

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Lien vers le commentaire
Partager sur d’autres sites

Re, tout le monde

il est très sympa ton lisp bred un peu violent :o je trouve, mais un très bon départ.

je viens de confectionner un petit lisp en modifiant un tout petit peu le tiens ça donne:

 
(defun Modif ()

(while (assoc 350 (dictsearch (namedobjdict) "ACAD_SCALELIST"))
(progn
(vla-delete (vlax-ename->vla-object (cdr (assoc 350 (dictsearch (namedobjdict) "ACAD_SCALELIST")))))
)
)

(apply ' command (append (list "-scalelistedit")(list
"a" "1/50" "1:0.05" 
"a" "1/100" "1:0.1"
"a" "1/200" "1:0.2"
"a" "1/250" "1:0.25"
"a" "1/500" "1:0.5"
"a" "1/1000" "1:1"
"a" "1/1500" "1:1.5"
"a" "1/2000" "1:2"
"a" "1/5000" "1:5"
"q" )))

(command "cannoscale" "1/200" )
(prin1)
)

Donc pour expliquer un peu, je supprime une à une les échelles de la liste puis je cré mes propres échelles et enfin je met en echelle courante "1/200".

Voila ça marche pas mal sauf que c'est un peu long pour créer ma propre liste mais bon.

Je vais maintenant chercher du coté de la création d'échelle pour que ce soit le plus rapide possible.

et encore merci à vous :)

 

Lien vers le commentaire
Partager sur d’autres sites

 

Excuse moi, mais là j'ai du mal à t'aider : j'ai un bug dans l'aide du developpeur, et comme je suis trés loin d'être assez bon pour m'en passer, je ne comprends pas certaine chose (je n'arrive pas à rentrer des echelles avec entmake....)

 

Donc je donne la main....

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Lien vers le commentaire
Partager sur d’autres sites

Rebonsoir,

 

A priori, pas de pbs pour suprrimer les listes par défaut de AutoCAd (merci aux lispeurs de ce forum). Est-ce que quelqu'un qui travaille en cm, pourrais écrire un lisp pour avoir de nouveaux mes echelles (comme au bon vieux temps de la 2007) à savoir : 1/20 =0.5; 1/25=0.4; 1/50=0.2; 1/75 =10/75; 1/100=0.1 et enfin 1/200 =0.05). Je pense que pour un spécialiste, cela ne doit pas être compliqué. Dés que j'ouvre un ancien projet, la liste par défaut de autoCAD, se recharge, c'est rasoir. J'ai bien compris pour effacer à l'ouverture cette fichue liste, mais je ne sais pas lisper, donc pb. Je ne me voit pas réécrire mes échelles à chaque ouverture de projets anciens. Merci d'avance à ceux qui s'essayerons, je pense que cela va dépanner pas mal d'Autocadien.

Quelle galère, cette histoire d'échelle, d'ailleurs, j'ai pas encore bien compris ces histoires d'échelles d'annotations, mais je pense que cela peut être pratique tout de même, affaire à suivre, donc,... :casstet:

Civil 3D 2024 - COVADIS_18.2

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Bonnjour,

En fait je viens de m'aperçevoir d'une petite erreur sur mon lisp

je la corrige tout de suite

 
(while (assoc 350 (dictsearch (namedobjdict) "ACAD_SCALELIST"))
(progn
(vla-delete (vlax-ename->vla-object (cdr (assoc 350 (dictsearch (namedobjdict) "ACAD_SCALELIST")))))
)
)

(apply ' command (append (list "-scalelistedit")(list
"a" "1/50" "1:0.05" 
"a" "1/100" "1:0.1"
"a" "1/200" "1:0.2"
"a" "1/250" "1:0.25"
"a" "1/500" "1:0.5"
"a" "1/1000" "1:1"
"a" "1/1500" "1:1.5"
"a" "1/2000" "1:2"
"a" "1/5000" "1:5"
"q" )))

(command "cannoscale" "1/200" )

(prin1)

 

Voila maintenant lorsque vous chargez ce lisp il s'executera automatiquement.

et pour réponre à lili2006 il suffit que tu modifi juste un peu le lisp

au lieu de

"a" "1/50" "1:0.05" 

 

tu tapes

"a" "1/20" "1:0.5" 

et ainsi de suite...

Moi non plus je ne connais pas trop les fonctions en "entmake", je continu la lutte :)

Lien vers le commentaire
Partager sur d’autres sites

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é