jeanmi66 Posté(e) le 17 novembre 2008 Partager Posté(e) le 17 novembre 2008 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 clavier4- 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 More sharing options...
bonuscad Posté(e) le 17 novembre 2008 Partager Posté(e) le 17 novembre 2008 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 More sharing options...
jeanmi66 Posté(e) le 17 novembre 2008 Auteur Partager Posté(e) le 17 novembre 2008 Pffffffff, j'suis bidon, tellement c'est simple !!!! Faut vraiment que je me mette au LISP, avec pas grand chose, on peut gagner beaucoup de temps !!!!! Merci beaucoup BONUSCAD pour ton aide !!!! :) 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