cosplay: Touhou/Houjuu Nue #4
|
@ -415,6 +415,36 @@ class WingProfile:
|
||||||
.polygon(self._mask_elbow(), mode='s')
|
.polygon(self._mask_elbow(), mode='s')
|
||||||
)
|
)
|
||||||
return profile
|
return profile
|
||||||
|
def surface_s2(self,
|
||||||
|
thickness: float = 25.4/16,
|
||||||
|
elbow_mount_inset: float = 20,
|
||||||
|
elbow_joint_child_height: float = 80,
|
||||||
|
wrist_mount_inset: float = 20,
|
||||||
|
wrist_joint_parent_height: float = 60,
|
||||||
|
front: bool = True) -> Cq.Workplane:
|
||||||
|
assert elbow_joint_child_height < self.elbow_height
|
||||||
|
h = (self.elbow_height - elbow_joint_child_height) / 2
|
||||||
|
tags_elbow = [
|
||||||
|
("elbow_bot",
|
||||||
|
self.elbow_to_abs(elbow_mount_inset, h),
|
||||||
|
self.elbow_angle + 90),
|
||||||
|
("elbow_top",
|
||||||
|
self.elbow_to_abs(elbow_mount_inset, h + elbow_joint_child_height),
|
||||||
|
self.elbow_angle + 270),
|
||||||
|
]
|
||||||
|
h = (self.wrist_height - wrist_joint_parent_height) / 2
|
||||||
|
tags_wrist = [
|
||||||
|
("wrist_bot",
|
||||||
|
self.wrist_to_abs(-wrist_mount_inset, h),
|
||||||
|
self.wrist_angle + 90),
|
||||||
|
("wrist_top",
|
||||||
|
self.wrist_to_abs(-wrist_mount_inset, h + wrist_joint_parent_height),
|
||||||
|
self.wrist_angle + 270),
|
||||||
|
]
|
||||||
|
profile = self.profile_s2()
|
||||||
|
tags = tags_elbow + tags_wrist
|
||||||
|
return nhf.utils.extrude_with_markers(profile, thickness, tags, reverse=front)
|
||||||
|
|
||||||
def profile_s3(self) -> Cq.Sketch:
|
def profile_s3(self) -> Cq.Sketch:
|
||||||
profile = (
|
profile = (
|
||||||
self.profile()
|
self.profile()
|
||||||
|
@ -422,6 +452,23 @@ class WingProfile:
|
||||||
.polygon(self._mask_wrist(), mode='s')
|
.polygon(self._mask_wrist(), mode='s')
|
||||||
)
|
)
|
||||||
return profile
|
return profile
|
||||||
|
def surface_s3(self,
|
||||||
|
thickness: float = 25.4/16,
|
||||||
|
wrist_mount_inset: float = 20,
|
||||||
|
wrist_joint_child_height: float = 80,
|
||||||
|
front: bool = True) -> Cq.Workplane:
|
||||||
|
assert wrist_joint_child_height < self.wrist_height
|
||||||
|
h = (self.wrist_height - wrist_joint_child_height) / 2
|
||||||
|
tags = [
|
||||||
|
("wrist_bot",
|
||||||
|
self.elbow_to_abs(wrist_mount_inset, h),
|
||||||
|
self.elbow_angle + 90),
|
||||||
|
("wrist_top",
|
||||||
|
self.elbow_to_abs(wrist_mount_inset, h + wrist_joint_child_height),
|
||||||
|
self.elbow_angle + 270),
|
||||||
|
]
|
||||||
|
profile = self.profile_s3()
|
||||||
|
return nhf.utils.extrude_with_markers(profile, thickness, tags, reverse=front)
|
||||||
|
|
||||||
|
|
||||||
def wing_r1s1_profile(self) -> Cq.Sketch:
|
def wing_r1s1_profile(self) -> Cq.Sketch:
|
||||||
|
|
Loading…
Reference in New Issue