Compare commits
1 Commits
main
...
touhou/yas
Author | SHA1 | Date |
---|---|---|
|
c3f9d5a3be |
|
@ -2102,7 +2102,7 @@ class Onbashira(Model):
|
||||||
- hole_negative.moved(p1r) \
|
- hole_negative.moved(p1r) \
|
||||||
- hole_negative.moved(p2r)
|
- hole_negative.moved(p2r)
|
||||||
# Mark the absolute locations of the mount points
|
# Mark the absolute locations of the mount points
|
||||||
dr = self.bulk_radius + self.angle_joint_thickness
|
dr = self.chamber_bulk_radius
|
||||||
dr0 = self.bulk_radius
|
dr0 = self.bulk_radius
|
||||||
for i, (x, y) in enumerate(self.angle_joint_bolt_position):
|
for i, (x, y) in enumerate(self.angle_joint_bolt_position):
|
||||||
py = dy + y
|
py = dy + y
|
||||||
|
@ -2338,6 +2338,42 @@ class Onbashira(Model):
|
||||||
self.assembly_ring(self.angle_joint()),
|
self.assembly_ring(self.angle_joint()),
|
||||||
name="ring1",
|
name="ring1",
|
||||||
)
|
)
|
||||||
|
name_handle1 = "handle1_1"
|
||||||
|
a = a.addS(
|
||||||
|
self.handle(),
|
||||||
|
name=name_handle1,
|
||||||
|
material=self.material_brace,
|
||||||
|
role=Role.HANDLE,
|
||||||
|
)
|
||||||
|
name_handle2 = "handle1_2"
|
||||||
|
a = a.addS(
|
||||||
|
self.handle(),
|
||||||
|
name=name_handle2,
|
||||||
|
material=self.material_brace,
|
||||||
|
role=Role.HANDLE,
|
||||||
|
)
|
||||||
|
# Handle constrain
|
||||||
|
for ih, (_x, _y) in enumerate(self.angle_joint_bolt_position):
|
||||||
|
a = a.constrain(
|
||||||
|
f"{name_handle1}?holeLPI{ih}",
|
||||||
|
f"ring1/side3?holeLPO{ih}",
|
||||||
|
"Plane",
|
||||||
|
)
|
||||||
|
a = a.constrain(
|
||||||
|
f"{name_handle1}?holeRPI{ih}",
|
||||||
|
f"ring1/side3?holeRPO{ih}",
|
||||||
|
"Plane",
|
||||||
|
)
|
||||||
|
a = a.constrain(
|
||||||
|
f"{name_handle2}?holeLPI{ih}",
|
||||||
|
f"ring1/side5?holeLPO{ih}",
|
||||||
|
"Plane",
|
||||||
|
)
|
||||||
|
a = a.constrain(
|
||||||
|
f"{name_handle2}?holeRPI{ih}",
|
||||||
|
f"ring1/side5?holeRPO{ih}",
|
||||||
|
"Plane",
|
||||||
|
)
|
||||||
if has_part(parts, "section2"):
|
if has_part(parts, "section2"):
|
||||||
a = a.add(
|
a = a.add(
|
||||||
self.assembly_section(length=self.side_length2, hasFrontHole=True, hasBackHole=True),
|
self.assembly_section(length=self.side_length2, hasFrontHole=True, hasBackHole=True),
|
||||||
|
@ -2349,42 +2385,6 @@ class Onbashira(Model):
|
||||||
name="ring2",
|
name="ring2",
|
||||||
)
|
)
|
||||||
|
|
||||||
name_handle1 = "handle2_1"
|
|
||||||
a = a.addS(
|
|
||||||
self.handle(),
|
|
||||||
name=name_handle1,
|
|
||||||
material=self.material_brace,
|
|
||||||
role=Role.HANDLE,
|
|
||||||
)
|
|
||||||
name_handle2 = "handle2_2"
|
|
||||||
a = a.addS(
|
|
||||||
self.handle(),
|
|
||||||
name=name_handle2,
|
|
||||||
material=self.material_brace,
|
|
||||||
role=Role.HANDLE,
|
|
||||||
)
|
|
||||||
# Handle constrain
|
|
||||||
for ih, (x, y) in enumerate(self.angle_joint_bolt_position):
|
|
||||||
a = a.constrain(
|
|
||||||
f"{name_handle1}?holeLPI{ih}",
|
|
||||||
f"ring2/side2?holeLPO{ih}",
|
|
||||||
"Plane",
|
|
||||||
)
|
|
||||||
a = a.constrain(
|
|
||||||
f"{name_handle1}?holeRPI{ih}",
|
|
||||||
f"ring2/side2?holeRPO{ih}",
|
|
||||||
"Plane",
|
|
||||||
)
|
|
||||||
a = a.constrain(
|
|
||||||
f"{name_handle2}?holeLPI{ih}",
|
|
||||||
f"ring2/side4?holeLPO{ih}",
|
|
||||||
"Plane",
|
|
||||||
)
|
|
||||||
a = a.constrain(
|
|
||||||
f"{name_handle2}?holeRPI{ih}",
|
|
||||||
f"ring2/side4?holeRPO{ih}",
|
|
||||||
"Plane",
|
|
||||||
)
|
|
||||||
if has_part(parts, "section3"):
|
if has_part(parts, "section3"):
|
||||||
a = a.add(
|
a = a.add(
|
||||||
self.assembly_section(length=self.side_length3, hasFrontHole=True, hasBackHole=True),
|
self.assembly_section(length=self.side_length3, hasFrontHole=True, hasBackHole=True),
|
||||||
|
@ -2395,6 +2395,42 @@ class Onbashira(Model):
|
||||||
self.assembly_ring(self.angle_joint_chamber_front()),
|
self.assembly_ring(self.angle_joint_chamber_front()),
|
||||||
name="ring3",
|
name="ring3",
|
||||||
)
|
)
|
||||||
|
name_handle1 = "handle3_1"
|
||||||
|
a = a.addS(
|
||||||
|
self.handle(),
|
||||||
|
name=name_handle1,
|
||||||
|
material=self.material_brace,
|
||||||
|
role=Role.HANDLE,
|
||||||
|
)
|
||||||
|
name_handle2 = "handle3_2"
|
||||||
|
a = a.addS(
|
||||||
|
self.handle(),
|
||||||
|
name=name_handle2,
|
||||||
|
material=self.material_brace,
|
||||||
|
role=Role.HANDLE,
|
||||||
|
)
|
||||||
|
# Handle constrain
|
||||||
|
for ih, (x, y) in enumerate(self.angle_joint_bolt_position):
|
||||||
|
a = a.constrain(
|
||||||
|
f"{name_handle1}?holeLPI{ih}",
|
||||||
|
f"ring3/side1?holeLPO{ih}",
|
||||||
|
"Plane",
|
||||||
|
)
|
||||||
|
a = a.constrain(
|
||||||
|
f"{name_handle1}?holeLSI{ih}",
|
||||||
|
f"ring3/side0?holeLSO{ih}",
|
||||||
|
"Plane",
|
||||||
|
)
|
||||||
|
a = a.constrain(
|
||||||
|
f"{name_handle2}?holeLPI{ih}",
|
||||||
|
f"ring3/side3?holeLPO{ih}",
|
||||||
|
"Plane",
|
||||||
|
)
|
||||||
|
a = a.constrain(
|
||||||
|
f"{name_handle2}?holeLSI{ih}",
|
||||||
|
f"ring3/side2?holeLSO{ih}",
|
||||||
|
"Plane",
|
||||||
|
)
|
||||||
if has_part(parts, "chamber"):
|
if has_part(parts, "chamber"):
|
||||||
a = a.add(
|
a = a.add(
|
||||||
self.assembly_chamber(),
|
self.assembly_chamber(),
|
||||||
|
@ -2452,6 +2488,8 @@ class Onbashira(Model):
|
||||||
# f"ring2/side{i*2+1}?holeStatorL",
|
# f"ring2/side{i*2+1}?holeStatorL",
|
||||||
# "Plane",
|
# "Plane",
|
||||||
#)
|
#)
|
||||||
|
if parts:
|
||||||
|
return a.solve()
|
||||||
for i in range(self.n_side):
|
for i in range(self.n_side):
|
||||||
j = (i + 1) % self.n_side
|
j = (i + 1) % self.n_side
|
||||||
ir = (self.n_side - i) % self.n_side
|
ir = (self.n_side - i) % self.n_side
|
||||||
|
|
Loading…
Reference in New Issue