Serge1591 Posté(e) le 29 septembre 2006 Posté(e) le 29 septembre 2006 Bonjour. Je cherche un LISP ou un ARC ou n'importe quoi d'autre qui me permette d'incrémenter automatiquement. C'est une fonction que je dois faire souvent. Je dois numéroter plusieurs pièces dans le même dessin. J'aimerais simplement sélectionner cette fonction puis, le programme me demande à quelle chifffre ou lettre je veux commencer et si j'ai un suffixe. Exemple: "débuter a" je répond 10, "Suffixe ?" je répond S, puis à chaque clic je position mon identification qui sera toujours additionné de 1 à chaque clic. Exemple 1ier clic - S10, 2ième clic -S11, etc... J'ai vue cette fonction dans logiciel ATHENA de ACOSOFT, qui s,ajoute à Autocad qui m'avais bien épatté. Merci à tous de votre aide.
Patrick_35 Posté(e) le 29 septembre 2006 Posté(e) le 29 septembre 2006 SalutUtilise LATT avec des attributs @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Invité Patrick Posté(e) le 29 septembre 2006 Posté(e) le 29 septembre 2006 Voir cette page et chercher "Créer du texte incrémental".
rebcao Posté(e) le 29 septembre 2006 Posté(e) le 29 septembre 2006 il y avait ce sujet...sur le sujet... Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
funkkybebel Posté(e) le 8 octobre 2007 Posté(e) le 8 octobre 2007 Bonjour,Pour information Patrick, le lisp LATT ne fonctionne pas pour incrementer au dessus de 9.Je m'explique:J'ai un bloc avec comme valeur d'attribut : PUI.1Je veux incrementer le reste des attributs et continuer ensuite sur les attributs d'un bloc identique, je tapote donc LATT, je choisis Ajouter, et Croissant.De là, je selectionne autant d'attributs que je veux incrementer, mais lorsque j'en selectionne plus de 10, alors il met un slash.Je me retrouve avec :PUI.1PUI.2.....PUI.9PUI/0PUI/1...... Existe-t-il un outil qui pourrait incrémenter d'autres attributs (quelque soit leur valeur à la base, chiffre ou n'importe quoi) à partir d'un attribut donné, en récupérant uniquement la dernière valeur numérique de l'attribut. C'est à dire qu'il m'aurait plutôt fallu cela:J'ai un attribut d'un bloc que je nomme PUI.1Je lance le lisp magique, je lui montre par quel attribut commencer (PUI.1)Ensuite je selectionne autants d'attributs que je veux et il incrémente de 1 la valeur numérique trouvée dans l'attribut source. Une pression sur Echap me permettrait de sortir de la commande. Bien sûr je ne veux surtout pas indiquer un quelquonque suffixe ou prefixe.L'outil doit aussi bien continuer à incrémenter à partir de PUI.145 comme à partir de BONJOUR-08, puisqu'il est censé récuperer les derniers chiffres uniquement... Merci de m'aider s'il vous plait au pire à modifier un outil déjà existant...Salutations.
Patrick_35 Posté(e) le 8 octobre 2007 Posté(e) le 8 octobre 2007 Salut ne fonctionne pas pour incrementer au dessus de 9 Si, si ton nombre est par exemple 01 @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
funkkybebel Posté(e) le 8 octobre 2007 Posté(e) le 8 octobre 2007 Effectivement oui si je mets 01 ça marche. Merci. Maintenant imaginons que je supprime 2 attributs (je met leur valeur à rien), et que je souhaite recommencer l'incrémentation à partir d'un attribut qui est déjà "lié".Le lisp me re-rempli les attributs ! Autre chose:J'essaie de repartir du dernier attribut incrémenté par LATT, pour continuer sur d'autres que j'ai rajoutés. Mais le lisp ne me permet pas de choisir "croissant". Merci de votre aide.
Patrick_35 Posté(e) le 8 octobre 2007 Posté(e) le 8 octobre 2007 Maintenant imaginons que je supprime 2 attributs (je met leur valeur à rien), et que je souhaite recommencer l'incrémentation à partir d'un attribut qui est déjà "lié".Le lisp me re-rempli les attributs ! Ce qui est normal, car pour le lisp, ils sont toujours existants.Dans ce cas, pour supprimer des attributs dans une chaîne --> LATT --> Sélection de la chaîne --> R (pour retirer) J'essaie de repartir du dernier attribut incrémenté par LATT, pour continuer sur d'autres que j'ai rajoutés. Mais le lisp ne me permet pas de choisir "croissant". Normal, car la chaîne est déjà définie comme croissant. Il suffit de choisir la chaîne puis les attributs à ajouter. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
funkkybebel Posté(e) le 8 octobre 2007 Posté(e) le 8 octobre 2007 Merci,mais ça devient trop compliqué pour une simple incrémentation. Je continue à la main ça va plus vite. Salutations.
lesourd2 Posté(e) le 8 octobre 2007 Posté(e) le 8 octobre 2007 Salut J'aurais eventuellement ceci à te proposer. ;****************************************************************************** (DEFUN INCREM (/ oldcmd cmdecho dev der num nbr inc ent ntxt) (princ "\nINCREM ,VERSION 1.02 ,(c) 1996 par T.B") (setq oldcmd (getvar "cmdecho")) (setvar "cmdecho" 0) (setq ent 1) (setq cont 1) (setq ntxt "") (setq dev (getstring T "\nTexte a placer devant le numero a incrementer :")) (setq der (getstring T "\nTexte a placer derriere le numero a incrementer :")) (setq num (getint "\nNumero de depart (par defaut 1) :")) (if (= num nil) ; **valeur par defaut 1 (setq num 1) ) (setq nbr (getint "\nNombre de numero a la suite par texte (par defaut 1) :")) (if (or (= nbr nil) (= nbr 0)) ; **valeur par defaut 1 (setq nbr 1) ) (setq inc (getint "\nValeur d'incrementation (par defaut 1) :")) (if (or (= inc nil) (= inc 0)) ; **valeur par defaut 1 (setq inc 1) ) (setq num (- num inc)) ; **pour partir du numero de depart (while ent (setq ent (nentsel "\nSelectionner le texte ou l'attribut a incrementer : ")) (if ent ;**si il y a selection d'une entite (progn (setq ent (car ent)) ;**nom de l'entite a modifiee (setq ent (entget ent)) (if (and (/= (cdr (assoc 0 ent)) "TEXT") (/= (cdr (assoc 0 ent)) "ATTRIB")) (alert "ERREUR : Mauvaise selection.") (progn (if (= nbr 1) (setq ntxt (strcat dev (itoa (+ num inc )) der)) (progn (while (< cont nbr) (setq ntxt (strcat ntxt (strcat dev (itoa (+ num inc )) der "-"))) (setq num (+ num inc)) (setq cont (+ 1 cont)) ) (while (= cont nbr) (setq ntxt (strcat ntxt (strcat dev (itoa (+ num inc )) der))) (setq cont (+ 1 cont)) ) ) ) (setq ent (subst (cons 1 ntxt) (assoc 1 ent) ent)) (entmod ent);**regenere la base de donnee (entupd (cdar ent));**regenere les attributs a l'ecran (setq num (+ num inc)) (setq cont 1) (setq ntxt "") ) ) ) ) ) (setvar "cmdecho" oldcmd) (princ "\nOPERATION TERMINEE...") (princ) ) (defun c:INCREM () (INCREM)) (princ) ;****************************************************************************** @+
funkkybebel Posté(e) le 8 octobre 2007 Posté(e) le 8 octobre 2007 Bonjour,Merci mais il y a beaucoup trop de "manœuvres".A la limite on pourrait facilement (je pense) faire sauter les lignes qui demandes le suffixe, le pas d'incrément... Non, le mieux serait ce qui est strictement décrit dans mon premier post. Merci quand même !
(gile) Posté(e) le 8 octobre 2007 Posté(e) le 8 octobre 2007 Salut, un petit truc vite fait pour répondre à ta demande.Les paramètres du texte (hauteur style) sont les paramètres courants. (defun c:txt-inc (/ inc suf) (and (setq inc (getint "\nDébuter à: ")) (setq suf (getstring T "\nSuffixe: ")) (while (setq pt (getpoint "\Spécifiez un point: ")) (entmake (list '(0 . "TEXT") (cons 10 (trans pt 1 (trans '(0 0 1) 1 0 T))) (cons 40 (getvar "TEXTSIZE")) (cons 7 (getvar "TEXTSTYLE")) (cons 1 (strcat suf (itoa inc))) ) ) (setq inc (1+ inc)) ) ) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Patrick_35 Posté(e) le 8 octobre 2007 Posté(e) le 8 octobre 2007 J'y crois à peine :o mais ça devient trop compliqué pour une simple incrémentation.Merci mais il y a beaucoup trop de "manœuvres".Non seulement, on donne des lisp qui ne plaisent pas et en plus on fait la fine bouche :casstet: Comme on dit, on n'est jamais aussi bien servit que par soi-même Je continue à la main ça va plus vite.Bonne continuation Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
lesourd2 Posté(e) le 8 octobre 2007 Posté(e) le 8 octobre 2007 Salut Patrick Non seulement, on donne des lisp qui ne plaisent pas et en plus on fait la fine bouche . je confirme, j'ai aussi du mal à y croire; je me suis demander sur quel ton j'allais repondre. Cest pas les scrupules qui les etouffent. :( :mad: funkybebel a dit: Je continue à la main ça va plus vite Pas trop vite avec ta main quand meme ! @+[Edité le 8/10/2007 par lesourd2] [Edité le 8/10/2007 par lesourd2]
lili2006 Posté(e) le 8 octobre 2007 Posté(e) le 8 octobre 2007 Bof ! Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
funkkybebel Posté(e) le 10 octobre 2007 Posté(e) le 10 octobre 2007 J'y crois à peine :o mais ça devient trop compliqué pour une simple incrémentation.Merci mais il y a beaucoup trop de "manœuvres".Non seulement, on donne des lisp qui ne plaisent pas et en plus on fait la fine bouche :casstet: Comme on dit, on n'est jamais aussi bien servit que par soi-même Je continue à la main ça va plus vite.Bonne continuation Bonjour,C'est à dire que j'ai déjà un outil d'incrémentation qui me permettait de faire moins de manœuvres (= clics de souris etc...). Donc c'est pour cela que ça me semblait ne pas pouvoir remplacer ce que j'avais déjà d'existant. Gile, merci, j'essaye ton lisp et te tiens au courant.
funkkybebel Posté(e) le 10 octobre 2007 Posté(e) le 10 octobre 2007 Bonjour,Voici ce que j'ai déjà:http://www.rhodes-tunes.com/misc/outils-incrementation.zip Il s'agit de 3 outils (protégés malheureusement) commande d'incrementation des chiffres : i123 commande d'incrementation des lettres : iabc commande d'incrementation avancée (avec suffixe...) : icremtxt L'incrémentation des chiffres ne marche que pour les chiffres SANS préfixes ni suffixes ! Par contre l'incrémentation avancée permet d'incrémenter n'importe quel ATTRIBUT ou texte avec possibilité de lui indiquer les chaines de suffixe ou préfixe.Les caractères à ne pas modifier (par exemple préfixe pour ma part) sont à marquer par des points : .Les caractères qui sont à incrémenter sont à marquer par des étoiles : * Par exemple, si je dois incrémenter PUI.01Je lance icremtxt puis je lui indique :1/ Choix du premier texte : => mon attribut PUI.01 (cliquez sur une partie de ce texte correctement sinon la commande s'annule !)2/ Voulez-vous changer la valeur de départ? : j'appuie sur entrée car je ne veux pas la changer3/ Pas d'incrémentation : 1 (car je veux incrémenter de 1 à 1)4/ Chaine d'incrément : Sachant que ma chaine sélectionnée est PUI.01 je choisi donc de taper ....** (4 points et 2 étoiles qui correspondent aux 4 premiers caractères qui doivent rester fixe et les 2 derniers qui seront incrémentés) J'espère que vous avez tous compris. En tout cas, ce qu'il me faudrait (si vous permettez), c'est un outil qui me permette de shunter la partie où je dois dicter au lisp qui doit rester fixe (préfixe ou suffixe) et qui dois être incrémenté.Il faudrait que le lisp (du moins dans mon cas) repère uniquement les valeurs numériques (qui seront dans mon cas toujours à la fin) et qu'il incrémente celles-ci sans faire atetntion au préfixe quelqu'il soit. Merci, si vous avez des idées... Au fait Gile ton lisp ne me convient pas car il crée un text incrémenté alors que moi je dois agir sur des attributs déjà existants.Merci quand même et beau boulot ! Salutations. [Edité le 10/10/2007 par funkkybebel]
funkkybebel Posté(e) le 12 octobre 2007 Posté(e) le 12 octobre 2007 Qunlqu'un aurait une approche, une solution ? Merci.
funkkybebel Posté(e) le 23 janvier 2008 Posté(e) le 23 janvier 2008 Bonjour,Une idée ? quelque chose d'autre ? A+
funkkybebel Posté(e) le 17 mars 2008 Posté(e) le 17 mars 2008 Tient c'est bizarre, sur mon profil n'apparait pas comme quoi j'ai été donateur. Sinon, toujours personne qui aurait une solution à mon problème ?
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