Aller au contenu

Numérotation présentation LISP RON variante ?


Messages recommandés

Posté(e)

Salut,

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

Je suis désolé je n'y connais rien en LISP.

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

 

J'ai fait un doublon dans Autocad 2012 désolé.

Posté(e)

Bonjour, très intéressé aussi par ce sujet, je n'ai pu changer que le passage à 4 chiffres :
    (while (< (strlen txt) 4)
J'ajouterai une demande : faire démarrer cette nouvelle numérotation par une présentation choisie. Pour ne pas renuméroter la présentation "cartouche", "légende" se situant souvent au début des présentations. Ou bien ne pas renuméroter les présentations contenant la chaîne "CART", "LEG".

Merci aux âmes charitables lispiennes qui passeraient par ici !

  • 2 semaines après...
Posté(e)

Bonjour donc après quelques essais et lectures :
JPhil : je te remercie pour le lien mais ton LISP ne me permet pas de choisir le numéro de départ.

Grâce à la réponse de Didier sur un autre post et son site j'ai pu modifier le comptage des présentations pour une valeur correcte :
(princ (strcat "\nRenumérotation de " (itoa (-(+ n)num)) " présentation(s)."))
Je ne me ferais toujours pas à cette notation polonaise...

Merci en tout cas.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • 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é