cosplay: Touhou/Houjuu Nue #4

Open
aniva wants to merge 189 commits from touhou/houjuu-nue into main
2 changed files with 15 additions and 6 deletions
Showing only changes of commit 5db1f0ce79 - Show all commits

View File

@ -1051,7 +1051,7 @@ class DiskJoint(Model):
angle: float = 0.0, angle: float = 0.0,
) -> Cq.Assembly: ) -> Cq.Assembly:
assert 0 <= angle <= self.movement_angle assert 0 <= angle <= self.movement_angle
deflection = angle - self.neutral_movement_angle deflection = angle - (self.spring.angle_neutral - self.spring_angle_at_0)
spring_name = disk.replace("/", "__Z") + "_spring" spring_name = disk.replace("/", "__Z") + "_spring"
( (
assembly assembly

View File

@ -27,12 +27,12 @@ ELBOW_PARAMS = dict(
actuator=LINEAR_ACTUATOR_50, actuator=LINEAR_ACTUATOR_50,
parent_arm_width=15, parent_arm_width=15,
) )
WRIST_DISK_PARAMS = dict(
movement_angle=30,
radius_disk=13.0,
radius_housing=15.0,
)
WRIST_PARAMS = dict( WRIST_PARAMS = dict(
disk_joint=DiskJoint(
movement_angle=30,
radius_disk=13.0,
radius_housing=15.0,
),
) )
@dataclass(kw_only=True) @dataclass(kw_only=True)
@ -1096,6 +1096,7 @@ class WingR(WingProfile):
elbow_joint: ElbowJoint = field(default_factory=lambda: ElbowJoint( elbow_joint: ElbowJoint = field(default_factory=lambda: ElbowJoint(
disk_joint=DiskJoint( disk_joint=DiskJoint(
movement_angle=55, movement_angle=55,
spring_angle_at_0=75,
), ),
flexor_offset_angle=15, flexor_offset_angle=15,
flexor_mount_angle_child=-75, flexor_mount_angle_child=-75,
@ -1108,6 +1109,10 @@ class WingR(WingProfile):
wrist_bot_loc: Cq.Location = Cq.Location.from2d(403.0, 289.0, 45.0) wrist_bot_loc: Cq.Location = Cq.Location.from2d(403.0, 289.0, 45.0)
wrist_height: float = 60.0 wrist_height: float = 60.0
wrist_joint: ElbowJoint = field(default_factory=lambda: ElbowJoint( wrist_joint: ElbowJoint = field(default_factory=lambda: ElbowJoint(
disk_joint=DiskJoint(
spring_angle_at_0=120,
**WRIST_DISK_PARAMS,
),
flip=True, flip=True,
angle_neutral=-20.0, angle_neutral=-20.0,
child_arm_radius=23.0, child_arm_radius=23.0,
@ -1344,6 +1349,7 @@ class WingL(WingProfile):
elbow_rotate: float = 15.0 elbow_rotate: float = 15.0
elbow_joint: ElbowJoint = field(default_factory=lambda: ElbowJoint( elbow_joint: ElbowJoint = field(default_factory=lambda: ElbowJoint(
disk_joint=DiskJoint( disk_joint=DiskJoint(
spring_angle_at_0=100,
movement_angle=50, movement_angle=50,
), ),
angle_neutral=30.0, angle_neutral=30.0,
@ -1370,6 +1376,9 @@ class WingL(WingProfile):
wrist_bot_loc: Cq.Location = Cq.Location.from2d(460.0, -10.0, -45.0) wrist_bot_loc: Cq.Location = Cq.Location.from2d(460.0, -10.0, -45.0)
wrist_height: float = 43.0 wrist_height: float = 43.0
wrist_joint: ElbowJoint = field(default_factory=lambda: ElbowJoint( wrist_joint: ElbowJoint = field(default_factory=lambda: ElbowJoint(
disk_joint=DiskJoint(
**WRIST_DISK_PARAMS,
),
flip=False, flip=False,
hole_pos=[10], hole_pos=[10],
lip_length=30, lip_length=30,