Aller au contenu

Séparer des textuels numériques


fabcad
 Partager

Messages recommandés

Bonjour à tous,

 

je souhaiterais trier des textuels (textes et mtextes) par leur contenu, c'est a dire si l'objet textuel est un nombre alors le placer dans un calque autocad "NUMERIQUE" sinon placer l'objet soit dans son calque d'origine ou dans un calque "NON_NUMERIQUE".

 

Ou simplement changer la couleur en rouge des textuels numériques.

Ceci afin de faire un traitement sur un ensemble de textuels.

 

Merci,

 

Bonne journée,

 

Fabcad

 

[Edité le 8/6/2010 par fabcad]

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

La fonction distof est probablement le moyen le plus simple d'évaluer si une chaîne est constituée d'une valeur numérique valide :

 

(distof "toto") retourne nil

(distof "25 b") retourne nil

(distof "A6") retourne nil

(distof "12") retourne 12

(distof "25.4") retourne 25.4

à noter toutefois :

(distof ".1") retourne 0.1

(distof "1/4") retourne 0.25

 

donc avec un test : (if (distof (cdr (assoc 1 dxf_lst))) (entmod ...)) ça devrait fonctionner.

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

Merci Gile,

 

Voici mon code simplifiable j'imagine,

 

(defun traitement_jeu_de_selection (js /)
(setvar "cmdecho" 0)
(setq nbr (sslength js))
(setq i 0)
(while (<= i (- nbr 1))
(setq obj_acad (ssname js i))
(setq obj_vl (vlax-ename->vla-object obj_acad))
(setq obj_index (vla-get-TextString obj_vl))
(if (/= (distof obj_index) nil)
	(vla-put-color obj_vl acRed)
	(vla-put-color obj_vl acGreen)
);fin if
(vlax-release-object obj_vl)
(setq i (+ i 1))
); fin while
);fin defun
;;;------------------------------------------------------------------------
;; Fonction principale
(defun c:NUMERIQUES ()
(setvar "cmdecho" 0)
(vl-load-com)
(setq js (ssget))
(traitement_jeu_de_selection js)
(setq js nil)

(prompt "\n---Créé le 08/06/2010 Par Fabrice DEMIEL---")
nil
); fin c:NUMERIQUES
;;;------------------------------------------------------------------------
(prompt "\npour lancer Tapez : NUMERIQUES ")
(princ)

[Edité le 8/6/2010 par fabcad]

 

[Edité le 9/6/2010 par fabcad]

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
 Partager

×
×
  • Créer...