zza427 Posté(e) le 4 décembre 2017 Posté(e) le 4 décembre 2017 Bonjour,Je cherche si quelqu'un aurait fait une modification du LISP de Patrick_35 MPL avec un déplacement de la fenêtre de 500 sur la droite.J'ai des fichiers de tableaux a refaire, ils viennent de SEE avec un fichier par folio, j'utilise GRF pour les intégrer tous sur une ligne espacés de 500 unités, et maintenant, si MPL pouvait décaler la fenêtre, je n'aurais plus qu'a le lancer depuis ma première présentation, et le boulot serait fait. J'ai un tableau à 153 folios et un autre à 93 folios. Merci.
lecrabe Posté(e) le 4 décembre 2017 Posté(e) le 4 décembre 2017 Hello SVP tu nous remets en Copier/Coller (dans un message) le MPL que tu utilises ! Merci, Bye, lecrabe Autodesk Expert Elite Team
zza427 Posté(e) le 5 décembre 2017 Auteur Posté(e) le 5 décembre 2017 Le voici: ;;;=================================================================;;;;;; MPL.LSP V1.03;;;;;; Recopier la config des Présentations;;;;;; Copyright © Patrick_35;;;;;;================================================================= (defun c:mpl(/ s *errmpl* MsgBox multiplie_plt) ;;;--------------------------------------------------------------- ;;; ;;; Gestion des erreurs ;;; ;;;--------------------------------------------------------------- (defun *errmpl* (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 0 Titre (itoa Bouttons))) (vlax-release-object WshShell) Reponse ) ;;;--------------------------------------------------------------- ;;; ;;; Routine principale ;;; ;;;--------------------------------------------------------------- (defun multiplie_plt(/ config doc i init_mpl j lay liste_lay lst n position positiondests resultat) (defun liste_destination() (start_list "dest") (mapcar 'add_list (vl-remove (nth (atoi position) liste_lay) liste_lay)) (end_list) (set_tile "dest" positiondest) ) (if (setq init_mpl (findfile "mpl.dcl")) (progn (setq init_mpl (load_dialog init_mpl) liste_lay nil n 1 position "0" positiondest "0" ) (vlax-for lay (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object))) (setq lst (cons (cons (vla-get-taborder lay) lay) lst)) ) (while (assoc n lst) (setq liste_lay (cons (vla-get-name (cdr (assoc n lst))) liste_lay)) (if (and (eq (vla-get-name (cdr (assoc n lst))) (getvar "ctab")) (zerop (getvar "tilemode"))) (setq position (itoa (1- n))) ) (setq n (1+ n)) ) (setq liste_lay (reverse liste_lay)) (if (cdr liste_lay) (progn (new_dialog "mpl" init_mpl "") (start_list "mpl") (mapcar 'add_list liste_lay) (end_list) (liste_destination) (set_tile "titre" "Copie Présentation V1.03") (set_tile "mpl" position) (mode_tile "mpl" 2) (while (and (/= resultat 1)(/= resultat 0)) (action_tile "mpl" "(setq position $value)(liste_destination)") (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_mpl) (if (eq resultat 1) (progn (setq doc (vla-get-activedocument (vlax-get-acad-object)) config (vla-item (vla-get-layouts doc) (nth (atoi position) liste_lay)) ) (setq liste_lay (vl-remove (nth (atoi position) liste_lay) liste_lay)) (while (not (eq positiondest "")) (setq position (read positiondest)) (setq lay (vla-item (vla-get-layouts doc) (nth position liste_lay))) (vla-copyfrom lay config) (princ (strcat "\nMise à jour de la mise en page de " (vla-get-name lay) " depuis " (vla-get-name config))) (setq positiondest (substr positiondest (+ 2 (strlen (itoa position))) (strlen positiondest))) ) ) ) ) (msgbox "MPL" 48 "Une seule présentation\nUtilisation inutile du Lisp") ) ) (msgbox "MPL" 16 "Fichier MPL.DCL introuvable") ) ) ;;;--------------------------------------------------------------- ;;; ;;; Routine de lancement ;;; ;;;--------------------------------------------------------------- (vl-load-com) (setq s *error*) (setq *error* *errmpl*) (vla-startundomark (vla-get-activedocument (vlax-get-acad-object))) (multiplie_plt) (vla-endundomark (vla-get-activedocument (vlax-get-acad-object))) (setq *error* s) (princ)) (setq nom_lisp "MPL")(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)
lecrabe Posté(e) le 7 décembre 2017 Posté(e) le 7 décembre 2017 Hello DESOLE NO COMPRENDO ! C bien ce que je pensais, nous parlons BIEN de la meme routine MPL !qui ne fait que recopier les Parametres d'UNE Presentation vers une autre Presentation : Format / Driver / Decalage XY / Qualite / Table des CTB-STB / etc ... DONC pour moi je ne vois pas ce que tu veux "Decaler de 500" ? Ce serait "Se decaler en X (ou Y) de 500" dans l'Onglet OBJET, peut etre !? Bye, lecrabe Autodesk Expert Elite Team
zza427 Posté(e) le 8 décembre 2017 Auteur Posté(e) le 8 décembre 2017 En fait, je viens de me rendre compte hier au soir que MPL ne met pas de fenêtre dans la présentation, du coup ce que je demande n'est pas clair, et n'est pas forcement lié à MPL. En fait j' avais 150 fichiers avec sur chacun un folio d'un gros schémas d'armoire (pour une cimenterie) mais pas de présentation propre, je les ai tous intégrés dans un seul fichier avec le lisp GRF. Du coup j'ai un fichier avec tous mes folios les uns à la suite des autres décalés de 500 unités et avec une présentation pour chaque page avec le nom du folio. Par contre les fenêtres de ces présentations sont toutes en zoom étendu.Je cherche un moyen de transmettre la bonne mise en page (avec sa fenêtre) dans les 150 présentations avec la fenêtre qui se décale de 500 unités sur la droite pour m'éviter de devoir copier la fenêtre dans les 150 présentations puis de faire un -PAN dans chaque fenêtre. Si quelque chose dans le genre existe, je serais preneur...On peut toujours rêver, non? En écrivant ce message je réalise qu'il faut que je fasse une présentation propre sur un des fichiers folii de base, que je la mette dans les 149 autres et qu'ensuite j'utilise GRF. Peut être que comme ça je gagnerais un peu de temps.Je vous tiens au courant.
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