bonuscad Posté(e) le 22 mars 2009 Posté(e) le 22 mars 2009 Une requête sur un forum US m'a fais développer un petit bout de code (fait rapidement) Je le poste ici au cas ou quelqu'un aurait le même besoin. Je me suis appuyé sur les formules de Saron pour établir le code. (defun ang_between (p10 p11 p20 p21 / px p1 p2 l_pt l_d p ang) (setq px (inters p10 p11 p20 p21 nil)) (cond (px (if (> (distance px p10) (distance px p11)) (setq p1 p10) (setq p1 p11)) (if (> (distance px p20) (distance px p21)) (setq p2 p20) (setq p2 p21)) (setq l_pt (list px p1 p2) l_d (mapcar 'distance l_pt (append (cdr l_pt) (list (car l_pt)))) p (/ (apply '+ l_d) 2.0) ang (* (atan (sqrt (/ (* (- p (car l_d)) (- p (caddr l_d))) (* p (- p (cadr l_d)))))) 2.0) ) ) (T nil ) ) ) (defun c:divide_saron ( / pt1 pt2 pt3 pt4 S1 ang1 ang2 x1 x2 ptx1 ptx2) (setq pt1 (getpoint "\nPremier point de la ligne de base: ")) (setq pt2 (getpoint pt1 "\nSecond point de la ligne de base: ")) (setq pt3 (getpoint pt1 "\nPoint sur le premier côté adjacent: ")) (setq pt4 (getpoint pt2 "\nPoint sur le deuxième côté adjacent: ")) (setq S1 (getreal "\nSurface désirée: ")) (setq ang1 (ang_between pt1 pt2 pt1 pt3)) (setq ang2 (ang_between pt2 pt1 pt2 pt4)) (setq ang1 (- pi ang1) ang2 (- pi ang2)) (setq x1 (* (/ (* (distance pt1 pt2) (sin ang1)) (sin (+ ang1 ang2)) ) (1- (+ ;ou peut être "-" (sqrt (1+ (/ (* 2.0 S1 (sin (+ ang1 ang2))) (* (distance pt1 pt2) (distance pt1 pt2) (sin ang1) (sin ang2)) ) ) ) ) ) ) ) (setq x2 (/ (* x1 (sin ang2)) (sin ang1))) (setq ptx1 (polar pt1 (angle pt1 pt3) x2)) (setq ptx2 (polar pt2 (angle pt2 pt4) x1)) (command "_.line" "_none" ptx1 "_none" ptx2 "") ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
capde06 Posté(e) le 23 mars 2009 Posté(e) le 23 mars 2009 ouhabravoil marche tres bien Vous fîtes ce que vous pûtes et vous m'épatâtes !!!!
lili2006 Posté(e) le 23 mars 2009 Posté(e) le 23 mars 2009 Bonsoir à toutes et tous, Du grand bonuscad, :D J'ai comparé avec les résultats donnés par Covadis et par programme calculatrice, idem ! Merci encore pour ton sens du partage,... A ce rythme, je n'aurai plus besoin d'enseigner Covadis moi ! :P Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
capde06 Posté(e) le 23 mars 2009 Posté(e) le 23 mars 2009 (command "_.line" "_none" ptx1 "_none" ptx2 "") que veux dire "_none" dans la command j'ai testé avec et sans, je n'ai pas vu de différence ou est l'interet ? Vous fîtes ce que vous pûtes et vous m'épatâtes !!!!
(gile) Posté(e) le 23 mars 2009 Posté(e) le 23 mars 2009 Salut, "_none" ou "_non" pour "aucun" désactive temporairement les accrochages aux objets. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
bonuscad Posté(e) le 23 mars 2009 Auteur Posté(e) le 23 mars 2009 Du grand bonuscad Je dirais plutôt du grand Saron Le pauvre a mal fini, mais avant de se faire couper la tête, il a malgré tout achevé ses calculs. On trouve pas grand chose sur le net (je conserve bien mes formules).Le seul document PDF que j'ai trouvé donnant quelques formules. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
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