Assgarth Opublikowano 16 Kwietnia 2012 Zgłoś Opublikowano 16 Kwietnia 2012 Witam, zauważyłem problem z użyciem funkcji vl-remove, przy wykorzystaniu usuwania punktów identycznych, za pomocą rekurencji. Dla przykładu, w załączniku podaję listę 444 punktów. Po usunięciu identycznych, ma zostać 156 punktów. Funkcja (_DelDup1 lista) zadziała prawidłowo (na czystym rysunku DWG); Funkcja (_DelDup2 lista), całkowicie zamyka ZwCAD bez komunikatów błędów itp. Obie funkcje działają prawidłowo w innych systemach CAD, z czego _DelDup2 jest w swym działaniu, zdecydowanie szybsza od _DelDup1. Funkcje (zamieszczone również w załączonym pliku): ;------------ (defun _DelDup2 (Lst) (if Lst (cons (car Lst) (_DelDup2 (vl-remove (car Lst) (cdr Lst))) ) ) ) ;------------ (defun _DelDup1 (l / % nl) (foreach % l (if (not (member % nl)) (setq nl (cons % nl))) ) (reverse nl) ) lst.zip
kruszynski Opublikowano 16 Kwietnia 2012 Zgłoś Opublikowano 16 Kwietnia 2012 Sprawdziłem Pańskie zgłoszenie. Rzeczywiście w aktualnej wersji działa jak Pan opisuje. Dobra wiadomość jest taka, że w nowej wersji problem został rozwiązany
Assgarth Opublikowano 16 Kwietnia 2012 Autor Zgłoś Opublikowano 16 Kwietnia 2012 Okey. Zatem czekamy na nową wersję ;) Tak z ciekawości jeszcze zapytam: - czy do obecnej wersji 2011.10.30(17176) przewiduje się jakiekolwiek poprawki? pozdrawiam
kruszynski Opublikowano 16 Kwietnia 2012 Zgłoś Opublikowano 16 Kwietnia 2012 Prawdopodobnie będą jakieś poprawki, ale nie mogę tego zagwarantować
dmatusz3 Opublikowano 16 Kwietnia 2012 Zgłoś Opublikowano 16 Kwietnia 2012 Aktualizacja do nowej wersji będzie darmowa dla posiadaczy 2012. Ewentualne poprawki do starej wersji pojawią się po publikacji oficjalnej wersji nowego ZWCAD 2012 (lipiec/sierpień 2012). Pozdrawiam
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się