SolidWorksのベベルギアジェネレーターをインチ入力からmm入力へ変更する方法|DP変換とマクロ修正のポイント

CAD

SolidWorks用のベベルギアジェネレーターを使用していると、海外製ツールのため寸法入力がインチ基準になっており、日本で一般的なmm単位で設計したい場合に不便を感じることがあります。

特にベベルギアでは、単純なインチからミリメートルへの換算だけでは対応できず、Diametral Pitch(DP)などインチ系の歯車規格を理解したうえで変更する必要があります。この記事では、ベベルギアジェネレーターをmm入力対応へ変更する考え方や、修正すべき計算部分について解説します。

SolidWorksの単位設定を変更しても解決しない理由

SolidWorksでは、ドキュメント単位をMMGS(ミリメートル・グラム・秒)へ変更することで、通常のモデリング寸法はmm表示になります。

しかし、ベベルギアジェネレーターのような外部マクロや計算プログラムは、SolidWorks本体の単位設定とは別に独自の計算式を持っています。そのため、SolidWorks側をmmへ変更すると、内部計算がインチ前提のまま動作してエラーになる場合があります。

つまり、変更すべき場所はSolidWorksの設定ではなく、ジェネレーター内部の入力値処理と歯車計算部分になります。

インチ基準のベベルギア計算で重要なDPとは

ベベルギアジェネレーターをmm対応にする場合、最も注意が必要なのがDiametral Pitch(DP)です。

DPはインチ系歯車規格で使用される値で、1インチあたりの歯数を表します。一方、日本やISO系の設計ではモジュール(m)が一般的に使われます。

項目 意味
DP インチ系の歯車サイズ表現
モジュール mm系の歯車サイズ表現
歯数 ギアの歯の数
ピッチ円直径 歯車計算の基準となる直径

DPからモジュールへ変換する場合、一般的には以下の関係式を使用します。

モジュール m = 25.4 ÷ DP

例えばDP10の場合、25.4÷10となり、モジュールは約2.54mmになります。

そのため、ジェネレーター内でDPを直接入力させる方式から、モジュールやmm寸法で入力する方式へ変更する場合は、この変換処理を追加する必要があります。

mm入力対応に変更する場合に修正するポイント

ジェネレーターのマクロやコードを確認する場合、まず入力フォーム部分と計算部分を分けて確認します。

主に修正対象になるのは以下のような部分です。

  • 入力値を取得している変数
  • インチを基準にした定数
  • DPからピッチ円直径を計算する部分
  • 軸穴や面幅などの寸法変換処理
  • SolidWorksへ渡す寸法単位指定

例えば、現在が「面幅10in」として処理されている場合、入力値を10mmとして受け取るなら、内部計算時にインチ換算する処理が必要になる場合があります。

1インチは25.4mmなので、コード内部では以下のような変換処理を追加します。

インチ値 = mm値 ÷ 25.4

ただし、すべての項目をこの変換に置き換えると問題が発生します。DPや圧力角、バックラッシュなどは単位の意味が異なるため、項目ごとに確認が必要です。

面幅や軸穴などの寸法をmm化する方法

面幅(w)や軸穴径など、物理的な長さを表す項目は比較的簡単にmm入力へ変更できます。

例えば、軸穴をφ8mmで指定したい場合、入力値を8として受け取り、SolidWorks APIへ渡す際にメートル単位へ変換する処理を行います。

SolidWorks APIでは内部的にメートル単位を使用することが多いため、mm入力の場合は以下のような変換が必要になります。

8mm → 0.008m

この変換を忘れると、実際には8mの穴径として認識されるなど、大きなエラーにつながります。

ベベルギアジェネレーターを修正するときの注意点

歯車生成プログラムは、単純な寸法入力ツールではなく、多くの歯車理論に基づいて計算されています。そのため、入力部分だけ変更すると歯形が正しく生成されない可能性があります。

特に注意が必要なのは、以下のパラメータです。

  • 歯数(np)
  • 圧力角(a)
  • 軸角(e)
  • バックラッシュ(bg、bp)
  • 歯形修正値(addModify)

例えばバックラッシュはmmで管理した方が日本の加工環境では扱いやすいですが、内部計算がインチ前提の場合、そのまま数値だけ変更すると歯のかみ合わせに影響します。

既存マクロを変更するより安全な方法

海外製ジェネレーターを完全にmm対応へ改造するには、歯車計算部分まで理解する必要があります。そのため、目的によっては別の方法を選択する方が効率的です。

例えば、入力部分だけをmm化するラッパー処理を作成し、内部では元のインチ計算を利用する方法があります。

具体的には、ユーザー入力をmmで受け取り、プログラム内部でインチやDPへ変換してから元のジェネレーターへ渡す仕組みにすると、既存計算式を大きく変更せずに利用できます。

まとめ

SolidWorksのベベルギアジェネレーターをインチ入力からmm入力へ変更する場合、SolidWorks側の単位変更だけでは対応できません。ジェネレーター内部の入力処理や計算式を修正する必要があります。

特にDP(Diametral Pitch)は単純なインチ換算ではなく、モジュールとの関係を理解して変換することが重要です。

面幅や軸穴などの寸法はmm化しやすい一方で、歯車規格に関わるパラメータは慎重な修正が必要です。既存マクロを直接変更する場合は、入力値変換処理を追加する方法が安全で、歯車計算部分への影響を最小限にできます。

コメント

タイトルとURLをコピーしました