diff --git a/nhf/touhou/houjuu_nue/wing.py b/nhf/touhou/houjuu_nue/wing.py index 49b3283..eb1aeaf 100644 --- a/nhf/touhou/houjuu_nue/wing.py +++ b/nhf/touhou/houjuu_nue/wing.py @@ -62,8 +62,8 @@ class WingProfile(Model): shoulder_base_bezier_x: float = -30.0 shoulder_base_bezier_y: float = 30.0 - s0_hole_loc: Cq.Location = Cq.Location.from2d(-25, 33) - s0_hole_diam: float = 15.0 + s0_hole_width: float = 40.0 + s0_hole_height: float = 10.0 s0_top_hole: bool = False s0_bot_hole: bool = True @@ -235,11 +235,17 @@ class WingProfile(Model): ) top = top == self.flip if (self.s0_top_hole and top) or (self.s0_bot_hole and not top): + assert self.base_width > self.s0_hole_width + x = (self.base_width - self.s0_hole_width) / 2 sketch = ( sketch .reset() - .push([self.s0_hole_loc.to2d_pos()]) - .circle(self.s0_hole_diam / 2, mode='s') + .polygon([ + (-x, 0), + (-x, self.s0_hole_height), + (-self.base_width + x, self.s0_hole_height), + (-self.base_width + x, 0), + ], mode='s') ) return sketch