;;Fehlerabfang (defun M:FEHLER (S) (print (strcat "M:fehler " S)) (command "_UNDO" "_BACK") (setq *ERROR* MD_ERR) (princ) ) ;_ end of defun (defun c:hor (/ ankathete gegenkathete hypotenuse punkt1 punkt2 winkelalpha) (princ "\n") (setq MD_ERR *ERROR* *ERROR* M:FEHLER ) ;_ end of setq ;;Marke für Zurück nach Abbruch setzen (command "_UNDO" "_MARK") (princ "\n") (setq punkt1 (getpoint "Ersten Abstandspunkt picken:")) (princ "\n") (setq punkt2 (getpoint "Zweiten Abstandspunkt picken:")) (setq pkt_X1 (car punkt1)) (setq pkt_X2 (car punkt2)) (setq pkt_Y1 (cadr punkt1)) (setq pkt_Y2 (cadr punkt2)) (setq pkt_Z1 (caddr punkt1)) (setq pkt_Z2 (caddr punkt2)) (setq X (abs (- pkt_X2 pkt_X1))) (setq Y (abs (- pkt_Y2 pkt_Y1))) (setq Z (abs (- pkt_Z2 pkt_Z1))) (SETQ A (GETVAR "USERR5")) (SETQ B (/ A 100)) (setq lage (+ (* Y Y)(* X X))) (IF (<= A 0.00001)(setq B 1)) (setq XY (* (sqrt lage) B)) (setq hypo (+ (* XY XY)(* Z Z))) (setq schräg (sqrt hypo)) (setq proz (abs (* (/ Z XY) 100))) (alert (strcat "\n------ A b s t a n d ------" "\nSchräg = "(rtos schräg 2 4) "\nHorizontal = "(rtos XY 2 4) "\n" "\n------ H ö h e n ----------" "\n1 Punkt = "(rtos pkt_Z1 2 4) "\n2 Punkt = "(rtos pkt_Z2 2 4) "\n" "\nDiff Höhe = "(rtos Z 2 4) "\n% = "(rtos proz 2 4) "\n----------------------------" "\nAlles in M. 1:1oo !" "\n" ) ; strcat ) ;_ alert )