(defun C:MD_FLAGL (/ EINZEL GESAMT MD_IN MD_ZAEHLER SS START STARTP T_2) (setq SS (ssget '((0 . "*POLYLINE"))) MD_ZAEHLER 0 GESAMT 0 ) ;_ end setq (if (not SS) (princ (strcat "\nKein Polylinien gefunden.")) ;;ELSE;; (progn (while (setq T_2 (ssname SS 0)) (setq MD_IN (cdr (assoc 10 (entget T_2))) STARTP MD_IN ) ;_ end setq (command "_.area" "_o") (command T_2) ;;Remove this member;; (princ MD_ZAEHLER) (setq SS (ssdel T_2 SS) MD_ZAEHLER (1+ MD_ZAEHLER) EINZEL (atof (rtos (getvar "area") 2 2)) GESAMT (+ GESAMT EINZEL) ) ;_ end setq ) ;ende while (setq GESAMT (rtos (/ GESAMT 1.0) 2 2)) ;; Hier wird der berechnete Wert nochmal durch 1 geteilt, wg: ;; "logischerweise habe ich daher immer 1x zuviel." (princ "\n") (princ (strcat "\n*****Gesamtfläche: " GESAMT) ) ;_ end princ (terpri) (setq START (getpoint "Einfügepunkt:")) ;_ end setq (command "_text" START "1" "0" GESAMT) ) ;_ end progn ) ;_ end if (princ) )