Aller au contenu

permutter des textes avec textes repere


zin29

Messages recommandés

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

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é