Riconoscere un errore

Angelo2449

Utente Junior
Professione: Pensionato
Software: Autocad
Regione: Lombardia
#1
Salve a tutti,
ho scritto questo codice per selezionare un certo tipo di punto :
Codice:
 (while
        (= ed1 nil)
        (setq ed1 (entsel "\nSeleziona il primo Punto GPS : "))

        (if (/= ed1 nil)
            (progn
                (setq Lista1 (entget (car ed1) '("Gruppo")))
                (setq Xlist1 (assoc -3 Lista1))
                (setq TxtData1 (car (cdr Xlist1)))
                (setq ed1 (entget (car ed1)))
                (setq Txt1 (cdr (assoc 1 ed1)))
                (setq en1 (cdr (assoc -1 ed1)))
                (setq PrimoGps (cdr (assoc 10 ed1)))
                (redraw en1 3)

                (setq PrimoPuntoGps (cdr (nth 1 TxtData1)))   
                (setq TipoPunto1 (cdr (nth 2 TxtData1)))
                (setq Quota1 (cdr (nth 3 TxtData1)))
                (setq Ecef1 (cdr (nth 4 TxtData1)))
                (setq GaussBoaga1 (cdr (nth 5 TxtData1)))
                (setq ControlloStz1 (cdr (nth 6 TxtData1)))
                (setq ControlloPt1 (cdr (nth 7 TxtData1)))
            (setq CoordsGeogr1 (cdr (nth 8 TxtData1)))
            (setq CoordsETEF9891 (cdr (nth 9 TxtData1)))
            );;progn
        );;if
    
        (if (and (= ControlloPt1 "Non definito") (/= Xlist1 nil))
            (progn
            (RunApp "C:\\AutocadSupporto\\LibertyTre\\PuntoNonValido.exe " "C:\\AutoCadSupporto\\LibertyTre\\PuntoNonValido.tkn" :vlax-true)
                (redraw en1 4)
                (setq ed1 nil)
            );;progn
        );;if

        (if (= Xlist1 nil)
        (progn
            (RunApp "C:\\AutocadSupporto\\LibertyTre\\PuntoNonValidoGrafico.exe " "C:\\AutoCadSupporto\\LibertyTre\\PuntoNonValidoGrafico.tkn" :vlax-true)
                (redraw en1 4)
                (setq ed1 nil)
        );;progn
        );;if
    );;while
non riesco ad impedirne il blocco nel caso di selezione, per esempio, di un cerchio.
Vi ringrazio.
 

Cristallo

Utente Standard
Professione: Leggo e confronto
Software: Lettura critica
Regione: Fuori dalla cerchia
#2
Potresti per esempio inserire un filtro di selezione
(ssget '((0 . "POINT")))

in questo modo se l'entità non è un punto, la selezione non va proprio avanti.