Aller au contenu

Messages recommandés

Posté(e)

Besoin rapide et urgent !

 

"{\\fBiondi|b0|i0|c0|p2;\\W1.5;1}"

 

Voilà un exemple de textstring dont j'ai besoin d'extraire, s'il existe, uniquement le code W1.5 (facteur de largeur).

 

Fatigué comme je suis à cette heure, je n'y arrive plus.... je me bats un peu avec vl-string-search "\\W" et j'y suis presque mais je ne suis pas contre un petit coup de pouce !

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Coucou

 

je fais ce genre de test mais pas en visual

 

(setq tempo "{\\fBiondi|b0|i0|c0|p2;\\W1.5;1}" )
(setq n 1)
(setq test (substr tempo n 2))

(while (/= "\\W" test)
 (setq n (1+ n))
 (setq test (substr tempo n 2))
)
(setq valeur (substr temp ( + 2 n) 3))  

 

tu en fais ce que tu veux...

 

amicalement

Posté(e)

hello tramber didier

 

 

dans ce LISp ( désole je ne sais plus qui l'a ecrit )

tu dois pourvoir avoir la solution pour recuperer le text du "MTEXT'

 

c'est le "STR"

 

a+

 

phil

 

 (defun C:MTXT0 (
	;;;/ SS N TXT E_LST STR START END LST
	)
  (while (not (setq SS (ssget '((0 . "MTEXT"))))))
  (repeat (setq N (sslength SS))
     (setq TXT	  (ssname SS (setq N (1- N)))
    E_LST (entget TXT)
    STR	  (apply 'strcat
		 (mapcar 'cdr (append (vl-remove-if-not '(lambda (X) (= (car X) 3)) E_LST) (list (assoc 1 E_LST))))
	  )
     )
     (while (setq START (vl-string-search "{\\" STR))
 (setq STR (vl-string-subst "" "{" (vl-string-subst "" "}" STR START) START))
     )
     (setq START 0)
     (while (setq START (vl-string-search "\\" STR START))
 (cond ((= "\\P" (substr STR (1+ START) 2))
	(setq START (1+ START)
	      END   (1+ START)
	)
       )
       ((= "\\L" (substr STR (1+ START) 2)) (setq END (+ (vl-string-search "L" STR START) 2)))
       ((= "\\l" (substr STR (1+ START) 2)) (setq END (+ (vl-string-search "l" STR START) 2)))
       (t (setq END (+ (vl-string-search ";" STR START) 2)))
 )
 (setq STR (vl-string-subst "" (substr STR (1+ START) (- END START 1)) STR))
     )
     (setq LST NIL)
     (if (< 250 (strlen STR))
 (progn	(while (< 249 (strlen STR))
	   (setq LST (cons (cons 3 (substr STR 1 250)) LST)
		 STR (substr STR 251)
	   )
	)
	(setq LST (reverse (cons (cons 1 STR) LST)))
 )
 (setq LST (cons (cons 1 STR) LST))
     )
     (setq E_LST (append (vl-remove-if '(lambda (X) (or (= (car X) 3) (= (car X) 1))) E_LST) LST))
     (entmod E_LST)
  )
  (princ)
)

 

 

 

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Posté(e)

Salut,

 

J'arrive peut-être un peu trop tard...

(if (setq pos (vl-string-search "\\W" str))
 (substr str (+ 2 pos) (- (vl-string-search ";" str pos) pos 1))
)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Pas mal les gars !

 

mon

(if(vl-string-search "\\W" index)
 (progn
 (setq adroite(substr index(+ (vl-string-search "W" index) 2)))
 (setq facteur(atof(vl-string-right-trim (substr adroite(+ (vl-string-search ";" adroite) 1)) adroite))).....

 

est un peu lourd :cool:

 

Merci

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)

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é