Você está na página 1de 3

Working equations for no tooth falloff helix for worm

//Bottom Right
x: (sin(("totalAngle"*t) + "wormQToothAngleBottom")*"wormCircleRadiusBottom")
y: ("centreDistance" - (cos(("totalAngle" * t) + "wormQToothAngleBottom") * "wor
mCircleRadiusBottom")) * sin((360 * pi / 180) * ("wormNumTurns" + 1) * t + (90 *
pi / 180 * 3)) + "centreDistance"
z: ("centreDistance" - (cos(("totalAngle" * t) + "wormQToothAngleBottom") * "wor
mCircleRadiusBottom")) * cos((360 * pi / 180) * ("wormNumTurns" + 1) * t + (90 *
pi / 180 * 3))
//Bottom Left
x: (sin(("totalAngle"*t) - "wormQToothAngleBottom")*"wormCircleRadiusBottom")
y: ("centreDistance" - (cos(("totalAngle" * t) - "wormQToothAngleBottom") * "wor
mCircleRadiusBottom")) * sin((360 * pi / 180) * ("wormNumTurns" + 1) * t + (90 *
pi / 180 * 3)) + "centreDistance"
z: ("centreDistance" - (cos(("totalAngle" * t) - "wormQToothAngleBottom") * "wor
mCircleRadiusBottom")) * cos((360 * pi / 180) * ("wormNumTurns" + 1) * t + (90 *
pi / 180 * 3))
//Top Right
x: (sin(("totalAngle"*t) + "wormQToothAngleTop")*"wormCircleRadiusTop")
y: ("centreDistance" - (cos(("totalAngle" * t) + "wormQToothAngleTop") *
rcleRadiusTop")) * sin((360 * pi / 180) * ("wormNumTurns" + 1) * t + (90
180 * 3)) + "centreDistance"
z: ("centreDistance" - (cos(("totalAngle" * t) + "wormQToothAngleTop") *
rcleRadiusTop")) * cos((360 * pi / 180) * ("wormNumTurns" + 1) * t + (90
180 * 3))
//Top left
x: (sin(("totalAngle"*t) - "wormQToothAngleTop")*"wormCircleRadiusTop")
y: ("centreDistance" - (cos(("totalAngle" * t) - "wormQToothAngleTop") *
rcleRadiusTop")) * sin((360 * pi / 180) * ("wormNumTurns" + 1) * t + (90
180 * 3)) + "centreDistance"
z: ("centreDistance" - (cos(("totalAngle" * t) - "wormQToothAngleTop") *
rcleRadiusTop")) * cos((360 * pi / 180) * ("wormNumTurns" + 1) * t + (90
180 * 3))

"wormCi
* pi /
"wormCi
* pi /

"wormCi
* pi /
"wormCi
* pi /

Working equations for half tooth rotated no tooth falloff helix for tooth creati
on
//Bottom Right
(("centreDistance" - (cos(("gearQAngle" * t) + "gearQToothAngleBottom") * "gearC
ircleRadiusBottom")) * cos(360 * pi / 180 * (t * 0.25))) * -sin("angleN" * pi /
180) + (cos("angleN" * pi / 180) * (sin(("gearQAngle"*t) + "gearQToothAngleBotto
m")*"gearCircleRadiusBottom")) - "gearOffsetSin"
(("centreDistance" - (cos(("gearQAngle" * t) + "gearQToothAngleBottom") * "gearC
ircleRadiusBottom")) * cos(360 * pi / 180 * (t * 0.25))) * -cos("angleN" * pi /
180) - (sin("angleN" * pi / 180) * (sin(("gearQAngle"*t) + "gearQToothAngleBott
om")*"gearCircleRadiusBottom")) + "gearOffsetCos"
("centreDistance" - (cos(("gearQAngle" * t) + "gearQToothAngleBottom") * "gearCi
rcleRadiusBottom")) * sin(360 * pi / 180 * (t * 0.25))
//Bottom Left
(("centreDistance" - (cos(("gearQAngle" * t) - "gearQToothAngleBottom") * "gearC
ircleRadiusBottom")) * cos(360 * pi / 180 * (t * 0.25))) * -sin("angleP" * pi /

180) + (cos("angleP" * pi / 180) * (sin(("gearQAngle"*t) - "gearQToothAngleBotto


m")*"gearCircleRadiusBottom")) + "gearOffsetSin"
(("centreDistance" - (cos(("gearQAngle" * t) - "gearQToothAngleBottom") * "gearC
ircleRadiusBottom")) * cos(360 * pi / 180 * (t * 0.25))) * -cos("angleP" * pi /
180) - (sin("angleP" * pi / 180) * (sin(("gearQAngle"*t) - "gearQToothAngleBott
om")*"gearCircleRadiusBottom")) + "gearOffsetCos"
("centreDistance" - (cos(("gearQAngle" * t) - "gearQToothAngleBottom") * "gearCi
rcleRadiusBottom")) * sin(360 * pi / 180 * (t * 0.25))
//Top Right
(("centreDistance" - (cos(("gearQAngle" * t) + "gearQToothAngleTop") * "gearCirc
leRadiusTop")) * cos(360 * pi / 180 * (t * 0.25))) * -sin("angleN" * pi / 180) +
(cos("angleN" * pi / 180) * (sin(("gearQAngle"*t) + "gearQToothAngleTop")*"gear
CircleRadiusTop")) - "gearOffsetSin"
(("centreDistance" - (cos(("gearQAngle" * t) + "gearQToothAngleTop") * "gearCirc
leRadiusTop")) * cos(360 * pi / 180 * (t * 0.25))) * -cos("angleN" * pi / 180) (sin("angleN" * pi / 180) * (sin(("gearQAngle"*t) + "gearQToothAngleTop")*"gea
rCircleRadiusTop")) + "gearOffsetCos"
("centreDistance" - (cos(("gearQAngle" * t) + "gearQToothAngleTop") * "gearCircl
eRadiusTop")) * sin(360 * pi / 180 * (t * 0.25))
//Top Left
(("centreDistance" - (cos(("gearQAngle" * t) - "gearQToothAngleTop") * "gearCirc
leRadiusTop")) * cos(360 * pi / 180 * (t * 0.25))) * -sin("angleP" * pi / 180) +
(cos("angleP" * pi / 180) * (sin(("gearQAngle"*t) - "gearQToothAngleTop")*"gear
CircleRadiusTop")) + "gearOffsetSin"
(("centreDistance" - (cos(("gearQAngle" * t) - "gearQToothAngleTop") * "gearCirc
leRadiusTop")) * cos(360 * pi / 180 * (t * 0.25))) * -cos("angleP" * pi / 180) (sin("angleP" * pi / 180) * (sin(("gearQAngle"*t) - "gearQToothAngleTop")*"gea
rCircleRadiusTop")) + "gearOffsetCos"
("centreDistance" - (cos(("gearQAngle" * t) - "gearQToothAngleTop") * "gearCircl
eRadiusTop")) * sin(360 * pi / 180 * (t * 0.25))
Equations:
"Note"= 0'
Use Ctrl + Q to rebuild and rebuild twice to avoid errors
"gearRatio"= 220'
Gear ratio, eg 10:1
"centreDistance"= 90'
Distance between gear and worm centres
"wormNumTurns"= 12'
Length of worm gear by number of threads - does nto directly relate
"wormMinDiameter"= 12'
Thickness of worm gear at centre
"toothHeight"= 0.07 * "wormMinDiameter"'
Percentage of wormMinDiameter - higher = thinner
"toothClearenceHeight"= 0.1 * "toothHeight"'
Top of tooth clearence, percentage of tooth height
"pressureAngle"= 20'
Angle of teeth, Should be more than worm actual angle
"ToothClearenceWidth"= 1'
Scales the tooth width to stop binding - Lower = more clearence
"gearAngle"= 360 / "gearRatio" * pi / 180'
Tooth spacing in radians
"totalAngle"= "gearAngle" * ( "wormNumTurns" + 1 )'
Total angle for worm helix in rad
"angleP"= ( 360 / "gearRatio" ) * "wormNumTurns"'

Amount to rotate helix for gear tooth


"angleN"= - "angleP"'
Negitive angleP, unable to create negitive in helix equation
"gearOffsetSin"= sin ( "angleP" ) * "centreDistance"'
Offsets for angled tooth, didnt work when intergrated into equation
"gearOffsetCos"= cos ( "angleP" ) * "centreDistance"
"wormActualAngle"= ( ( 360 / "gearRatio" ) * ( "wormNumTurns" - ( ( 1 / ( 360 /
( 180 - "D4@Plane dimensions" ) ) * 1.1 ) ) ) ) + "D4@Helix measurements"'
Calculates the angle for the worm gear
"planeAngle"= IIF ( "D1@Maximum tooth dimensions" > "D2@Maximum tooth dimensions
" , "D1@Maximum tooth dimensions" , "D2@Maximum tooth dimensions" ) + 1'
Calculates angle to be used for gear planes

"D1@Worm base" = "wormActualAngle"


"D2@Plane dimensions" = "D1@Maximum tooth dimensions" + 1
"D4@Plane dimensions" = "D2@Plane dimensions"
"D1@Sketch4"="D2@Worm base" * 1.1
"D1@CirPattern4"="gearRatio"
"D1@Worm base"= "wormActualAngle"
"wormQToothAngleTop"= "D4@Helix measurements" * pi / 180'Angles for start point
of helixes converted to radians
"wormQtoothAngleBottom"= "D8@Helix measurements" * pi / 180
"gearQToothAngleTop"= ( "D5@Helix measurements" * pi / 180 ) + ( "gearAngle" * "
wormNumTurns" )
"gearQToothAngleBottom"= ( "D6@Helix measurements" * pi / 180 ) + ( "gearAngle"
* "wormNumTurns" )
"wormCircleRadiusTop"= "D1@Helix measurements"
"wormCircleRadiusBottom"= "D7@Helix measurements"
"gearCircleRadiusTop"= "D2@Helix measurements"
"gearCircleRadiusBottom"= "D3@Helix measurements"
"gearQAngle"= "gearAngle" * 0.25
"D2@Plane dimensions"="planeAngle"
"D4@Plane dimensions"= "planeAngle"
"D1@Sketch4"="D2@Worm base" * 1.1
"D1@CirPattern4"="gearRatio"
"D5@Base Tooth"="toothHeight"
"D8@Base Tooth"="toothClearenceHeight"
"D9@Base Tooth"="toothClearenceHeight"
"D4@Base Tooth"="wormMinDiameter" / 2
"D7@Base Tooth"="toothHeight" * 0.5
"D3@Base Tooth"=360 / ( "gearRatio" * 2 ) / 2
"D10@Base Tooth"="D3@Base Tooth" * "ToothClearenceWidth"
"D2@Base Tooth"="pressureAngle"
"D6@Base Tooth"="pressureAngle"
"D1@Base Tooth"="centreDistance"
"D1@Sketch10"=("D2@Worm base" - "D9@Helix measurements") * 1.1
"D1@Sketch11"="D2@Sketch4" * 1.5
"D1@Worm base"="wormActualAngle"

Você também pode gostar