Chris24 Posté(e) le 18 avril 2009 Posté(e) le 18 avril 2009 Bonjour à tousJe voudrais trouver un lisp, permettant de pouvoir cumuler des chiffres,Pouvoir sélectionner le premier chiffre, ensuite un deuxième chiffre voir un troisième, et ensuitepositionner le résultat.
lecrabe Posté(e) le 18 avril 2009 Posté(e) le 18 avril 2009 Hello Désires tu un Lisp qui fasse la somme de N objets Textes de type numérique ? Le Decapode Autodesk Expert Elite Team
lecrabe Posté(e) le 18 avril 2009 Posté(e) le 18 avril 2009 Hello 2 Je ne vais pas rester longtemps sur le forum ce soir, donc je te donne le programme en question en espérant qu'il corresponde à tes besoins !? ;; Routine TOT_TXT.LSP ;; Fonctionne en principe sur les TEXT & MTEXT de type numerique (defun c:tot_txt(/ doc sel tot) (vl-load-com) (setq tot 0 doc (vla-get-activedocument (vlax-get-acad-object))) (if (ssget (list (cons 0 "TEXT,MTEXT"))) (progn (vlax-map-collection (setq sel (vla-get-activeselectionset doc)) '(lambda (x) (setq tot (+ (atof (vla-get-textstring x)) tot)))) (vla-delete sel) (princ (strcat "\nLe total est de " (rtos tot))) ) ) (princ) ) Le Decapode Autodesk Expert Elite Team
Chris24 Posté(e) le 18 avril 2009 Auteur Posté(e) le 18 avril 2009 Cela me convient beaucoup, et je te remerci pour ton aide.Il y aurait encore une petite chose que je souhaité, c'est que le résultat puisse être positionnépar l'utilisateur par un point, en ayant comme phrase sur la ligne de commande AutoCAD: "Positionner le résultat". Et au lieu d'avoir "Choix des objets" , j'aurait préféré "Sélectionner les texte" Encors merci pour ton aide.@+ [Edité le 18/4/2009 par Chris24]
(gile) Posté(e) le 18 avril 2009 Posté(e) le 18 avril 2009 Salut, "Choix des objets" est l'invite de la fonction LISP ssget, on ne peut la supprimer (pour la remplacer) qu'en modifiant la valeur de la variable système NOMUTT qui supprime l'affichage des message et il est préférable de ne pas la modifier. J'ai donc juste ajouté "Sélectionnez lez textes" avant l'invite "Choix des objets". ;; Routine TOT_TXT.LSP ;; Fonctionne en principe sur les TEXT & MTEXT de type numerique (defun c:tot_txt (/ doc sel tot pt) (vl-load-com) (setq tot 0 doc (vla-get-activedocument (vlax-get-acad-object)) ) (princ "\nSélectionnez les textes") (if (ssget (list (cons 0 "TEXT,MTEXT"))) (progn (vlax-map-collection (setq sel (vla-get-activeselectionset doc)) '(lambda (x) (setq tot (+ (atof (vla-get-textstring x)) tot)) ) ) (vla-delete sel) (if (setq pt (getpoint "\nPositionnez le résultat: ")) (vla-addText (vla-get-ModelSpace doc) (rtos tot) (vlax-3d-point pt) (getvar "TEXTSIZE") ) ) ) ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Chris24 Posté(e) le 19 avril 2009 Auteur Posté(e) le 19 avril 2009 Cela me convient trés bien, je suis tout a fait satisfait du résultat,Je tien a vous remercier a tous les deux.Encore merçi. @+ Chris24 PS: peut-on rajouter un texte comme l/s ou m³/h ou autres aprés le résultat. [Edité le 19/4/2009 par Chris24]
(gile) Posté(e) le 19 avril 2009 Posté(e) le 19 avril 2009 Salut, Ajout d'une nouvelle invite : "Entrez le suffixe: " ;; Routine TOT_TXT.LSP ;; Fonctionne en principe sur les TEXT & MTEXT de type numerique (defun c:tot_txt (/ doc sel tot pt) (vl-load-com) (setq tot 0 doc (vla-get-activedocument (vlax-get-acad-object)) ) (princ "\nSélectionnez les textes") (if (ssget (list (cons 0 "TEXT,MTEXT"))) (progn (setq suf (getstring T "\nEntrez le suffixe: ")) (vlax-map-collection (setq sel (vla-get-activeselectionset doc)) '(lambda (x) (setq tot (+ (atof (vla-get-textstring x)) tot)) ) ) (vla-delete sel) (if (setq pt (getpoint "\nPositionnez le résultat: ")) (vla-addText (vla-get-ModelSpace doc) (strcat (rtos tot) " "suf) (vlax-3d-point pt) (getvar "TEXTSIZE") ) ) ) ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Chris24 Posté(e) le 19 avril 2009 Auteur Posté(e) le 19 avril 2009 Je suis tout a fait satisfaitPeut-on ajouter deux paramètres supplémentaire, donc avoir le même style de texte avec la même hauteur que le texte sélectionné, et si possible son orientation.Encore merçi. ;) @+ Chris24 [Edité le 23/4/2009 par Chris24]
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