Aller au contenu

Opération sur texte


jeanmi66

Messages recommandés

Bonjour,

j'ai encore besoin de vos lumière...

 

Voilà pratiquement, j'ai un plan énorme avec des regards relevés par un géomètre. A côté de chaque regard figure deux textes : le premier donne le Z tampon, le second donne le Z du radier.

 

Je dois modifier tous les textes radier avec des profondeurs que l'on vient de me donner sur un papier.

 

Serait-il possible sur une routine de faire la chose suivante:

1- sélection de l'alti du tampon en cliquant sur le point 3D correspondant (ça je sais faire, j'ai un lisp pour ça)

2- un texte dans la ligne de commande me demande "Quelle est la profondeur entre tampon et radier ?"

3- j'entre la profondeur au clavier

4- un texte dans la ligne de commande me demande "Veuillez sélectionner le texte à modifier"

5- je sélectionne le texte et la soustraction est faite en modifiant le texte

 

Merci, pour 1- c'est bon j'ai besoin d'aide pour la suite; voici le lisp pour obtenir la variable altimétrique du point 3D, mais je pense que tout le monde doit l'avoir, il est courant...

 

;;; Copie la coordonnée Z d'un point sur 1 entité texte existante

(defun C:XZ (/ pt text1 elst1)

(and ;_ la routine s'arrête si une des expressions suivante retourne nil

;; choisir un point
(setq pt (getpoint "\nSpécifiez un point: "))

;; sélectionner le texte "Z"
(setq text1 (car (entsel "\nSélectionnez le texte pour la coordonnée Z: ")))

;; liste des données dxf de l'objet sélectionné
(setq elst1 (entget text1))

;; vérifier qu'il s'agit bien d'un texte (ou mtexte)
(wcmatch (cdr (assoc 0 elst1)) "*TEXT")

;; modifier la valeur du texte
(entmod (subst (cons 1 (rtos (caddr pt)))
(assoc 1 elst1)
elst1
)
)


)
(princ)
)

(princ "COPY COORD Z chargé. Entrer XZ pour lancer la commande.")
(princ)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Rapidement en changeant

 

;; modifier la valeur du texte

(entmod (subst (cons 1 (rtos (caddr pt)))

(assoc 1 elst1)

elst1

)

)

 

en:

 

;; modifier la valeur du texte

(entmod (subst (cons 1 (rtos (- (caddr pt) (getdist "\nEntrez la profondeur: "))))

(assoc 1 elst1)

elst1

)

)

 

 

 

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

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é