yalta Posté(e) le 22 mars 2006 Posté(e) le 22 mars 2006 Bonjour à toutes et à tous, J'ai une bonne centaine de folio A4 dans mon espace objet (schémas élec.) et je voudrai faire une présentation pour chacun d'eux... :P :P Pour l'instant je fais comme suit : - je sélectionne ma présentation ( appelée) 01- clic droit copie- placer à la fin- validation de "créer une copie "- OK- je renomme en 02 - je sélectionne ma présentation ( appelée) 02- clic droit copie- etc.........beaucoup de manip. à mon goût, alors, est-ce qu'il y a moyen de faire tout ça à l'aide d'un programme..?? :o Sylvain
Tramber Posté(e) le 22 mars 2006 Posté(e) le 22 mars 2006 Un script avec XL ?PRESENTATION C 01 02PRESENTATION C 01 03PRESENTATION C 01 04........... ici un mode d'emploi du script avec XL.Ca devrait rouler tout seul... [Edité le 22/3/2006 par Tramber] Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
yalta Posté(e) le 22 mars 2006 Auteur Posté(e) le 22 mars 2006 ...OK merci Tramber ça roule ......!!!..... ....en fait , non ça ne va pas............je n'y connais rien en script :P :P ....alors juste une petite explication, si possible, sur ce que je dois faire avec et là ça pourra rouler.... ;) ;) STP, merci
Tramber Posté(e) le 22 mars 2006 Posté(e) le 22 mars 2006 J'ai réparé le lien de mon précédent message. C'est l'occasion pour toi de t'essayer à cette technique qui est accessible à tous sans programmer. Vas-y faire un tour et continue cette discussion si tu as le moindre problème. Je reste connecté pour voir si tu t'en sors.Maitriser le script t'apportera beaucoup, c'est facile et c'est pas cher. Et ce devrait bien répondre à ton soucis. En lisp, c'est plus difficile à créer de toutes pièces. Mais si tu ne t'en sors pas avec le script, on peut essayer. Note : pour simuler ce que tu auras dans ton script, mets un "-" devant le nom de commande. Par exemple, -PRESENTATION dans notre cas. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
yalta Posté(e) le 22 mars 2006 Auteur Posté(e) le 22 mars 2006 ..OK, sympa....;) ;) je vais regarder tout ça à tête reposée un peu plus tard, pour l'instant le boulot passe avant la formation....... :mad: :mad: ...dommage..!! Merci encore de ton aide, Sylvain
Patrick_35 Posté(e) le 22 mars 2006 Posté(e) le 22 mars 2006 SalutTu as aussi lispet si tu oublis la mise en page, tu peux le faire sur la première et te servir du lisp suivant pour recopier les présentations @+ Fichier MPL.LSP;;;================================================= ;;; ;;; MPL.LSP V1.00 ;;; ;;; Recopier la config des Présentations ;;; ;;; Copyright (C) Patrick_35 ;;; ;;;================================================= (defun c:mpl(/ s) ;;;--------------------------------------------------------------- ;;; ;;; 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) ) ;;;--------------------------------------------------------------- ;;; ;;; Routine principale ;;; ;;;--------------------------------------------------------------- (defun multiplie_plt(/ config doc i init_mpl j liste_lay 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) ) (setq init_mpl (load_dialog (findfile "mpl.dcl"))) (setq liste_lay (layoutlist) n 0 position "0" positiondest "0") (if (vl-position "Model" liste_lay) (setq liste_lay (vl-remove "Model" liste_lay)) ) (if (cdr liste_lay) (progn (while (nth n liste_lay) (if (= (getvar "ctab") (nth n liste_lay)) (setq position (itoa n)) ) (setq n (1+ n)) ) (new_dialog "mpl" init_mpl "") (start_list "mpl") (mapcar 'add_list liste_lay) (end_list) (liste_destination) (set_tile "titre" "Copie Présentation V1.00") (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))) (vlax-for lay (vla-get-layouts doc) (if (eq (nth (atoi position) liste_lay) (vla-get-name lay)) (setq config lay) ) ) (setq liste_lay (vl-remove (nth (atoi position) liste_lay) liste_lay)) (while (not (eq positiondest "")) (setq position (read positiondest)) (vlax-for lay (vla-get-layouts doc) (if (eq (nth position liste_lay) (vla-get-name lay)) (progn (vla-put-ConfigName lay (vla-get-ConfigName config)) (vla-put-CanonicalMediaName lay (vla-get-CanonicalMediaName config)) (vla-GetCustomScale config 'i 'j) (vla-SetCustomScale lay i j) (vla-GetWindowToPlot config 'i 'j)(vla-SetWindowToPlot lay i j) (vla-put-PlotOrigin lay (vla-get-PlotOrigin config)) (vla-put-PaperUnits lay (vla-get-PaperUnits config)) (vla-put-PlotHidden lay (vla-get-PlotHidden config)) (vla-put-PlotRotation lay (vla-get-PlotRotation config)) (vla-put-PlotType lay (vla-get-PlotType config)) (vla-put-PlotViewportBorders lay (vla-get-PlotViewportBorders config)) (vla-put-PlotViewportsFirst lay (vla-get-PlotViewportsFirst config)) (vla-put-PlotWithLineweights lay (vla-get-PlotWithLineweights config)) (vla-put-PlotWithPlotStyles lay (vla-get-PlotWithPlotStyles config)) (vla-put-ScaleLineweights lay (vla-get-ScaleLineweights config)) (vla-put-ShowPlotStyles lay (vla-get-ShowPlotStyles config)) (vla-put-StandardScale lay (vla-get-StandardScale config)) (vla-put-StyleSheet lay (vla-get-StyleSheet config)) (vla-put-UseStandardScale lay (vla-get-UseStandardScale config)) (if (not (eq (vla-get-PlotType config) aclayout)) (vla-put-CenterPlot lay (vla-get-CenterPlot 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))) ) ) ) ) (alert "Une seule présentation\nUtilisation inutile du Lisp") ) ) ;;;--------------------------------------------------------------- ;;; ;;; 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) ) (princ "\nMPL.LSP chargé. Tapez MPL pour l'exécuter") (princ) Fichier MPL.DCL// ================================================= // // MPL.DCL V1.00 // // Copyright (C) Patrick_35 // // ================================================= mpl : dialog { key = "titre"; fixed_width = true; alignment = centered; is_cancel = true; width = 20; : popup_list {label= "Origine"; key = "mpl";} spacer; : list_box {label= "Destination" ; key="dest"; height = 10; multiple_select=true;} spacer; ok_cancel; } Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Tramber Posté(e) le 23 mars 2006 Posté(e) le 23 mars 2006 un zip contient un fichier XL et un SCRIPT. Tapes la commande du même nom. C'est archi facile quand tu regardes la formule dans la colonne C (que tu copies vers le fichier SCR). Note les 2 espaces qui correspondent à 2 ENTREE dans AutoCAD, tout comme un retour chariot vaut ENTREE lui aussi. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
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