cosplay: Touhou/Houjuu Nue #4
|
@ -271,6 +271,8 @@ class TorsionJoint:
|
||||||
|
|
||||||
groove_radius_outer: float = 35
|
groove_radius_outer: float = 35
|
||||||
groove_radius_inner: float = 20
|
groove_radius_inner: float = 20
|
||||||
|
# Gap on inner groove to ease movement
|
||||||
|
groove_inner_gap: float = 0.2
|
||||||
groove_depth: float = 5
|
groove_depth: float = 5
|
||||||
rider_gap: float = 1
|
rider_gap: float = 1
|
||||||
rider_n_slots: float = 4
|
rider_n_slots: float = 4
|
||||||
|
@ -285,7 +287,7 @@ class TorsionJoint:
|
||||||
def __post_init__(self):
|
def __post_init__(self):
|
||||||
assert self.radius_track > self.groove_radius_outer
|
assert self.radius_track > self.groove_radius_outer
|
||||||
assert self.radius_rider > self.groove_radius_outer
|
assert self.radius_rider > self.groove_radius_outer
|
||||||
assert self.groove_radius_outer > self.groove_radius_inner
|
assert self.groove_radius_outer > self.groove_radius_inner + self.groove_inner_gap
|
||||||
assert self.groove_radius_inner > self.radius_spring
|
assert self.groove_radius_inner > self.radius_spring
|
||||||
assert self.spring_height > self.groove_depth, "Groove is too deep"
|
assert self.spring_height > self.groove_depth, "Groove is too deep"
|
||||||
assert self.radius_spring > self.radius_axle
|
assert self.radius_spring > self.radius_axle
|
||||||
|
@ -415,7 +417,7 @@ class TorsionJoint:
|
||||||
contact_profile = (
|
contact_profile = (
|
||||||
Cq.Sketch()
|
Cq.Sketch()
|
||||||
.circle(self.groove_radius_outer, mode='a')
|
.circle(self.groove_radius_outer, mode='a')
|
||||||
.circle(self.groove_radius_inner, mode='s')
|
.circle(self.groove_radius_inner + self.groove_inner_gap, mode='s')
|
||||||
)
|
)
|
||||||
if not self.spring_hole_cover_rider:
|
if not self.spring_hole_cover_rider:
|
||||||
contact_profile = (
|
contact_profile = (
|
||||||
|
|
Loading…
Reference in New Issue