2016年8月21日日曜日

内歯車歯形作成コードの見直し

現在、思いもかけない箇所にバグが見つかり、一定の条件でのみ歯形が描画可能という状態であることが見つかりました。現在コードの見直しと、プログラムのブロック化を進めているところです。
おおよその原因は見当がついているところです。


2016年8月8日月曜日

Involute_Curve_5.1 出力例




まだまだ検証、修正ポイントが多く残っていますが。曲がりなりにも半自動描画で、工具の歯先丸み係数を0.1~0.2の範囲で安定した出力が可能になった。ExcelとAutoCADの連携にやや難があるので、半自動描画という段階。Excelでのカット&ペーストというワークは必要の無いレベルです。
まだ、プログラムルーチンの流れの修正が残っているのですが、修正作業は完了に近づくにつれて、難度を増してきています。
画像でバックラッシの設定は数値入力で対応可能です。

2016年8月2日火曜日

Involute_Curve_5.1:内歯車の歯先部(内径部)の形状について

標記の件、いろいろと検討したが、最適の結論は、内歯車の基礎円付近と歯先円付近の工具の丸み係数を個別に設定すること、という判断を当方は得たと思います。この判断に沿ってプログラムコードの修正は、現実問題として、時間的に、無理なために、{内歯車においては、歯先円と基礎円付近の間の点列に関しては、概略値ですませるしかない、というのが現実的な解決策となります。誤差のオーダーはモジュール3の場合0.02mm程度です。これで納得できるかどうかはユーザーに判断して頂くしかないという結論に至りました。(誤差は基礎円付近の円周方向の距離寸法)
この判断を確定させるためだけに、時間的に、半月余の期日を費やしてしまった。


2016年7月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の丸み係数の採用で問題はないと思ったが、甘かった。原因が判明し、対策も一応とれたが難しいものだ。

2016年7月29日金曜日

Involute_Curve_5.1の開発経緯

結構細かなバグに悩まされているうちに、ベースバージョンのInvolute_Curve_3.1のバグも見つかってしまった。バグとはいってもCNC加工ではカッターパスに不都合はないのだが、後ほど修正しよう。下図はExcelからAutoCAD_LTへ自動描画する際の精度の確かさを示した。DXF変換系由では不可能な精度です。AutoCAD_LTが個人ユーザーにハンディを強いている現状には失望するが、
標記の画面は AutoCAD_LT 2000という旧世代のCADによる描画画面です。古いバージョンのAutoCAD_LT(2005以前)は表示動作も軽快なので保有している方は大切にしてほしい。(但し、XP環境対応のマシン、モニターが必要。) Dell D630 (Win XP sp3)にも当方は設定予定。
Desktop はNECのMA23A/E-4(Catiaが動作すると聞いた)に搭載隅。(今回のソフトの開発環境)
ネット環境にかかわり無ければ上記は最高のスペックです。
WindowsXP SP3 ならばノートンのウィルス対策ソフトが効きます。(軽度のインタネット使用はOK)




2016年7月20日水曜日

Involute_Curve_5.1 の導入画面の仕様がまとまりました。

Involute_Curve_5.1 の導入画面の仕様。外部者作成のソフト利用が避けられたので、何とかまとめることができました。この画面編集の過程で、突然コードの進行が乱れて全体プログラムの確認に時間を要しました。これでも、煩雑な画面なので、もう少し変更があるかもしれません。3.1との大きな差異は下記。
  内歯車歯形設計を可能に。
  AutoCAD LTへの直接自動描画を可能に。
  (内歯車の場合は噛合い状態まで、自動描画が可能です。)
  (平歯車の場合は噛合い状態のAutoCADLT描画は不可。3.1版と変わりありません。)

尚、内歯車の歯形はピニオン創成加工には対応していません。平歯車と異なって、強度的な影響は少ないので、歯底R及び、歯底形状の設定パラメータを設計者が入力して歯形設計を行う手法をとりました。(CNC加工なら加工可能) 量産加工(創成加工)のモデルとしての試作用途にも対応可能です。


尚、将来、随所のポイントコードの公開を考慮しています。(数年後)
歯形計算過程のプロセスコードの公開です。(VBAのプログラムコードの作成経験者でないと適用は難しい内容です。)


2016年7月15日金曜日

AcadRemocon.dll の使用(AutoCAD LT)

Involute_Curve_5.1の動作チェックを行っているうちに気のついたこと。
Involute_Curve_5.1を立ち上げる場合、AcadRemocon.dll を組み込んでいても所定の位置からAutoCAD LTを立ち上げないとInvolute_Curve_5.1からの自動描画が作動しないことに気がついた。中間ファイルの Excel2AutoCADLT.xlsから操作すれば描画可能だが、それでは半自動描画になってしまう。で、AcadRemoconのPCへの導入は下記URLの最上段にリンクが貼られている。
http://hp.vector.co.jp/authors/VA026873/

悩むのは、第三者のFreesoftの導入が、自動描画には必須としても、このFreeSoftはPCのsystemに入れる必要があるために、私以外の第三者に導入を強制してよいのかどうかです。

参考  下記の画面は{うっとしい}ので、もっと簡潔にする必要があります。

追記 2016.07.16
AcadRemocon/dll を使わなくても代換のコードを作成し、動作しました。