counter

2016/07/30

Involute_Curve_5.1 で見つけたバグは5.1開発以降に発生

先日、記載のバグは 3.1 4.1と発生しないために、5.1の開発以降に発生したものと判明した。点列の並び方から、数式の構成ミスと推察。しかし、5.1 を 4.1 に戻しても(数式を削除しても)同じバグが生ずる。まだ時間がかかりそう。
どこかで、内部で不要なビットが立ってしまったのかもしれない。

原因が判明。工具のR係数(丸み)をゼロに近く設定していたのが原因。ゼロ近くになるとアンダーカットのビットが立つはずが、アンダーカットの判定式に工具の丸み係数が関与していないために実際、アンダーカットが発生しているにも係わらず、アンダーカットなしの前提で計算を進めてしまい、アンダーカットの差分だけ段差が生じて、カッターパスが一旦歯の外部に出て多少中心よりに戻って歯切を再開するという動作になり。歯の外部のカッターパスが歯形図形に描画されたのが原因。

対策としては、アンダーカット発生の判断式に、工具の歯先丸み係数を含めた式を構築する。

もう一つはJGMA旧規格の丸み係数0.375(現JGMA、ISO規格は0.38)で歯形工具を規定する。

上記2通りの判断基準が存在するが、後者を採用してみる。0.375 または0.38の数値では Involute_Curve_4.1 は内歯車の歯先円(内径)描画におかしな軌跡になるので、0に近い数値を採用していた。 Involute_Curve_5.1ではそのような事にならない計算を実施しているので、0.375,0.38の丸み係数の採用で問題はないと思ったが、甘かった。原因が判明し、対策も一応とれたが難しいものだ。

0 件のコメント: