sebu38 Posté(e) le 4 mars 2010 Posté(e) le 4 mars 2010 Bonjour à Toutes et à Tous, J'ai cherché sur les forums sans rien trouver ! Un LISP qui me permette d'indiquer 2 POINTS en X Y Z et calculer la PENTE ! Exemple : J'indique le POINT N° 1 avec un Z, puis le POINT N°2 avec un Z différent Ce serait sympa en plus de la valeur de PENTE en % (sous forme texte) qu' il y ait également le symbole pour le SENS ? Seb PS : c'est Christian qui m'a obligé à poser la question... Il m'a infligé des TORTURES atroces... :(
vincentp010 Posté(e) le 4 mars 2010 Posté(e) le 4 mars 2010 Salut, j'avais fais ça il y a un certain temps déjà, à mes débuts: (defun c:pentes () (setvar "cmdecho" 0) (command "annuler" "m") (print) (princ "Extremitees de la pente:") (print) (setq p1 (getpoint "Sélectionnez le premier point :")) (print) (setq p2 (getpoint p1 "Sélectionnez le second point :")) (grdraw p1 p2 1) (setq a1 (car p1)) (setq a2 (cadr p1)) (setq a3 (caddr p1)) (setq b1 (car p2)) (setq b2 (cadr p2)) (setq b3 (caddr p2)) (setq h (- b3 a3)) (setq aa (* (- a1 b1) (- a1 b1))) (setq bb (* (- a2 b2) (- a2 b2))) (setq d (sqrt (+ aa bb))) (setq p (/ h d)) (setq p (* 100 p)) (print) (princ "Pente : ") (princ p) (princ " %") (print) ) Aide au téléchargement du cadastre dgfip-download-helper Insertion de photos géolocalisées exif https://www.dropbox.com/s/gkf6o9ac2hxen97/exifscr.zip?dl=0 Script correction BUG SPDC V2, propriétaire département 21 et 22 : https://greasyfork.org/scripts/442400-spdcv2/code/SPDCV2.user.js
(gile) Posté(e) le 4 mars 2010 Posté(e) le 4 mars 2010 Salut et bienvenue, Un truc vite fait.Tu spécifie les points à l'écran ou au clavier le texte est inséré sur le plan XY du SCG avec une orientation du premier vers le second point, justifié milieu centre, hauteur et style courants. (defun c:PenteZ (/ pt1 pt2 pente) (and (princ (strcat "\nHauteur de texte: " (rtos (getvar 'textsize)))) (not (while (not (setq pt1 (getpoint "\nPremier point : "))) (initget 7) (setvar 'textsize (getdist "\nHauteur de texte: ")) pt1 ) ) (setq pt2 (getpoint pt1 "\nDeuxième point: ")) (setq pente (* 100 (/ (- (caddr pt2) (caddr pt1)) (distance (list (car pt1) (cadr pt1)) (list (car pt2) (cadr pt2)) ) ) ) ) (entmake (list '(0 . "TEXT") '(10 0. 0. 0.) (cons 11 (trans (mapcar '(lambda (x1 x2) (/ (+ x1 x2) 2.)) pt1 pt2) 1 0 ) ) (cons 1 (if (minusp pente) (strcat (rtos (abs pente) 2 2) "% >") (strcat " ) ) (cons 40 (getvar 'textsize)) (cons 50 (+ (angle pt1 pt2) (angle '(0. 0. 0.) (getvar 'ucsxdir))) ) '(72 . 1) '(73 . 2) ) ) ) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
sebu38 Posté(e) le 4 mars 2010 Auteur Posté(e) le 4 mars 2010 Bonjour à vous! Merci de vos réponses rapides, Christian ne s'est pas trompé, ce site est très réactif!Je vais garder vos deux lisp du coup; celui de gile pour noter le plan et celui de vincent pour info pente. EXCELLENT! seb... c'est bien...
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