Marc Blancher Posté(e) le 2 avril 2005 Posté(e) le 2 avril 2005 Salut la compagnie, voilà, je souhaite automatiser un traitement très basique mais chiant à la longue. J'ai une liste de dessin .dwg dans un dossier et je dois les ouvrir, faire un zoom étendu et le refermer après l'avoir sauvegarder. Jusqu'à maintenant, j'utilisais un bouton personnalisé avec les lignes de commande : z et _qsave _close que j'executais à chaque dessin. Maintenant je voudrais bien une routine qui ouvre tous les plans du repertoire et qui fasse la manip ou bien autre chose de la meme sorte. Cette manip me sert à convertir des dessins d'anciennes version vers la nouvelle et d'avoir l'aperçu dans l'explorateur. Facile à ranger après. Message long mais plein d'espoir :) Merci de votre aide. A+
Tramber Posté(e) le 2 avril 2005 Posté(e) le 2 avril 2005 On va répondre ici ,mais ce sujet te confirmera mes opinions, un bon SCRIPT vaut mieux qu'un mauvais LISP (mais non, Bonuscad et Patrick_35, je dis pas ca pour vous !) Pour zoomer toutes présentations dans un dessin, exemple. Donc, il te faut le listeur(anglais)Pas de version francaise mais choix langue GB D NL PL Suédois I Tu listes tes DWG facilement et tu peux batir un script genre : ouvrir c:/truc/machin.dwg zoom total enregistrer fermer (à mettre au point)RASTERPREVIEW à 1 Suivre mon lien de signature.......ou utiliser l'outil de Christian Mais comme je vois que tu sais faire des boutons, tu vas y arriver, comme un charme. Salut Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
didier Posté(e) le 2 avril 2005 Posté(e) le 2 avril 2005 hello,profite z' en pour purger tes fichiers.ciao Éternel débutant... Mon site perso : Programmer dans AutoCAD
mdsv31 Posté(e) le 2 avril 2005 Posté(e) le 2 avril 2005 Tu peut utiliser la docbar Tu ouvre tout les fichiers du repertoire et ensuite tu fait un clic droit sur un onglet de la docbar et tu selectionne save and close all Docbar sauvegarde les fichiers en fesant un zoom etendue juste avant @+ MDSV31 Dessinateur Indépendant
Marc Blancher Posté(e) le 18 avril 2005 Auteur Posté(e) le 18 avril 2005 Bonjour et merci de l'aide, donc je suis arrivé à ceci : Je liste les dwg avec dirlister, j'enlève les espaces à chaque nom ( dirlister crée un chemin long de 200 caractères, si l'adresse est plus courte, il complète avec des espaces) j'utilise un petit lisp : (defun c:sldscr () ;; Cette fonction lit dans le répertoire courant ;; le fichier listedwg.txt (ou autre) ;; ouverture des fichiers (setq fichierxtxt (getfiled "Select a Listedwg text File" "" "txt" 8) ) (setq fic1 (open fichierxtxt "r")) (setq long (strlen fichierxtxt) long_12 (- long 12) nom_chemin (substr fichierxtxt 1 long_12) fichierscr (strcat nom_chemin "forsld.scr") ) (setq fic2 (open fichierscr "w")) ;; parcours du fichier et traitement (setq ch1 "" i 0 ) (while (setq ch1 (read-line fic1)) (setq long (strlen ch1) long_4 (- long 4) nom_bloc (substr ch1 1 long_4) nom_dessin ch1 i (+ 1 i) ) ;; ecriture dans le fichier (setq ligne1 (strcat "_OPEN " nom_bloc ) ligne2 (strcat "_zoom " "et " "_qsave " "_quit " "n") ) (write-line ligne1 fic2) (write-line ligne2 fic2) (setq i (+ 1 i)) );while (close fic1)(close fic2) (alert "le fichier forsld.scr est créé !"));defun (prompt "\nExecution, taper : SLDSCR puis RETURN \n")(prin1) et le tour est joué. Merci et A+
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