; Lisp-Programm zum Absetzen eines Textes für %-Angabe ; 17.08.2000 Lieske (defun c:prozent ( / ech sli li x1 x2 y1 y2 proz sel el) (setq ech (getvar "CMDECHO")) (setvar "CMDECHO" 0) (princ "\n ") (princ "\n Angabe über %-Neigung einer Linie") (princ "\n Wert durch Ersetzen eines vorhandenen Textes absetzen") (princ "\n von tgl am 17.08.2000") (princ "\n ") (setq ;Linie wählen: sli (entsel "\n Linie picken... ") ; Element und Pickpunkt li (entget (car sli)) ; Element (Linie) ;Koordinaten der Punkte filtern (da Winkelauswahl 50 nicht möglich) x1 (car (cdr (assoc 10 li))) y1 (cadr (cdr (assoc 10 li))) x2 (car (cdr (assoc 11 li))) y2 (cadr (cdr (assoc 11 li))) ;Berechnung %-Wert und Umwandlung in Format XX.X und Anhang "%" proz (abs (* (/ (- y1 y2) (- x1 x2)) 100)) proz (rtos proz 2 2) proz (strcat proz "%") ;Dummy-Text wählen: sel (entsel "\n vorhandenen Text picken... ") ; Element und Pickpunkt el (entget (car sel)) ; Element (Text) ;Dummy-Text durch Wert (berechnet) ersetzen: el (subst (cons 1 proz) (assoc 1 el) el) ) ;of setq (entmod el) ;Dummy-Text schreiben (princ proz) (setvar "CMDECHO" ech) (prin1) ) ;end.