sylarr Posté(e) le 28 septembre 2022 Posté(e) le 28 septembre 2022 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é. Citer
Minocia Posté(e) le 28 septembre 2022 Posté(e) le 28 septembre 2022 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 ! Citer
JPhil Posté(e) le 28 septembre 2022 Posté(e) le 28 septembre 2022 @sylarr, @Minocia, un début de réponse >>> ici <<< Citer
Minocia Posté(e) le 7 octobre 2022 Posté(e) le 7 octobre 2022 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. Citer
Messages recommandés