Obtener datos de secciones en autocad
Serian tan amables de orientarme, tengo que sacar datos de unas secciones que tengo en autocad, como son distancia y elevaciones, deacuerdo al eje, osea obtener distancia negativas, su elevacion, distancia positivas, y elevacion, tengo una rutina lisp, el problema es que tengo que ir seleccionando una a una cada seccion (tengo que seleccionar el punto del eje, introduciendo la elevacion que tiene el eje, el cadenamiento y por ultimo seleccionar la linea de la que necesito la informacion) y así, cada seccion y una a una, ¿la pregunta sería como podría sacar los datos sin tener que ir una a una?,
La rutina con la que cuento es la siguiente:
(DEFUN C:EPI ()
(if (= (setq cmd0 (getvar "cmdecho")) 1)
(Setvar "cmdecho" 0)
)
(COMMAND "._OSMODE" "32")
;;; Obtener los datos del eje de inicio en X y Y
(setq ini (getpoint "\n Indique el eje de inicio x=0.00 y= "
)
)
(Setq y_dato (getreal
"\n¿Cuánto es el valor en Y?: "
)
)
(Setq name (getstring
"\n¿Cuánto es el nombre del archivo?: "
)
)
;
(Setq X (car ini))
(Setq Y (cadr ini))
;;
(setq fajr (open (strcat "C:\\datos\\" name ".CSV") "w"))
;; escritura de archivo (para borrar los datos existentes)
(Close fajr)
;;;; Obtener datos de la polilinea :::::::::::
(setq capa "CVL_SECT")
;
(Setq ss (ssget (list (cons 8 capa))))
(Setq i 0
lista nil
)
;
(Setq r2 (sslength ss))
; Inicio de repeat
(Repeat (sslength ss)
(Setq info (entget (ssname ss i))
)
)
;
;;;
(setq fajr (open (strcat "C:\\datos\\" name ".CSV") "a"))
;; escritura de archivo (para guardar los datos)
; inicio de while
(while
;
(if
(/= (caar info) 10)
;/////////////////////////// True
(Progn
(setq info (cdr info))
)
;///////////////////////////// nil
(Progn
(setq nodo (cdar info))
(Setq pt1_x (car nodo))
(Setq Xreal (- pt1_x X))
(Setq pt1_y (cadr nodo))
(setq Yreal (+ (- pt1_y Y) y_dato))
;; escritura de datos
(setq h (list Xreal Yreal))
;;;
(Write-line
(strcat (rtos (car h))
","
(Rtos (last h))
)
Fajr
)
;;;
;;; (print h fajr)
; out
(Setq info (cdr info))
)
) ; fin de IF
; fin de repeat
)
;;;
(close fajr)
;;;
(Princ)
)
(prompt "\nNuevo comando EPI cargado")
;;;;;;;;;;;;;;;;;;;;;;;;;
adjunto imagen