def getToothProfileCylinder(derivation, pitchRadius, teeth):
 toothProfileHalfCylinder = getToothProfileHalfCylinder(derivation, pitchRadius)
 toothProfileHalfCylinder = getThicknessMultipliedPath(toothProfileHalfCylinder, derivation.toothThicknessMultiplier)
 toothProfileHalf = []
 innerRadius = (pitchRadius - derivation.dedendum)
 for point in toothProfileHalfCylinder:
  if (abs(point) >= innerRadius):
   toothProfileHalf.append(point)
 return getToothProfileCylinderByProfile(derivation, pitchRadius, teeth, toothProfileHalf)

def getToothProfileCylinder ( derivation , pitchRadius , teeth ) : toothProfileHalfCylinder = getToothProfileHalfCylinder ( derivation , pitchRadius ) toothProfileHalfCylinder = getThicknessMultipliedPath ( toothProfileHalfCylinder , derivation . toothThicknessMultiplier ) toothProfileHalf = [ ] innerRadius = ( pitchRadius - derivation . dedendum ) for point in toothProfileHalfCylinder : if ( abs ( point ) >= innerRadius ) : toothProfileHalf . append ( point ) return getToothProfileCylinderByProfile ( derivation , pitchRadius , teeth , toothProfileHalf )
get profile for one tooth of a cylindrical gear .