mirror of
https://github.com/BelfrySCAD/BOSL2.git
synced 2025-01-01 09:49:45 +00:00
commit
0ae5c40b49
1 changed files with 8 additions and 3 deletions
11
gears.scad
11
gears.scad
|
@ -3179,7 +3179,10 @@ function worm_dist(d,starts,teeth,mod,profile_shift=0,diam_pitch,circ_pitch,pres
|
|||
lead_angle = asin(mod*starts/d),
|
||||
pitch_diam = mod*teeth/cos(lead_angle)
|
||||
)
|
||||
(d+pitch_diam)/2 + profile_shift*mod + backlash * (cos(lead_angle)+cos(90-lead_angle)) / tan(pressure_angle);
|
||||
(d+pitch_diam)/2 + profile_shift*mod
|
||||
// + backlash * (cos(lead_angle)+cos(90-lead_angle)) / tan(pressure_angle);
|
||||
// + backlash * cos(45-lead_angle) / tan(pressure_angle);
|
||||
+ backlash * cos(lead_angle) / tan(pressure_angle);
|
||||
|
||||
|
||||
|
||||
|
@ -3350,8 +3353,10 @@ function gear_dist_skew(teeth1,teeth2,helical1,helical2,profile_shift1,profile_s
|
|||
pa_normal_eff = _working_normal_pressure_angle_skew(teeth1,profile_shift1,helical1,teeth2,profile_shift2,helical2,pressure_angle),
|
||||
dist_adj = 0.5*(teeth1/cos(helical1)^3+teeth2/cos(helical2)^3)*(cos(pressure_angle)/cos(pa_normal_eff)-1)
|
||||
)
|
||||
mod*(teeth1/2/cos(helical1)+teeth2/2/cos(helical2)+dist_adj)
|
||||
+ backlash * (cos(helical1+helical2)) / tan(pressure_angle);
|
||||
mod*(teeth1/2/cos(helical1)+teeth2/2/cos(helical2)+dist_adj)
|
||||
// This expression is a guess based on finding the cross section where pressure angles match so that there is a single
|
||||
// pressure angle to reference the movement by.
|
||||
+ backlash * cos((helical1-helical2)/2) / tan(pressure_angle);
|
||||
|
||||
|
||||
function _working_normal_pressure_angle_skew(teeth1,profile_shift1,helical1, teeth2, profile_shift2, helical2, pressure_angle) =
|
||||
|
|
Loading…
Reference in a new issue