anthony07 Posté(e) le 26 janvier 2010 Posté(e) le 26 janvier 2010 bonjourje 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'avanceAnthony
lecrabe Posté(e) le 26 janvier 2010 Posté(e) le 26 janvier 2010 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
lesourd2 Posté(e) le 26 janvier 2010 Posté(e) le 26 janvier 2010 Salut, J'espere avoir compris Commande BURST @+
anthony07 Posté(e) le 26 janvier 2010 Auteur Posté(e) le 26 janvier 2010 pour être plus précis mon bloc contient uniquement 28 et je souhaite le transformer en texte 28 et non texte 2 et texte 8j'ai essayé la commande burst mais ça me donne le même résultat que décomposerAnthony
Tramber Posté(e) le 26 janvier 2010 Posté(e) le 26 janvier 2010 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 ./__\. (.°=°.)
anthony07 Posté(e) le 26 janvier 2010 Auteur Posté(e) le 26 janvier 2010 et pour faire cette concaténation je procède comment?Anthony
Tramber Posté(e) le 26 janvier 2010 Posté(e) le 26 janvier 2010 (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 ./__\. (.°=°.)
anthony07 Posté(e) le 26 janvier 2010 Auteur Posté(e) le 26 janvier 2010 j 'ai testé cette commande mais j'obtiens le message d'erreur suivantCommande: ; erreur: type d'argument incorrect: lentityp nilje ne suis pas sur du fonctionnement de la commnadeje copie les lignes de code dans la fenetre commande et ensuite je tape xplo dans commandec'est bien ça?
Tramber Posté(e) le 26 janvier 2010 Posté(e) le 26 janvier 2010 Mets ton fichier en ligne STP.dl.free.fr Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
anthony07 Posté(e) le 26 janvier 2010 Auteur Posté(e) le 26 janvier 2010 voilà le lien de téléchargement:http://dl.free.fr/vSxUqFkv1la couche concerné est là 55 et 57anthony
Tramber Posté(e) le 26 janvier 2010 Posté(e) le 26 janvier 2010 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 ./__\. (.°=°.)
Tramber Posté(e) le 26 janvier 2010 Posté(e) le 26 janvier 2010 (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 ./__\. (.°=°.)
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