lukasz215a Opublikowano 4 Września 2015 Zgłoś Opublikowano 4 Września 2015 Witam Przykład do pytania Mamy taki uład polilinii prosta łuk i prosta pierwsza prosta powiedzmy ze ma 95,35m za pomocą punkt zmierz robimy punkty na polilini co 100m i 100m wypada na łuku chcemy ładnie opisać na linni prostopadłej do łuku w punkcie 100 coś w stylu "0+100,00" i tu pytanie jak narysować prostopadłą do łuku w danym punkcie łuku (oczywiście będzie to prostopadła do stycznej) Można narysować dowolny okrąg o środku w punkcie 100 i pozniej go przyciąć do łuku i narysować coś w stylu dwusiecznej kąta ale może jest jakiś szybszy sposób? Cytuj
dmatusz3 Opublikowano 4 Września 2015 Zgłoś Opublikowano 4 Września 2015 Witam, rozumiem, że musimy zacząć od punktu leżącego na łuku? Gdybyśmy zaczynali od drugiego punktu, to możemy użyć uchwytów. Zawsze radziłem sobie w taki sposób jak na filmie. Nie jest może najszybszy, ale dla moich zastosowań wystarczał. Cytuj
kojacek Opublikowano 6 Września 2015 Zgłoś Opublikowano 6 Września 2015 Nie tam żebym upierał się aby odwodzić was od komplikowania sobie pracy, ale... może warto wykorzystać opcję _block do podziału? dmatusz3 1 Cytuj
lukasz215a Opublikowano 7 Września 2015 Autor Zgłoś Opublikowano 7 Września 2015 Super sposob. Dzieki. A czy jest jakas metoda aby takie bloki wstawic na punktach glownych skladowych polilini tzn. Na poczatkach i koncach poszczegolnych prostych oraz poczatkach koncach i srodkach lukow? Cytuj
kojacek Opublikowano 7 Września 2015 Zgłoś Opublikowano 7 Września 2015 Bezpośrednio nie ma. Choć można wysmażyć krótkiego lisp-a. Inna sprawa - w węzłach polilini nie będzie raczej "prostopadłych". Cytuj
dmatusz3 Opublikowano 7 Września 2015 Zgłoś Opublikowano 7 Września 2015 Nie tam żebym upierał się aby odwodzić was od komplikowania sobie pracy, ale... może warto wykorzystać opcję _block do podziału? :D racja, szacun za pomysł. A tutaj krótki film, jak ułożyć bloki na krzywej. W węzłach może się przydać maja pierwotna metoda, choć na połączeniach linii (i łukach bez styczności) będzie trudno o prostopadłą. Cytuj
lukasz215a Opublikowano 12 Września 2015 Autor Zgłoś Opublikowano 12 Września 2015 To jeszcze jedno pytanie dość luźlo związane z powyższym: Jak zmierzyć długość po łuku pomiędzy dwoma punktami na tym łuku? Cytuj
kojacek Opublikowano 12 Września 2015 Zgłoś Opublikowano 12 Września 2015 To jeszcze jedno pytanie dość luźlo związane z powyższym: Jak zmierzyć długość po łuku pomiędzy dwoma punktami na tym łuku? Zawsze można użyć LISP-a: Poniższy kod pozwoli zmierzyć długość elementu dowolnej krzywej pomiędzy dwoma punktami na niej wskazanymi: ;;; (vl-load-com) ;;; (defun C:CDIST (/ sa sb vo) (if (setq sa (nentselp "\nWskaz pierwszy punkt na krzywej: ")) (if (setq sb (nentselp "\nWskaz drugi punkt na krzywej: ")) (if (and (eq (car sa)(car sb))) (progn (setq vo (vlax-ename->vla-object (car sa))) (abs (- (vlax-curve-getDistAtPoint vo (vlax-curve-getClosestPointTo vo (cadr sa) t) ) (vlax-curve-getDistAtPoint vo (vlax-curve-getClosestPointTo vo (cadr sb) t) ) ) ) ) (princ "\nWskazano rózne obiekty. ") ) (princ "\nNic nie wskazano. ") ) (princ "\nNic nie wskazano. ") ) (princ) ) . Cytuj
lukasz215a Opublikowano 12 Września 2015 Autor Zgłoś Opublikowano 12 Września 2015 problem jest taki ze ja sie na lispach nie znam i nie wiem co z tym zrobic Cytuj
lukasz215a Opublikowano 13 Września 2015 Autor Zgłoś Opublikowano 13 Września 2015 edit wczytalem lisp ale jak wskazuje dwa punkty na krzywej to albo komunikat ze wybrano rozne obiekty albo po wybraniu drugiego punktu nic sie nie pojawia Cytuj
kojacek Opublikowano 13 Września 2015 Zgłoś Opublikowano 13 Września 2015 edit wczytalem lisp ale jak wskazuje dwa punkty na krzywej to albo komunikat ze wybrano rozne obiekty albo po wybraniu drugiego punktu nic sie nie pojawia Sprawdź teraz: ;;; (vl-load-com) ;;; (defun C:CDIST (/ sa sb vo re) (if (setq sa (nentselp "\nWskaz pierwszy punkt na krzywej: ")) (if (setq sb (nentselp "\nWskaz drugi punkt na krzywej: ")) (if (and (eq (car sa)(car sb))) (progn (setq vo (vlax-ename->vla-object (car sa))) (setq re (abs (- (vlax-curve-getDistAtPoint vo (vlax-curve-getClosestPointTo vo (cadr sa) t) ) (vlax-curve-getDistAtPoint vo (vlax-curve-getClosestPointTo vo (cadr sb) t) ) ) ) ) ) (princ "\nWskazano rózne obiekty. ") ) (princ "\nNic nie wskazano. ") ) (princ "\nNic nie wskazano. ") ) (if re re (princ)) ) 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ą.