Adam_x Opublikowano 20 Stycznia 2021 Zgłoś Udostępnij Opublikowano 20 Stycznia 2021 Witam Ostatnio stworzyłem program do obracania dowolnego bloku o 90 stopni. po uruchomieniu w ZWCAD wybieramy blok, blok jest kopiowany, następnie po wciśnięciu prawego przycisku myszy jest obracany o 90 stopni i można wkleić (razem z blokiem źródłowym po wciśnięciu esc obrót bloku źródłowego wraca do stanu pierwotnego) wstępnie wszystko działa jak należy, lecz jest jedno ale : jak wciskam prawy przycisk myszy, a wskaźnik pozostaje nieruchomo to obraz bloku jest niewidoczny. Dopiero minimalny ruch myszy pokazuje blok w miejscu wskaźnika myszy. Jeżeli ktoś ma pomysł dlaczego tak się dzieje proszę o podpowiedź, ewentualnie jak to zmodyfikować by blok był zawsze widoczny. poniżej kod programu lub w załączniku : (defun c:xxx () (setq temperr *error*) (setq *error* trap) (setq ssetBlockSource(ssget "_:S:E" '((0 . "INSERT")))) (setq punktsrod (vlax-safearray->list (vlax-variant-value (vla-get-InsertionPoint (vlax-ename->vla-object (ssname ssetBlockSource 0)))))) (setq blok(entget(ssname ssetBlockSource 0))) (setq rotacja1(/ (* 180 (cdr(assoc 50 blok))) pi)) (setq currInsertionPoint(trans punktsrod 0 1 nil)) (while (= 1 1) (setq info(getvar 'lastprompt)) (cond ((= info "Polecenie: ") (progn (command "" "_rotate" ssetBlockSource "" currInsertionPoint -90 "") (command "" "_copy" ssetBlockSource "" "w" currInsertionPoint "@" "c") ) ) ((/= info "Polecenie: ") (progn (command "" "_copy" ssetBlockSource "" "w" currInsertionPoint "@" "c" pause "") ) ) ) ) ) (defun trap (errmsg) (setq *error* temperr) (setq blok(entget(ssname ssetBlockSource 0))) (setq rotacja2(/ (* 180 (cdr(assoc 50 blok))) pi)) (setq rotacja(rtos (- rotacja1 rotacja2) 2 2)) (command "_rotate" ssetBlockSource "" currInsertionPoint rotacja "") (princ) ) LISP_1.lsp Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dmatusz3 Opublikowano 20 Stycznia 2021 Zgłoś Udostępnij Opublikowano 20 Stycznia 2021 Wydaje mi się, że pod kursorem niczego nie ma, bo po naciśnięciu klawisza Enter wykonuje się kopiowania w innej części rysunku. Natomiast po ruchu myszką wraca podgląd. Proszę oddalić rysunek i spróbować. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kojacek Opublikowano 20 Stycznia 2021 Zgłoś Udostępnij Opublikowano 20 Stycznia 2021 Co to za konstrukcja ???: (while (= 1 1) Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Adam_x Opublikowano 21 Stycznia 2021 Autor Zgłoś Udostępnij Opublikowano 21 Stycznia 2021 10 godzin temu, kojacek napisał: Co to za konstrukcja ???: (while (= 1 1) hmm Program ma wykonywać pętle, a jedyny sposób na wyjście z pętli jest klawisz ESC czyli program wchodzi w *error* Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Adam_x Opublikowano 21 Stycznia 2021 Autor Zgłoś Udostępnij Opublikowano 21 Stycznia 2021 Napisano 20 godzin temu "Wydaje mi się, że pod kursorem niczego nie ma, bo po naciśnięciu klawisza Enter wykonuje się kopiowania w innej części rysunku. Natomiast po ruchu myszką wraca podgląd. Proszę oddalić rysunek i spróbować." a to dziwne ponieważ u mnie niczego nie kopiuje (dodatkowo) w innej części rysunku, klawisz enter obraca tylko blok źródłowy to wszystko. Jak coś mam wersję z 2019r. ZWCADA, może przez to, że ma Pan włączone śledzenie biegunowe, śledzenie lokalizacji lub coś innego ?. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kojacek Opublikowano 25 Stycznia 2021 Zgłoś Udostępnij Opublikowano 25 Stycznia 2021 Dnia 21.01.2021 o 08:38, Adam_x napisał: hmm Program ma wykonywać pętle, a jedyny sposób na wyjście z pętli jest klawisz ESC czyli program wchodzi w *error* Przyznam że nie rozumiem idei tegoż, jak też i zamysłu całości. Po co tak obrac bloki? Ale się nie znam pewnie. Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kojacek Opublikowano 30 Stycznia 2021 Zgłoś Udostępnij Opublikowano 30 Stycznia 2021 Dnia 25.01.2021 o 09:36, kojacek napisał: Przyznam że nie rozumiem idei tegoż, jak też i zamysłu całości. Po co tak obrac bloki? Ale się nie znam pewnie. Tak nieco inaczej podchodząc do tematu: https://kojacek.wordpress.com/2021/01/30/lisp-a-klawisze/ Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Adam_x Opublikowano 1 Lutego 2021 Autor Zgłoś Udostępnij Opublikowano 1 Lutego 2021 Dnia 30.01.2021 o 22:11, kojacek napisał: Tak nieco inaczej podchodząc do tematu: https://kojacek.wordpress.com/2021/01/30/lisp-a-klawisze/ Witam jak mam wstawić ze 100 gniazdek elektrycznych i wystarczy tylko obrót 90 stopni to chyba wolę jednak moją wersję . nawet jakby zmienić na obrót 90 w tej wersji to pozostaje jeszcze kwestia wygody ja wolę myszką kliknąć Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.