swazy Opublikowano 27 Stycznia 2018 Zgłoś Opublikowano 27 Stycznia 2018 Cześć! Wiem, że tytuł nie jest zbyt profesjonalny, ale nie mam pomysłu na lepsze zsyntezowanie mojego problemu, wszelkie googlowania i kombinacje własne też mi nie pomogły. Zacząłem się bawić w pisanie LISPów do AutoCADa (robię to od bardzo niedawna na bardzo niewysokim poziomie). Mam taki fragment kodu: (setq SS (ssget "x" '( (-4 . "<OR") (-4 . "<AND") (8 . "K_*ciany *elbetowe") (-4 . "<OR") (0 . "POLYLINE") (0 . "LWPOLYLINE") (0 . "LINE") (-4 . "OR>") (-4 . "AND>") (-4 . "<AND") (8 . "K_tarcze") (-4 . "<OR") (0 . "POLYLINE") (0 . "LWPOLYLINE") (0 . "LINE") (-4 . "OR>") (-4 . "AND>") (-4 . "OR>") ) ));setq (command "move" SS "" (list 0 0 0) (list 0 -5000 0) );command Idea jest taka, żeby wybrać elementy z wyżej opisanego warunku i przesunąć to o 50m w dół (5 000 jednostek). W praktyce oprócz tych elementów KOPIUJE (nawet nie przesuwa a kopiuje) się hatch znajdujacy się pomiedzy tymi liniami (chociaż nie znajduje się na ww. warstwach). Najśmieszniejsze jest to, że kopiuje się tylko część HATCH'ów a reszta zachowuje się tak, jak moim zdaniem powinna. Dlaczego tak się dzieje? Czy da się "rozłączyć" granice kreskowania i te elementy? Pozdrawiam Mateusz Cytuj
kruszynski Opublikowano 29 Stycznia 2018 Zgłoś Opublikowano 29 Stycznia 2018 Proszę spróbować tak: (setq SS (ssget "x" '( (-4 . "<OR") (-4 . "<AND") (8 . "K_*ciany *elbetowe") (-4 . "<OR") (0 . "POLYLINE") (0 . "LWPOLYLINE") (0 . "LINE") (-4 . "OR>") (-4 . "AND>") (-4 . "<AND") (8 . "K_tarcze") (-4 . "<OR") (0 . "POLYLINE") (0 . "LWPOLYLINE") (0 . "LINE") (-4 . "OR>") (-4 . "AND>") (-4 . "OR>") ) ));setq ;(command ; "move" SS "" (list 0 0 0) (list 0 -5000 0) ;);command (setq ileelementow ( sslength SS ) ) (setq i 0 ) (repeat ileelementow ( vlax-invoke-method ( vlax-ename->vla-object ( ssname SS i ) ) 'Move ( vlax-3d-point ( list 0 0 0 ) ) ( vlax-3d-point ( list 0 -5000 0 ) ) ) ( setq i ( 1+ i ) ) ) Cytuj
swazy Opublikowano 22 Lutego 2018 Autor Zgłoś Opublikowano 22 Lutego 2018 Nie rozumiem "vlax'ów". Jadę póki co na "AutoLISP. Praktyczny kurs" Marka Dudka a tam vlax'y nie występują Poradziłem sobie rozbijając polilinie i robiąc ponownie zbiór. W każdym razie dziękuję bardzo za pomoc! P.S. A jakie jest najbardziej ortodoksyjnie łopatologiczne opracowanie, żeby ogarnąć Visual Auto Lips? Cytuj
kruszynski Opublikowano 23 Lutego 2018 Zgłoś Opublikowano 23 Lutego 2018 Nie znam takiego opracowania. Ale w Internecie znajduje się całe mnóstwo przykładów. W mojej ocenie najlepsze "biblioteki" widzy lispowej to: Lee-mac Sporo nauczyłem się też tutaj: afralisp Cytuj
Pawcyk Opublikowano 25 Lutego 2018 Zgłoś Opublikowano 25 Lutego 2018 A czy te kreskowania, które się nie odklejają, nie są zespolone z poliliniami? Cytuj
kruszynski Opublikowano 26 Lutego 2018 Zgłoś Opublikowano 26 Lutego 2018 Chyba jeszcze kawa nie zaczęła krążyć, bo nie rozumiem pytania. Cytuj
Pawcyk Opublikowano 26 Lutego 2018 Zgłoś Opublikowano 26 Lutego 2018 Kreskowanie ma możliwość zespolenia z polilinią tworzącą obwiednie. Jeżeli przesunę jeden wierzchołek takiej polilini to kreskowanie automatycznie dostosuje się do nowej obwiedni. Skojarzyło mi się to z opisywanym problemem. Cytuj
kruszynski Opublikowano 26 Lutego 2018 Zgłoś Opublikowano 26 Lutego 2018 No tak, czyli te kreskowania, które się przesuwają to są zespolone. a manipulowanie nimi przez Vlisp jest w pewnym stopniu "głębiej" Cytuj
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ą.