Aller au contenu

Numeroter les pages


Messages recommandés

Posté(e)

Bonjour,

 

Comme on est dans les problèmes de numérotation j'aimerais savoir si quelqu'un connais un moyen de numéroter les pages de présentation automatiquement.

J'utilise la variable ctab pour récupérer le numéro de l'onglet attribué par le lisp RON, mais j'aimerai pouvoir ajouter le nombre de page total.

 

Merci

Autocad 2015 - Lumion 3D - SCIA Engineer

I7 6700K 4 cores @4.0Ghz - 32Go DDR4 - GTX980ti 6Gb - SSD 512Go - Windows 7 64 bits.

  • 8 ans après...
Posté(e)

Bonjour,

 

Une solution simple:

- créer une propriété personnalisée dans les propriétés du dessin (commande PROPDESS, onglet "Personnaliser"), la nommer par exemple "Nombre de pages" et lui donner une valeur correspondant au nombre de présentations (par ex: 5)

- dans chaque cartouche, insérer un champ correspondant à la propriété "Nombre de pages".

 

Si le nombre de pages change, il faudra mettre à jour manuellement la propriété "Nombre de pages", puis enregistrer ou régénérer le dessin pour que les champs se mettent à jour.

  • 2 ans après...
Posté(e)
Le 11/01/2012 à 15:21, Fundream a dit :

Bonjour,

 

Comme on est dans les problèmes de numérotation j'aimerais savoir si quelqu'un connais un moyen de numéroter les pages de présentation automatiquement.

J'utilise la variable ctab pour récupérer le numéro de l'onglet attribué par le lisp RON, mais j'aimerai pouvoir ajouter le nombre de page total.

 

Merci

Est-ce que quelqu'un aurait la possibilité de changer le lisp RON pour que au lieu de commencer par 1 il commence par un autre nombre que je choisi svp ? Au lieu de faire 1,2,3,4,5 il fait 612,613,614..

 

Lisp RON : 

 

 

;;;=================================================================
;;;
;;; Ron.LSP V1.01
;;;
;;; Renuméroter les onglets
;;;
;;; Copyright (C) Patrick_35
;;;
;;;=================================================================

(defun c:ron(/ doc express lay lst n i s txt *errron*)

  (defun *errron* (msg)
    (or (member (strcase msg) '("FUNCTION CANCELLED" ""QUIT / EXIT ABORT"" "FONCTION ANNULEE" "QUITTER / SORTIR ABANDON"))
      (princ (strcat "\nErreur : " msg))
    )
    (vla-endundomark doc)
    (setq *error* s)
    (princ)
  )

  (setq doc (vla-get-activedocument (vlax-get-acad-object))
    n 1
    i 1
    s *error*
    *error* *errron*
  )
  (vla-startundomark doc)
  (if (eval 'acet-ui-progress-done)
    (progn
      (acet-ui-progress-init "" (1- (vla-get-count (vla-get-layouts doc))))
      (setq express T)
    )
    (progn
      (princ "\nTravail en cours...")
      (princ)
    )
  )
  (vlax-for lay (vla-get-layouts doc)
    (setq lst (cons (list (vla-get-taborder lay) lay) lst))
  )
  (while (setq lay (assoc i lst))
    (setq txt (itoa n))
    (while (< (strlen txt) 2)
      (setq txt (strcat "0" txt))
    )
    (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-put-name (list (cadr lay) txt)))
      (progn
    (vla-put-name (vla-item (vla-get-layouts doc) txt) (strcat "Temporaire_Patrick_35___" txt))
    (vla-put-name (cadr lay) txt)
      )
    )
    (and express (acet-ui-progress-safe i))
    (setq n (1+ n)
      i (1+ i)
    )
  )
  (and express (acet-ui-progress-done))
  (princ (strcat "\nRenumérotation de " (itoa (1- n)) " présentation(s)."))
  (vla-endundomark doc)
  (setq *error* s)
  (princ)
)

(setq nom_lisp "RON")
(if app
  (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)

 

Merci

Posté(e)

Bonjour @sylarr

Voici le programme modifié,
je n'ai pas touché à l'incrémentation, mais c'est possible en faisant le même changement sur la valeur de la variable i

Amicalement

;;;=================================================================
;;;
;;; Ron.LSP V1.01
;;;
;;; Renuméroter les onglets
;;;
;;; Copyright (C) Patrick_35
;;;
;;;=================================================================

(defun c:ron( / doc express lay lst n i s txt *errron*)

  (defun *errron* (msg)
    (or (member (strcase msg) '("FUNCTION CANCELLED" ""QUIT / EXIT ABORT"" "FONCTION ANNULEE" "QUITTER / SORTIR ABANDON"))
      (princ (strcat "\nErreur : " msg))
    )
    (vla-endundomark doc)
    (setq *error* s)
    (princ)
  )
  (setq num (getint "\nNuméro de départ ?"))

  (setq doc (vla-get-activedocument (vlax-get-acad-object))
    n num
    i 1
    s *error*
    *error* *errron*
  )
  (vla-startundomark doc)
  (if (eval 'acet-ui-progress-done)
    (progn
      (acet-ui-progress-init "" (1- (vla-get-count (vla-get-layouts doc))))
      (setq express T)
    )
    (progn
      (princ "\nTravail en cours...")
      (princ)
    )
  )
  (vlax-for lay (vla-get-layouts doc)
    (setq lst (cons (list (vla-get-taborder lay) lay) lst))
  )
  (while (setq lay (assoc i lst))
    (setq txt (itoa n))
    (while (< (strlen txt) 2)
      (setq txt (strcat "0" txt))
    )
    (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-put-name (list (cadr lay) txt)))
      (progn
    (vla-put-name (vla-item (vla-get-layouts doc) txt) (strcat "Temporaire_Patrick_35___" txt))
    (vla-put-name (cadr lay) txt)
      )
    )
    (and express (acet-ui-progress-safe i))
    (setq n (1+ n)
      i (1+ i)
    )
  )
  (and express (acet-ui-progress-done))
  (princ (strcat "\nRenumérotation de " (itoa (1- n)) " présentation(s)."))
  (vla-endundomark doc)
  (setq *error* s)
  (princ)
)

(setq nom_lisp "RON")
(if app
  (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)

 

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é