Aller au contenu

Messages recommandés

Posté(e)

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+

Posté(e)

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

 

./__\.
(.°=°.)
Posté(e)

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

  • 3 semaines après...
Posté(e)

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+

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é