cosplay: Touhou/Houjuu Nue #4

Open
aniva wants to merge 189 commits from touhou/houjuu-nue into main
3 changed files with 19 additions and 20 deletions
Showing only changes of commit a0ae8c91eb - Show all commits

View File

@ -458,7 +458,7 @@ class DiskJoint(Model):
)
)
result.faces("<Z").tag("mate")
result.copyWorkplane(Cq.Workplane('XY')).tagPlane("dir", direction="-X")
result.copyWorkplane(Cq.Workplane('XY')).tagPlane("dir", direction="+X")
result = result.faces(">Z").hole(self.radius_axle * 2)
# tube which holds the spring interior
@ -491,11 +491,11 @@ class DiskJoint(Model):
disk: str,
angle: float,
) -> Cq.Assembly:
(
return (
assembly
.constrain(f"{disk}?mate_bot", f"{housing_lower}?mate", "Plane")
.constrain(f"{disk}?mate_top", f"{housing_upper}?mate", "Plane")
.constrain(f"{housing_lower}?dirX", f"{housing_upper}?dir", "Axis")
.constrain(f"{housing_lower}?dirX", f"{housing_upper}?dir", "Axis", param=0)
.constrain(f"{housing_lower}?dirX", f"{disk}?dir", "Axis", param=angle)
.constrain(f"{housing_lower}?dirY", f"{disk}?dir", "Axis", param=angle - 90)
)
@ -513,9 +513,9 @@ class DiskJoint(Model):
.add(self.disk(), name="disk", color=Role.CHILD.color)
.add(self.housing_lower(), name="housing_lower", color=Role.PARENT.color)
.add(self.housing_upper(), name="housing_upper", color=Role.CASING.color)
.constrain("housing_lower", "Fixed")
#.constrain("housing_lower", "Fixed")
)
self.add_constraints(
result = self.add_constraints(
result,
housing_lower="housing_lower",
housing_upper="housing_upper",
@ -574,10 +574,10 @@ class ElbowJoint:
self.child_beam.beam()
.add(self.disk_joint.disk(), name="disk",
loc=flip * Cq.Location((-self.child_arm_radius, 0, -dz), (0, 0, 1), angle))
.constrain("disk", "Fixed")
.constrain("top", "Fixed")
.constrain("bot", "Fixed")
.solve()
#.constrain("disk", "Fixed")
#.constrain("top", "Fixed")
#.constrain("bot", "Fixed")
#.solve()
)
return result
@ -607,22 +607,21 @@ class ElbowJoint:
loc=axial_offset * Cq.Location((0, 0, housing_dz)))
.add(connector, name="connector",
loc=axial_offset)
.constrain("housing", "Fixed")
.constrain("connector", "Fixed")
.solve()
#.constrain("housing", "Fixed")
#.constrain("connector", "Fixed")
#.solve()
)
return result
def assembly(self, angle: float = 0) -> Cq.Assembly:
da = self.disk_joint.tongue_span / 2 + 180
result = (
Cq.Assembly()
.add(self.child_joint(), name="child", color=Role.CHILD.color)
.add(self.parent_joint_lower(), name="parent_lower", color=Role.CASING.color)
.add(self.parent_joint_upper(), name="parent_upper", color=Role.PARENT.color)
#.constrain("parent_lower", "Fixed")
#.constrain("child/disk?mate_bot", "Fixed")
)
self.disk_joint.add_constraints(
result = self.disk_joint.add_constraints(
result,
housing_lower="parent_lower",
housing_upper="parent_upper/housing",

View File

@ -364,8 +364,8 @@ class WingProfile:
abscissa = 200
return [
(0, -abscissa),
(self.wrist_x - self.wrist_s * abscissa,
self.wrist_y - self.wrist_c * abscissa),
(self.wrist_x, -abscissa),
(self.wrist_x, self.wrist_y),
(self.wrist_top_x, self.wrist_top_y),
(0, abscissa),
]
@ -410,9 +410,9 @@ class WingProfile:
profile = (
self.profile()
.reset()
.polygon(self._mask_wrist(), mode='i')
.reset()
.polygon(self._mask_elbow(), mode='s')
.reset()
.polygon(self._mask_wrist(), mode='i')
)
return profile
def surface_s2(self,

View File

@ -48,7 +48,7 @@ def tagPlane(self, tag: str,
else:
v = Cq.Vector(direction)
edge = Cq.Edge.makeLine(v * (-1), v)
self.eachpoint(edge.moved, useLocalCoordinates=True).tag(tag)
return self.eachpoint(edge.located, useLocalCoordinates=True).tag(tag)
Cq.Workplane.tagPlane = tagPlane