Aller au contenu

Erreur sur la fonction layoulist dans un lisp


christ-94

Messages recommandés

Bonjour

J'ai suivi un fil pour la creation d'un PDF pour chaque presentations

 

http:// http://www.cadxp.com/modules.php?op=modload&name=XForum&file=viewthread&tid=4750#pid15794

 

Quand je charge le lisp dans autocad j'ai une erreur sur la fonction layoulist

J'aimerais savoir comment évite cette erreur ? , ou adapte le code

Cette fonction donne la liste des présentations

 

Code de Maximilien

 

 ;;; Impression Multiples de toutes les présentations
;;; Utilisation de la boucle Tant Que suivant un compteur : (While (condition)....)
;;; Utilisation de la liste : (layoutlist)
;;; Utilisation de la fonction retournant un élément de list : (nth rang liste)
;;;

(setq i 0) ; boucle i = 0
;; Tant que i est inférieur à aux nombre de présentation effectue
;; la commanda "-plot" blablabla
;; et incrémente ensuite la boucle i
(while (< i (length (layoulist)))
(progn
(command 
"-plot"
"y" ; certainement Oui
(nth i (layoutlist)) ; Nom de la présentation
"Acrobat PDFWriter" ; Option 1
"" ; Option 2
"" ; Option 3
"" ; Option 4
"" ; Option 5
"" ; Option 6
"" ; Option 7
"" ; Option 8
"" ; Option 9
"" ; Option 10
"" ; Option 11
"" ; Option 12
"" ; Option 13
"" ; Option 14
"" ; Option 15
"" ; Option 16
"" ; Option 17
"C:\\test.pdf" ; certainement le nom de fichier
)
(setq i (1+ i)) ; incremente la boucle i
)
)
(setq i nil) ; libère la variable i et la mémoire

 

Merci d'avance

Lien vers le commentaire
Partager sur d’autres sites

Salut

Essaye ceci (non testé)

 

@+

 

(mapcar '(lambda (x) 
(command
"_.plot"
"_yes" ; certainement Oui
x ; Nom de la présentation
"Acrobat PDFWriter" ; Option 1
"" ; Option 2
"" ; Option 3
"" ; Option 4
"" ; Option 5
"" ; Option 6
"" ; Option 7
"" ; Option 8
"" ; Option 9
"" ; Option 10
"" ; Option 11
"" ; Option 12
"" ; Option 13
"" ; Option 14
"" ; Option 15
"" ; Option 16
"" ; Option 17
"C:\\test.pdf" ; certainement le nom de fichier
))(vl-remove "Model" (layoutlist)))

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

Lien vers le commentaire
Partager sur d’autres sites

Merci pour la reponse

 

D'abord le lisp fonctionne pour une presentation

 

 (mapcar '(lambda (x) 
(command
"_.plot"
"_yes" ; certainement Oui
"Présentation1" ; Nom de la présentation
"Acrobat_Distiller" ; Option 1
"A3" ; Option 2
"m"; Option 3
"a" ; Option 4
"n" ; Option 5
"p" ; Option 6
"p" ; Option 7
"0.00,0.00" ; Option 8
"n" ; Option 9
"." ; Option 10
"n" ; Option 11
"n" ; Option 12
"n" ; Option 13
"n" ; Option 14
"n" ; Option 15
"n" ; Option 16
"o" ; Option 17
"C:\temp\test.pdf" ; certainement le nom de fichier
))(vl-remove "Model" (layoutlist)))

 

Le probleme je me retouve avec un dessin en miniature dans le PDF

et d'autre part le lisp s'arrete lors de la demande du mon du fichier PDF

cette fonction ne gere qu'un presentation peut on gere l'ensemble des presentations sans repete le lisp pour chanque presentation "avec une boucle"

 

Lien vers le commentaire
Partager sur d’autres sites

Bon, on va passer par une autre méthode

Le mapcar fonctionne aussi bien qu'une boucle while, donc c'est un problème lors de l'impression

Dans cette rubrique, tu trouveras des outils comme MIM pour changer l'imprimante sur les Présentations de son choix, MPL pour recopier la configuration d'impression d'une Présentation vers d'autres Présentations et encore ONG qui possède un bouton qui permet d'imprimer les présentations de ton choix (déjà configuré pour l'impression)

 

@+

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

Lien vers le commentaire
Partager sur d’autres sites

Juste une info que j'ai oublié de signalé

j'utilise Acrobat Distiller pour faire les pdf

 

et je ne comprend pas pourqoi il faut mettre le nom d'une presentation dans le lisp car je faire l'ensemble des presentation

 

 Présentation1" ; Nom de la présentation
"Acrobat_Distiller" ; Option 1

 

Donc j'ai mis la nom de la premiere presentation "presentation1"

Lien vers le commentaire
Partager sur d’autres sites

Bonjour

 

après plusieurs recherches sur le lisp de Maximilien , et en m'aident du lisp de Patrick_35

j'ai enfin trouve une solution je la donne a titre indicatif

 

 (setq i 0) ; boucle i = 0
;; Tant que i est inférieur à aux nombre de présentation effectue
;; la commanda "-plot" blablabla
;; et incrémente ensuite la boucle i
(while (< i (length (layoutlist)))
(progn
(command 
"_.plot"
"_yes" ; certainement Oui
(nth i (layoutlist)) ; Nom de la présentation

"Acrobat_Distiller" ; Option 1
"A3" ; Option 2
"m"; Option 3
"a" ; Option 4
"n" ; Option 5
"p" ; Option 6
"1:1" ; Option 7
"0.00,0.00" ; Option 8
"n" ; Option 9
"." ; Option 10
"n" ; Option 11
"n" ; Option 12
"n" ; Option 13
"n" ; Option 14
"n" ; Option 15
"n" ; Option 16
"o" ; Option 17
"C:\temp\test.pdf" ; certainement le nom de fichier
)
(setq i (1+ i)) ; incremente la boucle i
)
)
(setq i nil) ; libère la variable i et la mémoire

 

Un grand merci a Patrick_35 pour sa patience et son code

 

P.S fonctionne avec Acrobat_Distiller" mais demande un nouveau pour chaque presentations

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é