add head parameter for cycloide gear
This commit is contained in:
@@ -490,9 +490,9 @@ class CycloidGear(BaseGear):
|
||||
obj.addProperty(
|
||||
"App::PropertyLength", "module", "gear_parameter", "module")
|
||||
obj.addProperty(
|
||||
"App::PropertyLength", "inner_diameter", "cycloid_parameter", "inner_diameter (hypocycloid)")
|
||||
"App::PropertyFloat", "inner_diameter", "cycloid_parameter", "inner_diameter divided by module (hypocycloid)")
|
||||
obj.addProperty(
|
||||
"App::PropertyLength", "outer_diameter", "cycloid_parameter", "outer_diameter (epicycloid)")
|
||||
"App::PropertyFloat", "outer_diameter", "cycloid_parameter", "outer_diameter divided by module (epicycloid)")
|
||||
obj.addProperty(
|
||||
"App::PropertyLength", "height", "gear_parameter", "height")
|
||||
obj.addProperty(
|
||||
@@ -504,28 +504,32 @@ class CycloidGear(BaseGear):
|
||||
obj.addProperty("App::PropertyAngle", "beta", "gear_parameter", "beta")
|
||||
obj.addProperty(
|
||||
"App::PropertyLength", "backlash", "gear_parameter", "backlash in mm")
|
||||
obj.addProperty(
|
||||
"App::PropertyFloat", "head", "gear_parameter", "head_value * modul_value = additional length of head")
|
||||
obj.addProperty("App::PropertyPythonObject", "gear",
|
||||
"gear_parameter", "the python object")
|
||||
obj.gear = self.cycloid_tooth
|
||||
obj.teeth = 15
|
||||
obj.module = '1. mm'
|
||||
obj.inner_diameter = '5 mm'
|
||||
obj.outer_diameter = '5 mm'
|
||||
obj.inner_diameter = 7.5
|
||||
obj.outer_diameter = 7.5
|
||||
obj.beta = '0. deg'
|
||||
obj.height = '5. mm'
|
||||
obj.clearance = 0.25
|
||||
obj.numpoints = 15
|
||||
obj.backlash = '0.00 mm'
|
||||
obj.double_helix = False
|
||||
obj.head = 0
|
||||
obj.Proxy = self
|
||||
|
||||
def execute(self, fp):
|
||||
super(CycloidGear, self).execute(fp)
|
||||
fp.gear.m = fp.module.Value
|
||||
fp.gear.z = fp.teeth
|
||||
fp.gear.z1 = fp.inner_diameter.Value
|
||||
fp.gear.z2 = fp.outer_diameter.Value
|
||||
fp.gear.z1 = fp.inner_diameter
|
||||
fp.gear.z2 = fp.outer_diameter
|
||||
fp.gear.clearance = fp.clearance
|
||||
fp.gear.head = fp.head
|
||||
fp.gear.backlash = fp.backlash.Value
|
||||
fp.gear._update()
|
||||
pts = fp.gear.points(num=fp.numpoints)
|
||||
|
||||
@@ -25,13 +25,14 @@ from ._functions import rotation, reflection
|
||||
|
||||
|
||||
class CycloidTooth():
|
||||
def __init__(self, z1=5, z2=5, z=14, m=5, clearance=0.12, backlash=0.00):
|
||||
def __init__(self, z1=5, z2=5, z=14, m=5, clearance=0.12, backlash=0.00, head=0.0):
|
||||
self.m = m
|
||||
self.z = z
|
||||
self.clearance = clearance
|
||||
self.backlash = backlash
|
||||
self.z1 = z1
|
||||
self.z2 = z2
|
||||
self.head = head
|
||||
self._calc_gear_factors()
|
||||
|
||||
def _calc_gear_factors(self):
|
||||
@@ -39,7 +40,7 @@ class CycloidTooth():
|
||||
self.d2 = self.z2 * self.m
|
||||
self.phi = self.m * pi
|
||||
self.d = self.z * self.m
|
||||
self.da = self.d + 2*self.m
|
||||
self.da = self.d + 2*self.m + self.head * self.m
|
||||
self.di = self.d - 2*self.m - self.clearance * self.m
|
||||
self.phipart = 2 * pi / self.z
|
||||
|
||||
@@ -103,5 +104,5 @@ class CycloidTooth():
|
||||
|
||||
def _update(self):
|
||||
self.__init__(m=self.m, z=self.z, z1=self.z1, z2=self.z2,
|
||||
clearance=self.clearance, backlash=self.backlash)
|
||||
clearance=self.clearance, backlash=self.backlash, head=self.head)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user