サイクロイド歯車を手で描く

更新


工作/歯車について勉強する

プラグインなどを使わずに Fusion360 だけでサイクロイド歯車を描いてみる

21.png

LANG: p5js_live
// =============== ここが設定
const gif_url = 'https://dora.bk.tsukuba.ac.jp/~takeuchi/?plugin=attach&refer=%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%2FFusion360%2F%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%A4%E3%83%89%E6%AD%AF%E8%BB%8A%E3%82%92%E6%89%8B%E3%81%A7%E6%8F%8F%E3%81%8F&openfile=cycloid_gear.gif';
const multi = 1;     // スライダーは multi 回ループで最大値になる
const fps = 10;       // 描画頻度 (frame per second)
const maxWidth = 600; // 横幅最大値 
// ================ ここから下は汎用コード

let gif = null;
let frameSlider = null;
let w, h;

p.preload = () => gif = p.loadImage(gif_url);

const draw = () => {
  let index = frameSlider.value();
  gif.setFrame(index % gif.numFrames()); // フレームを選択して
  p.image(gif, 0, 0, w, h);              // 描画
}

p.setup = () => {
  p.frameRate(fps);
  w = Math.min(maxWidth, gif.width);
  h = gif.height * w / gif.width;
  p.createCanvas(w, h + 20);

  frameSlider = p.createSlider(0, gif.numFrames() * multi - 1);
  frameSlider.value(0);
  frameSlider.position(0, h);
  frameSlider.size(w);
  frameSlider.input(draw);
  draw();
}

p.draw = () => {
  if(p.mouseIsPressed) return;
  frameSlider.value((frameSlider.value() + 1) % (gif.numFrames() * multi));
  draw();
}

書き方

  • 2つの基準円が接する点に、それぞれの基準円の 1/3 の円を追加して4つの円を描く
  • ここでは直径 60mm と 30mm の歯車を作るので、追加で 20mm と 10mm の円を描いた
  • 基準円上を2つの小円が滑らずに転がった際に最初の接点が描く軌道が歯形になる
  • 中心から見た小円の中心までの半径と、小円の半径とを、基準円と小円との直径の比率だけ異なる角度で回してやるとこの歯形曲線上の点を得られる

60mm の歯車の方はこんな感じ

2.png

始めの接点からピッチの 1/4 ずつを取って歯形とする。

3.png

30mm の歯車の方はこんな感じ

4.png

始めの接点からピッチの 1/4 ずつを取って歯形とする。

5.png

押し出して鏡面対称で複製

8.png

円周パターン

9.png

完成

10.png

フィレットを追加する

歯先を 1mm 伸ばした点を基準としてトロコイド曲線を描いで歯元形状を決める。

13.png

埋める。

14.png

16.png

円周パターンして完成

21.png

歯先を延長するよりも、歯先を丸めた方が良いのかも

サイクロイド歯車の歯先は先鋭になるので、上のように歯先をさらに延長して頂隙を作るのではなく、むしろ歯先を丸めることで頂隙を確保しつつ、トロコイド曲線はほぼ本来の歯先位置を基準に書いた方が美しい歯形が得られそう。

質問・コメント





添付ファイル: filecycloid_gear.gif 54件 [詳細] file21.png 46件 [詳細] file13.png 40件 [詳細] file14.png 46件 [詳細] file16.png 45件 [詳細] file8.png 52件 [詳細] file10.png 43件 [詳細] file9.png 44件 [詳細] file2.png 48件 [詳細] file5.png 45件 [詳細] file6.png 25件 [詳細] file4.png 50件 [詳細] file3.png 48件 [詳細]

Counter: 170 (from 2010/06/03), today: 1, yesterday: 4