Communauté
AutoCAD – tous produits - Français
Bienvenue sur les forums AutoCAD d’Autodesk. Partagez vos connaissances, posez des questions, et explorez les sujets AutoCAD populaires.
annuler
Affichage des résultats de 
Afficher  uniquement  | Rechercher plutôt 
Vouliez-vous dire : 

Lancer une routine sur 10000 fichiers

13 RÉPONSES 13
Répondre
Message 1 sur 14
Jacques_V_
247 Visites, 13 Réponses

Lancer une routine sur 10000 fichiers

Bonjour, auriez-vous un lien vers une page du forum, vers une documentation ou vers un Lisp permettant de lancer une opération dans 10000 fichiers dwg ( batch-process sets of drawings ) ?

J'avais trouvé ça il y a une vingtaine d'années et je ne retrouve plus.

C'était un dir /p > txt suivi d'une boucle for each then next . en imbriquant entre Then et Next les commandes clavier (exemple -layer;l;; (libérer dégel tous) Ctrl+A DuCalque DuCalque DuCalque Zoom Étendu Ctrl+S écraser : oui).

Cordialement

 

13 RÉPONSES 13
Message 2 sur 14
reb_c2
en réponse à: Jacques_V_

Bonjour,

 

J'utilise souvent un "simple" fichier .BAT que je place au début de l'arborescence et il traite tous les .DWG présent dans le DOSSIER maitre et TOUS les SOUS-DOSSIERS...

 

A titre d'exemple, en pièce jointe un exemple de .BAT qui va PURGER TOUS les dessins. Ik suffit de placer le fichier .BAT dans le dossier de départ, puis de l'exécuter et il crée un SCRIPT dans le dossier de départ...

 

Christian


Formateur Indépendant, Consultant, AutoCAD, AutoCAD LT, REVIT MEP, INVENTOR -
www.rebcao.fr

Christian REB

Message 3 sur 14
Jacques_V_
en réponse à: reb_c2

Bonjour, je vous remercie pour votre réponse.

Je crée un nouveau dessin, je tape au clavier script je charge le script. Là j'ai l'erreur commande inconnue.

Voici le SCR

#CDE#"filedia 1 attdia 0 attreq 0 proxynotice 0"#CDE#
#CDE#"osnapcoord 1 pickfirst 1 expert 5 _limits _OFF"#CDE#
#CDE#"dynmode 0"#CDE#
#CDE#"id 0,0"#CDE#
Z:\Test\1968s.dwg
Z:\Test\20_S314_ARMOIRE.dwg
#CDE#"delai 0"#CDE#
#CDE#"delai 0"#CDE#
#CDE#"delai 0"#CDE#
#CDE#"delai 0"#CDE#

 

Donc si je vois où vous voulez en venir il faut que je bricole comme ceci : 

_.open "Z:\Test\1968s.dwg"
_-purge _ALL * _N _-purge _ALL * _N
_-purge _R * _N _-scalelistedit _R _Y _E
_AUDIT _Y _zoom _e
_qsave _close
_.open "Z:\Test\20_S314_ARMOIRE.dwg"
_-purge _ALL * _N _-purge _ALL * _N
_-purge _R * _N _-scalelistedit _R _Y _E
_AUDIT _Y _zoom _e
_qsave _close

?

 

Cordialement

Message 4 sur 14
didier_lourdelle
en réponse à: Jacques_V_

Bonjour

Regarde le programme SuperAutoScript (SAS)  https://www.caderix.com/telechargement_autocad.html

Faire un copier-coller des lignes ci-dessous dans Notepad par exemple et l'enregistrer en .scr

(command "_-purge" "_ALL" "*" "_N")
(command "_-purge" "_ALL" "*" "_N")
(command "_-purge" "_ALL" "*" "_N")
(command "_-scalelistedit" "_R" "_Y" "_E")
(command "_AUDIT" "_Y")
(command "_zoom" "_e")

(command "_qsave")
(command "_close")

;; une autre version avec des commentaires.
;;
;; Exécute la commande purge trois fois consécutivement.
(repeat 3 (command "_-purge" "_ALL" "*" "_N"))
;; Reset la liste des échelles
(command "_-scalelistedit" "_R" "_Y" "_E")
;; Active l'audit des erreurs du dessin
(command "_AUDIT" "_Y")
;; Effectue un zoom sur l'ensemble du dessin
(command "_zoom" "_e")
;; Sauvegarde le dessin
(command "_qsave")
;; Ferme le dessin (ligne à mettre en commentaire avec un ';' suivant le générateur de script) 
(command "_close")

Il est plus simple d'écrire des scripts avec l'instruction Autolisp 'command' pour la relecture, le débogage et les évolutions des scripts.

Bon courage pour tes 10 000 fichiers à traiter.

EESignature

Didier Lourdelle Consultant, Formateur & Développeur CAO/DAO
Expertises : AutoCAD, AutoCAD LT, AutoCAD Electrical
Langages : VB.NET, Visual LISP, VBA, Diesel (Direct Interpretively Evaluated String Expression Language)
Base de données relationnelle : Microsoft Access, SQL Server, MySQL
Environnements de développement : Microsoft Visual Studio, Visual Studio Code, Editeur Visual LISP
Utilisations :AutoCAD MAP, Civil 3D, AutoCAD Architecture, AutoCAD MEP, Plant 3D, Civil 3D, RasterDesign, VehicleTracking, Autodesk Recap, Fusion 360, NavisWorks, Revit

Message 5 sur 14
reb_c2
en réponse à: Jacques_V_

Bonjour,

 

C'est curieux j'étais persuadé d'avoir complété mon message avec un ZIP complémentaire ???    Le voici...

1. Tu Dézippes le fichier...

2. Tu places le dossier FicExe dans le dossier C:\SCRIPTNW

3. Tu places le .BAT dans le dossier à traiter...

4. Tu exécutes le .BAT dans le dossier à traiter...

5. Tu lances le SCRIPT créé dans le dossier à traiter...

 

Christian


Formateur Indépendant, Consultant, AutoCAD, AutoCAD LT, REVIT MEP, INVENTOR -
www.rebcao.fr

Christian REB

Message 6 sur 14
DOMICREA
en réponse à: Jacques_V_

Bonjour 

Pour Purger en masse, il y a cette Astuce :

 
Si vous devez exécuter PURGE sur plusieurs dessins, par exemple sur un dossier entier de dessins DWG , vous pouvez utiliser l'application gratuite Autodesk DWG TrueView (voir Téléchargement ). Sa fonction de conversion DWG , également disponible dans la version complète d'AutoCAD sous la forme de la commande DWGCONVERT , vous permet de sélectionner plusieurs fichiers DWG (ou dossiers), puis de cocher l'option « Purger les dessins » dans les paramètres de conversion. Une fois exécutée, une opération de purge en masse est alors effectuée et les fichiers DWG purgés sont soit enregistrés dans un autre dossier, soit écrasent les originaux (selon les paramètres).
 
Si cela peut servir à quelqu'un...




Dominique Michy (EI) - Formateur AutoCAD, Revit Architecture, SketchUp, V-Ray - https://www.domicrea.fr/
Message 7 sur 14
didier_lourdelle
en réponse à: DOMICREA

Ces scripts répondent à une problématique essentielle : effectuer efficacement des traitements par lot sur un grand nombre de fichiers.

Il intègre des fonctionnalités avancées, telles que :

  • La correction des erreurs structurelles des fichiers grâce à la commande AUDIT ;
  • La réinitialisation complète de la liste des échelles.

De plus, il offre une base extensible pour ajouter d'autres traitements, comme :

  • La mise à jour et la standardisation des polices de caractères ;
  • La gestion optimisée des calques ;
  • Et divers ajustements spécifiques selon les besoins.

De nombreux générateurs de scripts existent, comme ceux proposés par Christian ou Eric, parmi d'autres.

En somme, qui peut le plus peut le moins.

Nota :
Un simple fichier Excel pourrait suffire pour réaliser cela avec quelques copier-coller, à condition de connaître les bonnes instructions en ligne de commande DOS et en AutoLISP. Cependant, ici, le sujet est un peu plus complexe.

EESignature

Didier Lourdelle Consultant, Formateur & Développeur CAO/DAO
Expertises : AutoCAD, AutoCAD LT, AutoCAD Electrical
Langages : VB.NET, Visual LISP, VBA, Diesel (Direct Interpretively Evaluated String Expression Language)
Base de données relationnelle : Microsoft Access, SQL Server, MySQL
Environnements de développement : Microsoft Visual Studio, Visual Studio Code, Editeur Visual LISP
Utilisations :AutoCAD MAP, Civil 3D, AutoCAD Architecture, AutoCAD MEP, Plant 3D, Civil 3D, RasterDesign, VehicleTracking, Autodesk Recap, Fusion 360, NavisWorks, Revit

Message 8 sur 14
DOMICREA
en réponse à: didier_lourdelle

Bonjour Didier @didier_lourdelle 

On est d'accord sur le : qui peut le plus ...

Je ne dis pas le contraire ! et comme indiqué à la fin de mon message, si cela peut servir ....

Je suis tombé sur cette astuce que je trouve simple et intéressante, c'est tout.

 

Ton script fonctionne sur une LT ?

 





Dominique Michy (EI) - Formateur AutoCAD, Revit Architecture, SketchUp, V-Ray - https://www.domicrea.fr/
Message 9 sur 14
didier_lourdelle
en réponse à: DOMICREA

Ce principe s’applique à AutoCAD LT 2024 et aux versions ultérieures, version métier AutoCAD ainsi qu’aux logiciels compatibles avec le langage AutoLISP.

Dans certains cas, une simple purge des fichiers ne suffit pas : il est nécessaire d’aller plus loin pour adapter le dessin à la charte graphique du client final. Cela peut inclure des actions telles que l’explosion de blocs ou la suppression d’informations superflues pour le client.

Il y a quelques années, j’ai développé un programme permettant de "démanteler" les dessins : supprimer les blocs, placer toutes les entités sur le calque 0, et exploser les polices de caractères.

Une telle démarche nécessite de définir une méthodologie spécifique, adaptée aux besoins et contraintes de chaque entreprise.

EESignature

Didier Lourdelle Consultant, Formateur & Développeur CAO/DAO
Expertises : AutoCAD, AutoCAD LT, AutoCAD Electrical
Langages : VB.NET, Visual LISP, VBA, Diesel (Direct Interpretively Evaluated String Expression Language)
Base de données relationnelle : Microsoft Access, SQL Server, MySQL
Environnements de développement : Microsoft Visual Studio, Visual Studio Code, Editeur Visual LISP
Utilisations :AutoCAD MAP, Civil 3D, AutoCAD Architecture, AutoCAD MEP, Plant 3D, Civil 3D, RasterDesign, VehicleTracking, Autodesk Recap, Fusion 360, NavisWorks, Revit

Message 10 sur 14
reb_c2
en réponse à: Jacques_V_

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

Pourquoi mes REPONSES (2 messages) ne sont pas publiées ????????????

 

Merci Manon.
Christian


Formateur Indépendant, Consultant, AutoCAD, AutoCAD LT, REVIT MEP, INVENTOR -
www.rebcao.fr

Christian REB

Message 11 sur 14
manon_puel
en réponse à: reb_c2

Bonsoir @reb_c1, de quelles réponses parles-tu ? Je vois 2 réponses de ta part au tout début, il y en avait d'autres ? 


Manon Puel animatrice de la communauté francophone
Message 12 sur 14
manon_puel
en réponse à: Jacques_V_

Bonjour @Jacques_V_ 

Merci d’avoir posé cette question sur nos forums ! La communauté a essayé de vous aider au mieux. Si des réponses vous paraissent appropriées, voulez vous avoir l'amabilité de cliquer sur le bouton  APPROUVER LA SOLUTION  en bas de la réponse qui apporte une solution?
Merci de ne pas accepter comme solution le message que vous êtes en train de lire.


Manon Puel animatrice de la communauté francophone
Message 13 sur 14
Jacques_V_
en réponse à: manon_puel

Merci pour vos réponses.

- Il y avait bien le zip. C'est le BAT qui ne fonctionne pas. Peut-être un problème de compatibilité avec Windows 11. Et je n'ai pas les compétences pour recoder quelque chose de similaire. Éventuellement je pourrais concatener du texte dans Libre Office ( sérieusement ) avec la liste issue de dir /b en colonne A, le code à exécuter en colonne B et le concatener en colonne C. En tout cas j'ai saisi le principe : créer un script qui ouvre un dessin, exécute le script, ouvre le dessin suivant, etc. Ça a l'air de fonctionner parfaitement pour l'instant, encore merci.

- Pour info, comme indiqué dans un autre sujet, si je lance automatiquement un script à l'ouverture (mystartup) tout se déroule parfaitement donc les fichiers sont traités au fur et à mesure par les utilisateurs sans avoir besoin de traiter tous les fichiers en masse. Je vais passer du temps à explorer cette voie.

- Merci pour l'astuce DWG TrueView, effectivement avec l'outil de Conversion il peut écrire des fichiers nettoyés et on peut choisir un format ancien pour l'exporter vers d'autres logiciels.

- Les prochaines semaines je vais aussi explorer cette solution qui semble répondre à nos besoins et qui s'appelle MFT MultiFileTool : https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/running-a-lisp-on-multiple-drawings/... 

Cordialement

Message 14 sur 14
manon_puel
en réponse à: Jacques_V_

Bonjour @Jacques_V_, avez-vous pu résoudre votre problème avec les différentes suggestions et solutions essayées ? N'hésitez pas si besoin!


Manon Puel animatrice de la communauté francophone

Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.

Publier dans les forums  

Autodesk Design & Make Report