SLV Posté(e) le 17 octobre 2017 Posté(e) le 17 octobre 2017 Bonjour les experts, Svp j'ai besoin d'un code VLisp permettant de tracer dans Autocad une courbe quelconque à partir de son équation. La petite idée que j'ai c'est qu'il faudra utiliser la commande defun. Seulement, je ne parvient pas l'utiliser pour définir les arguments d'une fonction. Merci d'avance
VDH-Bruno Posté(e) le 17 octobre 2017 Posté(e) le 17 octobre 2017 Bonjour les experts, Svp j'ai besoin d'un code VLisp permettant de tracer dans Autocad une courbe quelconque à partir de son équation. La petite idée que j'ai c'est qu'il faudra utiliser la commande defun. Seulement, je ne parvient pas l'utiliser pour définir les arguments d'une fonction. Merci d'avance Bonjour, Un lien sur mes essaies en la matière --> http://cadxp.com/topic/34899-courbe-representative-d%e2%80%99une-fonction/page__view__findpost__p__189234Je m'étais essayé à écrire quelque chose de généraliste à titre d'exercice pour approfondir ma connaissance du langage, en espérant que tu puisses y trouver de l'inspiration.. Salutations Bruno Apprendre => Prendre => Rendre
SLV Posté(e) le 17 octobre 2017 Auteur Posté(e) le 17 octobre 2017 Bonjour, Un lien sur mes essaies en la matière --> http://cadxp.com/topic/34899-courbe-representative-d%e2%80%99une-fonction/page__view__findpost__p__189234Je m'étais essayé à écrire quelque chose de généraliste à titre d'exercice pour approfondir ma connaissance du langage, en espérant que tu puisses y trouver de l'inspiration.. Salutations Bruno Ok merci j'y jette un coup d'oeil
didier Posté(e) le 17 octobre 2017 Posté(e) le 17 octobre 2017 Coucou Il faudrait que tu ailles chez les cadors "inter-planétaire" du lisp pour AutoCAD :équation by The Swamp On ne joue pas tous dans la même cour... Amicalement Éternel débutant… Mon site perso : Programmer dans AutoCAD
VDH-Bruno Posté(e) le 17 octobre 2017 Posté(e) le 17 octobre 2017 Bonjour, Oui Didier, The Swamp est un bon site, par contre dans ce lien il est question de résolution d'équation ce qui n'est pas tout à fait la demande de SLV qui parle de traçage... Svp j'ai besoin d'un code VLisp permettant de tracer dans Autocad une courbe quelconque à partir de son équation. A+ Apprendre => Prendre => Rendre
SLV Posté(e) le 17 octobre 2017 Auteur Posté(e) le 17 octobre 2017 Rebonjour les gars, voici à peu près l'algo du programme que je cherche. Début Définition de la fonction "y=ax²+b" \\ on doit pouvoir l'appeler à partir de la ligne de commande Création des variables: "Spécifiez le coefficient a: " "Spécifiez le coefficient b: ")) "Spécifiez la borne inférieure de l'intervalle x1: ")) "Spécifiez la borne supérieure de l'intervalle x2: ")) "Spécifiez le pas p: ")) a (a doit être un réel) b (b doit être un réel) x1(x1 doit être un réel)x2(x2 doit être un réel) p (p doit être un réel) Tracé de la fonctionFin
VDH-Bruno Posté(e) le 17 octobre 2017 Posté(e) le 17 octobre 2017 (modifié) Rebonjour les gars, voici à peu près l'algo du programme que je cherche. Début Définition de la fonction "y=ax²+b" \\ on doit pouvoir l'appeler à partir de la ligne de commande Création des variables: "Spécifiez le coefficient a: " "Spécifiez le coefficient b: ")) "Spécifiez la borne inférieure de l'intervalle x1: ")) "Spécifiez la borne supérieure de l'intervalle x2: ")) "Spécifiez le pas p: ")) a (a doit être un réel) b (b doit être un réel) x1(x1 doit être un réel)x2(x2 doit être un réel) p (p doit être un réel) Tracé de la fonctionFin Bonjour, Pour le principe une adaptation rapide avec les routines données en lien... (defun c:courbe (/ coefa coefb x1 x2 p) (setq coefa (getreal "\nSpécifiez le coefficient a: ") coefb (getreal "\nSpécifiez le coefficient b: ") x1 (getreal "\nSpécifiez la borne inférieure de l'intervalle x1: ") x2 (getreal "\nSpécifiez la borne supérieure de l'intervalle x2: " ) p (getreal "\nSpécifiez le pas p: ") ) (command "_pline") (foreach pt (setq lpt (bv:coord x1 x2 (lambda (x) (+ x p)) (lambda (x) (+ (* coefa x x) coefb)) ) ) (command "_none" pt) ) (command "") (princ) ) Ne pas oublier de charger précédemment la fonction bv:coord ;; VDH-Bruno ;; Génère la liste de points d'une courbe représentative f(x) ;; définie sur un intervalle [a ; b] ;; Arguments: ;; a -> Limite inférieur de l'intervalle (un nombre) ;; b -> Limite supérieur de l'intervalle (un nombre) ;; e -> Ecart ou pas entre abscisses définie par une fonction ;; f -> Fonction du type y=f(x) ;; Valeur de retour: ;; Une liste de coordonnées 2D -> ((x1 y1)(x2 y2)(x3 y3)...) ;; Exemples: ;; (bv:coord 2 5 '1+ 'sqrt) ;; retourne ((2 1.41421) (3 1.73205) (4 2.0) (5 2.23607)) (defun bv:coord (a b e f) (if (>= a B) (cons (list b ((eval f) B)) nil) (cons (list a ((eval f) a)) (bv:coord ((eval e) a) b e f)))) A ta charge de sécuriser les saisies (cf: initget pour les saisie null), x1<x2 avec p>0 Edit: code corrigé suivant cette discussion --> http://cadxp.com/topic/44977-trace-dune-courbe-avec-vlisp/page__view__findpost__p__259559A+ Modifié le 18 octobre 2017 par VDH-Bruno Apprendre => Prendre => Rendre
SLV Posté(e) le 17 octobre 2017 Auteur Posté(e) le 17 octobre 2017 Merci grandement VHD. Ce que tu as m'a envoyé m'est déja assez utile. Excuse moi de t’embêter encore mais stp j'ai encore 03 soucis (en fait comme tu le constate je suis encore assez nul dans ce langage, mais bon j'apprends) : - est-il possible d'imbriquer la fonction "bv:coord" dans la fonction "courbe"? - Comment fonctionne exactement la fonction "bv:coord"? - A quoi sert la sécurisation des saisies et comment le faire?
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