Aller au contenu

PURGER-ZOOM E SUR UN REPERTOIRE


lili2006

Messages recommandés

Bonjour à toutes et tous,

 

Existe t-il une routine (ou fonction ?) permettant de purger et de faire un zoom étendu sur tous les fichiers d'un répertoire ?

 

Je cherche en script principalement mais mes tests restent vain ! :mad:

 

Ou alors avec SAS de Eric ?

Civil 3D 2025 - COVADIS_18.3b

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

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Salut Tramber,

 

J'avais écris ça avant de poster (J'ai rajouter suivant ton conseil "TILEMODE 1")=>

 

TILEMODE
1
_-purge
to
*
n
_zoom _e
_qsave
_quit

 

Et ça ne marchait pas !

 

Évidemment, j'avais oublié le retour chariot, une fois de plus,...:cool:

 

Peut-on purger encore plus en "profondeur" ou les options que j'ai retenues sont les bonnes ?

 

Merci encore,

Civil 3D 2025 - COVADIS_18.3b

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

Lien vers le commentaire
Partager sur d’autres sites

coucou

 

pour puger plus en profondeur,

pour reprendre tes termes,

 

tu purges plusieurs fois de suite

comme çà à la deuxième passe

tu supprimes les calques utilisés par les blocs purgés à la première passe.

 

trois fois de suite me semble un bon rapport temps passé/efficacité

 

amicalement

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Pour les purges, tu peux déjà ajouter ça :

_-purge _r  _n 

pour purger les applications enregistrées

 

Ensuite il y a le problème des objets imbriqués. Exemple Le bloc A contient le bloc B qui contient un objet sur le calque C.

S'il n'y a aucune référence du bloc A (ni du bloc B) et que le calque C est ne sert que pour l'objet contenu dans B, à la première purge A est purgé mais il reste B à purger, à la seconde purge B est purgé mais le calque C est toujours présent et non référencé. Il faut donc 3 purges pour cet exemple.

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

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Salut Gilles,

 

_-purge _r _n

 

Ce qui veut dire ?

 

A la place ou en plus de ?:

 


_-purge

to

*

n

_-purge

to

*

n

_-purge

to

*

n

 

Je voudrais également remettre le calque "o" courant avant la fermeture du fichier,

 

Ce qui donnerait ?

 


TILEMODE

1

_-purge

to

*

n

_-purge

to

*

n

_-purge

to

*

n

_-purge _r  _n 

_zoom _e

_-layer

ch

0
_qsave

_quit 

Civil 3D 2025 - COVADIS_18.3b

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

Lien vers le commentaire
Partager sur d’autres sites

_-purge _r _n

 

J'allais dire tapes F1 quand tu essayes la commande -PURGER pour débugger ton script. Comme si je parlais à un novice !

 

Mais il est vrai que l'aide ne dit pas grand chose. Sauf à lire de plus près (extrait de l'aide 2006)

:

Entrez un type d'objet ou tapez r pour purger les applications non utilisées, ou tapez TO pour purger tous les types d'objet nommé mais pas les applications.

 

Donc c'est pour puger les applis.

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Merci pour ta réponse Tramber,

 

Effectivement, je suis pas fortiche pour la recherche dans l'aide active,...

 

Quand je fais =>

 

F1 quand tu essayes la commande -PURGER

 

J'ai =>

 

Présentation des commandes d'AutoCAD 2008 > Commandes > P - Commandes > PURGER >

PURGER Concept Procédure Aide-mémoire

 

 

Supprime du dessin les éléments nommés non utilisés, comme les calques ou les définitions de blocs.

 

Menu : Fichier Utilitaires de dessin Purger...Sur la ligne de commande, entrez PURGER.

Entrée de commande : purger

La boîte de dialogue Purger apparaît.

 

Si vous entrez -PURGER sur la ligne de commande, des options s'affichent sur la ligne de commande.

 

Mais il est vrai que l'aide ne dit pas grand chose. Sauf à lire de plus près (extrait de l'aide 2006)

 

Même en lisant de plus près, je dois bien reconnaître que j'interprète très souvent très mal,...

 

Et puis je sais aussi que les réponses sur ce forum me permettrons de mieux comprendre et continuer d'avancer,... :D

 

(Qu'on ne pense pas que ce soit [que] par soucis de facilité,... ;) )

Civil 3D 2025 - COVADIS_18.3b

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

Lien vers le commentaire
Partager sur d’autres sites

Mais je voulais aussi pouvoir écrire ce script sans forcément utiliser SAS pour bien comprendre le fonctionnement du script,...

 

-Alors tu as besoin d'un listeur de fichiers.

http://gratuiciel.prv.pl/

-D'excell et de la fonction CONCATENER ainsi qu'un petit peu de savoir-faire

-D'utiliser les fonctions OUVRIR et FERMER d'AUtoCAD dans ton script.

 

C'est comme cela qu'on faisait avant. Enfin je suppose. J'ai de la bouteille sans scripteurs type SAS ou Hurricane,..etc. Alors si ça t'intéresse n'hésites pas.

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Merci Tramber

 

Alors tu as besoin d'un listeur de fichiers.

 

Pour quelles raisons ?

 

CONCATENER

 

Je sais un peu l'utiliser mais je vois mal pourquoi ici,... ?

 

D'utiliser les fonctions OUVRIR et FERMER d'AUtoCAD dans ton script.

 

A savoir ?

 

Merci encore,

Civil 3D 2025 - COVADIS_18.3b

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

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Au final, j'utilise ça =>

 

TILEMODE
1
_-purge
to
*
n
_-purge
to
*
n
_-purge
to
*
n
_-purge _r _n 
(setvar "clayer" "0")
_zoom _e
_qsave 

 

Deux choses "bizarre",

 

L'aide AutoCAD s'active !???

A la femeture d'un fichier AutoCAD me demande si je veux vraiment fermer la ligne de commande ????

 

Une idée ?

 

Merci d'avance,

Civil 3D 2025 - COVADIS_18.3b

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

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

À vue de nez tu as supprimé une espace dans :

_-purge _r _n

 

Il en faut 2 après _r :

_-purge[valider]_r[valider][valider]_n[valider]

 

Attention espace = valider saut de ligne = valider

Comme tu fais un saut de ligne après _n, il faut supprimer l'espace (sinon c'est 2 validations).

Si tu préfères, écris le avec des sauts de ligne plutôt que des espaces:

 

_-purge

_r

 

_n

 

PS : les balises bbcode 'code' rajoutent des saut de lignes entre chaque ligne : pas bon pour les scripts...

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

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Tout à fait exact Gilles,

 

Merci encore de ton aide,

 

Mais, j'ai toujours l'aide qui s'affiche dés le premier lancement du script !

 

N'empêche pas la liste de continuer (Sur SAS).

 

Par contre, plus le message de fermeture de la ligne de commande,...

Civil 3D 2025 - COVADIS_18.3b

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

Lien vers le commentaire
Partager sur d’autres sites

Pas tout compris, désolé,...

 

Tu as demandé comment on se passait de SAS et je t'ai envoyé un lien pour des scripts qui ouvrent et ferment des fichiers pour traitement par lot.

 

ouvrir c:/truc/machin.dwg zoom total enregistrer fermer

ouvrir c:/truc/machin1.dwg zoom total enregistrer fermer

ouvrir c:/truc/machin2.dwg zoom total enregistrer fermer

 

Franchement, je ne peux faire mieux. L'utilisation du listeur pour la colonne :

c:/truc/machin.dwg

c:/truc/machin1.dwg

c:/truc/machin2.dwg

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

Pour un dossier contenant des DWG à traiter:

Créer le script de purge pour ce dossier.

(déjà publier sur CadXp)

 

(defun c:make_script ( / prefix file_scr)
 (setq
   prefix (strcat (vl-filename-directory (getfiled "Sélectionner un fichier dessin TEMOIN" "" "dwg" 16)) "\\")
   file_scr (open (strcat prefix "traiter_dossier.scr") "w")
 )
 (foreach dwg (vl-directory-files prefix "*.dwg" 1)
   (write-line "_.open" file_scr)
   (write-line (strcat "\"" prefix dwg "\"") file_scr)

;;
;;debut partie personnalisable
;;
   (write-line "_.tilemode" file_scr)
   (write-line "1" file_scr)
   (write-line "_.-layer" file_scr)
   (write-line "_thaw" file_scr)
   (write-line "0" file_scr)
   (write-line "_unlock" file_scr)
   (write-line "0" file_scr)
   (write-line "_on" file_scr)
   (write-line "0" file_scr)
   (write-line "_set" file_scr)
   (write-line "0" file_scr)
   (write-line "" file_scr)
   (write-line "_.cecolor" file_scr)
   (write-line "256" file_scr)
   (write-line "_.celtype" file_scr)
   (write-line "ByLayer" file_scr)
   (write-line "_.celweight" file_scr)
   (write-line "-1" file_scr)
   (write-line "_.-purge" file_scr)
   (write-line "_all" file_scr)
   (write-line "*" file_scr)
   (write-line "_no" file_scr)
   (write-line "_.-purge" file_scr)
   (write-line "_all" file_scr)
   (write-line "*" file_scr)
   (write-line "_no" file_scr)
   (write-line "_.-purge" file_scr)
   (write-line "_all" file_scr)
   (write-line "*" file_scr)
   (write-line "_no" file_scr)
   (write-line "_.-purge" file_scr)
   (write-line "_regapps" file_scr)
   (write-line "*" file_scr)
   (write-line "_no" file_scr)
   (write-line "_.zoom" file_scr)
   (write-line "_extent" file_scr)
;;
;;fin partie personnalisable
;;

   (write-line "_.qsave" file_scr)
   (write-line "_.close" file_scr)
 )
 (close file_scr)
 (princ (strcat "\Vous pouvez lancer le SCRIPT :" prefix "traiter_dossier.scr"))
 (prin1)
)

 

[Edité le 1/2/2010 par bonuscad]

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

Bonsoir à toutes et tous,

 

Franchement, je ne peux faire mieux. L'utilisation du listeur pour la colonne :

 

Ce n'est pas du tout ta réponse que je remet en question, c'est ma compréhension !

 

Il faut que j'y passe plus de tps pour comprendre tout ça et c'est ce que je ferai dés que je pourrais le faire. Bien sûr, je n'hésiterai pas à reposer des questions,...

 

Merci bonuscad,

 

En lançant le script ainsi créer, tout se passe bien sur le premier fichier jusqu'ici (en jaune) ou je dois prendre la main (Réponse manuelle :n)=>

 

 

Commande: _.-purge

Entrez le type des objets non utilisés à purger

[bLocs/COtstyles/CAlques/TYpelignes/MAtériaux/styles de Tracé/Formes/Styles de

texte/style des Multilignes/styles de TAbleau/StylesVisuels/appsenReg/TOut]:

_all

Entrez le(s) nom(s) à purger : *

Vérifier chaque nom à purger ? [Oui/Non] : _.no

Oui ou Non, s'il vous plaît.

[surligneur]Vérifier chaque nom à purger ? [Oui/Non] : n [/surligneur]

Trouvé 0 blocs sans référence.

Trouvé 0 calques sans référence.

Trouvé 0 types de lignes sans référence.

Trouvé 0 styles de texte sans référence.

Trouvé 0 fichiers formes sans référence.

Trouvé 0 styles de cote sans référence.

Trouvé 0 style de Multilignes sans référence.

Trouvé 0 stylestraceur sans référence.

Trouvé 0 styles de tableau sans référence.

Trouvé 0 matériaux sans référence.

Trouvé 0 styles visuels sans référence.

 

 

Et tout s'arrête,...

 

Le script ainsi généré

 

Qu'ai-je oublier ?

 

Merci encore,

 

Civil 3D 2025 - COVADIS_18.3b

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

Lien vers le commentaire
Partager sur d’autres sites

Qu'ai-je oublier ?

 

Rien, une erreur de syntaxe de ma part :(

 

Le code est mis à jour, toujours pas testé mais cela devrait être bon pour le langage international.

 

Re-testes ;)

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

Re,

 

Tout Nickel,

 

Merci bonuscad,

 

Me reste plus qu'à décortique le script ainsi créé,...

 

une erreur de syntaxe de ma part

 

A savoir ? (Par curiosité,...)

 

Par là ?

 

Pareil sans le point ? (D'ailleurs, il sert à quoi ce point ?)

 

._no

 

:P

Civil 3D 2025 - COVADIS_18.3b

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

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Si j'ai tout compris, et que je veux utiliser SAS par exemple, je peut donc utiliser ce script pour une purge "complète" ?

 

 
_.tilemode
1
_.-layer
_thaw
0
_unlock
0
_on
0
_set
0

_.cecolor
256
_.celtype
ByLayer
_.celweight
-1
_.-purge
_all
*
_no
_.-purge
_all
*
_no
_.-purge
_all
*
_no
_.-purge
_regapps
*
_no
_.zoom
_extent
_.qsave
_.close

 

En retirant "_.qsave

_.close" puisque SAS le fait par défaut,...

Civil 3D 2025 - COVADIS_18.3b

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

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é