;; dessine un cercle sur le point de départ de la ligne ;; diamètre egal à la longueur de la ligne (defun c:dc (/ lstdxf r pt1 pt2) (princ "\n sélectionnez la ligne ") (setq sl (ssget '((0 . "LINE"))) ; utilisation d'un filtre de sélection pour etre sur de ne prendre que la ligne r 0 ) (setq lstdxf (entget (ssname sl 0))) ; création de la liste dxf de la ligne. on imbrique ssname dans entget pour récupérer la 1ere entité du jeu de sélection (setq pt1 (cdr (assoc 10 lstdxf)) ; avec cdr on retire le 1er élement de la liste renvoyer pas assoc pt2 (cdr (assoc 11 lstdxf)) r (distance pt1 pt2) ) (setq listecercle (list '(0 . "CIRCLE") (assoc 10 lstdxf) ; on repart de assoc car cette fois on a besoin du code 10 cans la liste (cons 40 r) ; construction de la liste pointé avec le code 40 pour le rayon ) ) (entmake listecercle) ; création de l'entité (princ) ) ;fin dc