Narzędzie w moim przykładowym programie miało w offsetach ustawioną deklarację na typ 3
Uzyskane pozycje są pozycjami fizycznymi punktu urojonego ostrza. Program pisany był na FANUC-u 0iT, ale zasada działania kompensacji promienia jest uniwersalna. Wartości pokazane na monitorze w moim przypadku odnosiły się do faktycznego fizycznego położenia ostrza.
Co do zmiany kompensacji (G41 G42) to pozostaję przy swoim zdaniu. Nie jest ważny kształt, tylko położenie ostrza względem konturu
Podam ci kolejny przykład:
N1 T0202
N2 G97 S200 M3
N3 G0 X120 Z20 -> X120 Z20
N4 G42 G1 X110 Z0 F0.4 -> X110 Z-0.8
N5 G1 Z-10 -> X110 Z-8.869
N6 G1 X120 Z-5 -> X117.269 Z-5.234
N7 G40
Widać na powyższym przykładzie, że nawet przy takim ruchu narzędzia ciągle jesteśmy po prawej stronie konturu.
Co do twojego pytania o sinusoidę, to nie musimy zmieniać kompensacji. Sterowanie widzi ostrze noża jako okrąg o promieniu R (deklarowanym w ustawieniach narzędzia). Podając typ narzędzia (w moim przypadku 3) podajesz tylko informację sterownikowi gdzie znajduje się punkt zaczepienia promienia względem punktu urojonego ostrza po to aby w każdym momencie przejazdu sterownik mógł wyliczyć gdzie ma punkt styczny z konturem. To ty musisz dobrać nóż oraz płytkę o takiej geometrii, aby podczas przejazdu nie przytrzeć konturu. Zauważ, co stało by się, gdybym w ostatnim przykładzie z mojego poprzedniego posta nie zmienił rodzaju kompensacji z G42 na G41. Ostrze zagłębiło by się w materiał na głębokość 2xR (punkt zaczepienia promienia chciałby znaleźć się z drugiej strony opisanego konturu) po to aby ciągle być z prawej strony (G42)
Jeżeli ten sam kontur chciałbyś wykonać w otworze wytaczakiem, to musiałbyś użyć funkcji G41 przy dojeździe do wrzeciona i G42 przy odjeździe od wrzeciona.
Ściąg sobie instrukcję np. do Fanuc 18i i przeczytaj rozdział 14. "FUNKCJA KOMPENSACYJNA"
Pozdrawiam
Grzegorz