olivier29 Posté(e) le 18 février 2009 Posté(e) le 18 février 2009 Bonjour à tous. je travaille sur Autocad Map 2008, et j'aimerais savoir s'il existe une solution radicale pour supprimer totalement les échelles d'annotation superflues créées avec les Xrefs.car lorsque l'on ouvre notre fichier ou que quelqu'un d'autre l'appelle en Xref, Autocad met 10 min à décoincer. donc si quelqu'un peut me renseigner là dessus, ça serait cool. merci d'avance
zoulou Posté(e) le 18 février 2009 Posté(e) le 18 février 2009 Bonjour, Tu as essayer en réinitialisant ta liste d'échelles? Format/liste d'échelles Zoulou
lili2006 Posté(e) le 18 février 2009 Posté(e) le 18 février 2009 Bonjour à toutes et tous, Recoupement avec ce sujet ! Personnellement, j'utilise ce lisp => ;;;permet de supprimer une tres grande liste d'echelles;;;commande:SCALELISTDELALL;;; ========================================================================== ;;; File: ScaleListDel.lsp;;; Purpose: Scale list deletion and management for AutoCAD 2008;;; Author: Steve Johnson;;; Date: 13 August 2007;;; Version: 0.7;;; Copyright: (c) 2007 cad nauseam (www.cadnauseam.com);;; May be distributed and used freely provided this header is retained in full;;; -------------------------------------------------------------------------- ;;; Disclaimer:;;; This code is supplied as-is and with no warranty whatsoever.;;; Destruction of annotative objects WILL result from incorrect use.;;; Use at own risk. No responsibility accepted. Read all notes before use.;;; -------------------------------------------------------------------------- ;;; Commands:;;; SCALELISTDEL;;; Deletes unused scales except 1:1 using a user-provided wildcard.;;; SCALELISTDELALL;;; Deletes all unused scales except 1:1.;;; SCALELISTDELINCH;;; Deletes all unused scales that contain the inch " character.;;; SCALELISTDELXREF;;; Deletes all unused scales that contain the "_XREF" string.;;; SCALELISTDEL_;;; Deletes all unused scales that contain the "_" character.;;; SCALELISTDELINCHXREF;;; Deletes all unused scales that contain either the inch " character or;;; the "_XREF" string.;;; SCALELISTDELINCH_;;; Deletes all unused scales that contain either the inch " or "_";;; characters.;;; SCALELISTMETRIC;;; Deletes all existing unused scales except 1:1 and sets up metric scales.;;; SCALELISTMETRICTEMPLATE;;; Deletes all existing scales and sets up metric scales. For use only in;;; setting up scales in templates and pre-2008 drawings.;;; WARNING: potentially destructive to annotative objects!;;; SCALELISTINCH;;; Deletes all existing unused scales except 1:1 and sets up inch-based;;; scales.;;; SCALELISTINCHTEMPLATE;;; Deletes all existing scales and sets up inch-based scales. For use;;; only in setting up scales in templates and pre-2008 drawings.;;; WARNING: potentially destructive to annotative objects!;;; -------------------------------------------------------------------------- ;;; Functions:;;; (scaledel_all_unsafe);;; Deletes all scales in the current drawing, including 1:1 and scales in;;; use.;;; WARNING: potentially destructive to annotative objects!;;; (scaledel_wcard_unsafe WCARD-OR-LIST);;; If WCARD-OR-LIST is a wildcard string, deletes scales that match that;;; wildcard, excluding 1:1 but including scales in use.;;; If WCARD-OR-LIST is a list of scale names, deletes those scales,;;; including 1:1 (if listed) and scales in use.;;; WARNING: potentially destructive to annotative objects!;;; (scaledel_long_xref LONG-SCALE-LIST);;; Cleans up those scales that are too long to delete using the command-line;;; (i.e. over 132 characters). These are usually only those created by the;;; AutoCAD 2008 pre-SP1 bug that created _XREF_XREF_XREF scales, and this;;; is checked before deletion.;;; (scaledel_warning);;; Issues a warning and asks user to enter Yes before continuing.;;; (scaledel_get_scalelist);;; Returns a list of scales in the drawing.;;; (scaledel_all);;; Deletes all scales other than 1:1 and scales in use.;;; (scaledel_reset);;; Performs a -SCALELIST Reset command.;;; (scaledel_smart_reset);;; Performs a -SCALELIST Reset command if it is likely to reduce the number;;; of scales in the list, prior to setting things up.;;; (scaledel_wcard WCARD);;; Deletes scales that match WCARD, excluding 1:1 and scales in use.;;; (scaledel_create_scales SCALES);;; Creates a set of scales defined in list SCALES.;;; (scaledel_create_metric);;; Creates a set of metric scales: see *** in code to adjust list.;;; (scaledel_create_inch);;; Creates a set of inch scales: see *** in code to adjust list.;;; -------------------------------------------------------------------------- ;;; Notes:;;; Other than the SCALELIST*TEMPLATE commands, the commands will not delete;;; the 1:1 scale, even if it is not in use. This is because if the scale list;;; is completely cleared, AutoCAD 2008 will automatically recreate it using;;; its hardwired list when the user picks the "Custom..." item that;;; remains in the list. Leaving in the 1:1 scale prevents this from happening.;;; The (scaledel_*_unsafe) functions can be used to delete all scales,;;; including 1:1 and those in use, if you really need to do so.;;; -------------------------------------------------------------------------- ;;; Later AutoCAD releases:;;; As AutoCAD 2008's annotative scaling feature needs work, it is quite likely;;; that future releases of AutoCAD will do things differently. This may result;;; in this software failing to work correctly, or working with unintended;;; results. Check carefully before using this software in 2009 and later.;;; -------------------------------------------------------------------------- ;;; WARNING:;;; Any function that uses the (scaledel_*_unsafe) functions may be DESTRUCTIVE;;; to any annotative objects in the drawing, because they allow the deletion;;; of scales that are in use.;;; ========================================================================== (if (>= (atof (substr (getvar "ACADVER") 1 4)) 17.1)(progn ; Only define these functions if they will work (ie. 2008 or later)(prompt "\nLoading ScaleListDel.lsp Version 0.7... ");;; -------------------------------------------------------------------------- ;;; Commands(defun C:SCALELISTDEL (/ wcard)(setq wcard (getstring "\nEnter scale name(s) to delete: "))(if (/= wcard "")(scaledel_long_xref (scaledel_wcard wcard)))(princ)) ; End C:SCALELISTDEL(defun C:SCALELISTDELALL ()(scaledel_all)(princ)) ; End C:SCALELISTDELXREF(defun C:SCALELISTDELXREF ()(scaledel_long_xref (scaledel_wcard "*_XREF"))(princ)) ; End C:SCALELISTDELXREF(defun C:SCALELISTDEL_ ()(scaledel_long_xref (scaledel_wcard "*_*"))(princ)) ; End C:SCALELISTDEL_(defun C:SCALELISTDELINCH ()(scaledel_long_xref (scaledel_wcard "*\"*"))(princ)) ; End C:SCALELISTDELINCH(defun C:SCALELISTDELINCHXREF ()(scaledel_long_xref (scaledel_wcard "*\"*,*_XREF"))(princ)) ; End C:SCALELISTDELINCHXREF(defun C:SCALELISTDELINCH_ ()(scaledel_long_xref (scaledel_wcard "*\"*,*_*"))(princ)) ; End C:SCALELISTDELINCHXREF(defun C:SCALELISTMETRIC ()(scaledel_smart_reset)(prompt "\nDeleting existing unused scales...")(scaledel_long_xref (scaledel_wcard "*"))(prompt "\nCreating metric scales...")(scaledel_create_metric)(princ)) ; End C:SCALELISTMETRIC(defun C:SCALELISTMETRICTEMPLATE ()(if (= (scaledel_warning) "Yes")(progn(scaledel_smart_reset)(prompt "\nDeleting all existing scales...")(scaledel_all_unsafe)(prompt "\nCreating metric scales...")(scaledel_create_metric)))(princ)) ; End C:SCALELISTMETRICTEMPLATE(defun C:SCALELISTINCH ()(scaledel_smart_reset)(prompt "\nDeleting existing unused scales...")(scaledel_wcard "*")(prompt "\nCreating inch scales...")(scaledel_create_inch)(princ)) ; End C:SCALELISTINCH(defun C:SCALELISTINCHTEMPLATE ()(if (= (scaledel_warning) "Yes")(progn(scaledel_smart_reset)(prompt "\nDeleting all existing scales...")(scaledel_all_unsafe)(prompt "\nCreating inch scales...")(scaledel_create_inch)))(princ)) ; End C:SCALELISTINCHTEMPLATE;;; -------------------------------------------------------------------------- ;;; Functions(defun scaledel_all_unsafe (/ scale-en-list)(foreach item (dictsearch (namedobjdict) "ACAD_SCALELIST")(if (= 350 (car item))(setq scale-en-list (cons (cdr item) scale-en-list))))(foreach item scale-en-list(entdel item))) ; End scaledel_all_unsafe(defun scaledel_wcard_unsafe (WCARD-OR-LIST / scale-list scale)(foreach item (dictsearch (namedobjdict) "ACAD_SCALELIST")(if (= 350 (car item))(setqscale-list(cons(cons (strcase (cdr (assoc 300 (entget (cdr item))))) (cdr item))scale-list))))(if (= (type WCARD-OR-LIST) 'STR)(foreach item scale-list(if(and(wcmatch (car item) (strcase WCARD))(/= (car item) "1:1"))(entdel (cdr item))))(foreach item WCARD-OR-LIST(if (setq scale (assoc (strcase item) scale-list))(entdel (cdr scale)))))) ; End scaledel_wcard_unsafe(defun scaledel_long_xref (LONG-SCALE-LIST / scale-list)(foreach scale LONG-SCALE-LIST(if (wcmatch (strcase scale) "*_XREF_XREF_XREF*")(setq scale-list (cons scale scale-list))))(if scale-list(progn(prompt "\nDeleting the following long _XREF scale(s):")(foreach scale scale-list(prompt (strcat "\n " scale)))(scaledel_wcard_unsafe scale-list)))) ; End scaledel_long_xref(defun scaledel_warning ()(initget "Yes No")(getkword(strcat"\nThis command will first destroy all existing scales including those in use.""\nAre you sure you want to do this? [Yes/No] : "))) ; End scaledel_warning(defun scaledel_get_scalelist (/ scale-list)(foreach item (dictsearch (namedobjdict) "ACAD_SCALELIST")(if (= 350 (car item))(setqscale-list(cons (strcase (cdr (assoc 300 (entget (cdr item))))) scale-list))))scale-list) ; End scaledel_get_scalelist(defun scaledel_all ()(scaledel_smart_reset)(scaledel_long_xref (scaledel_wcard "*"))) ; End scaledel_all(defun scaledel_reset (/ cmdecho)(setq cmdecho (getvar "CMDECHO"))(setvar "CMDECHO" 0)(command "_.-SCALELISTEDIT" "_R" "_Y" "_E")(setvar "CMDECHO" cmdecho)) ; End scaledel_reset(defun scaledel_smart_reset ()(if (> (length (scaledel_get_scalelist)) 40)(scaledel_reset))) ; End scaledel_smart_reset(defun scaledel_wcard (WCARD / scale-list cmdecho long-scale-list)(foreach scale (scaledel_get_scalelist)(if(and(wcmatch (strcase scale) (strcase WCARD))(/= scale "1:1"))(setq scale-list (cons scale scale-list))))(if scale-list(progn(setq cmdecho (getvar "CMDECHO"))(setvar "CMDECHO" 0)(command "_.-SCALELISTEDIT")(foreach item scale-list(if ((command "_D" item) ; Attempt to delete scale(setq long-scale-list (cons item long-scale-list))))(command "_E")(setvar "CMDECHO" cmdecho)))long-scale-list ; Returns list of scales too long to delete) ; End scaledel_wcard(defun scaledel_create_scales (SCALES / scale-list-all cmdecho)(setqscale-list-all (scaledel_get_scalelist)cmdecho (getvar "CMDECHO"))(setvar "CMDECHO" 0)(command "_.-SCALELISTEDIT")(foreach scale SCALES(if (not (member (strcase (car scale)) scale-list-all))(command "_A" (car scale) (cadr scale))))(command "_E")(setvar "CMDECHO" cmdecho)) ; End scaledel_create_scales;;; -------------------------------------------------------------------------- ;; *** Note: several uncommon scales have been commented out.;; Delete the leading semi-colon to make a scale active.;; You can comment out an unwanted scale by placing a semi-colon at;; the start of its line.(defun scaledel_create_metric ()(scaledel_create_scales'(; ("10:1" "10:1"); ("5:1" "5:1"); ("2:1" "2:1")("1:1" "1:1")("1:2" "1:2"); ("1:2.5" "1:2.5")("1:5" "1:5")("1:10" "1:10")("1:20" "1:20"); ("1:25" "1:25")("1:50" "1:50")("1:100" "1:100")("1:200" "1:200"); ("1:250" "1:250")("1:500" "1:500")("1:1000" "1:1000")("1:2000" "1:2000"); ("1:2500" "1:2500")("1:5000" "1:5000"); ("1:10000" "1:10000"); ("1:20000" "1:20000"); ("1:25000" "1:25000"); ("1:50000" "1:50000"); ("1:100000" "1:100000"); ("1:200000" "1:200000"); ("1:250000" "1:250000"); ("1:500000" "1:500000")("1:1 m" "1000:1")("1:2 m" "1000:2"); ("1:2.5 m" "1000:2.5")("1:5 m" "1000:5")("1:10 m" "1000:10")("1:20 m" "1000:20"); ("1:25 m" "1000:25")("1:50 m" "1000:50")("1:100 m" "1000:100")("1:200 m" "1000:200"); ("1:250 m" "1000:250")("1:500 m" "1000:500")("1:1000 m" "1000:1000")("1:2000 m" "1000:2000"); ("1:2500 m" "1000:2500")("1:5000 m" "1000:5000")("1:10000 m" "1000:10000")("1:20000 m" "1000:20000"); ("1:25000 m" "1000:25000")("1:50000 m" "1000:50000"); ("1:100000 m" "1000:100000"); ("1:200000 m" "1000:200000"); ("1:250000 m" "1000:250000"); ("1:500000 m" "1000:500000")))) ; End scaledel_create_metric;;; -------------------------------------------------------------------------- ;; *** Note: several uncommon scales have been commented out.;; Delete the leading semi-colon to make a scale active.;; You can comment out an unwanted scale by placing a semi-colon at;; the start of its line.(defun scaledel_create_inch ()(scaledel_create_scales'(; ("8:1" "8:1"); ("4:1" "4:1"); ("2:1" "2:1")("1:1" "1:1")("1/32\" = 1'-0\"" "0.03125:12")("1/16\" = 1'-0\"" "0.0625:12")("3/32\" = 1'-0\"" "0.09375:12")("1/8\" = 1'-0\"" "0.125:12")("3/16\" = 1'-0\"" "0.1875:12")("1/4\" = 1'-0\"" "0.25:12")("3/8\" = 1'-0\"" "0.375:12")("1/2\" = 1'-0\"" "0.5:12")("3/4\" = 1'-0\"" "0.75:12")("1\" = 1'-0\"" "1:12")("1-1/2\" = 1'-0\"" "1.5:12")("3\" = 1'-0\"" "3:12")("6\" = 1'-0\"" "6:12")("1\" = 10'-0\"" "1:120")("1\" = 20'-0\"" "1:240")("1\" = 30'-0\"" "1:360")("1\" = 40'-0\"" "1:480")("1\" = 50'-0\"" "1:600")("1\" = 60'-0\"" "1:720")("1\" = 100'-0\"" "1:1200"); ("1\" = 250'-0\"" "1:3000"); ("1\" = 500'-0\"" "1:6000"); ("1\" = 1000'-0\"" "1:12000"); ("1\" = 5280'-0\"" "1:63360"); ("1\" = 12000'-0\"" "1:144000"); ("1\" = 24000'-0\"" "1:288000"); ("1\" = 48000'-0\"" "1:576000"); ("1\" = 50000'-0\"" "1:600000"); ("1\" = 52800'-0\"" "1:633600")))) ; End scaledel_create_inch(prompt(strcat"SCALELISTDEL SCALELISTDELALL SCALELISTDELINCH SCALELISTDELXREF ""SCALELISTDEL_ SCALELISTDELINCHXREF SCALELISTDELINCH_ SCALELISTMETRIC ""SCALELISTMETRICTEMPLATE SCALELISTINCH SCALELISTINCHTEMPLATE ""commands loaded.\n"))) ; End progn to test for AutoCAD release(prompt "\nRequires AutoCAD 2008 or above."))(princ);;; ========================================================================== ;;; End of file ScaleListDel.lsp;;; ========================================================================== Mais il existe également un programme élaboré par Autodesk, fait une recherche,..(désolé, pas trop le tps,..) Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
bono05 Posté(e) le 18 février 2009 Posté(e) le 18 février 2009 essaye la commande (anglais, je n'ai pas le francais) ... -SCALELISTEDIT puis... R puis...Y puis...E Si cela resout ton problème il ya possibilité d'installer cette commande automatiquement.J'ai eu ce genre de problème à un certain moment après avoir installer un lisp d'echelle?! Ouverture lent de plan avec Xref et copier/coller très longggggggg. j'ai retrouvé!!! Dans C:\Program Files\AutoCAD 2008\Support\acaddoc.lsp copie ceci: (defun-q MYSTARTUP () (command "-scalelistedit" "r" "y" "e") ) ;_ defun-q (setq S::STARTUP (append S::STARTUP MYSTARTUP)) Il regenera automatiquement tes echelles à chaque ouverture de plan...et tu ne remarquera rien. ;) [Edité le 18/2/2009 par bono05]
olivier29 Posté(e) le 19 février 2009 Auteur Posté(e) le 19 février 2009 merci pour tous ces renseignements, sinon, est ce qu'il est possible que ces échelles d'annotation liées aux Xref ne se crééent pas du tout, ça serait l'idéal. si quelqu'un à une solution miracle, ça m'aiderait. merci d'avance
lili2006 Posté(e) le 19 février 2009 Posté(e) le 19 février 2009 Bonjour à toutes et tous, Mais il existe également un programme élaboré par Autodesk, fait une recherche,..(désolé, pas trop le tps,..) Je l'ai retrouvé, :D Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
olivier29 Posté(e) le 19 février 2009 Auteur Posté(e) le 19 février 2009 merci lili et il fait quoi exactement? tu l'as essayé? moi, quand je lance l'application, il me met un message d'erreur, et me marque qu'il ne trouve pas "acdb17.dll" tu connais? encore merci [Edité le 19/2/2009 par olivier29]
lili2006 Posté(e) le 19 février 2009 Posté(e) le 19 février 2009 Re, Ce pg de Autodesk nettoie toutes les échelles superflues qui apparaissent à l'insertion de xrefs, wblocs, copier-coller windows d'un plan à l'autre (à ne pas faire soit dis-t'en passant,),... Je l'ai djà testé, mon sentiment : Fiable et efficace ! D'autres avis, peut-être ? Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
olivier29 Posté(e) le 19 février 2009 Auteur Posté(e) le 19 février 2009 c'est bon, ça marche. par contre, quand on fait marcher l'application une foi pour un fichier, est ce que c'est valable tout le temps après ou alors il faut refaire passer la moulinette?
lili2006 Posté(e) le 19 février 2009 Posté(e) le 19 février 2009 Re, Dés que tu réintroduit des xrefs ou autres, le pb demeure intact ! Donc, remoulinette,.. :mad: Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
olivier29 Posté(e) le 20 février 2009 Auteur Posté(e) le 20 février 2009 ah ouais, c'est un peu lourd tout ça et ça n'a pas été réparé dans une mise à jour ce truc là?
lili2006 Posté(e) le 20 février 2009 Posté(e) le 20 février 2009 Bonjour à toutes et tous, Si !!!! Sur la 2009, :casstet: Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
olivier29 Posté(e) le 23 février 2009 Auteur Posté(e) le 23 février 2009 merci pour ta réponse lili, ça je le savais déjà... bon ben, on va faire avec alors...
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