/*outsideDiameter, numberOfTeeth pitchDiameter, toothThickness, addendum, workingDepth, wholeDepth, circularPitch baseCircularPitchAngle, toothThicknessAngle*/ public void TestCalculateParams(params object[] args) { var outsideDiameter = (float)args[0]; var numberOfTeeth = (int)args[1]; var spurGearEntity = new SpurGearEntity { CalculationStrategy = new SpurGearCalculationStrategyByNumberOfTeethAndOutsideDiameter() }; var spurGear = SpurGear.Create(1f, 1f, 1f, numberOfTeeth, 0f, 20f); spurGearEntity.Geometry = spurGear; spurGearEntity.OutsideDiameter = outsideDiameter; var pitchDiameter = (float) args[2]; var toothThickness = (float) args[3]; var addendum = (float) args[4]; var workingDepth = (float) args[5]; var wholeDepth = (float) args[6]; var circularPitch = (float)args[7]; Assert.AreEqual(pitchDiameter, spurGear.PitchDiameter, 0.01); Assert.AreEqual(toothThickness, spurGear.ToothThickness, 0.01); Assert.AreEqual(addendum, spurGear.Addendum, 0.01); Assert.AreEqual(workingDepth, spurGear.WorkingDepth, 0.01); Assert.AreEqual(wholeDepth, spurGear.WholeDepth, 0.01); Assert.AreEqual(circularPitch, spurGear.CircularPitch, 0.01); }
/*outsideDiameter, numberOfTeeth * pitchDiameter, toothThickness, addendum, workingDepth, wholeDepth, circularPitch * baseCircularPitchAngle, toothThicknessAngle*/ public void TestCalculateParams(params object[] args) { var outsideDiameter = (float)args[0]; var numberOfTeeth = (int)args[1]; var spurGearEntity = new SpurGearEntity { CalculationStrategy = new SpurGearCalculationStrategyByNumberOfTeethAndOutsideDiameter() }; var spurGear = SpurGear.Create(1f, 1f, 1f, numberOfTeeth, 0f, 20f); spurGearEntity.Geometry = spurGear; spurGearEntity.OutsideDiameter = outsideDiameter; var pitchDiameter = (float)args[2]; var toothThickness = (float)args[3]; var addendum = (float)args[4]; var workingDepth = (float)args[5]; var wholeDepth = (float)args[6]; var circularPitch = (float)args[7]; Assert.AreEqual(pitchDiameter, spurGear.PitchDiameter, 0.01); Assert.AreEqual(toothThickness, spurGear.ToothThickness, 0.01); Assert.AreEqual(addendum, spurGear.Addendum, 0.01); Assert.AreEqual(workingDepth, spurGear.WorkingDepth, 0.01); Assert.AreEqual(wholeDepth, spurGear.WholeDepth, 0.01); Assert.AreEqual(circularPitch, spurGear.CircularPitch, 0.01); }
/// <summary> /// Calculate parameters of the gear. /// </summary> /// <param name="spurGearEntity"></param> public override void Calculate(SpurGearEntity spurGearEntity) { var spurGear = spurGearEntity.SceneElement; spurGear.DiametralPitch = (spurGear.NumberOfTeeth + 2) / spurGearEntity.OutsideDiameter; spurGear.PitchDiameter = spurGear.NumberOfTeeth / spurGear.DiametralPitch; spurGearEntity.SetPitchDiameter(spurGear.PitchDiameter); spurGear.ToothThickness = HalfPi / spurGear.DiametralPitch; spurGear.Addendum = 1 / spurGear.DiametralPitch; spurGear.WorkingDepth = spurGear.Addendum * 2; spurGear.WholeDepth = (float)(spurGear.NumberOfTeeth >= 20 ? 2.2 / spurGear.DiametralPitch + 0.002f : 2.157 / spurGear.DiametralPitch); spurGear.Dedendum = spurGear.WholeDepth - spurGear.Addendum; spurGear.CircularPitch = (float)((Math.PI * spurGear.PitchDiameter) / spurGear.NumberOfTeeth); }
/// <summary> /// Calculate parameters of the gear. /// </summary> /// <param name="spurGearEntity"></param> public abstract void Calculate(SpurGearEntity spurGearEntity);
/// <summary> /// Calculate parameters of the gear. /// </summary> /// <param name="spurGearEntity"></param> public override void Calculate(SpurGearEntity spurGearEntity) { throw new NotImplementedException(); }