Aller au contenu

besoin d\'aide sur autolisp


Messages recommandés

Posté(e)

Bonjour et bonne année a tous.

 

 

J'aimerais s'il vous plait avoir un lisp afin qu'a partir de mon dessin initiale enregistrer sous c:\fichier1\dessin1.dwg je puisse l'enregistrer sous c:\fichier2\dessin1.dwg

J'ouvre donc le dessin1 sous c:\fichier1\dessin1.dwg, travail dessus et lune fois terminé je lance le lisp pour qu'il soit automatiquement enregistrer sous c:\fichier2\dessin1.dwg.J'ai cherché mais en vain...

Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson

Posté(e)

hello !

 

En fait ce que tu demandes est une copie de sauvegarde, n'est ce pas ?

Tu prends le risque de saturer ton disque rapidement, mais c'est faisable,

Celà va ralentir les sauvegardes car elles seront doublées.

Je n'ai pas mes fichiers sous la main donc je ne te répondrai pas une bêtise,

en revanche, regarde que le NET les utilitaires de sauvegardes,

perso je me sers de Cobian Backup qui est malin comme tout,

tous les soirs il scanne mon disque et sauvegarde incrémentalement

le travail de la journée, dans un répertoire à la date du jour.

comme ça, j'ai la trace du travail de chaque jour et je peux utiliser, le cas échéant,

la version d'il y a trois jours, par exemple.

 

amicalement

 

 

Posté(e)

Salut,

 

Je ne sais pas si ça répond à ta demande, mais je te propose ce LISP qui enregistre le dessin courant avec un nom de fichier incrémenté : Fichier_001.dwg, Fichier_002.dwg, etc...

 

Si le dessin n'a pas encore été enregistré, une boite de dialogue permet de choisir un répertoire et un nom de fichier (le suffixe "_001" sera ajouté automatiquement).

Si le fichier était déjà enregistré avec les commandes standard, il est enregistré avec le suffixe "_002" et l'ancien est renommé avec le suffixe "_001".

 

Les fichiers sont enregistrés dans le même répertoire au format courant.

 

;;; IncSave -Gilles Chanteau- 01/01/07
;;; Enregistre le dessin courant sous un nom incrémenté.
;;; Merci à Patrick_35 pour la "MsgBox".

(defun c:IncSave (/ strinc new sav f n p)
 (vl-load-com)

 (defun strinc	(str)
   (setq str (itoa (1+ (atoi str))))
   (while (      (setq str (strcat "0" str))
   )
   str
 )

 (defun new ()
   (while (not (setq f (getfiled "Enregistrer sous" "" "dwg" 1)))
   )
   (vlax-ldata-put "IncSave" "Num" "001")
   (setq f (strcat (vl-string-right-trim ".dwg" f) "_001.dwg"))
   (sav f)
 )

 (defun sav (f)
   (vla-SaveAs
     (vla-get-ActiveDocument (vlax-get-acad-object))
     f
     (getenv "DefaultFormatForSave")
   )
 )

 (if (zerop (getvar "DWGTITLED"))
   (new)
   (progn
     (setq f (strcat (getvar "DWGPREFIX") (getvar "DWGNAME"))
    n (vlax-ldata-get "IncSave" "Num")
     )
     (if n
(progn
  (setq	f (vl-string-subst
	    (vlax-ldata-put "IncSave" "Num" (strinc n))
	    n
	    f
	  )
  )
  (if (and
      (findfile f)
      (= (MsgBox
	   "Enregistrement incrémenté"
	   4
	   (strcat f " existe déjà.\nVoulez vous le remplacer ?")
	   0
	 )
	 7
      )
    )
     (new)
     (sav f)
  )
)
(progn
  (setq n (vlax-ldata-put "IncSave" "Num" "002"))
  (sav (strcat (vl-string-right-trim ".dwg" f) "_002.dwg"))
  (vl-file-rename
    f
    (strcat (vl-string-right-trim ".dwg" f) "_001.dwg")
  )
)
     )
   )
 )
 (princ)
)

(defun MsgBox (Titre Boutons Message Time / Reponse WshShell)
 (setq WshShell (vlax-create-object "WScript.Shell"))
 (setq	Reponse	(vlax-invoke
	  WshShell
	  'Popup
	  Message
	  Time
	  Titre
	  (itoa Boutons)
	)
 )
 (vlax-release-object WshShell)
 Reponse
)

 

[Edité le 1/1/2007 par (gile)]

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Merci beaucoup de vous etre penché sur mon cas.

 

En realité ce que je veux faire c'est comme un copie de sauvegarde.Si je travail sur un dessin que j'appellerai dessin1.dwg est qui se situe dans un dossier fichier1 je voudrais avoir un lisp qui me permettrai pendant que je travail dessus sur Autocad de l'enregistrer (via une icone par exemple)dans un autre dossier deja predefinie comme par exemple c:\fichier2 mais tout en gardant son nom initiale a savoir dessin1.dwg.

J'espere que je me suis montré clair :cool:

 

Merci pour votre aide

Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson

Posté(e)

Re,

 

Je trouve curieux de faire des sauvegardes avec le même nom de fichier dans des répertoires différents.

 

Le LISP que je propose fait des sauvegardes sous des noms de fichiers différents (incrémentés) dans le même répertoire, ce qui me semble plus cohérent.

Je lui ai apporté quelques améliorations si on l'utilise avec un fichier, "Fichier_002.dwg" par exemple, qui a déjà été sauvegardé sous "Fichier_003.dwg" : il est possible d'écraser l'ancienne sauvegarde ou d'en créer une nouvelle avec un nouveau.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Le LISP que je propose fait des sauvegardes sous des noms de fichiers différents (incrémentés) dans le même répertoire, ce qui me semble plus cohérent.

Ben oui, comme ça quand le disque dur crash, l'original et sa copie de sauvegarde sont perdus en même temps.

Posté(e)

Ben oui, comme ça quand le disque dur crash, l'original et sa copie de sauvegarde sont perdus en même temps.

C'est déjà bien de donner un lisp. Rien n'interdit de le reprendre pour le modifier :casstet:

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

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é