mujjji Posté(e) le 1 juin 2006 Posté(e) le 1 juin 2006 bonjour a tous Je voudrais apres avoir selectionné dans mon dessin les textes de couleur 12 , pouvoir insérer sur ceux-ci un bloc que j'ai creé.Est ce possible si oui quelle est la marche a suivre.Merci d'avance Mujjji
winfield Posté(e) le 1 juin 2006 Posté(e) le 1 juin 2006 Comme ça, je dirais que c'est pas possible, à par passer par une routine. Nous n’ héritons pas de la terre de nos ancêtres.Nous l’empruntons à nos enfants.
(gile) Posté(e) le 1 juin 2006 Posté(e) le 1 juin 2006 Salut, Juste une ligne de LISP à copier/coller sur la ligne de commande. (command "_.-block" "MonBloc" '(0.0 0.0 0.0) (ssget "_X" '((0 . "*TEXT") (62 . 12))) "") Tu peux remplacer "MonBloc" par n'importe quel autre nom pourvu que tu le mettes entre guillemets. Tu peux remplacer '(0.0 0.0 0.0) par le point d'insertion que tu veux (respecte toujours la syntaxe : apostrophe, parenthèse ouvrante, X, espace, Y, espace, Z, espace, parenthèse fermante). Telle quelle la routine sélectionne tous les types de texte (textes simples et textes multilignes, pour ne sélectionner que les textes simples remplace "*TEXT" par "TEXT" ou "MTEXT" pour les textes multilignes uniquement. NOTA : seuls les textes sur de calques dévérouillés seront sélectionnés, il faut se mettre dans le SCG avant d lancer la routine. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
esbe Posté(e) le 2 juin 2006 Posté(e) le 2 juin 2006 Hello Je crois que Mujji voulait que son bloc soit inseré automatiquement au dessus de tous ses textes existant J 'ai essaye mais j 'ai message d'erreur mais j'suis vraiment pas douée ;) Bonne journée
bonuscad Posté(e) le 2 juin 2006 Posté(e) le 2 juin 2006 Maintenant que Esbe à reformulé la question, plutôt ceci: ((lambda ( / ) (setq js (ssget "_X" '((0 . "TEXT") (62 . 12))) n -1) (cond (js (while (null (tblsearch "BLOCK" (setq name_blk (getstring T "\nNom du bloc à inserer?: "))))) (repeat (sslength js) (setq p_ins (trans (cdr (assoc 10 (entget (setq ent (ssname js (setq n (1+ n))))))) ent 1)) (command "_.-insert" name_blk p_ins 1.0 1.0 0.0) ) (initget "Oui Non") (if (eq (getkword "\nEffacer les texte [Oui/Non] < Non > : ") "Oui") (command "_.erase" js "") ) ) ) )) Ceci pour un bloc sans attributs inséré à l'échelle 1 et rotation 0.0Modifier la ligne (command "_.-insert" name_blk p_ins 1.0 1.0 0.0) pour tes besoins Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
mujjji Posté(e) le 2 juin 2006 Auteur Posté(e) le 2 juin 2006 je viens de voir vos reponses , vraiment sympa je teste cela tout de suite
(gile) Posté(e) le 2 juin 2006 Posté(e) le 2 juin 2006 Bravo Esbe ! J'avais mal lu la question, mais si tu t'en es aperçu, c'est que tu n'est pas la "nullisime en LISP" que tu prétend être ;) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
esbe Posté(e) le 2 juin 2006 Posté(e) le 2 juin 2006 Merci (gile) Mais, ce n 'est pas ton code que j 'ai interprete mais le premier message et le tien merci quand même :)
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