fix: Use two sets of handles
This commit is contained in:
parent
4f48955c81
commit
c3f9d5a3be
|
@ -2102,7 +2102,7 @@ class Onbashira(Model):
|
|||
- hole_negative.moved(p1r) \
|
||||
- hole_negative.moved(p2r)
|
||||
# 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
|
||||
for i, (x, y) in enumerate(self.angle_joint_bolt_position):
|
||||
py = dy + y
|
||||
|
@ -2338,6 +2338,42 @@ class Onbashira(Model):
|
|||
self.assembly_ring(self.angle_joint()),
|
||||
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"):
|
||||
a = a.add(
|
||||
self.assembly_section(length=self.side_length2, hasFrontHole=True, hasBackHole=True),
|
||||
|
@ -2349,42 +2385,6 @@ class Onbashira(Model):
|
|||
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"):
|
||||
a = a.add(
|
||||
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()),
|
||||
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"):
|
||||
a = a.add(
|
||||
self.assembly_chamber(),
|
||||
|
@ -2452,6 +2488,8 @@ class Onbashira(Model):
|
|||
# f"ring2/side{i*2+1}?holeStatorL",
|
||||
# "Plane",
|
||||
#)
|
||||
if parts:
|
||||
return a.solve()
|
||||
for i in range(self.n_side):
|
||||
j = (i + 1) % self.n_side
|
||||
ir = (self.n_side - i) % self.n_side
|
||||
|
|
Loading…
Reference in New Issue