ssget - filtry - jak zapisać?


gruzin

Rekomendowane odpowiedzi

Mam problem z zapisam filtrów w w funkcji ssget

(setq listawarstw
     (list 
        "IS_PB_WL"
        "IS_PB_WZ+WC"
     );list
);setq

(foreach % listawarstw

(setq   linie (ssget "x" '((0 . "LINE")(8 . %))) 

);setq

prubuję z tym % na różne sposobu i nie wiem jak powinno być poprawnie (8 . %) (8 . "%") nie działa, kombinacje z strcat też nie. Co robie nie tak?

Odnośnik do komentarza
Udostępnij na innych stronach

Jeden problem to jest taki, że konstrukcja ( 0 . "LINE") jest OK, bo "LINE" to jest stała. Jeśli chce Pan użyć zmiennej np % taka konstrukcja nie jest możliwa. trzeba w tym przypadku zamiast (0 . %) użyć (cons 0 %)

Jeśli na tych elementach trzeba zrobić te same operacje można zrobić filtr wybierający elementy z dwu warstw. Filtr wówczas jest trochę bardziej skomplikowany, ale jednym wywołaniem funkcji mamy lepszy efekt. Dzięki temu wywołanie funkcji działa szybciej.

Trzeba by to zrobić jakoś tak:

(setq sel1 (ssget '((0 . "LINE") (-4 . ""))))

Pisane z głowy (czyli z niczego) więc mogło mi się zapomnieć jakiś nawias zamknąć, ale koncepcja jakoś tak by wyglądała

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.