cosplay: Touhou/Houjuu Nue #4
|
@ -204,7 +204,7 @@ class RootJoint(Model):
|
|||
plane = result.copyWorkplane(Cq.Workplane('XY', origin=(0, 0, -self.child_extra_thickness)))
|
||||
|
||||
for i, (px, py) in enumerate(conn):
|
||||
plane.moveTo(px, py).tagPlane(f"conn{i}")
|
||||
plane.moveTo(px, py).tagPlane(f"conn{i}", direction="-Z")
|
||||
result = (
|
||||
result
|
||||
.faces(">Z")
|
||||
|
|
|
@ -983,9 +983,10 @@ class WingProfile(Model):
|
|||
if "s0" in parts and "root" in parts:
|
||||
(
|
||||
result
|
||||
.constrain("s0/base?conn0", "root/child?conn0", "Plane", param=0)
|
||||
.constrain("s0/base?conn1", "root/child?conn1", "Plane", param=0)
|
||||
.constrain("s0/base?conn2", "root/child?conn2", "Plane", param=0)
|
||||
.constrain("s0/base?conn0", "root/child?conn0", "Point")
|
||||
.constrain("s0/base?conn1", "root/child?conn1", "Point")
|
||||
.constrain("s0/base?conn2", "root/child?conn2", "Point")
|
||||
#.constrain("s0/base?conn3", "root/child?conn3", "Point")
|
||||
)
|
||||
if "shoulder" in parts:
|
||||
angle = shoulder_deflection * self.shoulder_joint.angle_max_deflection
|
||||
|
|
Loading…
Reference in New Issue