Aller au contenu

Incrémentation de fichier


La Lozère

Messages recommandés

Bonjour,

Savez-vous s'il existe une petite routine permettant d'incrémenter le nom du fichier sur lequel on travail.

 

Exemple:

toto_00.dwg

toto_01.dwg

toto_02.dwg

etc...

 

Une routine qui éviterait de faire "enregistrer sous...", correction de la valeur, "Entrer".

En affectant cette routine à une icône, cela serait bien pratique.

 

Si quelqu'un à ça dans un coin, je suis preneur.

 

Merci.

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Premièrement il faut être sur pour "l'indice" du fichier : position et mode

Avec un appel à

(command "_saveas" ...)

 

Il faut donc récupérer l'indice en-cours, l'incrémenter pour avoir le nouveau

nom de fichier, vérifier qu'il n'existe pas ou est en lecture seule puis la sauvegarde.

 

Mais je n'ai pas le temps ... un autre lispeur t'aidera surement,

à moins que tu veuilles apprendre le lisp ?

 

 

a+

Tous pour lisp, Lisp pour tous!

Avec Revit, cela ne vas trop vite...

Lien vers le commentaire
Partager sur d’autres sites

 

Cadeauje:

 

((lambda ( / basename root index)
(setq basename (substr (setq fullname (getvar "dwgname")) 1 (- (strlen fullname) 4)))
(setq root (vl-string-right-trim "0123456789" basename))
(setq index (substr basename (1+ (strlen root))))
(strcat (getvar "dwgprefix") root (itoa (1+ (atoi index))) ".dwg")
))

 

 

Carboléüm, qui dessine aussi à la main -> Carboleum's sketchblog

Lien vers le commentaire
Partager sur d’autres sites

(defun filename-1+ ( / fullname basename root index)
 (setq fullname (getvar "dwgname"))
 (setq basename (substr fullname 1 (- (strlen fullname) 4)))
 (setq root (vl-string-right-trim "0123456789" basename))
 (setq index (substr basename (1+ (strlen root))))
 (strcat (getvar "dwgprefix") root (itoa (1+ (atoi index))) ".dwg"))

(defun c:saveas-1+ () (command "_saveas" "" (filename-1+)))

 

 

tu t'arranges pour que AutoCAD charge ce code lisp, pour ce faire, tu lis le post de (giles) "charger un lisp" là -> http://cadxp.cadmag.info/sujetXForum-14630.htm

 

Ce code crée une nouvelle commande: "saveas-1+" (fonctionne sous AutCAD 2004)

 

à+

 

 

Carboléüm, qui dessine aussi à la main -> Carboleum's sketchblog

Lien vers le commentaire
Partager sur d’autres sites

Merci Carboleum,

Marche impec (autocad 2009).

 

Puis-je abuser une petite amélioration...

Lorsque la valeur est inférieure à 10, cela serait pas mal de mettre un 0.

 

Du type:

Toto01.dwg

toto02.dwg

....

toto10.dwg

toto11.dwg

 

Merci encore.

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Lien vers le commentaire
Partager sur d’autres sites

tu abuses ;-)

 

(defun filename-1+ ( / fullname basename root index newindex)
 (setq fullname (getvar "dwgname"))
 (setq basename (substr fullname 1 (- (strlen fullname) 4)))
 (setq root (vl-string-right-trim "0123456789" basename))
 (setq index (substr basename (1+ (strlen root))))
 (setq newindex (1+ (atoi index)))
 (setq newindex (if (< newindex 10) (strcat "0" (itoa newindex)) (itoa newindex)))
 (strcat (getvar "dwgprefix") root newindex ".dwg"))

(defun c:saveas-1+ () (command "_saveas" "" (filename-1+)))

 

 

Carboléüm, qui dessine aussi à la main -> Carboleum's sketchblog

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é