Aller au contenu

parabole...


jon26

Messages recommandés

bien le bonjour.

 

Sur autocad 2002, apprentis novis, je n'arrive pas à tracer mon arc parabolique ! Une fonction parabole existe elle ? En pointant les points ou dictant la fonction.

 

Tous mes remerciaements de mon pont et moi.

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

Pas de commande en standard sous AutoCad

 

Un lisp trouvé sur un site allemand

 

En voici une traduction internationalisé:

; PARABEL.LSP Copyright (c) 1988, 1999 by Martin Vogel
;
; Zeichnet eine quadratische Parabel
;
; Wahlweise kann die Parabel durch drei Punkte bestimmt werden oder durch
; die Angabe von zwei Punkten und der Tangente im Startpunkt.
; Die Parabelgleichung wird im Textfenster von AutoCAD ausgegeben.


(Defun C:Parabole (/ p0 p02 p1 p12 pm xm ym pm2 t0 w a b c d n x dx tuwas)
 (SetVAR "CmdEcho" 0)
 (Initget 7)
 (Setq p0 (getpoint "\nPoint de départ: "))
 (SetQ x (Car p0))
 (Setq p1 (getpoint "\nPoint de fin: "))
 (Initget 7 "Tangente Hauteur _TAngent THickness")
 (Setq pm (getpoint "\nDéfinition par la [Tangente/Hauteur] ordinale "))
 (IF (eq pm "TAngent")
     (PROGN
       (Setq t0 (/ (sin (setq w (getangle p0 "\nDirection de la Tangente: ")))
                   (cos w)))
       (setq c (- (car p1) x))
       (setq a (/ (- (cadr p1) (* t0 c) (cadr p0)) (* c c)))
       (setq b (- t0 (* 2 a x)))
       (setq c (+ (cadr p0) (* a x x) (- (* t0 x)))))
     (PROGN
       (IF (eq pm "THickness")
             (setq pm (list (/ (+ x (car p1)) 2)
                            (+ (/ (+ (cadr p0) (cadr p1)) 2)
                               (getdist "Hauteur: ")))))
       (setq p02 (* x x))
       (setq pm2 (* (car pm) (car pm)))
       (setq p12 (* (car p1) (car p1)))
       (setq D
        (- (+ (* p02 (car pm)) (* x p12) (* pm2 (car p1)))
           (+ (* p12 (car pm)) (* (car p1) p02) (* pm2 x))))
        (setq a  (/ (- (+ (* (cadr p0) (car pm))
                          (* x (cadr p1))
                          (* (cadr pm) (car p1)))
                       (+ (* (cadr p1) (car pm))
                          (* (car p1) (cadr p0))
                          (* (cadr pm) x)))
                    D))
        (setq b  (/ (- (+ (* p02 (cadr pm))
                          (* (cadr p0) p12)
                          (* pm2 (cadr p1)))
                       (+ (* p12 (cadr pm))
                          (* (cadr p1) p02)
                          (* pm2 (cadr p0))))
                    D))
        (setq c  (/ (- (+ (* p02 (car pm) (cadr p1))
                          (* (car p0) (cadr pm) p12)
                          (* (cadr p0) pm2 (car p1)))
                       (+ (* p12 (car pm) (cadr p0))
                          (* (car p1) (cadr pm) p02)
                          (* (cadr p1) pm2 (car p0))))
                  D))))
 (Write-Line (StrCat "\nEquation de la Parabole: " (rtos a 2) "*x^2 + "
                     (rtos b 2) "*x + " (rtos c 2)))
 (InitGet 7)
 (Setq n (GetInt "\nNombre de segments: "))
 (setq dx (/ (- (car p1) x) n))
 (Setq tuwas '(Command "_.PLINE" p0))
 (Repeat n (SetQ tuwas
           (Append Tuwas
                   (List(List 'Quote
                              (List (SetQ x (+ x dx))
                                    (+ (* a x x) (* b x) c)))))))
 (SetQ Tuwas (Append Tuwas '("")))
 (Eval Tuwas)
 (Command "_.PEDIT" "_Last" "_Fit" "_exit")
 (princ)
)

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

Magnifique !

Ca m'a donné l'ocasion de me plonger dans l"autoLISP" !

Le programeur utilise plusieurs segments mis bouts à bouts pour faire la parabole.

Mais je trouve fou que cette fonction ne soit pas inclue dans le menu !

 

Merci bien

 

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é