• Ce forum est la traduction générée par la machine de www.cad3d.it/forum1 - la communauté italienne du design. Plusieurs termes ne sont pas traduits correctement.

Un script pour lancer plusieurs scripts

  • Auteur du sujet Auteur du sujet x11start
  • Date de début Date de début

x11start

Guest
un logiciel externe crée une série de fichiers script qui, une fois lancé, génèrent une conception.

J'ai essentiellement un dossier contenant des fichiers:
p01.scr
P02.
p03.scr
...

et je voudrais les lancer en séquence, puis les sauver comme:
p01.dwg
p02.dwg
Le nombre d'heures de travail est inférieur à celui des heures de travail.
...

J'ai essayé avec "scribe.lsp" de lee mac, mais je ne peux pas l'amener à exécuter des scripts mais seulement dwg.

Quelqu'un dans le forum a-t-il une solution ?
 
Je me réponds... même si j'utilise un système un peu étrange : J'utilise un fichier de lot externe.

Je crée un fichier texte (avec bloc de note), mais je mets l'extension bat au lieu de txt. la chauve-souris sera suivie de l'invite dos.

Dans le fichier, j'ai mis la commande suivante :

pour %%f dans (*.scr) do "c:\program files\autodesk\autocad 2019 - italiano\acad.exe" /nologo /b %%f

fondamentalement, j'exécute tous les fichiers d'analyse du dossier actuel et pour chacun d'eux, j'ouvre automatiquement le script (avec l'option /b).
/nologist sert à accélérer un peu l'ouverture et ne pas afficher le logo autocad.

Dans les fichiers de script (le p01.scr p02.scr précédemment mentionné, etc.) il faut ajouter quelques lignes, c'est-à-dire :

_
<--- cette ligne vide sert à envoyer
Voir l'annexe I.
_

cette chose peut être faite manuellement ou toujours avec une chauve-souris, faire un type (pour concaténer au fond ce dont j'ai besoin) et pour ... faire ... etc.
(mais j'y travaille toujours).

Conclusion :
ce n'est pas une solution "définitive" comme pour chaque script vient:
- ouvert autocad
- exécutez le script
- fait le sauvetage
- fermé autocad

... en bref cela prend beaucoup de temps; mais vous pouvez le lancer à la pause déjeuner!

Si quelqu'un a une meilleure solution, je le remercie d'avance!
 
créé des fichiers vides p01.dwg, p02.dwg, etc.
renommer les fichiers p01.scr dans scrp01.scr, etc.
dwg et scr doivent être dans le même répertoire.
Utilisez le scriptconpreview. fichier xlsm en utilisant le script "script"
le logiciel ouvre le dwg p01, lance le script scrup01, enregistre et ferme le fichier, passe à p02 etc.

n.b.: le script se compose du seul texte "file.scr" qui est transformé en:
admettant que le fichier dwg est dans c:\lisp
(commande "_script" "c:/lisp/scrp01.scr")
 
Merci rpor... mais il n'est pas possible d'utiliser des dwgs vides, car les scripts créent un nouveau dwg à chaque fois (à partir d'un dwt particulier).
En bref, afin de ne pas "replacer" le script, je devrais ajouter au maximum de choses au bas.
J'ai vu que cependant il est possible de lancer un nouveau script à partir du script précédent, de sorte que l'ajout consisterait à nous attaquer le prochain script de lancement; cela me permet de ne pas sortir et de revenir à autocad, mais simplement de "concatener" les scripts.
Je médite sur un lisp... ou fais un exe avec qb64 pour que l'opération de concaténation soit également disponible avec autocad lt.
Je partagerai avec le forum les rapports.
Merci beaucoup !
 
Ce n'était pas facile, mais j'ai trouvé une solution... en dos!
J'ai créé 2 fichiers bat à enregistrer dans le dossier qui contient les fichiers de numérisation à traiter.
J'ai préféré essayer d'utiliser des fichiers de chauve-souris et ne pas utiliser autolisp .... pour faire le travail également en utilisant autocad lt.

start.bat (c'est un simple fichier txt renommé .bat) :

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------C'est quoi ? Départ

rem pour chaque fichier scr ajoute des commandes de secours et de sortie du fichier
rem ... et les renommer en nous mettant aaa devant le nom du fichier


écho > count.txt

(*.scr)

écho déposéia 0 _saveas %%f déposéia 1 _quit > count.txt

type > aa%f %f count.txt
)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Donc la deuxième batte est lancée...

script.bat est ....

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------C'est quoi ? Départ

rem lance autocad pour chaque fichier (ceux avec aaaa devant)
rem ... puis sort et passe au fichier suivant

pour %%f dans (aaaa*.scr) do "c:\program files\autodesk\autocad lt 2019\acadlt.exe" /nologo /b /six %%f
fin de l'écho
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Ces 2 fichiers bat sont simplement enregistrés dans le dossier où il y a des scripts puis lancés en séquence.
le résultat est beaucoup de dwg enregistrés dans le même dossier.
 
J'ai rassemblé les 2 scripts en 1 seulement, pour lancer 2 fois.
la chauve-souris doit être copiée dans le dossier contenant les fichiers à "traiter".

la première fois que vous lancez le script.bat, aaanomescript1.scr, aaanomescript2.scr, aaanomescript3.scr... etc.
pratiquement ajoute au nom des scripts "aaa", mais surtout ajoute à la file d'attente à chaque fichier, les commandes pour le sauvetage.

au deuxième lancement suit une série de : ouverture, sauvegarde et fermeture d'autocad. Va prendre un café et laisse-le travailler pour toi !

Évidemment script. bat doit être modifié avec le chemin correct de l'exécutable autocad ....dans mon cas:
"c:\program files\autodesk\autocad lt 2019\acadlt.exe"

Ps.
J'ai dû renommer le script. Bat en script. txt pour pouvoir l'attacher : renommer avec l'extension bat pour l'utiliser !
 

Pièces jointes

Statistiques du forum

Sujets
58 521
Messages
499 056
Membres
104 110
Dernier membre
ChristianR

Membres en ligne

Aucun membre en ligne actuellement.
Retour
Haut