Aller au contenu

Cumul Des chiffres


Messages recommandés

Posté(e)

Bonjour à tous

Je 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 ensuite

positionner le résultat.

Posté(e)

 

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

Posté(e)

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]

Posté(e)

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

Posté(e)

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]

Posté(e)

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

Posté(e)

Je suis tout a fait satisfait

Peut-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]

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité