MIKI, to jest raptem kilka linii kodu więcej, żeby było OK.
Ja ten kod dopiszę, jak znajdę chwilę czasu.
Natomiast filtrowanie danych wejściowych, to podstawa każdego programu.
Zaczyna się od tego, żeby nie dzielić przez zero, nie wyciągać pierwiastków z liczb ujemnych i ogólnie nie robić obliczeń na złych bądź przypadkowych danych.
http://pl.wikipedia.org/wiki/Garbage_In,_Garbage_Out
To jest pierwsze przykazanie programisty, bo jak program się rozrasta to już nie idzie nad burdelem zapanować.
W przypadku przedmiotowego programu można nawet wykonać operację zaznaczając tylko pierwszy punkt.
Efekt takich obliczeń jest nieprzewidywalny.
A to jest maszyna za pieniądze i leży na niej materiał za pieniądze ...
Twoja opinia o programach GPL jest całkowicie błędna.
Są bardzo dobre i pewne w działaniu programy GPL.
Jest tylko jeden warunek aby to osiągnąć - nie dopuszczać do pisania programów flejtuchów i bałaganiarzy.
.
[ Dodano: 2012-07-27, 19:51 ]
Chyba zwalczyłem.
Dokładnie nie sprawdzałem, ale wygląda na to że działa jak potrzeba.
Oprócz wstawienia kilku warunków uniemożliwiających popieprzenie układu współrzędnych niewłaściwą obsługą, zmieniłem także kierunki w <Align X>.
Zgodnie z zasadami matematyki +X jest w prawo, +Y przed siebie a +Z w górę.
Programu używamy w ten sposób, że najpierw <Clear Offset> potem najeżdżamy gdzieś na krawędź która ma być równoległa do osi X (lub Y) klikamy <Align Start>, potem najeżdżamy na punkt który ma być 0,0 i klikamy <Align X> (albo <Align Y>).
Programy są wstawione do camview, więc zamiast pyvcp jest inny interfejs.
Jak ktoś jest trochę kumaty, to będzie wiedział co mu się przyda a co nie.
Przyciski są ustawione w kolejności używania i użycie ich w innej kolejności wywala błąd.
Błędna jest też sytuacja, gdy zaznaczone punkty są oddalone o mniej niż jedną jednostkę, czyli zwykle jeden milimetr.
To ma wykluczyć dzielenie przez zero i robienie obliczeń na małych ułamkach.
W praktyce oznacza to, że się nie da użyć programu gdy materiał leży praktycznie w układzie współrzędnych.
Trzeba kłaść dokładnie w osiach, albo na tyle krzywo, żeby ten milimetr różnicy przekroczyć.
Samo przekręcenie układu współrzędnych nie zmieni niczego na podglądzie, trzeba przeładować plik, albo będzie tak :

A tak wygląda camview z nowymi przyciskami :
Pełna konfiguracja maszyny w załączniku.
EDIT: Załącznik zmieniony na nowszą wersję.