Continuamos con nuestro curso de AutoCAD Visual LISP.
Esperemos disfruten de esta sesión.
Visita www.bim-civil.com/specialist
El manejo de listas es un recurso muy importante en cualquier lenguaje de programación. En esta ocasión vamos a mostrar cómo buscar un valor específico en una lista de entidad CAD, primero recorriendo la lista entera y luego empleando un método de busqueda más eficiente.
Dejamos el código mencionado acá:
;;Select poly y guardar en una variable
(setq lst (entget(car (entsel))))
;;;hacer un loop sobre la lista de entidad
;;;para extraer las listas con codigo 10
;;; OPCION 1 recorrer toda la lista
;;usando foreach
(setq result nil)
(foreach item lst
(if (equal (car item) 10)
(setq result (append result (list item)))
)
)
;;;OPCION 2 haciendo saltos en la lista con assoc
;; y usando while para detener el loop
(setq lst2 lst)
(setq result2 nil)
(while (assoc 10 lst2)
(setq result2 (cons (assoc 10 lst2) result2))
(setq lst2 (cdr (member (assoc 10 lst2) lst2)))
)
;;Avisar que terminto
(print "Fin")
(reverse result2)
Негізгі бет BIMCIVIL Curso Visual LISP AutoCAD - Sesión 03
Пікірлер: 2