Joutof Posté(e) le 28 mai 2013 Posté(e) le 28 mai 2013 Bonjour, Voilà le "petit" soucis que je rencontre.J'ai un fichier modèle de présentation (59 présentations).Chaque présentation est configurée avec DWG to PDF et avec un style de tracé : "Aucun".J'aurais besoin, lorsque je publie les 59 présentations de changer les plumes.J'ai bien trouver la solution d'utiliser une mise en page nommé mais les 59 présentations sont toutes différentes. Du coup je perd les formats de papier et/ou traceur...La solution (à la main) que j'ai trouvé est de copier une présentation "non nommée" de la "nommer" pour une plume couleur et de faire de nouveau la manip, pour une plume N&B.Mais bon 2*59 présentations, ça va être super long. Une solution plus rapide ? Merci d'avance.
x_all Posté(e) le 28 mai 2013 Posté(e) le 28 mai 2013 regarde les lisp de partick35 de mémoire c'est "MPL V1.03" qui devrai faire ton bonheur harf...édit------------ après test, ça recopie une config complète on a pas la main sur le fichier de plume seul... autre idée:dans tes 59 présentation met un fichier de plume on va dire temp0.ctb puis crée temp1, temps2, ... avant d'imprimer, il te suffit de "d'enregistrer sous" temp1 en écrasant temp0; ou temp2 en écrasant temp0 avec la même présentation tu fera tes 2 sorties... quelques trucs sur autocad
Joutof Posté(e) le 29 mai 2013 Auteur Posté(e) le 29 mai 2013 Effectivement merci, c'est une très bonne "bidouille". A creuser...Cependant il y a des gens, à mon travail, pas très à l'aise avec la manipulation de fichier, j'ai peur que la manip soit un peux lourde. Mais en tout cas merci, ça va,perso, bien me dépanner pour l'instant.
Joutof Posté(e) le 29 mai 2013 Auteur Posté(e) le 29 mai 2013 Bon et bien la solution est venu d'un de mes collègue de boulo qui à lu le forum... !!La voici :;;;================================================================= ;;; ;;; CTB.LSP V1.01 ;;; ;;; Changer le style d'impression des Présentations ;;; ;;; Copyright (C) Charles Piro ;;; ;;; ;;;================================================================= (defun c:ctb(/ s *errctb* MsgBox) ;;;--------------------------------------------------------------- ;;; ;;; Gestion des erreurs ;;; ;;;--------------------------------------------------------------- (defun *errctb* (msg) (if (/= msg "Function cancelled") (if (= msg "quit / exit abort") (princ) (princ (strcat "\nErreur : " msg)) ) (princ) ) (setq *error* s) (vla-endundomark (vla-get-activedocument (vlax-get-acad-object))) (princ) ) ;;;--------------------------------------------------------------- ;;; ;;; Message ;;; ;;;--------------------------------------------------------------- (defun MsgBox (Titre Bouttons Message / Reponse WshShell) (vl-load-com) (setq WshShell (vlax-create-object "WScript.Shell")) (setq Reponse (vlax-invoke WshShell 'Popup Message 7 Titre (itoa Bouttons))) (vlax-release-object WshShell) Reponse ) ;;;--------------------------------------------------------------- ;;; ;;; Routine principale ;;; ;;;--------------------------------------------------------------- (defun multiplie_pre(/ config doc init_ctb lay liste_lay lst n position positiondests resultat tra) (if (findfile "ctb.dcl") (progn (setq init_ctb (load_dialog (findfile "ctb.dcl"))) (setq liste_lay nil n 0 position "0" positiondest "0" doc (vla-get-activedocument (vlax-get-acad-object))) (setq tra (vlax-safearray->list (vlax-variant-value (vla-getplotStyleTablenames (vla-get-layout (vla-get-modelspace doc)))))) (if (vl-position "Aucun" tra) (setq tra (vl-remove "Aucun" tra)) ) (vlax-for lay (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object))) (setq lst (append lst (list (cons (vla-get-taborder lay) lay)))) ) (while (assoc n lst) (setq liste_lay (append liste_lay (list (vla-get-name (cdr (assoc n lst)))))) (setq n (1+ n)) ) (if (vl-position "Model" liste_lay) (setq liste_lay (vl-remove "Model" liste_lay)) ) (new_dialog "ctb" init_ctb "") (start_list "ctb") (mapcar 'add_list tra) (end_list) (start_list "dest") (mapcar 'add_list liste_lay) (end_list) (set_tile "titre" "Sélection Styles d'impression V1.01") (set_tile "ctb" position) (set_tile "dest" positiondest) (mode_tile "ctb" 2) (while (and (/= resultat 1)(/= resultat 0)) (action_tile "ctb" "(setq position $value)") (action_tile "dest" "(setq positiondest $value)") (action_tile "accept" "(done_dialog 1)") (action_tile "cancel" "(done_dialog 0)") (setq resultat (start_dialog)) ) (unload_dialog init_ctb) (if (eq resultat 1) (while (not (eq positiondest "")) (setq n (read positiondest)) (vlax-for lay (vla-get-layouts doc) (if (eq (nth n liste_lay) (vla-get-name lay)) (progn (vla-put-StyleSheet lay (nth (atoi position) tra)) (princ (strcat "\nPrésentation " (vla-get-name lay) " Configurée avec " (nth (atoi position) tra))) ) ) ) (setq positiondest (substr positiondest (+ 2 (strlen (itoa n))) (strlen positiondest))) ) ) ) (msgbox "ctb" 16 "Fichier ctb.DCL introuvable") ) ) ;;;--------------------------------------------------------------- ;;; ;;; Routine de lancement ;;; ;;;--------------------------------------------------------------- (vl-load-com) (setq s *error*) (setq *error* *errctb*) (vla-startundomark (vla-get-activedocument (vlax-get-acad-object))) (multiplie_pre) (vla-endundomark (vla-get-activedocument (vlax-get-acad-object))) (setq *error* s) (princ) ) (setq nom_lisp "ctb") (if (/= app nil) (if (= (strcase (substr app (1+ (- (strlen app) (strlen nom_lisp))) (strlen nom_lisp))) nom_lisp) (princ (strcat "..." nom_lisp " chargé.")) (princ (strcat "\n" nom_lisp ".LSP Chargé.....Tapez " nom_lisp " pour l'éxecuter."))) (princ (strcat "\n" nom_lisp ".LSP Chargé......Tapez " nom_lisp " pour l'éxecuter."))) (setq nom_lisp nil) (princ) Et je vous met en prime le .dcl qui va bien ;) Encore merci !!ctb.dcl
x_all Posté(e) le 29 mai 2013 Posté(e) le 29 mai 2013 une fois de plus je reste béa d'admiration devant les codeurs fous du forum... merci ça me sera utile aussi un de ces 4... quelques trucs sur autocad
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant