Spindle geometry
This commit is contained in:
parent
bec15c5136
commit
a3288ce98f
|
@ -32,8 +32,12 @@ BOLT_COMMON = FlatHeadBolt(
|
|||
pitch=1.0,
|
||||
)
|
||||
|
||||
@dataclass
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class Motor(Model):
|
||||
"""
|
||||
Drive motor for the main barrel
|
||||
"""
|
||||
|
||||
mass: float = 589.7
|
||||
voltage: float = 12.0 # V
|
||||
|
@ -133,6 +137,8 @@ class Onbashira(Model):
|
|||
barrel_wall_thickness: float = 25.4 / 8
|
||||
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
|
||||
rotation_radius: float = 66.0
|
||||
n_bearing_balls: int = 12
|
||||
|
@ -144,11 +150,12 @@ class Onbashira(Model):
|
|||
bearing_track_radius: float = 100.0
|
||||
# Gap between the inner and outer bearing disks
|
||||
bearing_gap: float = 10.0
|
||||
bearing_spindle_max_diam: float = 13.0
|
||||
bearing_disk_thickness: float = 25.4 / 8
|
||||
|
||||
rotor_inner_radius: float = 40.0
|
||||
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
|
||||
stator_bind_radius: float = 135.0
|
||||
|
||||
|
@ -157,6 +164,8 @@ class Onbashira(Model):
|
|||
handle_length: float = 80.0
|
||||
handle_height: float = 40.0
|
||||
|
||||
motor: Motor = Motor()
|
||||
|
||||
material_side: Material = Material.WOOD_BIRCH
|
||||
material_bearing: Material = Material.PLASTIC_PLA
|
||||
material_spacer: Material = Material.PLASTIC_PLA
|
||||
|
@ -357,6 +366,28 @@ class Onbashira(Model):
|
|||
)
|
||||
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:
|
||||
"""
|
||||
The assembly with gun barrels
|
||||
|
|
Loading…
Reference in New Issue