zin29 Posté(e) le 18 novembre 2009 Partager Posté(e) le 18 novembre 2009 salut j' utilise ce lisp pour la permutation des textes et attributs et autre. Mais je commence a utiliser de plus en plus les lignes de reperes multiple . et ce lisp ne marche pas.si quelqu'un a la solution pour la permutation de textes pour les lignes de repere je suis preneur.merci ;;; Routines pour la gestion des textes.;;; Par Kamal Boutora;;; ---------- ;;;;;; fonction Text SWap, permet de permutter;;; des textes, des attributs ou des mtextes. (defun c:TSW(/ e1 e2 t1 t2 ine1 ine2) (if (and (setq e1 (nentsel "\nSelectionnez le 1er texte")) (setq e2 (nentsel "\nSelectionnez le 2eme texte"))) (progn (setq ine1 (entget (car e1)) ine2 (entget (car e2))) (setq t1 (cdr (assoc 1 ine1))) (setq t2 (cdr (assoc 1 ine2))) (if (and t1 t2) (progn (entmod (subst (cons 1 t2) (assoc 1 ine1) ine1)) (entmod (subst (cons 1 t1) (assoc 1 ine2) ine2)) (entupd (car e1)) (entupd (car e2)) ) (princ "\nErr, choisissez des textes") ) ) (princ "\nCamarade, faut bien choisir :)")) (princ)) (defun c:TCP(/ e1 e2 t1 t2 ine1 ine2) (if (and (setq e1 (nentsel "\nSelectionnez le texte source")) (setq e2 (nentsel "\nSelectionnez le texte destination"))) (progn (setq ine1 (entget (car e1)) ine2 (entget (car e2))) (setq t1 (cdr (assoc 1 ine1))) (setq t2 (cdr (assoc 1 ine2))) (if (and t1 t2) (progn (entmod (subst (cons 1 t1) (assoc 1 ine2) ine2)) (entupd (car e2)) ) (princ "\nErr, choisissez des textes") ) ) (princ "\nCamarade, faut bien choisir :)")) (princ)) ;;; Insère la dernière surface en un point spécifié par l'utilisateur.;;; surf_pfx: contient le préfixe à mettre avant la surface;;; surf_sfx: contient le suffixe.;;; Précision (nombre de décimales) selons réglages en cours. (defun c:iSSS(/ pt surf_pfx surf_sfx) (setq surf_pfx "S=") ;;; Préfixe pour les surfaces(setq surf_sfx " m2") ;;; Suffixe (if (setq pt (getpoint "\nEt on la met ou cette surface maintenant ? :")) (entmake (list (cons 0 "TEXT") (cons 10 pt) (cons 1 (strcat surf_pfx (rtos (getvar "AREA")) surf_sfx)) (cons 40 (getvar "textsize")) )) ) (princ)) ;;;; Transformations en majuscules et miniscules d'un;;;; Texte, de la valeur d'un attribut, ou de la valeur;;;; par défaut d'un ATTDEF.;;;; ------ (defun c:Minus(/ e ine );;; Sélection(if (setq e (nentsel "\nSelectionnez un texte ou un attribut")) (progn ;;; Prendre juste le nom de l'entité. (setq e (car e) ine (entget e)) ;;; Vérifier le type d'entité: (cond ((or (= (cdr (assoc 0 ine)) "TEXT") (= (cdr (assoc 0 ine)) "ATTRIB") (= (cdr (assoc 0 ine)) "ATTDEF")) (setq txt (cdr (assoc 1 ine))) (setq ine (subst (cons 1 (strcase txt 'T)) (assoc 1 ine) ine)) (entmod ine)(entupd e) ) (T (princ "\nMauvaise selection, recommencez !") ) ) ))(princ)) (defun c:Majus(/ e ine );;; Sélection(if (setq e (nentsel "\nSelectionnez un texte ou un attribut")) (progn ;;; Prendre juste le nom de l'entité. (setq e (car e) ine (entget e)) ;;; Vérifier le type d'entité: (cond ((or (= (cdr (assoc 0 ine)) "TEXT") (= (cdr (assoc 0 ine)) "ATTRIB") (= (cdr (assoc 0 ine)) "ATTDEF")) (setq txt (cdr (assoc 1 ine))) (setq ine (subst (cons 1 (strcase txt nil)) (assoc 1 ine) ine)) (entmod ine)(entupd e) ) (T (princ "\nMauvaise selection, recommencez !") ) ) ))(princ))(princ "\nUtilisez Minus pour convertir en miniscules,\n Majus pour les majuscules \nTCP pour recopier des textes \nTSW pour permuter des textes \nIS pour insérer la dernière surface que vous venez de calculer")(princ) Lien vers le commentaire Partager sur d’autres sites More sharing options...
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