diff --git a/freecad/gears/commands.py b/freecad/gears/commands.py index d492aca..99744dd 100644 --- a/freecad/gears/commands.py +++ b/freecad/gears/commands.py @@ -23,7 +23,7 @@ import os import FreeCAD import FreeCADGui as Gui from .features import ViewProviderGear, InvoluteGear, InvoluteGearRack -from .features import CycloideGear, BevelGear, CrownGear, WormGear, TimingGear, LaternGear +from .features import CycloideGear, BevelGear, CrownGear, WormGear, TimingGear, LanternGear class BaseCommand(object): @@ -125,9 +125,9 @@ class CreateTimingGear(BaseCommand): MenuText = 'Timing gear' ToolTip = 'Create a Timing gear' -class CreateLaternGear(BaseCommand): - NAME = "laterngear" - GEAR_FUNCTION = LaternGear - Pixmap = os.path.join(BaseCommand.ICONDIR, 'laterngear.svg') - MenuText = 'Latern gear' - ToolTip = 'Create a Latern gear' +class CreateLanternGear(BaseCommand): + NAME = "lanterngear" + GEAR_FUNCTION = LanternGear + Pixmap = os.path.join(BaseCommand.ICONDIR, 'lanterngear.svg') + MenuText = 'Lantern gear' + ToolTip = 'Create a Lantern gear' diff --git a/freecad/gears/features.py b/freecad/gears/features.py index 28e5fc9..749692a 100644 --- a/freecad/gears/features.py +++ b/freecad/gears/features.py @@ -847,7 +847,7 @@ class TimingGear(object): fp.Shape = Part.Face(wi).extrude(App.Vector(0, 0, fp.height)) -class LaternGear(object): +class LanternGear(object): def __init__(self, obj): obj.addProperty("App::PropertyInteger", "teeth", "gear_parameter", "number of teeth") @@ -859,7 +859,8 @@ class LaternGear(object): "App::PropertyLength", "height", "gear_parameter", "height") obj.addProperty("App::PropertyInteger", "num_profiles", "accuracy", "number of profiles used for loft") - obj.teeth = 15 + obj.addProperty( + "App::PropertyFloat", "head", "gear_parameter", "head * module = additional length of head") obj.teeth = 15 obj.module = '1. mm' @@ -876,7 +877,7 @@ class LaternGear(object): teeth = fp.teeth r_r = fp.bolt_radius.Value r_0 = m * teeth / 2 - r_max = r_r / 2 + r_0 + r_max = r_0 + r_r + fp.head * m print("r_r: {}".format(r_r)) print("r_max: {}".format(r_max)) @@ -895,10 +896,6 @@ class LaternGear(object): App.Console.Warning("scipy not available. Can't compute numerical root. Leads to a wrong bolt-radius") phi_min = r_r / r_0 - - print(phi_min) - print(r_r / r_0) - print(find_phi_min(phi_min)) # phi_min = 0 # r_r / r_0 phi = np.linspace(phi_min, phi_max, fp.num_profiles) x = r_0 * (np.cos(phi) + phi * np.sin(phi)) - r_r * np.sin(phi) diff --git a/freecad/gears/icons/laterngear.svg b/freecad/gears/icons/lanterngear.svg similarity index 100% rename from freecad/gears/icons/laterngear.svg rename to freecad/gears/icons/lanterngear.svg diff --git a/freecad/gears/init_gui.py b/freecad/gears/init_gui.py index 5b64b3b..8e7f967 100644 --- a/freecad/gears/init_gui.py +++ b/freecad/gears/init_gui.py @@ -46,7 +46,7 @@ class GearWorkbench(Workbench): "CreateCrownGear", "CreateWormGear", "CreateTimingGear", - "CreateLaternGear"] + "CreateLanternGear"] def GetClassName(self): return "Gui::PythonWorkbench" @@ -54,7 +54,7 @@ class GearWorkbench(Workbench): def Initialize(self): from .commands import CreateCycloideGear, CreateInvoluteGear from .commands import CreateBevelGear, CreateInvoluteRack, CreateCrownGear - from .commands import CreateWormGear, CreateTimingGear, CreateLaternGear + from .commands import CreateWormGear, CreateTimingGear, CreateLanternGear self.appendToolbar("Gear", self.commands) self.appendMenu("Gear", self.commands) # Gui.addIconPath(App.getHomePath()+"Mod/gear/icons/") @@ -65,7 +65,7 @@ class GearWorkbench(Workbench): Gui.addCommand('CreateCrownGear', CreateCrownGear()) Gui.addCommand('CreateWormGear', CreateWormGear()) Gui.addCommand('CreateTimingGear', CreateTimingGear()) - Gui.addCommand('CreateLaternGear', CreateLaternGear()) + Gui.addCommand('CreateLanternGear', CreateLanternGear()) def Activated(self): pass