VDH-Bruno Posté(e) le 28 août 2013 Posté(e) le 28 août 2013 Pour celui qui le souhaiterai le code précédent de la réponde 20 a été modifié comme suit avec l’évènement de fin de commande du réacteur de commande:… (or *command-reactor-pagine* (setq *command-reactor-pagine* (vlr-command-reactor "Pagination Automatique" '((:vlr-commandEnded . pagine-callback)))) ) ;; Routine de pagination automatique (defun pagine-callback (rea evenement) (or *acaddoc* (setq *acaddoc* (vla-get-ActiveDocument (vlax-get-acad-object)))) (and (eq (car evenement) "LAYOUT_CONTROL") (ssget "_X" '((0 . "INSERT,*TEXT") (-3 ("PaginationData")))) … Pour l’instant le fonctionnement me convient bien, et éventuellement si à l’usage je viens à modifier le code, j’essayerai d’intégrer la possibilité évoqué par zebulon :j'y vois quand même un inconvénient. Il arrive de faire des présentations qu'on ne souhaite pas diffuser. Si je mets un numéro dans le nom de l'onglet, il sera compté sinon il est laissé de côté. En faisant précéder du signe – (négatif) le nom des onglets qui seront laissé de côté. A+ Bruno Apprendre => Prendre => Rendre
tyrese69_ Posté(e) le 3 septembre 2013 Posté(e) le 3 septembre 2013 Bonjour à tous,il y a quelques années en arrières déjà, je n'était posé les mêmes questions. Et après quelques essais, j'ai vite abandonné la méthode des onglets.Aujourd'hui, j'utilise une seule fenêtre qui gère des fenêtres liées à un cadre de gabarit.J'ai volontairement limité un carnet à 60 folios.Au delà je crée des carnets de carnets, en compilant un DSD global à partir des DSD de chaque carnets.Cette méthode permet en publiant ces carnets d'effectuer des carnets DWF ou PDF très simplement.Les routines sont en VBA et Lisp.Un bloc insérer dans le cadre de la fenêtre donne l'indication du folio à créer et remplit automatiquement lenuméro du folio.Si quelqu'un est intéressé, je peux donner plus d'infos.Daniel OLIVES
Bouldi Posté(e) le 12 septembre 2017 Posté(e) le 12 septembre 2017 Bonjour, Un grand merci à VDH-Bruno pour le lisp pagine. J'ai essayé de le triturer à ma sauce mais impossible j'y comprend vraiment rien.Je vous explique :Ce lisp me donne une numérotation de mes cartouches du style 1/11 puis 2/11 ect.. Bref il est très bien , mais je voudrai qu'il me fasse du style 1 puis 2 ect... ou 01 puis 02.Car je l'extrait pour en faire un sommaire avec la commande EXTRACTDONNEES, (mais il compte toute les presensations de mon dessin alors que je n'en ai pas forcement besoin,et je n'arrive pas à mettre le sommaire dans l'ordre a cause du /. Help. Merci d'avance.
Bouldi Posté(e) le 12 septembre 2017 Posté(e) le 12 septembre 2017 Bonjour VDH-Bruno,Un grand merci pour ton super lisp "PAGINE"Par contre je souhaiterai enlever le / et le nombre total de page pour ne laisser que le numero de page. Exemple : actuellement 1/12 puis 2/12 ect.. et je souhaiterai 01 puis 02 ect.. Cela m'aiderai beaucoup puisque j'extrait ma liste pour en faire un sommaire Merci d'avance.
VDH-Bruno Posté(e) le 13 septembre 2017 Posté(e) le 13 septembre 2017 et je souhaiterai 01 puis 02 ect.. Bonjour, Je n'ai pas accès à un AutoCAD avec une version lisp pour tester.. Dans le code identifie la séquence suivante:;; Numérotation de la présentation de l'objet (defun bv:GetTaborder (pref obj) (or *acaddoc* (setq *acaddoc* (vla-get-ActiveDocument (vlax-get-acad-object)))) (if (= (type obj) 'ENAME) (setq obj (vlax-ename->vla-object obj)) ) (strcat pref (itoa (vla-get-taborder (vla-get-layout (vla-objectidtoobject *acaddoc* (vla-get-ownerid obj))))) "/" (itoa (1- (vla-get-count (vla-get-layouts *acaddoc*)))) ) ) Puis remplace ces qqe lignes:(strcat pref (itoa (vla-get-taborder (vla-get-layout (vla-objectidtoobject *acaddoc* (vla-get-ownerid obj))))) "/" (itoa (1- (vla-get-count (vla-get-layouts *acaddoc*)))) ) Par les suivantes:(strcat pref (itoa (vla-get-taborder (vla-get-layout (vla-objectidtoobject *acaddoc* (vla-get-ownerid obj))))) ) Recharge le code cela devrait fonctionner... A+ Bruno Apprendre => Prendre => Rendre
Bouldi Posté(e) le 18 septembre 2017 Posté(e) le 18 septembre 2017 Bonjour Bruno, Je te remercie pour ton code mais Je l'ai testé et il ne fonctionne pas . J'ai le message suivant. _appload pagine.LSP correctement chargé(s)Commande: ; erreur: structure incorrecte de la liste en entrée Je ne voudrai pas abuser , mais si tu peux me dépatouiller ça cela m'aiderai beaucoup. Merci d'avance.
lili2006 Posté(e) le 18 septembre 2017 Posté(e) le 18 septembre 2017 Bonjour à toutes et tous, Est tu sur d'avoir bien recopié le code ? On dirait qu'il manque une parenthèse,.. Ouvre ce fichier .lsp dans l'éditeur Visual lisp de AutoCAD, tu devrais rapidement trouver le pb,... Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
VDH-Bruno Posté(e) le 18 septembre 2017 Posté(e) le 18 septembre 2017 Comme lili2006,je pense a problème de copier-coller et de parenthèses.. A+ Apprendre => Prendre => Rendre
Bouldi Posté(e) le 18 septembre 2017 Posté(e) le 18 septembre 2017 Bonjour Lili, Super, tu avais raison il manquait une parenthèse à la fin. Depuis Nickel. Merci à toi et à Bruno,maintenant ma numérotation fonctionne impeccablement bien.
AnglesDroits Posté(e) le 24 novembre 2017 Posté(e) le 24 novembre 2017 Salut la compagnie, Je réveille ce vieux post après recherche. En allant voir en même temps sur une autre source ici, j'ai trouvé ça que j'aime déjà vu les possibilités : Champ --> Expression Diesel --> $(substr,$(getvar,ctab),1,2) Le 1 correspond au 1er caractèreLe 2 correspond au nombre de caractères à prendre en compte. Ici, cela correspond au 1er et 2emUn $(substr,$(getvar,ctab),4,20) prendrait le 4em caractère et les 19 suivants Avec le Diesel, je nomme mon onglet "1 - Rez de chaussée"J'extrais le "1" sur un texte et "Rez de chaussée" sur un autre texte, à 2 endroits de ma présentation... Je kiffe ^^ Dessin, Synthèse, Conseil, en Etude et Exécution.
seashorien Posté(e) le 22 mai 2018 Posté(e) le 22 mai 2018 Bonjour à tous, Super routine que Bruno nous présente là!!! merci à toi, à lili et patrick qui l'ont enrichi Etant débutant dans la programmation j'aimerai rajouter une dernière modification pour qu'il me serve pour tout mes projets...mais je n'y arrive pas. Il faudrait pouvoir retirer l'onglet présentation de départ dans la comptabilité de cette routine, qui me sert de page de présentation (mon cartouche général...un peu a l'image de l'onglet objet qui ne fait pas parti du compte des pages. Si quelqu'un passe part là et qui pour lui c'est 2 lignes de codage ne sont qu'une formalité je l'en remercierais :D . Merci
Goninph Posté(e) le 21 avril 2020 Posté(e) le 21 avril 2020 Bonjour, Est ce possible avec AUTOCAD LT 2020 qui ne gère pas les LISP de numéroter les pages dans un cartouche 1/5 2/5 3/5 lorsque l'on clique sur la commande PUBLIER ? Merci et meilleures salutationsPhilippe
La Lozère Posté(e) le 28 septembre 2022 Posté(e) le 28 septembre 2022 Bonjour, Petit remontage de sujet... Merci @VDH-Bruno pour cette routine que j'utilise assez souvent. Petite question, il m'arrive dans de rare cas à devoir supprimer cette pagination auto. Et c'est là que ça se complique si j'utilise un bloc avec attribut. Avez-vous une astuce pour faire ça ? www.cad-is.fr Autocad Map 2021 - Covadis/Autopiste V18.0c Pisser sous la douche ne suffira pas
VDH-Bruno Posté(e) le 28 septembre 2022 Posté(e) le 28 septembre 2022 Bonjour La Lozère, Juste pour bien comprendre, tu souhaites supprimer ou désactiver la pagination auto? (Le but étant de la figer je suppose) A+ Bruno Apprendre => Prendre => Rendre
La Lozère Posté(e) le 28 septembre 2022 Posté(e) le 28 septembre 2022 En fait, dans certain cas, on me demande de faire de l'assemblage de PDF à posteriori avec des pages s'intercalant et venant d'autres sources. Du coup, avec PAGINE en place, je ne peux plus modifier manuellement la pagination des présentations. Chaque passage d'une présentation à une autre relance pagine sur l'attribut de mon bloc. Donc une désactivation peut, à mon avis, convenir. www.cad-is.fr Autocad Map 2021 - Covadis/Autopiste V18.0c Pisser sous la douche ne suffira pas
Curlygoth Posté(e) le 28 septembre 2022 Posté(e) le 28 septembre 2022 Le 21/04/2020 à 09:10, Goninph a dit : Bonjour, Est ce possible avec AUTOCAD LT 2020 qui ne gère pas les LISP de numéroter les pages dans un cartouche 1/5 2/5 3/5 lorsque l'on clique sur la commande PUBLIER ? Merci et meilleures salutations Philippe peux-tu insérer un champ dans un texte ou attribut de bloc ? Mon site Web (en cours de construction) : Site DA-CODE de @didier
VDH-Bruno Posté(e) le 28 septembre 2022 Posté(e) le 28 septembre 2022 Je verrais pour intégrer cette possibilité dans le code, pour l'instant je n'ai pas AutoCAD sous la main, donc en provisoire je te propose de ne charger le lisp que sur les fichiers dont tu dois mettre à jour la numérotation. En provisoire pour ton cas si le lisp n'est pas chargé la numérotation reste figé à chaque changement d'onglet. A+ Bruno Apprendre => Prendre => Rendre
La Lozère Posté(e) le 28 septembre 2022 Posté(e) le 28 septembre 2022 Ok. Merci @VDH-Bruno www.cad-is.fr Autocad Map 2021 - Covadis/Autopiste V18.0c Pisser sous la douche ne suffira pas
Crizki Posté(e) le 3 février 2023 Posté(e) le 3 février 2023 Bonjour, je me permets de ré-ouvrir ce sujet ! Je viens de découvrir la routine de pagination automatique, elle est très intéressante merci @VDH-Bruno A ce sujet, j'aurai aimé savoir s'il y avait une possibilité afin de définir à partir de quelle présentation commencer la numérotation ? Je m'explique, dans l'idée j'ai des plans sur lesquels je travaille mais ceux-ci comprennent à minima 3 présentations "figées" que l'on garde pour tous nos plans. L'idée serait de permettre la numérotation à partir de la présentation 4 voire 5 (par exemple), mais en lui affectant le numéro "0 0 1 " et que le reste des présentations créées soient dans la continuité de cette présentation et pas par rapport au nombre totale de présentations créées. De plus je voulais revenir sur le commentaire de @Bouldi concernant une numérotation commençant par '0 0 1' et pas uniquement '1', est ce que cela est possible directement dans ta routine ? PS : Je n'y connais absolument rien au codage, donc il m'est assez difficile de comprendre et modifier la routine proposée ! Merci d'avance pour les réponses à mes questions 😄
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