Aller au contenu

Messages recommandés

Posté(e)

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

Posté(e)

Un script avec XL ?

PRESENTATION C 01 02

PRESENTATION C 01 03

PRESENTATION 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

 

./__\.
(.°=°.)
Posté(e)

...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

Posté(e)

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

 

./__\.
(.°=°.)
Posté(e)

..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

Posté(e)

Salut

Tu as aussi lisp

et 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 Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Posté(e)

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

 

./__\.
(.°=°.)

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é