Code Red => AutoLISP (Vanilla / Visual) => Topic started by: HOSNEYALAA on December 02, 2018, 04:22:21 PM
Title: Please help the members to modify the lisp
Post by: HOSNEYALAA on December 02, 2018, 04:22:21 PM
Hello all I have a code from the great friend Lee Mac
Selects several texts and gives the average AND
Draws a line between the texts and the average value Is it possible, when setting the average value, to paint a line directly?
(defun c:avg ( / a b g i l p s u COT SUM SUMM ) (SETQ SUM 0) (SETQ COT 0) (if (setq s (ssget '((0 . "MTEXT,TEXT")))) (progn (repeat (setq i (sslength s)) (setq p (assoc 10 (entget (ssname s (setq i (1- i)))))) (setq u (cons (trans (cdr p) 0 1) u)) (setq l (cons p l)) (setq SUMM (ATOF (CDR (ASSOC 1 (entget (ssname s I))))));LEVEL (setq SUM (+ SUM SUmM)) (setq COT (1+ COT)) (eval SUM) ) (SETQ MEEM (/ SUM COT)) (SETQ DDD (RTOS MEEM 2 2)) (SETQ PO (GETPOINT "\nPlease Select a Point.")) (command "-mtext" PO "w" "0" (strcat "Avg=" DDD) "" )
;;; (princ "\nSelect Point: ") (while (progn (setq g (grread t 13 2) a (car g) b (cadr g)) (cond ( (= 5 a) (redraw) (foreach x u (grdraw x b 1 1)) t ) ( (= 3 a) (if (setq s (ssget b '((0 . "MTEXT,TEXT")))) (progn (setq p (cdr (assoc 10 (entget (ssname s 0))))) (foreach x l (entmakex (list (cons 0 "LINE") x (cons 11 p)))) nil ) ;;; (princ "\nPlease Select a Point.") ) ) ) ) ) ) ) (redraw) (princ) )
Title: Re: Please help the members to modify the lisp
Post by: HasanCAD on December 04, 2018, 10:08:43 PM