bono05 Posté(e) le 31 mars 2008 Posté(e) le 31 mars 2008 Bonjour à tous, J'utilise ce lisp assez régulièrement mais j'ai tout de même un petit soucis et j'espere que quelqu'un pourra modifier cela. Lorsque je commence des série, j'aimerai que de 1 à 9 il me numerote 01 - 02 -03... (donc avec le 0) mais également avec 3 ou 4 chiffres 001-002... Actuellement on ne peux pas mettre le premier chiffre à 01...c'est toujours 1. Voila j'espere avoir été assez clair dans ma demande... ;) Voici le lien afin de telecharger ce lisp: http://www.delicad.com/autocad/cpt.php3?NomFich=numeros MERCI DE VOTRE AIDE !! :D [Edité le 31/3/2008 par bono05]
(gile) Posté(e) le 31 mars 2008 Posté(e) le 31 mars 2008 Salut, Il n'est pas possible de modifier ce fichier, c'est un fichier compilé (VLX). Tu peux essayer incsuf, une routine polyvalente d'incrémentation (une autre version plus bas, qui ouvre systématiquement la boite de dialogue). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
bono05 Posté(e) le 31 mars 2008 Auteur Posté(e) le 31 mars 2008 Merci Gile... Une difference entre les deux c'est que avec incsuf c'est en cliquant sur un texte DEJA existant sur le plan. Dans mon cas le plan d'origine est toujours vide de numéros. Mais avec le lisp Numeros c'est en cliquant dans le vide que l'on crée la série de numéro... C'est correct ce que je dit? :casstet: Merci. [Edité le 31/3/2008 par bono05]
PHILPHIL Posté(e) le 31 mars 2008 Posté(e) le 31 mars 2008 HELLO meme manip que le lisp "numero" avec le lisp de gile ca marche impec il te suffit d'ecrire ton numero avant "1" ou "01" ou "001"de le copier autant de fois que tu veux et apres tu passes le lisp de gile sur tes chiffres et ca incremente sans probleme 1=> 2=> 3=>401=> 02=>03=>04001 => 002=>003=>004 les zero sont garder en premier on dit quoi ?? merci Gilee phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
(gile) Posté(e) le 31 mars 2008 Posté(e) le 31 mars 2008 Re, Basé sur la même routine (incsuff), donc avec la possibilité d'incrémenter des chaînes numériques, alphabétiques ou alphanumériques, le LISP INCTXT permet l'insertion multiple d'un texte contenant une valeur incrémentée. http://img398.imageshack.us/img398/4667/inctxtmw1.png EDIT : correction pour la rotation dans les SCU pivotés EDIT 2 : correction justification "Milieu" ;; INCTXT (gile) 31/03/08 ;; Insertions multiples d'un texte avec un valeur incrémentée (defun c:inctxt (/ temp file dcl_id slst st jlst ju ht ro dep inc pref suff hor vert nor dlst flag pt ) (defun validchar (ch) (or ( ) (setq temp (vl-filename-mktemp "Tmp.dcl") file (open temp "w") ) (write-line (strcat "IncTxt:dialog{" "label=\"Texte incrémenté\";" ":boxed_column{" "label=\"Mise en forme\";" ":row{" ":column{" ":popup_list{" "label=\"Style\";key=\"st\";edit_width=16;}" ":popup_list{" "label=\"Justification\";key=\"ju\";edit_width=16;}}" ":column{" ":edit_box{" "label=\"Hauteur\";key=\"ht\";edit_width=5;allow_accept=true;}" ":edit_box{" "label=\"Rotation\";key=\"ro\";edit_width=5;allow_accept=true;}}}}" ":boxed_row{" "label=\"Texte\";:column{" ":edit_box{" "label=\"Valeur de départ\";key=\"dep\";edit_width=5;allow_accept=true;}" ":edit_box{" "label=\"Incrément\";key=\"inc\";edit_width=5;allow_accept=true;}}" "spacer;:column{" ":edit_box{" "label=\"Préfixe\";key=\"pref\";edit_width=16;allow_accept=true;}" ":edit_box{" "label=\"Suffixe\";key=\"suff\";edit_width=16;allow_accept=true;}}}" "ok_cancel;}" ) file ) (close file) (setq dcl_id (load_dialog temp)) (if (not (new_dialog "IncTxt" dcl_id)) (exit) ) (while (setq st (tblnext "STYLE" (not st))) (if (/= (cdr (assoc 2 st)) "") (setq slst (cons (cdr (assoc 2 st)) slst)) ) ) (setq slst (reverse slst)) (start_list "st") (mapcar 'add_list slst) (end_list) (setq jlst '("Gauche" "Centre" "Droite" "Milieu" "Haut Gauche" "Haut Centre" "Haut Droite" "Milieu Gauche" "Milieu Centre" "Milieu Droite" "Bas Gauche" "Bas Centre" "Bas Droite" ) ) (start_list "ju") (mapcar 'add_list jlst) (end_list) (or st (setq st (getvar "TEXTSTYLE"))) (or ju (setq ju "Gauche")) (or ht (setq ht (getvar "TEXTSIZE"))) (or ro (setq ro 0.0)) (or dep (setq dep "1")) (or inc (setq inc 1)) (or pref (setq pref "")) (or suff (setq suff "")) (set_tile "st" (itoa (vl-position st slst))) (set_tile "ju" (itoa (vl-position ju jlst))) (set_tile "ht" (rtos ht)) (set_tile "ro" (angtos ro)) (set_tile "dep" dep) (set_tile "inc" (itoa inc)) (action_tile "st" "(setq st (nth (atoi $value) slst))") (action_tile "ju" "(setq ju (nth (atoi $value) jlst))") (action_tile "ht" "(if (and (numberp (distof $value)) ( (setq ht (distof $value)) (progn (alert \"Spécifiez un nombre réel strictement positif\") (set_tile \"ht\" (rtos ht)) (mode_tile \"ht\" 2))))" ) (action_tile "ro" "(if (numberp (angtof $value)) (setq ro (angtof $value)) (progn (alert \"Spécifiez un angle valide\") (set_tile \"ro\" (angtos ro)) (mode_tile \"ro\" 2))))" ) (action_tile "inc" "(if (and (numberp (read $value)) ( (setq inc (atoi $value)) (progn (alert \"Spécifiez un entier strictement positif\") (set_tile \"inc\" (itoa inc)) (mode_tile \"inc\" 2))))" ) (action_tile "dep" "(if (validchar (ascii (substr $value (strlen $value)))) (setq dep $value) (progn (alert \"Spécifiez un nombre et/ou des lettres\") (set_tile \"dep\" dep) (mode_tile \"dep\" 2))))" ) (action_tile "pref" "(setq pref $value)") (action_tile "suff" "(setq suff $value)") (action_tile "accept" "(done_dialog)") (action_tile "cancel" "(exit)") (start_dialog) (unload_dialog dcl_id) (vl-file-delete temp) (setq hor (cond ((wcmatch ju "*Gauche") 0) ((wcmatch ju "*Centre") 1) ((wcmatch ju "*Droite") 2) (T 4) ) vert (cond ((wcmatch ju "Haut *") 3) ((wcmatch ju "Milieu *") 2) ((wcmatch ju "Bas *") 1) (T 0) ) nor (trans '(0 0 1) 1 0 T) dlst (reverse (vl-string->list dep)) flag 0 ) (while (validchar (car dlst)) (setq flag (+ flag (cond (( (( (( ) ) dlst (cdr dlst) ) ) (while (setq pt (getpoint "\nSpécifiez le point d'insertion: ")) (setq pt (trans pt 1 nor)) (entmake (list '(0 . "TEXT") (cons 10 pt) (cons 40 ht) (cons 50 (+ ro (angle '(0 0 0) (trans (getvar "UCSXDIR") 0 nor))) ) (cons 7 st) (cons 11 pt) (cons 72 hor) (cons 73 vert) (cons 1 (strcat pref dep suff)) (cons 210 nor) ) ) (setq dep (incsuff dep inc flag)) ) (princ) ) ;;===================================================;; ;; INCSUFF (version 1.2) -Gilles Chanteau- 15/01/08 ;; Incrémente le suffixe d'une chaîne de caractères de la valeur spécifiée. ;; Est pris en compte comme suffixe, l'ensemble des caractères [0-9] et/ou [A-Z] ;; et/ou [a-z] depuis la fin du texte, en fonction de la valeur de alpha ;; ;; Arguments ;; str : une chaîne avec un suffixe valide ;; inc : un entier positif ;; alpha : un entier, somme des codes binaires suivant ;; 1 pour les caractères [0-9] ;; 2 pour les caractères [A-Z] ;; 4 pour les caractères [a-z] ;; ;; Retour ;; la chaîne avec son suffixe incrémenté (ou nil si aucun suffixe valide) ;; ;; Exemples : ;; (incsuff "N°002" 12 1) = "N°014" ;; (incsuff "Dessin9" 1 1) = "Dessin10" ;; (incsuff "test_ZZ9" 1 3) = "test_AAA0" ;; (incsuff "test_ZZ9" 1 1) = "test_ZZ10" ;; (incsuff "12-" 1 1) = nil ;; ;; Modification (13/02/08) : codes binaires pour l'argument alpha (defun incsuff (str inc alpha / lst crt pas ind dep quo ret) (setq lst (reverse (vl-string->list str))) (while (and (setq crt (car lst)) (cond ((and ( (setq pas 10 ind 48 ) ) ((and ( (setq pas 26 ind 65 ) ) ((and ( (setq pas 26 ind 97 ) ) (( (setq crt (if (= 10 pas) ind (1- ind) ) lst (cons (car lst) lst) ) ) ) ) (setq dep (- crt ind) quo (/ (+ dep inc) pas) ret (cons (+ ind (rem (+ dep inc) pas)) ret) ) (if (zerop quo) (setq ret (append (reverse (cdr lst)) ret) lst nil ) (if (cdr lst) (setq lst (cdr lst) inc quo ) (setq lst (list ind) inc (if (= 10 pas) quo (1- quo) ) ) ) ) ) (if ret (vl-list->string ret) ) ) [Edité le 31/3/2008 par (gile)] [Edité le 31/3/2008 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 31 mars 2008 Posté(e) le 31 mars 2008 Bonsoir à toutes et tous, Que du bonheur,... ! Pas vu d'beug, moi, on à même plus l'temps, (gile) s' "EDIT ", lui même maintenant,... T'as-vu pas mal la BD sous V2008-Vista => <!--url{0}--> Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
bono05 Posté(e) le 1 avril 2008 Auteur Posté(e) le 1 avril 2008 Et bien maintenant si j'ai déjà des numéros à changer, j'utilise la solution INCSUF... Et si je demarre d'un plan vierge ce sera la solution INCTXT.. Merci Gile (et les autres)!!!! :D
(gile) Posté(e) le 1 avril 2008 Posté(e) le 1 avril 2008 Salut, INCTXT et INCSUF sont réunis en un seul fichier : Increment.lsp en téléchargement sur cette page. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 12 avril 2008 Posté(e) le 12 avril 2008 Bonjour à toutes et tous, Crois-tu, (gile), que cette technique de choix par BD est possible pour ton très fameux outil "Spécial-Selection" ? A ce propos, une remarque, ou constat chez moi (V2008 pleine) => SSC, aprés choix de la couleur me selectionne quasiment toutes les entités à l'écran si je selectionne un bloc ou une hachure?? (Surement fait expres,...!) [Edité le 12/4/2008 par lili2006] Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 12 avril 2008 Posté(e) le 12 avril 2008 Salut, Crois-tu, (gile), que cette technique de choix par BD est possible pour ton très fameux outil "Spécial-Selection" ? Excuse moi, je ne comprends pas bien la demande... SSC, aprés choix de la couleur me selectionne quasiment toutes les entités à l'écransi je selectionne un bloc ou une hachure?? Si l'objet sélectionné est en couleur Ducalque, tous les objets en couleur DuCalque seront sélectionnés (SSC est utile pour les couleurs forcées)Pour une sélection plus fine, utilise SSM (ou la sélection rapide) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 12 avril 2008 Posté(e) le 12 avril 2008 Re, Je voulais dire, choix d'un type de selection dans le même esprit que cette BD => Si l'objet sélectionné est en couleur Ducalque, tous les objets en couleur DuCalque seront sélectionnés (SSC est utile pour les couleurs forcées) Ok ! Je n'avais tous simplement pas compris son utilité,... Merci encore, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 12 avril 2008 Posté(e) le 12 avril 2008 Voilà, (defun c:sel (/ temp file dcl_id fun) (setq temp (vl-filename-mktemp "Tmp.dcl") file (open temp "w") ) (write-line (strcat "IncrInputbox:dialog{label=\"Spécial sélections\";" ":radio_column{key=\"fun\";" ":radio_button{" "label=\"SSE Type d'entité\";key=\"(c:sse)\";}" ":radio_button{" "label=\"SSL Calque\";key=\"(c:ssl)\";}" ":radio_button{" "label=\"SSC Couleur\";key=\"(c:ssc)\";}" ":radio_button{" "label=\"SSTL Type de ligne\";key=\"(c:sstl)\";}" ":radio_button{" "label=\"SSATT Valeur d'attribut\";key=\"(c:ssatt)\";}}" "spacer;" "ok_cancel;}") file ) (close file) (setq dcl_id (load_dialog temp)) (if (not (new_dialog "IncrInputbox" dcl_id)) (exit) ) (set_tile "(c:sse)" "1") (action_tile "accept" "(setq fun (get_tile \"fun\")) (done_dialog)" ) (start_dialog) (unload_dialog dcl_id) (and fun (eval (read fun))) (princ) ) Personnellement, je préfère de loin les avoir dans le menu contextuel d'édition. http://img406.imageshack.us/img406/3737/specselzy3.png Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 12 avril 2008 Posté(e) le 12 avril 2008 Re, Super ! C'est vrai qu'c'est bien aussi sur le clic droit ! Je vais tester les deux, au moins on a le choix maintenant ! Merci encore à toi. Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 12 avril 2008 Posté(e) le 12 avril 2008 Re, Tout compte fait, j'ai fait un mixte des deux (c'est toujours deux clics au final !).J'ai mis la fonction "sel" sur les menus contextuels du clic droit <!--url{0}--> et j'ouvre alors la BD, cela me convient. <!--url{1}--> Merci encore. Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
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