Aller au contenu

Multiple etransmit via ce lisp...


Messages recommandés

Posté(e)

Bonjour à tous,

 

J'ai trouver ce petit lisp malin qui me permet de faire plusieurs etransmit de DWG se trouvant dans le même dossier.

Le seul souci est que si je selectionne (par ex) 20 fichiers de mon dossier....lorsque il a terminer il me laisse les 20 dwg ouvert dans ma session autocad! il faut donc que je les ferme tous manuellement.

 

Ma question est la suivante:

Pourrait-on adapter ce petit lisp afin qu'il me ferme automatiquement chaque fichier après le etransmit?

 

Merci....

 

 

 

(defun etra()

(command "qsave")

(command "-etransmit" "c"

(strcat (getvar "dwgprefix")

(substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 3))

"ZIP")

)

)

(etra)

Posté(e)

Salut,

 

Je te conseille de le réécrire en script si tu veux pouvoir fermer les plans.

Regardes sur la page de Patrick35 scr et scriptor sont de très bons exemples à adapter.

 

 

Posté(e)

Salut,

 

Le LISP ne peut être activé que dans le document actif.

Il est donc certainement intégré dans un script qui ouvre tous les dwg du répertoire pour le lancer.

Dans ce script, tu peux rajouter une instruction pour fermer le document.

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

Posté(e)

Salut Gile,

 

Je t'assure que je n'ai que ce lisp....il travaille tous seul.

Voici comment il fonctionne.

Lorsque je rajoute le lisp dans le "startup suite" chaque plan que j'ouvre (mais je peux en selectionner plusieurs à la fois) il genere un etransmit automatiquement.

Lorsque j'ai terminé et pour couper cette commande il faut que le la supprime de la Startup suite.

 

Voilà j'espère avoir été assez clair dans la description.

 

Et le seul problème est donc qu'il ne ferme pas automatiquement chaque plan lorsque il à fait le etransmit.

Posté(e)

OK, la méthode est curieuse à mes yeux, mais soit.

Si tu veux continuer avec cette méthode, remplace le contenu de tton fichier LISP par ceci :

(defun etra ()
 (command "_qsave")
 (command "_etransmit"
   "_c"
   (strcat (getvar "dwgprefix")
	   (substr (getvar "dwgname")
		   1
		   (- (strlen (getvar "dwgname")) 3)
	   )
	   "ZIP"
   )
 )
 (command "_close")
)
(etra)

 

Mais je te propose une méthode plus "rationnelle" qui utilise SuprAutoScript de l'ami Eric (à télécharger sur cette page)

 

Dans ce cas, le fichier LISP devra être :

(defun etra ()
 (command "_qsave")
 (command "_etransmit"
   "_c"
   (strcat (getvar "dwgprefix")
	   (substr (getvar "dwgname")
		   1
		   (- (strlen (getvar "dwgname")) 3)
	   )
	   "ZIP"
   )
 )
)

 

Tu ajoutes le fichier LISP à ta suite Startup (et tu pourras l'y laisser tout le temps)

Tu ouvres SuperAutoScript

Tu sélectionnes tes fichiers ("Choisissez les fichiers")

Tu entres (etra) sous la case "Choisissez un script" (tu peux l'enregistrer ainsi tu l'auras dans la liste déroulante les prochaines fois.

Tu lances le script.

 

SAS s'occupe d'ouvrir/enregistrer et fermer les fichiers.

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

Posté(e)

Gile,

 

Je veux tester la 2° méthode mais avec le super autoscript il me demande des fichier script avec extension scr?? hors tu m'écris de sauver le fichier en lsp? Car un fichier scr je ne peux pas le mettre dans

 

Ou alors j'ai pas bien compris....

 

merci.

Posté(e)

Un fichier script est un fichier texte avec l'extension .scr, il contient exactement ce que continet la ligne de commande lors d'une suite d'instructions. Chaque espace ou retour à la ligne correspond donc à un ENTREE

 

Autre exemple, le code ci dessous, enregistré depuis le bloc note avec l'extension .scr sera un fichier script qui une fois lancé dans autocad dessinera un cercle de centre 10,10 et de rayon 5 (il doit se terminer par un espace ou un retour à la ligne (ENTREE)

 

cercle
10,10
5

 

Comme il est possible d'entrer des expression LISP directement à la ligne commande, un fichier script peut aussi en contenir.

 

SAS pré-construit les scripts pour les lancer sur un ou plusieurs fichiers. Il ouvre le fichier, exécute le script qu'on lui donne puis enregistre et ferme le fichier.

Tu n'as donc à t'occuper que de ce qui doit être exécuté quand le fichier est ouvert.

Tu peux voir les exemples fournis avec SAS (les scripts "zoometendu" et "purger_6_niveaux").

 

Dans ton cas il suffit d'entrer (etra) et de valider pour que le LISP s'exécute, donc avec SAS il suffit de mettre (etra) + une espace ou un retour chariot dans la case prévue ) cet effet.

http://img12.imageshack.us/img12/313/sasz.png

Tu peux ensuite enregister ton script...

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

Posté(e)

He bien merci Eric aussi alors..... ;)

 

je me suis lancer dans un 2° script afin d'imprimer plusieurs fichiers en PDF.

C'est génial ce truc...et sans limite alors pour se simplifier autocad.

Voici mon script:

 

-plot

y

 

DWG To PDF.pc3

 

m

l

n

e

1:1

 

y

0_ITB_100.ctb

y

n

n

n

 

n

y

 

 

 

[Edité le 10/7/2009 par bono05]

  • 1 an après...
Posté(e)

Salut

 

En cherchant sur le site ( comment generer 1seul PDF multi-feuilles d'un coup, en ayant plusieurs fichiers avec plusieurs presentations , je suis tombé la dessus.

J'ai testé => ne fonctionne pas ou alors j'ai loupe quelque chose

Merci de votre aide

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é