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

Respuesta
1

Para ello lo mejor que le puede aplicar es usar el civil 3d, el cual al momento de cubicar lo realiza de manera automática entre las secciones que usted necesite.

1 respuesta más de otro experto

Respuesta
1

Tiene que ser una a una a menos que realices un macro para la selección múltiple automática.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas