bonuscad Posté(e) le 8 mai 2005 Posté(e) le 8 mai 2005 Bonjour, Je cherche à faire une routine pour incrementer un nombre entier, réel, alphabétique ou alphanumérique. Si les nombres ne me posent pas de problème, j'ai plus de dificulté avec les lettres. Je vous livre le bout de code en ébauche concernant celle-ci, cela "merdouille" à partir de la chaine "azz".Si quelqu'un avait l'idée d'un algorithme, ou comment modifié le mien ou encore aborder le problème autrement.Une suggestion ? (defun inc_str (a_int / ) (cond ((and (> (ascii a_int) 47) (< (ascii a_int) 57)) (chr (1+ (ascii a_int))) ) ((and (> (ascii a_int) 64) (< (ascii a_int) 90)) (chr (1+ (ascii a_int))) ) ((and (> (ascii a_int) 96) (< (ascii a_int) 122)) (chr (1+ (ascii a_int))) ) ((= (ascii a_int) 57) (chr 48) ) ((= (ascii a_int) 90) (chr 65) ) ((= (ascii a_int) 122) (chr 97) ) (T nil) ) ) (defun c:numeroter ( / ) (setq n_ini "a") (while n_ini (setq a_ret (inc_str (substr n_ini (strlen n_ini) 1)) n 0) (while (or (= a_ret "A") (= a_ret "a") (= a_ret "0")) (setq n (1+ n)) (if (> (strlen n_ini) n) (setq l_tmp '() n_ini (strcat (substr n_ini 1 (- (strlen n_ini) n)) (apply 'strcat (repeat n (setq l_tmp (cons a_ret l_tmp))))) a_ret (inc_str (substr n_ini (- (strlen n_ini) n) 1)) n_ini (strcat (if (> (strlen n_ini) (1+ (length l_tmp))) (substr n_ini 1 (- (strlen n_ini) (1+ (length l_tmp)))) "") a_ret (substr n_ini (strlen n_ini) 1) ) a_ret (if (and (/= a_ret "A") (/= a_ret "a") (/= a_ret "0")) "" a_ret) ) (setq l_tmp '() n_ini (apply 'strcat (repeat (1+ (strlen n_ini)) (setq l_tmp (cons a_ret l_tmp)))) a_ret "" ) ) ) (if (/= a_ret "") (setq n_ini (strcat (substr n_ini 1 (1- (strlen n_ini))) a_ret)) ) (grread) (print n_ini) ) (prin1) ) Bien sûr à l'achèvement de cette routine (si j'y arrive !), elle sera publiée sur CADxp. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
didier Posté(e) le 8 mai 2005 Posté(e) le 8 mai 2005 Salut à Toic'est dimanche soir, et je te prie de m'excuser si je suis Hors Sujetmais je tape ça vite fait pour voir si je suis dans le vrai,je me suis borné à traiter les majuscules, Mais veux tu faire une boucle qui renseigne un tableauou bien seulement savoir quelle chaine se trouve à la suite de la chaine connue ? (setq n 65)(setq tempo (chr n))(alert tempo)(while ( (setq n ( + 1 n) tempo (chr n) ) (alert tempo) )(setq n 65 n1 65)(setq tempo (strcat (chr n)(chr n1)))(while ( (setq n1 ( + 1 n1) tempo (strcat (chr n)(chr n1)) ) (alert tempo) ) (setq n 65 n1 65 n2 65) (setq tempo (strcat (chr n)(chr n1)(chr n2))) (while ( (setq n2 ( + 1 n2) tempo (strcat (chr n)(chr n1)(chr n2)) ) (alert tempo) ) (setq n 65 n1 65 n2 65 n3 65) (setq tempo (strcat (chr n)(chr n1)(chr n2)(chr n3)) (while ( (setq n3 ( + 1 n3) tempo (strcat (chr n)(chr n1)(chr n3)) ) (alert tempo) ) à bientôt amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
bonuscad Posté(e) le 9 mai 2005 Auteur Posté(e) le 9 mai 2005 Mon but final serait d'incrementer dans la suite logique.Exemple: pour nombre entier5-6-7-8-9-10-11- ...... pour nombre réel6.3-6.4-6.5-6.6- ......25.56-25.57-25.58- ...... alphabetiqueGH-GI-GJ-GK- ....AAZ-ABA-ABC-ABD- .... alphanumériqueBC8-BC9-BD0-BD1-BD2- .....TZ08-TZ09-TZ10-TZ11- .... L'incrementation devra pouvoir se faire en commencant n'importe où et non pas forcément du début. J'ai essayer ton code, mais les transitions après le Z ne me convienne pas:La suite de Z donne AB au lieu de AALa suite de AZ donne AAB au lieu de BALa suite de AAZ donne AAB au lieu de ABA. Merci quand même pour ta reflexion ;) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
didier Posté(e) le 9 mai 2005 Posté(e) le 9 mai 2005 bonjour mon poteau,tu dis :alphabetiqueGH-GI-GJ-GK- ....AAZ-ABA-ABC-ABD- .... est il logique de passer de AAZ à ABAsans passer par AZZ précedement ?je m'interroge :exclam: Éternel débutant... Mon site perso : Programmer dans AutoCAD
didier Posté(e) le 9 mai 2005 Posté(e) le 9 mai 2005 j'ai déjà dit coucou, je crois ! une deuxième interrogation m'interrogationne,souhaites tu une valeur incrémentée en rapport à une autre et point final,par exemple, derrière AZD c'est AZEou bien faut il prendre un point de départ quelconque et boucler jusqu'à la Saint Lisp ... merci de me désinterrogationnerBeau Nuss Quadami qu'allemand Éternel débutant... Mon site perso : Programmer dans AutoCAD
bonuscad Posté(e) le 9 mai 2005 Auteur Posté(e) le 9 mai 2005 Salut Didier A...Z-AA...AZ-BA....BZ-CA....CZ ect.. ZZ-AAA......AAZ-ABA....ABZ-ACA....ACZ ect.. ZZZ-AAAA ...... Je ne veux pas te faire passer un test de QI, mais ceci me semble logique. Un peu comme si on pouvait utiliser la fonction (lsh) avec décalage de bit sur la gauche. Voilà le code tel qu'il est aujourd'hui avec la partie alphabétique qui me donne pas entière satisfaction. (defun inc_str (a_int / ) (cond ((and (> (ascii a_int) 47) (< (ascii a_int) 57)) (chr (1+ (ascii a_int))) ) ((and (> (ascii a_int) 64) (< (ascii a_int) 90)) (chr (1+ (ascii a_int))) ) ((and (> (ascii a_int) 96) (< (ascii a_int) 122)) (chr (1+ (ascii a_int))) ) ((= (ascii a_int) 57) (chr 48) ) ((= (ascii a_int) 90) (chr 65) ) ((= (ascii a_int) 122) (chr 97) ) (T nil) ) ) (defun c:numeroter ( / ) ;pour réinitialiser la commande tapez (setq n_next nil) à la ligne de commande (setq sv_zp (getvar "dimzin")) (setvar "dimzin" 4) (if (not n_next) (setq n_ini (getstring "\nIncrementer en débutant à [chiffre/lettre/alphanumérique]: ") xn 1) (setq n_ini n_next) ) (cond ((eq (type (read n_ini)) 'INT) (setq n_next (itoa (1+ (atoi n_ini)))) ) ((eq (type (read n_ini)) 'REAL) (setq nb 0) (repeat (strlen n_ini) (if (eq (substr n_ini (setq nb (1+ nb)) 1) ".") (setq nb_dec (1- (strlen (substr n_ini nb)))) ) ) (setq inc 1.0) (repeat nb_dec (setq inc (/ inc 10))) (setq n_next (rtos (+ inc (atof n_ini)) 2 nb_dec)) ) ((eq (type n_ini) 'STR) (setq a_ret (inc_str (substr n_ini (strlen n_ini) 1)) n 0) (while (or (= a_ret "A") (= a_ret "a") (= a_ret "0")) (setq n (1+ n)) (if (> (strlen n_ini) n) (setq l_tmp '() n_ini (strcat (substr n_ini 1 (- (strlen n_ini) n)) (apply 'strcat (repeat n (setq l_tmp (cons a_ret l_tmp))))) a_ret (inc_str (substr n_ini (- (strlen n_ini) n) 1)) n_ini (strcat (if (> (strlen n_ini) (1+ (length l_tmp))) (substr n_ini 1 (- (strlen n_ini) (1+ (length l_tmp)))) "" ) a_ret (substr n_ini (strlen n_ini) 1) ) a_ret (if (and (/= a_ret "A") (/= a_ret "a") (/= a_ret "0")) "" a_ret) ) (setq l_tmp '() n_ini (apply 'strcat (repeat (1+ (strlen n_ini)) (setq l_tmp (cons a_ret l_tmp)))) a_ret "" ) ) ) (if (/= a_ret "") (setq n_ini (strcat (substr n_ini 1 (1- (strlen n_ini))) a_ret)) ) (setq n_next n_ini) ) ) (setvar "dimzin" sv_zp) (print n_next) (prin1) ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Patrick_35 Posté(e) le 10 mai 2005 Posté(e) le 10 mai 2005 SalutCa n'a pas été simple pour le mettre au point mais j'ai reussi avec juste un incrément sur le texte de +1.J'ai regardé pour faire un incrément au choix (de +2, +3 ou autres), mais je n'ai pas encore réussi ex : (inc_txt "AAB") retourne "AAC"ex : (inc_txt "AAZ") retourne "ABA"ex : (inc_txt "AZZ") retourne "BAA"ex : (inc_txt "YZZ") retourne "ZAA"ex : (inc_txt "ZZZ") retourne "AAAA" @+ (defun inc_txt(Txt / Boucle Decalage Val_Txt) (setq Boucle 1 Val_txt "") (while (<= Boucle (strlen Txt)) (setq Ascii_Txt (vl-string-elt Txt (- (strlen Txt) Boucle))) (if (not Decalage) (setq Ascii_Txt (1+ Ascii_Txt)) ) (if (= Ascii_Txt 91) (setq Ascii_Txt 65 Decalage nil) (setq Decalage T) ) (setq Val_Txt (strcat (chr Ascii_Txt) Val_Txt)) (setq Boucle (1+ Boucle)) ) (if (not Decalage) (setq Val_Txt (strcat "A" Val_Txt)) ) Val_Txt ) Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
bonuscad Posté(e) le 10 mai 2005 Auteur Posté(e) le 10 mai 2005 Un seul mot Patrick_35 EXCELLENT!!!! Moi qui m'embrouillais les méninges dans des méandres pas possible, tu as fais un algorithme qui fonctionne à merveille. Je veux bien croire que cela n'a pas été simple.Merci pour ce GROS coup de pouce. J'ai modifié légèrement ton code pour différencier majuscule, minuscule et chiffre. Donc en final ça donnerait ceci, une bonne base pour faire n'importe quoi par la suite (Attribut de bloc, texte) et ce, dans des domaines multiples. (defun inc_txt (Txt / Boucle Decalage Val_Txt) (setq Boucle 1 Val_txt "") (while (<= Boucle (strlen Txt)) (setq Ascii_Txt (vl-string-elt Txt (- (strlen Txt) Boucle))) (if (not Decalage) (setq Ascii_Txt (1+ Ascii_Txt)) ) (if (or (= Ascii_Txt 58) (= Ascii_Txt 91) (= Ascii_Txt 123)) (setq Ascii_Txt (cond ((= Ascii_Txt 58) 48) ((= Ascii_Txt 91) 65) ((= Ascii_Txt 123) 97) ) Decalage nil ) (setq Decalage T) ) (setq Val_Txt (strcat (chr Ascii_Txt) Val_Txt)) (setq Boucle (1+ Boucle)) ) (if (not Decalage) (setq Val_Txt (strcat (cond ((< Ascii_Txt 58) "0") ((< Ascii_Txt 91) "A") ((< Ascii_Txt 123) "a")) Val_Txt)) ) Val_Txt ) (defun c:numeroter ( / sv_zp n_ini nb nb_dec inc) ;; ;;Tapez (setq n_next nil) à la ligne de commande ;;pour faire une autre incrementation ;; (setq sv_zp (getvar "dimzin")) (setvar "dimzin" 4) (if (not n_next) (setq n_ini (getstring "\nIncrementer en débutant à [chiffre/lettre/alphanumérique]: ")) (setq n_ini n_next) ) (cond ((eq (type (read n_ini)) 'INT) (setq n_next (itoa (1+ (atoi n_ini)))) ) ((eq (type (read n_ini)) 'REAL) (setq nb 0) (repeat (strlen n_ini) (if (eq (substr n_ini (setq nb (1+ nb)) 1) ".") (setq nb_dec (1- (strlen (substr n_ini nb)))) ) ) (setq inc 1.0) (repeat nb_dec (setq inc (/ inc 10))) (setq n_next (rtos (+ inc (atof n_ini)) 2 nb_dec)) ) ((eq (type n_ini) 'STR) (setq n_next (inc_txt n_ini)) ) ) (setvar "dimzin" sv_zp) (print n_next) (prin1) ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Michel66 Posté(e) le 12 mai 2005 Posté(e) le 12 mai 2005 Bonjour,la fonciton numeroter fonctionne très bien, c'est que je recherchais depuis longtemps mais comment l'intégrer à une routine complète avec la valeur d'attribut d'un bloc?merci
bonuscad Posté(e) le 13 mai 2005 Auteur Posté(e) le 13 mai 2005 Les applications pouvant être multiples, j'écris celle-ci (attribut) et c'est tout, à moins que d'autres veulent s'y coller. Il ne faudra pas demander, par la suite pour du texte, un autre pour une cotation de rappel, un autre pour des attributs multiples, un autre pour une indexation de fichier ou que sais-je encore...! Voici l' exemple à améliorer et à tester : (defun inc_txt (Txt / Boucle Decalage Val_Txt) (setq Boucle 1 Val_txt "") (while (<= Boucle (strlen Txt)) (setq Ascii_Txt (vl-string-elt Txt (- (strlen Txt) Boucle))) (if (not Decalage) (setq Ascii_Txt (1+ Ascii_Txt)) ) (if (or (= Ascii_Txt 58) (= Ascii_Txt 91) (= Ascii_Txt 123)) (setq Ascii_Txt (cond ((= Ascii_Txt 58) 48) ((= Ascii_Txt 91) 65) ((= Ascii_Txt 123) 97) ) Decalage nil ) (setq Decalage T) ) (setq Val_Txt (strcat (chr Ascii_Txt) Val_Txt)) (setq Boucle (1+ Boucle)) ) (if (not Decalage) (setq Val_Txt (strcat (cond ((< Ascii_Txt 58) "0") ((< Ascii_Txt 91) "A") ((< Ascii_Txt 123) "a")) Val_Txt)) ) Val_Txt ) (defun c:numerotation (/ all_path end_pos id_path pto x y z sv_zp n_ini nb nb_dec inc) (if (not (tblsearch "LAYER" "numerotation")) (entmake '((0 . "LAYER") (100 . "AcDbSymbolTableRecord") (100 . "AcDbLayerTableRecord") (2 . "numerotation") (70 . 0) (62 . 7) (6 . "Continuous") (290 . 1) (370 . -3) ) ) ) (if (not (tblsearch "STYLE" "$numerotation")) (progn (setq all_path (getenv "ACAD") n 0) (while (setq end_pos (vl-string-position (ascii ";") all_path)) (setq id_path (substr all_path 1 end_pos)) (if (wcmatch (strcase id_path) "*FONTS*") (setq fonts_path (strcat id_path "\\")) ) (setq all_path (substr all_path (+ 2 end_pos))) ) (setq file_shx (getfiled "Selectionnez un fichier de police" fonts_path "shx" 8)) (if (not file_shx) (setq file_shx "txt.shx")) (entmake (append '((0 . "STYLE") (5 . "40") (100 . "AcDbSymbolTableRecord") (100 . "AcDbTextStyleTableRecord") (2 . "$numerotation") (70 . 0) (40 . 0.0) (41 . 1.0) (50 . 0.0) (71 . 0) (42 . 2.5) (4 . "") ) (list (cons 3 file_shx)) ) ) ) ) (setvar "textstyle" "$numerotation") (if (not (tblsearch "BLOCK" "$numero")) (progn (initget 7) (setq ht (getdist "\nEntrez la hauteur du texte: ")) (entmake '((0 . "BLOCK") (2 . "$numero") (70 . 2) (10 0.0 0.0 0.0)) ) (entmake (append '((0 . "ATTDEF") (67 . 0) (8 . "numerotation") (62 . 0) (10 0.0 0.0 0.0) (40 . 1.0) (1 . "0") (50 . 0.0) (41 . 1.0) (51 . 0.0) (7 . "$numerotation") (210 0.0 0.0 1.0) (3 . "Numéro ?: ") (2 . "NO") (70 . 0) ) (list (cons 40 ht)) ) ) (entmake '((0 . "ENDBLK"))) ) ) (setq sv_zp (getvar "dimzin")) (setvar "dimzin" 3) (if (not n_next) (setq n_ini (getstring "\nIncrementer en débutant à [chiffre/lettre/alphanumérique]: ") n_next n_ini) (progn (initget "Oui Non _Yes No") (if (eq (getkword "\nRéinitialiser l'incrémentation [Oui/Non] : ") "Yes") (setq n_ini (getstring "\nIncrementer en débutant à [chiffre/lettre/alphanumérique]: ") n_next n_ini) (setq n_ini n_next) ) ) ) (initget 8) (while (setq pto (getpoint "\nSpécifiez l'emplacement du numéro: ")) (setq pto (trans pto 1 0) x (car pto) y (cadr pto) z (caddr pto) ) (entmake (append '((0 . "INSERT") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbBlockReference") (50 . 0) (66 . 1) (2 . "$numero") (41 . 1.0) (42 . 1.0) (43 . 1.0) (70 . 0) (71 . 0) (44 . 0.0) (45 . 0.0) (210 0.0 0.0 1.0) ) (list (cons 10 pto)) ) ) (entmake (append '((0 . "ATTRIB") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "numerotation") (62 . 0) (100 . "AcDbText") (41 . 1.0) (51 . 0.0) (7 . "$numerotation") (71 . 0) (72 . 0) (11 0.0 0.0 0.0) (210 0.0 0.0 1.0) (100 . "AcDbAttribute") (2 . "NO") (70 . 0) (73 . 0) (74 . 0) ) (list (cons 1 n_next)) (list (cons 10 pto)) (list (cons 40 ht)) (list (cons 50 (atan (/ (cadr (getvar "UCSXDIR")) (car (getvar "UCSXDIR")))))) ) ) (entmake '((0 . "SEQEND"))) (setq n_ini n_next) (cond ((eq (type (read n_ini)) 'INT) (setq n_next (itoa (1+ (atoi n_ini)))) ) ((eq (type (read n_ini)) 'REAL) (setq nb 0) (repeat (strlen n_ini) (if (eq (substr n_ini (setq nb (1+ nb)) 1) ".") (setq nb_dec (1- (strlen (substr n_ini nb)))) ) ) (setq inc 1.0) (repeat nb_dec (setq inc (/ inc 10))) (setq n_next (rtos (+ inc (atof n_ini)) 2 nb_dec)) ) ((eq (type n_ini) 'STR) (setq n_next (inc_txt n_ini)) ) ) (initget 8) ) (setvar "dimzin" sv_zp) (princ) ) [Edité le 13/5/2005 par bonuscad] Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
cbtrm Posté(e) le 17 mai 2005 Posté(e) le 17 mai 2005 bonjour, étant débutant dans le lisp, j'aurais juste une petite question. Quelles applications utilisez vous pour développe vos lisp ?? bonne journée :calim: === ;) ..... CHRIS ..... ;) === :calim:
Patrick_35 Posté(e) le 17 mai 2005 Posté(e) le 17 mai 2005 Pour cbtrmAvec l'editeur visual lisp (_vlide sur la ligne de commande) ou avec le bloc note (notepad) Pour Michel66Pour incrémenter sur des attributs et en reprenant ce qu'a fait Bonus @+ (defun c:iat(/ Boucle Ent Js inc n_ini nb nb_dec old_error) (defun erriat(msg) (if (/= msg "Function cancelled") (if (= msg "quit / exit abort") (princ) (princ (strcat "\nErreur : " msg)) ) (princ) ) (setq Boucle 0) (while (ssname Js Boucle) (redraw (ssname Js Boucle) 4) (setq Boucle (1+ Boucle)) ) (setq *error* old_error) (vla-endundomark (vla-get-activedocument (vlax-get-acad-object))) (princ) ) (defun inc_txt (Txt / Ascii_Tx Boucle Decalage Val_Txt) (setq Boucle 1 Val_txt "") (while (<= Boucle (strlen Txt)) (setq Ascii_Txt (vl-string-elt Txt (- (strlen Txt) Boucle))) (if (not Decalage) (setq Ascii_Txt (1+ Ascii_Txt)) ) (if (or (= Ascii_Txt 58) (= Ascii_Txt 91) (= Ascii_Txt 123)) (setq Ascii_Txt (cond ((= Ascii_Txt 58) 48) ((= Ascii_Txt 91) 65) ((= Ascii_Txt 123) 97) ) Decalage nil ) (setq Decalage T) ) (setq Val_Txt (strcat (chr Ascii_Txt) Val_Txt)) (setq Boucle (1+ Boucle)) ) (if (not Decalage) (setq Val_Txt (strcat (cond ((< Ascii_Txt 58) "0") ((< Ascii_Txt 91) "A") ((< Ascii_Txt 123) "a")) Val_Txt)) ) Val_Txt ) (defun Trouve(Tbl Ent / Boucle Rech) (setq Boucle 0 Rech nil) (while (ssname Tbl Boucle) (if (eq (ssname Tbl Boucle) Ent) (setq Rech T Boucle (1+ (sslength Tbl))) ) (setq Boucle (1+ Boucle)) ) Rech ) (defun select (Js / Ajout Boucle Ent Texte) (setq Ent "" Ajout T) (while Ent (initget "Ajouter Retirer Supprimer") (if Ajout (setq Texte (strcat "\nSélectionner les attributs (" (itoa (sslength Js)) " sélectionné(s)) : ")) (setq Texte (strcat "\nRetirer les attributs (" (itoa (sslength Js)) " sélectionné(s)) : ")) ) (if (setq Ent (nentsel Texte)) (cond ((= Ent "") (setq Ent nil) ) ((= Ent "Ajouter") (setq Ajout T) ) ((or (= Ent "Retirer")(= Ent "Supprimer")) (setq Ajout nil) ) ((= (cdr (assoc 0 (entget (car ent)))) "ATTRIB") (if Ajout (progn (if (not (Trouve Js (car Ent))) (progn (setq Js (ssadd (car Ent) Js)) (redraw (car Ent) 3) ) ) ) (progn (if (Trouve Js (car Ent)) (progn (setq Js (ssdel (car Ent) Js)) (redraw (car Ent) 4) ) ) ) ) ) ) ) ) Js ) (vl-load-com) (vla-startundomark (vla-get-activedocument (vlax-get-acad-object))) (setq Old_Error *error* *error* erriat) (setq Js (select (ssadd))) (if (setq n_ini (getstring "\nIncrementer en débutant à [chiffre/lettre/alphanumérique] : ")) (progn (setq Boucle 0) (while (ssname Js Boucle) (setq Ent (entget (ssname Js Boucle))) (setq Ent (subst (cons 1 n_ini) (assoc 1 Ent) Ent)) (entmod Ent) (redraw (cdr (assoc -1 Ent)) 4) (entupd (cdr (assoc -1 Ent))) (cond ((eq (type (read n_ini)) 'INT) (setq n_ini (itoa (1+ (atoi n_ini)))) ) ((eq (type (read n_ini)) 'REAL) (setq nb 0) (repeat (strlen n_ini) (if (eq (substr n_ini (setq nb (1+ nb)) 1) ".") (setq nb_dec (1- (strlen (substr n_ini nb)))) ) ) (setq inc 1.0) (repeat nb_dec (setq inc (/ inc 10))) (setq n_ini (rtos (+ inc (atof n_ini)) 2 nb_dec)) ) ((eq (type n_ini) 'STR) (setq n_ini (inc_txt n_ini)) ) ) (setq Boucle (1+ Boucle)) ) ) ) (setq *error* Old_Error) (vla-endundomark (vla-get-activedocument (vlax-get-acad-object))) (princ) ) [Edité le 17/5/2005 par Patrick_35] Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
cbtrm Posté(e) le 18 mai 2005 Posté(e) le 18 mai 2005 Merci pour ta réponse patrick_35 bonne journée :calim: === ;) ..... CHRIS ..... ;) === :calim:
sweetmemories Posté(e) le 12 juin 2006 Posté(e) le 12 juin 2006 Bonjour.Je debute sous AutoCAD LT 2005 mais jaimerai lancer votre script.Ou le mettre? et comment le lancer?Merci d'avance a tous.
Oli553 Posté(e) le 12 juin 2006 Posté(e) le 12 juin 2006 Helas, ceci n'est pas un script mais un lisp, cela ne fonctionne pas sur LT :( L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai. "Il vaut mieux mobiliser son intelligence sur des conneries, que sa connerie sur des choses intelligentes" - Devise Shadok. "ceux qui ne se souviennent pas du passé sont condamnés à le revivre" George Santayana Ma bibliothèque de blocs électrique :symbole elec.dwg
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