i.e
Code: Select all
(defun c:pexpxl (/ en fil fname)
(setq fname (getfiled "Select Excell file" "" "xls" 1))
(setq fil (open fname "w"))
(write-line "Object\tPerimeter" fil)
(foreach en (pxl:getlength)
(write-line (strcat (car en) "\t" (rtos (cdr en) 2 12)) fil)
)
(close fil)
(princ "\ndone")
(princ)
)
(defun pxl:getlength ( / c elist ename retlist s)
(setq retlist '())
(setq s (ssget '((0 . "CIRCLE,*POLYLINE,ELLIPSE,REGION,SPLINE,LINE,ARC"))))
(setvar "CMDECHO" 0)
(if s
(progn
(setq c 0)
(while (< c (sslength s))
(setq elist (entget (ssname s c))
ename (cdr (assoc 0 elist))
)
(command "_AREA" "_Object" (cdr (car elist)))
(setq retlist (cons (cons ename (getvar "PERIMETER")) retlist))
(setq c (1+ c))
)
)
)
retlist