Spindle geometry
This commit is contained in:
parent
bec15c5136
commit
a3288ce98f
|
@ -32,8 +32,12 @@ BOLT_COMMON = FlatHeadBolt(
|
||||||
pitch=1.0,
|
pitch=1.0,
|
||||||
)
|
)
|
||||||
|
|
||||||
@dataclass
|
|
||||||
|
@dataclass(frozen=True)
|
||||||
class Motor(Model):
|
class Motor(Model):
|
||||||
|
"""
|
||||||
|
Drive motor for the main barrel
|
||||||
|
"""
|
||||||
|
|
||||||
mass: float = 589.7
|
mass: float = 589.7
|
||||||
voltage: float = 12.0 # V
|
voltage: float = 12.0 # V
|
||||||
|
@ -133,6 +137,8 @@ class Onbashira(Model):
|
||||||
barrel_wall_thickness: float = 25.4 / 8
|
barrel_wall_thickness: float = 25.4 / 8
|
||||||
barrel_length: float = 25.4 * 12
|
barrel_length: float = 25.4 * 12
|
||||||
|
|
||||||
|
# Gap between the stator edge and the inner face of the barrel
|
||||||
|
stator_gap: float = 10.0
|
||||||
# Radius from barrel centre to axis
|
# Radius from barrel centre to axis
|
||||||
rotation_radius: float = 66.0
|
rotation_radius: float = 66.0
|
||||||
n_bearing_balls: int = 12
|
n_bearing_balls: int = 12
|
||||||
|
@ -144,11 +150,12 @@ class Onbashira(Model):
|
||||||
bearing_track_radius: float = 100.0
|
bearing_track_radius: float = 100.0
|
||||||
# Gap between the inner and outer bearing disks
|
# Gap between the inner and outer bearing disks
|
||||||
bearing_gap: float = 10.0
|
bearing_gap: float = 10.0
|
||||||
|
bearing_spindle_max_diam: float = 13.0
|
||||||
bearing_disk_thickness: float = 25.4 / 8
|
bearing_disk_thickness: float = 25.4 / 8
|
||||||
|
|
||||||
rotor_inner_radius: float = 40.0
|
rotor_inner_radius: float = 40.0
|
||||||
rotor_bind_bolt_diam: float = BOLT_COMMON.diam_thread
|
rotor_bind_bolt_diam: float = BOLT_COMMON.diam_thread
|
||||||
rotor_bind_radius: float = 78.0
|
rotor_bind_radius: float = 82.0
|
||||||
rotor_spacer_outer_diam: float = 15.0
|
rotor_spacer_outer_diam: float = 15.0
|
||||||
stator_bind_radius: float = 135.0
|
stator_bind_radius: float = 135.0
|
||||||
|
|
||||||
|
@ -157,6 +164,8 @@ class Onbashira(Model):
|
||||||
handle_length: float = 80.0
|
handle_length: float = 80.0
|
||||||
handle_height: float = 40.0
|
handle_height: float = 40.0
|
||||||
|
|
||||||
|
motor: Motor = Motor()
|
||||||
|
|
||||||
material_side: Material = Material.WOOD_BIRCH
|
material_side: Material = Material.WOOD_BIRCH
|
||||||
material_bearing: Material = Material.PLASTIC_PLA
|
material_bearing: Material = Material.PLASTIC_PLA
|
||||||
material_spacer: Material = Material.PLASTIC_PLA
|
material_spacer: Material = Material.PLASTIC_PLA
|
||||||
|
@ -357,6 +366,28 @@ class Onbashira(Model):
|
||||||
)
|
)
|
||||||
return outer - inner
|
return outer - inner
|
||||||
|
|
||||||
|
@target(name="bearing-spindle")
|
||||||
|
def bearing_spindle(self) -> Cq.Solid:
|
||||||
|
r1 = self.bearing_gap / 2
|
||||||
|
r2 = self.bearing_spindle_max_diam
|
||||||
|
h = self.bearing_disk_gap
|
||||||
|
cone1 = Cq.Solid.makeCone(
|
||||||
|
radius1=r2,
|
||||||
|
radius2=r1,
|
||||||
|
height=h/2
|
||||||
|
)
|
||||||
|
cone2 = Cq.Solid.makeCone(
|
||||||
|
radius1=r1,
|
||||||
|
radius2=r2,
|
||||||
|
height=h/2,
|
||||||
|
)
|
||||||
|
hole = Cq.Solid.makeCylinder(
|
||||||
|
radius=(BOLT_COMMON.diam_thread + 1)/2,
|
||||||
|
height=h*2
|
||||||
|
).moved(0, 0, -h)
|
||||||
|
top = (cone1 + cone2.moved(0, 0, h/2)) - hole
|
||||||
|
return top + top.rotate((0,0,0),(1,0,0),180)
|
||||||
|
|
||||||
def assembly_barrel(self) -> Cq.Assembly:
|
def assembly_barrel(self) -> Cq.Assembly:
|
||||||
"""
|
"""
|
||||||
The assembly with gun barrels
|
The assembly with gun barrels
|
||||||
|
|
Loading…
Reference in New Issue