Bonjour, je suis un gros débutant en lisp et en regardant un peu partout sur le web, j'ai fait un petit prog qui me dessine des portes simple (un trait et un arc). Le principe est de définir la largeur de la porte en cliquant 2 pts et de montrer le sens d'ouverture par un point. çà fonctionne nickel, (content), mais vu que je suis un gros débutant, je souhaiterai savoir si, il n'y a pas de grosses boulettes ou un moyen de faire plus simple (surement)... Merci à vous tous, Pierre (defun cporte () ; RELEVE DES PTS ET TRANSFORMATION 2D (setq som (getpoint "\n1ere angle de la porte: ")) (setq pt1 (getpoint som "\n2eme angle de la porte: ")) (setq oldosmode (getvar "osmode")) (setvar "osmode" 0) (setq pt2 (getpoint som "\ncoté d'ouverture de la porte: ")) (setq som1 (car som) som2 (cadr som)) (setq som (list som1 som2 0)) (setq pt11 (car pt1) pt12 (cadr pt1)) (setq pt1 (list pt11 pt12 0)) ; calcul de l'angle entre pt1 et pt2 (if (not (member "geomcal.arx" (arx))) (arxload "geomcal") ) (setq langle (cal "ang(som,pt1,pt2)")) ; si la position de pt2 donne un angle > à 180 etc... (if (< langle 180) (setq anglA 0.877) (setq anglB -0.435) ) (if (> langle 180) (setq anglA -0.877) (setq anglB 0.435) ) ; (setq angl1 (angle som pt1)) (setq l (distance som pt1)) (setq ptf (polar som (angle pt1 pt2)l)) (setq angle50 (polar som (+ angl1 anglA)l)) (setq angle20 (polar som (+ angl1 anglB)l)) ; dessine le trait et l'arc (command "_line" som angle50"") (command "_arc" pt1 angle20 angle50) (setvar "osmode" oldosmode) (princ) )[Edité le 18/3/2007 par pierrevig] [Edité le 18/3/2007 par pierrevig]