Aller au contenu

conversion référence de bloc en texte


Messages recommandés

Posté(e)

bonjour

je cherche désespérément à convertir des références de bloc (contenant uniquement du texte) tout en gardant mon texte en entier et non pas un objet par lettre?

par exemple j'ai une référence de bloc: 28 lorsque j'utilise la fonction décomposer il me le transforme en 2 et en 8 alors que moi je souhaiterai avoir le texte 28

merci d'avance

Anthony

Posté(e)

 

Hello

 

No comprendo ! :o

 

Tu as un bloc sans aucun graphique

mais peut etre avec 2 attributs contenant par exemple "2" et "8" !?

 

Ou bien ton bloc contient simplement par exemple le texte "28" ?

 

Le Decapode

 

Autodesk Expert Elite Team

Posté(e)

pour être plus précis mon bloc contient uniquement 28 et je souhaite le transformer en texte 28 et non texte 2 et texte 8

j'ai essayé la commande burst mais ça me donne le même résultat que décomposer

Anthony

Posté(e)

Il faut concaténer les valeurs récupérées par un lisp car ton 2 et ton 8 sont déjà séparés à l'intérieur du bloc !

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

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

(defun c:xplo( / sel entdep val ed)
 (setq sel(ssget "_:S" '((0 . "INSERT"))))
 (setq entdep(entlast))
 (command "_explode" sel)
 (setq ed(entget(setq entdep(entnext entdep))))
 (setq val(strcat(cdr(assoc 1 ed))(cdr(assoc 1(entget(entnext entdep))))))
 (setq ed(subst (cons 1 val)(assoc 1(entget entdep))ed))
 (entmod ed)
 (entdel (entnext entdep))
 (princ)
 )

 

Bonne chance !

Si ce que je devine et ce que tu dis est exact et compréhensible, ce code à l'ancienne fonctionnera.

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

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

j 'ai testé cette commande mais j'obtiens le message d'erreur suivant

Commande: ; erreur: type d'argument incorrect: lentityp nil

je ne suis pas sur du fonctionnement de la commnade

je copie les lignes de code dans la fenetre commande et ensuite je tape xplo dans commande

c'est bien ça?

Posté(e)

Encore une demande mal formulée !?

 

mon bloc contient uniquement 28

 

Il contient aussi un cercle.

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

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

(defun c:xplo( / sel entdep val ed)
 (setq sel(ssget "_:S" '((0 . "INSERT"))))
 (setq entdep(entlast))
 (command "_explode" sel)
 (while(and entdep(/=(cdr(assoc 0(entget(entnext entdep))))"TEXT"))(setq entdep(entnext entdep)))
 (if entdep
   (progn(setq ed(entget(setq entdep(entnext entdep))))
     (setq val(strcat(cdr(assoc 1 ed))(cdr(assoc 1(entget(entnext entdep))))))
     (setq ed(subst (cons 1 val)(assoc 1(entget entdep))ed))
     (entmod ed)
     (entdel (entnext entdep))))
 (princ)
 ) 

 

Attention, va planter s'il n'y a qu'un chiffre dans le bloc. Ou que les textes ne se suivraient pas dans la définition.

 

Sans danger pour AutoCAD mais ne le faire que sur un fichier ouvert à sauvegarder régulièrement.

 

Pas le temps de faire une routine protégée.

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é